8000 PyGAD Lifecycle · mwaiton/GeneticAlgorithmPython@c00d833 · GitHub
[go: up one dir, main page]

Skip to content

Commit c00d833

Browse files
authored
PyGAD Lifecycle
1 parent 4685909 commit c00d833

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

lifecycle.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import pygad
2+
import numpy
3+
4+
function_inputs = [4,-2,3.5,5,-11,-4.7]
5+
desired_output = 44
6+
7+
def fitness_func(solution, solution_idx):
8+
output = numpy.sum(solution*function_inputs)
9+
fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001)
10+
return fitness
11+
12+
fitness_function = fitness_func
13+
14+
def on_start(ga_instance):
15+
print("on_start()")
16+
17+
def on_fitness(ga_instance, population_fitness):
18+
print("on_fitness()")
19+
20+
def on_parents(ga_instance, selected_parents):
21+
print("on_parents()")
22+
23+
def on_crossover(ga_instance, offspring_crossover):
24+
print("on_crossover()")
25+
26+
def on_mutation(ga_instance, offspring_mutation):
27+
print("on_mutation()")
28+
29+
def on_generation(ga_instance):
30+
print("on_generation()")
31+
32+
def on_stop(ga_instance, last_population_fitness):
33+
print("on_stop")
34+
35+
ga_instance = pygad.GA(num_generations=3,
36+
num_parents_mating=5,
37+
fitness_func=fitness_function,
38+
sol_per_pop=10,
39+
num_genes=len(function_inputs),
40+
on_start=on_start,
41+
on_fitness=on_fitness,
42+
on_parents=on_parents,
43+
on_crossover=on_crossover,
44+
on_mutation=on_mutation,
45+
on_generation=on_generation,
46+
on_stop=on_stop)
47+
48+
ga_instance.run()

0 commit comments

Comments
 (0)
0