-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.toml
68 lines (55 loc) · 2.56 KB
/
config.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
[google]
sheet_id = "https://docs.google.com/spreadsheets/d/1DdZmbo3tvtrb8fNfgTdgmOpjX-XoKhTcQa1hQLlffPE/edit#gid=1798594710"
input_range_name = "Output"
output_range_name = "Output"
[genetic_algorithm]
# The number of generations to run the algorithm; trials
generations = 1_000_000_000_000
# The number of no improvments generations before culling the population
max_no_improvement_generations = 2000
# The number of solutions to try in each generation
# The higher the number, the more likely the algorithm will find the best solution,
# but the longer it will take to run
pop_size = 500
# The probability of a gene being mutated by the mutation scheme chosen
# Most numbers between 0.01 and 0.1 are reasonable; else, the muation rate is too high or too low
# and the algorithm will not converge to a good solution
mutation_rate = 0.01
# The mean and standard deviation of the Gaussian distribution used to mutate the genes
mutation_mean = 0
mutation_std_dev = 1.0
# The lower and upper bounds of the genes in the chromosome
mutation_lower_bound = 0
mutation_upper_bound = 1
# The function used to mutate the children's chromosomes
# This can be: "standard", "gaussian", "bit_flip", "uniform"
mutation_method = "standard"
# The number of solutions to interleave and mate to form a child
num_parents = 2
# Elitism: the number of best solutions to keep from the previous generation
num_elites = 10
# The function used to cull the population
culling_method = "best_mutants"
# The maximum percentage of the population to cull if no improvement is made in the last no_improvement_counter generations
max_culling_percent = 0.1
# The minimum percentage of the population to cull if no improvement is made in the last no_improvement_counter generations
min_culling_percent = 0.1
# The amount at which to adjust the culling percentage
culling_percent_increment = 1.01
# Either increase or decrease the culling percentage
# This can be: "forward", "reverse"
culling_direction = "forward"
# The function used to select the parents for mating
# This can be: "rank", "tournament", "roulette"
selection_method = "tournament"
# The tournament size for the tournament selection method
tournament_size = 10
# The function used to interleave the parents' chromosomes to form the children's chromosomes
# This can be: "k_point_crossover", "uniform_crossover"
mating_method = "k_point_crossover"
# The k in k-point crossover:
# The number of points at which the given parents' chromosomes are split and then
# interleaved to form the children's chromosomes
k = 2
# The number of CPUs to use to run the algorithm
# num_cpus = 4