@@ 20-54 (lines=35) @@ | ||
17 | optimizer_type = "population" |
|
18 | computationally_expensive = False |
|
19 | ||
20 | def __init__( |
|
21 | self, |
|
22 | search_space, |
|
23 | initialize={"grid": 4, "random": 2, "vertices": 4}, |
|
24 | constraints=[], |
|
25 | random_state=None, |
|
26 | rand_rest_p=0, |
|
27 | nth_process=None, |
|
28 | population=10, |
|
29 | offspring=10, |
|
30 | crossover="discrete-recombination", |
|
31 | n_parents=2, |
|
32 | mutation_rate=0.5, |
|
33 | crossover_rate=0.5, |
|
34 | ): |
|
35 | super().__init__( |
|
36 | search_space=search_space, |
|
37 | initialize=initialize, |
|
38 | constraints=constraints, |
|
39 | random_state=random_state, |
|
40 | rand_rest_p=rand_rest_p, |
|
41 | nth_process=nth_process, |
|
42 | ) |
|
43 | ||
44 | self.population = population |
|
45 | self.offspring = offspring |
|
46 | self.crossover = crossover |
|
47 | self.n_parents = n_parents |
|
48 | self.mutation_rate = mutation_rate |
|
49 | self.crossover_rate = crossover_rate |
|
50 | ||
51 | self.individuals = self._create_population(Individual) |
|
52 | self.optimizers = self.individuals |
|
53 | ||
54 | self.offspring_l = [] |
|
55 | ||
56 | def fittest_parents(self): |
|
57 | fittest_parents_f = 0.5 |
@@ 20-50 (lines=31) @@ | ||
17 | optimizer_type = "population" |
|
18 | computationally_expensive = False |
|
19 | ||
20 | def __init__( |
|
21 | self, |
|
22 | search_space, |
|
23 | initialize={"grid": 4, "random": 2, "vertices": 4}, |
|
24 | constraints=[], |
|
25 | random_state=None, |
|
26 | rand_rest_p=0, |
|
27 | nth_process=None, |
|
28 | population=10, |
|
29 | offspring=20, |
|
30 | replace_parents=False, |
|
31 | mutation_rate=0.7, |
|
32 | crossover_rate=0.3, |
|
33 | ): |
|
34 | super().__init__( |
|
35 | search_space=search_space, |
|
36 | initialize=initialize, |
|
37 | constraints=constraints, |
|
38 | random_state=random_state, |
|
39 | rand_rest_p=rand_rest_p, |
|
40 | nth_process=nth_process, |
|
41 | ) |
|
42 | ||
43 | self.population = population |
|
44 | self.offspring = offspring |
|
45 | self.replace_parents = replace_parents |
|
46 | self.mutation_rate = mutation_rate |
|
47 | self.crossover_rate = crossover_rate |
|
48 | ||
49 | self.individuals = self._create_population(Individual) |
|
50 | self.optimizers = self.individuals |
|
51 | ||
52 | def _cross(self): |
|
53 | while True: |
@@ 20-48 (lines=29) @@ | ||
17 | optimizer_type = "population" |
|
18 | computationally_expensive = False |
|
19 | ||
20 | def __init__( |
|
21 | self, |
|
22 | search_space, |
|
23 | initialize={"grid": 4, "random": 2, "vertices": 4}, |
|
24 | constraints=[], |
|
25 | random_state=None, |
|
26 | rand_rest_p=0, |
|
27 | nth_process=None, |
|
28 | population=10, |
|
29 | mutation_rate=0.9, |
|
30 | crossover_rate=0.9, |
|
31 | ): |
|
32 | super().__init__( |
|
33 | search_space=search_space, |
|
34 | initialize=initialize, |
|
35 | constraints=constraints, |
|
36 | random_state=random_state, |
|
37 | rand_rest_p=rand_rest_p, |
|
38 | nth_process=nth_process, |
|
39 | ) |
|
40 | ||
41 | self.population = population |
|
42 | self.mutation_rate = mutation_rate |
|
43 | self.crossover_rate = crossover_rate |
|
44 | ||
45 | self.individuals = self._create_population(Individual) |
|
46 | self.optimizers = self.individuals |
|
47 | ||
48 | self.offspring_l = [] |
|
49 | ||
50 | def mutation(self, f=1): |
|
51 | ind_selected = random.sample(self.individuals, 3) |