Fix documentation errors in 'Other Attributes'#336
Merged
ahmedfgad merged 1 commit intoahmedfgad:masterfrom Apr 8, 2026
Merged
Fix documentation errors in 'Other Attributes'#336ahmedfgad merged 1 commit intoahmedfgad:masterfrom
ahmedfgad merged 1 commit intoahmedfgad:masterfrom
Conversation
ahmedfgad
added a commit
that referenced
this pull request
Apr 8, 2026
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.
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Using the latest PyGAD library for a project, I discovered these two mistakes/omissions in the documentation. This PR fixes them.