Skip to content

Commit

Permalink
Update release 3.0.0 notes
Browse files Browse the repository at this point in the history
  • Loading branch information
ahmedfgad committed Apr 8, 2023
1 parent a62ca2b commit 8ef24c1
Showing 1 changed file with 30 additions and 40 deletions.
70 changes: 30 additions & 40 deletions docs/source/Footer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1198,84 +1198,74 @@ PyGAD 3.0.0

Release Date 8 April 2023

1. The structure of the library is changed and some methods defined in
the ``pygad.py`` module are moved to the ``pygad.utils``,
``pygad.helper``, and ``pygad.visualize`` submodules.
1. The structure of the library is changed and some methods defined in
the ``pygad.py`` module are moved to the ``pygad.utils``,
``pygad.helper``, and ``pygad.visualize`` submodules.

2. The ``pygad.utils.parent_selection`` module has a class named
``ParentSelection`` where all the parent selection operators exist.
The ``pygad.GA`` class extends this class.
2. The ``pygad.utils.parent_selection`` module has a class named
``ParentSelection`` where all the parent selection operators exist.
The ``pygad.GA`` class extends this class.

3. The ``pygad.utils.crossover`` module has a class named ``Crossover``
where all the crossover operators exist. The ``pygad.GA`` class
extends this class.
3. The ``pygad.utils.crossover`` module has a class named ``Crossover``
where all the crossover operators exist. The ``pygad.GA`` class
extends this class.

4. The ``pygad.utils.mutation`` module has a class named ``Mutation``
where all the mutation operators exist. The ``pygad.GA`` class
extends this class.
4. The ``pygad.utils.mutation`` module has a class named ``Mutation``
where all the mutation operators exist. The ``pygad.GA`` class
extends this class.

5. The ``pygad.helper.unique`` module has a class named ``Unique`` some
helper methods exist to solve duplicate genes and make sure every
gene is unique. The ``pygad.GA`` class extends this class.
5. The ``pygad.helper.unique`` module has a class named ``Unique`` some
helper methods exist to solve duplicate genes and make sure every
gene is unique. The ``pygad.GA`` class extends this class.

6. The ``pygad.visualize.plot`` module has a class named ``Plot`` where
all the methods that create plots exist. The ``pygad.GA`` class
extends this class.
6. The ``pygad.visualize.plot`` module has a class named ``Plot`` where
all the methods that create plots exist. The ``pygad.GA`` class
extends this class.

.. code:: python
...
class GA(utils.parent_selection.ParentSelection,
utils.crossover.Crossover,
utils.mutation.Mutation,
helper.unique.Unique,
visualize.plot.Plot):
...
1. Support of using the ``logging`` module to log the outputs to both
7. Support of using the ``logging`` module to log the outputs to both
the console and text file instead of using the ``print()`` function.
This is by assigning the ``logging.Logger`` to the new ``logger``
parameter. Check the `Logging
Outputs <https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#logging-outputs>`__
for more information.

2. A new instance attribute called ``logger`` to save the logger.
8. A new instance attribute called ``logger`` to save the logger.

3. The function/method passed to the ``fitness_func`` parameter accepts
9. The function/method passed to the ``fitness_func`` parameter accepts
a new parameter that refers to the instance of the ``pygad.GA``
class. Check this for an example: `Use Functions and Methods to
Build Fitness Function and
Callbacks <https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#use-functions-and-methods-to-build-fitness-and-callbacks>`__.
https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/163

4. Update the documentation to include an example of using functions
10. Update the documentation to include an example of using functions
and methods to calculate the fitness and build callbacks. Check this
for more details: `Use Functions and Methods to Build Fitness
Function and
Callbacks <https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#use-functions-and-methods-to-build-fitness-and-callbacks>`__.
https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/92#issuecomment-1443635003

5. Validate the value passed to the ``initial_population`` parameter.
11. Validate the value passed to the ``initial_population`` parameter.

6. Validate the type and length of the ``pop_fitness`` parameter of the
12. Validate the type and length of the ``pop_fitness`` parameter of the
``best_solution()`` method.

7. Some edits in the documentation.
13. Some edits in the documentation.
https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/106

8. Fix an issue when building the initial population as (some) genes
14. Fix an issue when building the initial population as (some) genes
have their value taken from the mutation range (defined by the
parameters ``random_mutation_min_val`` and
``random_mutation_max_val``) instead of using the parameters
``init_range_low`` and ``init_range_high``.

9. The ``summary()`` method returns the summary as a single-line
15. The ``summary()`` method returns the summary as a single-line
string. Just log/print the returned string it to see it properly.

10. The ``callback_generation`` parameter is removed. Use the
16. The ``callback_generation`` parameter is removed. Use the
``on_generation`` parameter instead.

11. There was an issue when using the ``parallel_processing`` parameter
17. There was an issue when using the ``parallel_processing`` parameter
with Keras and PyTorch. As Keras/PyTorch are not thread-safe, the
``predict()`` method gives incorrect and weird results when more
than 1 thread is used.
Expand All @@ -1285,7 +1275,7 @@ Release Date 8 April 2023
`StackOverflow
answer <https://stackoverflow.com/a/75606666/5426539>`__.

12. Replace ``numpy.float`` by ``float`` in the 2 parent selection
18. Replace ``numpy.float`` by ``float`` in the 2 parent selection
operators roulette wheel and stochastic universal.
https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/168

Expand Down

0 comments on commit 8ef24c1

Please sign in to comment.