tag:github.com,2008:https://github.com/evdcush/GeneticAlgorithmPython/releases Tags from GeneticAlgorithmPython 2021-06-06T06:21:19Z tag:github.com,2008:Repository/377119513/2.14.3 2021-06-06T06:21:19Z Documentation of PyGAD 2.14.3 <p>Documentation of PyGAD 2.14.3</p> <p>The new release has some bug fixes when setting the save_best_solutions parameter to True. Previously, the best solution for generation i was added into the best_solutions attribute at generation i+1. Now, the best_solutions attribute is updated by each solution at its exact generation.</p> ahmedfgad tag:github.com,2008:Repository/377119513/2.14.2 2021-05-27T23:51:39Z 2.14.2: New bade added <p>New bade added</p> <p>Add a new badge: <a href="https://readthedocs.org/projects/pygad/badge">https://readthedocs.org/projects/pygad/badge</a></p> ahmedfgad tag:github.com,2008:Repository/377119513/2.14.1 2021-05-19T07:28:03Z 2.14.1: PyGAD 2.14.0 Documentation <p>PyGAD 2.14.0 Documentation</p> <p>1. Issue <a class="issue-link js-issue-link" href="https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/40">ahmedfgad#40</a> is solved. Now, the None value works with the crossover_type and mutation_type parameters: <a class="issue-link js-issue-link" href="https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/40">ahmedfgad#40</a> <br />2. The gene_type parameter supports accepting a list/tuple/numpy.ndarray of numeric data types for the genes. This helps to control the data type of each individual gene. Previously, the gene_type can be assigned only to a single data type that is applied for all genes. <br />3. A new bool attribute named gene_type_single is added to the pygad.GA class. It is True when there is a single data type assigned to the gene_type parameter. When the gene_type parameter is assigned a list/tuple/numpy.ndarray, then gene_type_single is set to False. <br />4. The mutation_by_replacement flag now has no effect if gene_space exists except for the genes with None values. For example, for gene_space=[None, [5, 6]] the mutation_by_replacement flag affects only the first gene which has None for its value space. <br />5. When an element has a value of None in the gene_space parameter (e.g. gene_space=[None, [5, 6]]), then its value will be randomly generated for each solution rather than being generate once for all solutions. Previously, the gene with None value in gene_space is the same across all solutions <br />6. Some changes in the documentation according to issue <a class="issue-link js-issue-link" href="https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/32">ahmedfgad#32</a>: <a class="issue-link js-issue-link" href="https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/32">ahmedfgad#32</a></p> ahmedfgad tag:github.com,2008:Repository/377119513/2.13.0 2021-03-13T00:01:13Z 2.13.0 ahmedfgad tag:github.com,2008:Repository/377119513/2.12.0 2021-02-20T06:48:14Z 2.12.0 ahmedfgad tag:github.com,2008:Repository/377119513/2.11.0 2021-02-16T06:53:36Z 2.11.0 ahmedfgad tag:github.com,2008:Repository/377119513/2.10.2 2021-01-15T16:18:02Z PyGAD 2.10.2 <p>PyGAD 2.10.2</p> <p>A bug fix when save_best_solutions=True. Refer to this issue for more information: <a class="issue-link js-issue-link" href="https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/25">ahmedfgad#25</a></p> ahmedfgad tag:github.com,2008:Repository/377119513/2.10.1 2021-01-11T02:46:01Z PyGAD 2.10.1 Documentation <p>PyGAD 2.10.1 Documentation</p> <p>1. In the `gene_space` parameter, any `None` value (regardless of its index or axis), is replaced by a randomly generated number based on the 3 parameters `init_range_low`, `init_range_high`, and `gene_type`. So, the `None` value in `[..., None, ...]` or `[..., [..., None, ...], ...]` are replaced with random values. This gives more freedom in building the space of values for the genes. <br />2. All the numbers passed to the `gene_space` parameter are casted to the type specified in the `gene_type` parameter. <br />3. The `numpy.uint` data type is supported for the parameters that accept integer values. <br />4. In the `pygad.kerasga` module, the `model_weights_as_vector()` function uses the `trainable` attribute of the model's layers to only return the trainable weights in the network. So, only the trainable layers with their `trainable` attribute set to `True` (`trainable=True`), which is the default value, have their weights evolved. All non-trainable layers with the `trainable` attribute set to `False` (`trainable=False`) will not be evolved. Thanks to [Prof. Tamer A. Farrag](<a href="https://github.com/tfarrag2000">https://github.com/tfarrag2000</a>) for pointing about that at [GitHub](<a class="issue-link js-issue-link" href="https://github.com/ahmedfgad/KerasGA/issues/1">ahmedfgad/KerasGA#1</a>).</p> ahmedfgad tag:github.com,2008:Repository/377119513/2.10.0 2021-01-04T02:09:26Z 2.10.0: Link to TorchGA project at GitHub <p>Link to TorchGA project at GitHub</p> <p>Link to TorchGA project at GitHub: <a href="https://github.com/ahmedfgad/TorchGA">https://github.com/ahmedfgad/TorchGA</a></p> ahmedfgad tag:github.com,2008:Repository/377119513/2.9.0 2020-12-05T23:29:23Z PyGAD 2.9.0 <p>PyGAD 2.9.0</p> <p>Changes in PyGAD 2.9.0 (06 December 2020): <br />1. The fitness values of the initial population are considered in the `best_solutions_fitness` attribute. <br />2. An optional parameter named `save_best_solutions` is added. It defaults to `False`. When it is `True`, then the best solution after each generation is saved into an attribute named `best_solutions`. If `False`, then no solutions are saved and the `best_solutions` attribute will be empty. <br />3. Scattered crossover is supported. To use it, assign the `crossover_type` parameter the value `"scattered"`. <br />4. NumPy arrays are now supported by the `gene_space` parameter. <br />5. The following parameters (`gene_type`, `crossover_probability`, `mutation_probability`, `delay_after_gen`) can be assigned to a numeric value of any of these data types: `int`, `float`, `numpy.int`, `numpy.int8`, `numpy.int16`, `numpy.int32`, `numpy.int64`, `numpy.float`, `numpy.float16`, `numpy.float32`, or `numpy.float64`.</p> ahmedfgad