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
1. Support passing a class to the fitness, crossover, and mutation. #342
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.
3. Refactoring the `pygad.py` script by moving a lot of functions and methods to other classes in other scripts.
4. The `summary()` method was moved to `Helper` class in the `pygad/helper/misc.py` script.
5. 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.
6. 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:
1. `run()`
1. `run_loop_head()`
2. `run_select_parents()`
3. `run_crossover()`
4. `run_mutation()`
5. `run_update_population()`
2. `initialize_population()`
3. `cal_pop_fitness()`
4. `best_solution()`
5. `round_genes()`
7. The `pygad.GA` class now extends the two new classes `utils.validation.Validation` and `utils.engine.GAEngine`.
8. The version of the `pygad.utils` submodule is upgraded from `1.3.0` to `1.4.0`.
9. The version of the `pygad.helper` submodule is upgraded from `1.2.0` to `1.3.0`.
10. The version of the `pygad.visualize` submodule is upgraded from `1.1.0` to `1.1.1`.
11. The version of the `pygad.nn` submodule is upgraded from `1.2.1` to `1.2.2`.
12. The version of the `pygad.cnn` submodule is upgraded from `1.1.0` to `1.1.1`.
13. The version of the `pygad.torchga` submodule is upgraded from `1.4.0` to `1.4.1`.
14. The version of the `pygad.kerasga` submodule is upgraded from `1.3.0` to `1.3.1`.
15. Update the elitism after the evolution ends to fix issue where the best solution returned by the `best_solution()` method is not correct. #337
16. Fix a bug in calling the `numpy.reshape()` function. The parameter `newshape` is removed since it is no longer supported started from NumPy `2.4.0`. https://numpy.org/doc/stable/release/2.4.0-notes.html#removed-newshape-parameter-from-numpy-reshape
17. A minor change in the documentation is made to replace the `newshape` parameter when calling `numpy.reshape()`.
18. Fix a bug in the `visualize/plot.py` script that causes a warning to be given when the plot leged is used with single-objective problems.
19. A new method called `initialize_parents_array()` is added to the `Helper` class in the `pygad/helper/misc.py` script. It is usually called from the methods in the `ParentSelection` class in the `pygad/utils/parent_selection.py` script to initialize the parents array.
20. Add more tests about:
1. Operators (crossover, mutation, and parent selection).
2. The `best_solution()` method.
3. Parallel processing.
4. The `GANN` module.
5. The plots created by the `visualize`.
21. Instead of using repeated code for converting the data type and rounding the genes during crossover and mutation, the `change_gene_dtype_and_round()` method is called from the `pygad.helper.misc.Helper` class.
22. Fix some documentation issues. #336
23. Update the documentation to reflect the recent additions and changes to the library structure.
Copy file name to clipboardExpand all lines: docs/md/releases.md
+30-21Lines changed: 30 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -622,30 +622,39 @@ Release Date 08 July 2025
622
622
4. The `summary()` method was moved to `Helper` class in the `pygad/helper/misc.py` script.
623
623
5. 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.
624
624
6. 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:
625
-
1. `run()`
626
-
1. `run_loop_head()`
627
-
2. `run_select_parents()`
628
-
3. `run_crossover()`
629
-
4. `run_mutation()`
630
-
5. `run_update_population()`
631
-
2. `initialize_population()`
632
-
3. `cal_pop_fitness()`
633
-
4. `best_solution()`
634
-
5. `round_genes()`
625
+
1. `run()`
626
+
1. `run_loop_head()`
627
+
2. `run_select_parents()`
628
+
3. `run_crossover()`
629
+
4. `run_mutation()`
630
+
5. `run_update_population()`
631
+
2. `initialize_population()`
632
+
3. `cal_pop_fitness()`
633
+
4. `best_solution()`
634
+
5. `round_genes()`
635
635
7. The `pygad.GA` class now extends the two new classes `utils.validation.Validation` and `utils.engine.GAEngine`.
636
636
8. The version of the `pygad.utils` submodule is upgraded from `1.3.0` to `1.4.0`.
637
637
9. The version of the `pygad.helper` submodule is upgraded from `1.2.0` to `1.3.0`.
638
-
10. Update the elitism after the evolution ends to fix issue where the best solution returned by the `best_solution()` method is not correct. https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/337
639
-
11. Fix a bug in calling the `numpy.reshape()` function. The parameter `newshape` is removed since it is no longer supported started from NumPy `2.4.0`. https://numpy.org/doc/stable/release/2.4.0-notes.html#removed-newshape-parameter-from-numpy-reshape
640
-
12. A minor change in the documentation is made to replace the `newshape` parameter when calling `numpy.reshape()`.
641
-
13. Fix a bug in the `visualize/plot.py` script that causes a warning to be given when the plot leged is used with single-objective problems.
642
-
14. A new method called `initialize_parents_array()` is added to the `Helper` class in the `pygad/helper/misc.py` script. It is usually called from the methods in the `ParentSelection` class in the `pygad/utils/parent_selection.py` script to initialize the parents array.
643
-
15. Add more tests to test:
644
-
1) Operators (crossover, mutation, and parent selection).
645
-
2) The `best_solution()` method.
646
-
3) Parallel processing.
647
-
4) The `GANN` module.
648
-
5) The plots created by the `visualize`.
638
+
10. The version of the `pygad.visualize` submodule is upgraded from `1.1.0` to `1.1.1`.
639
+
11. The version of the `pygad.nn` submodule is upgraded from `1.2.1` to `1.2.2`.
640
+
12. The version of the `pygad.cnn` submodule is upgraded from `1.1.0` to `1.1.1`.
641
+
13. The version of the `pygad.torchga` submodule is upgraded from `1.4.0` to `1.4.1`.
642
+
14. The version of the `pygad.kerasga` submodule is upgraded from `1.3.0` to `1.3.1`.
643
+
15. Update the elitism after the evolution ends to fix issue where the best solution returned by the `best_solution()` method is not correct. https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/337
644
+
16. Fix a bug in calling the `numpy.reshape()` function. The parameter `newshape` is removed since it is no longer supported started from NumPy `2.4.0`. https://numpy.org/doc/stable/release/2.4.0-notes.html#removed-newshape-parameter-from-numpy-reshape
645
+
17. A minor change in the documentation is made to replace the `newshape` parameter when calling `numpy.reshape()`.
646
+
18. Fix a bug in the `visualize/plot.py` script that causes a warning to be given when the plot leged is used with single-objective problems.
647
+
19. A new method called `initialize_parents_array()` is added to the `Helper` class in the `pygad/helper/misc.py` script. It is usually called from the methods in the `ParentSelection` class in the `pygad/utils/parent_selection.py` script to initialize the parents array.
648
+
20. Add more tests about:
649
+
1. Operators (crossover, mutation, and parent selection).
650
+
2. The `best_solution()` method.
651
+
3. Parallel processing.
652
+
4. The `GANN` module.
653
+
5. The plots created by the `visualize`.
654
+
655
+
21. Instead of using repeated code for converting the data type and rounding the genes during crossover and mutation, the `change_gene_dtype_and_round()` method is called from the `pygad.helper.misc.Helper` class.
656
+
22. Fix some documentation issues. https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/336
657
+
23. Update the documentation to reflect the recent additions and changes to the library structure.
0 commit comments