You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/md/releases.md
+22Lines changed: 22 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -608,6 +608,28 @@ Release Date 08 July 2025
608
608
17. Fixed a bug while applying the non-dominated sorting in the `get_non_dominated_set()` method inside the `pygad/utils/nsga2.py` script. It was swapping the non-dominated and dominated sets. In other words, it used the non-dominated set as if it is the dominated set and vice versa. All the calls to this method were edited accordingly. https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/320.
609
609
18. Fix a bug retrieving in the `best_solution()` method when retrieving the best solution for multi-objective problems. https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/331
610
610
611
+
## PyGAD 3.6.0
612
+
613
+
1. Support passing a class to the fitness, crossover, and mutation. https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/342
614
+
2. A new class called `Validation` is created in the new `pygad/utils/validation.py` script. It has a method called `validate_parameters()` to validate all the parameters passed while instantiating the `pygad.GA` class.
615
+
3. Refactoring the `pygad.py` script by moving a lot of functions and methods to other classes in other scripts.
616
+
1. The `summary()` method was moved to `Helper` class in the `pygad/helper/misc.py` script.
617
+
2. The validation code in the `__init__()` method of the `pygad.GA` class is moved to the new `validate_parameters()` method in the new `Validation` class in the new `pygad/utils/validation.py` script. Moreover, the `validate_multi_stop_criteria()` method is also moved to the same class.
618
+
3. The GA main workflow is moved into the new `GAEngine` class in the new `pygad/utils/engine.py` script. Specifically, these methods are moved from the `pygad.GA` class to the new `GAEngine` class:
619
+
1. run()
620
+
2. run_loop_head()
621
+
3. run_select_parents()
622
+
4. run_crossover()
623
+
5. run_mutation()
624
+
6. run_update_population()
625
+
7. initialize_population()
626
+
8. cal_pop_fitness()
627
+
9. best_solution()
628
+
10. round_genes()
629
+
4. The `pygad.GA` class now extends the two new classes `utils.validation.Validation` and `utils.engine.GAEngine`.
630
+
5. The version of the `pygad.utils` submodule is upgraded from `1.3.0` to `1.4.0`.
631
+
6. The version of the `pygad.helper` submodule is upgraded from `1.2.0` to `1.3.0`.
632
+
611
633
# PyGAD Projects at GitHub
612
634
613
635
The PyGAD library is available at PyPI at this page https://pypi.org/project/pygad. PyGAD is built out of a number of open-source GitHub projects. A brief note about these projects is given in the next subsections.
0 commit comments