tag:github.com,2008:https://github.com/evdcush/GeneticAlgorithmPython/releasesRelease notes from GeneticAlgorithmPython2021-06-06T06:21:19Ztag:github.com,2008:Repository/377119513/2.14.32021-06-06T06:21:19ZDocumentation of PyGAD 2.14.3<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>ahmedfgadtag:github.com,2008:Repository/377119513/2.14.22021-05-27T23:51:39Z2.14.2: New bade added<p>Add a new badge: <a href="https://readthedocs.org/projects/pygad/badge" rel="nofollow">https://readthedocs.org/projects/pygad/badge</a></p>ahmedfgadtag:github.com,2008:Repository/377119513/2.14.12021-05-19T07:28:03Z2.14.1: PyGAD 2.14.0 Documentation<ol>
<li>Issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="873830033" data-permission-text="Title is private" data-url="https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/40" data-hovercard-type="issue" data-hovercard-url="/ahmedfgad/GeneticAlgorithmPython/issues/40/hovercard" 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" data-error-text="Failed to load title" data-id="873830033" data-permission-text="Title is private" data-url="https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/40" data-hovercard-type="issue" data-hovercard-url="/ahmedfgad/GeneticAlgorithmPython/issues/40/hovercard" href="https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/40">ahmedfgad#40</a></li>
<li>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.</li>
<li>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.</li>
<li>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.</li>
<li>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</li>
<li>Some changes in the documentation according to issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="830933520" data-permission-text="Title is private" data-url="https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/32" data-hovercard-type="issue" data-hovercard-url="/ahmedfgad/GeneticAlgorithmPython/issues/32/hovercard" href="https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/32">ahmedfgad#32</a>: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="830933520" data-permission-text="Title is private" data-url="https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/32" data-hovercard-type="issue" data-hovercard-url="/ahmedfgad/GeneticAlgorithmPython/issues/32/hovercard" href="https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/32">ahmedfgad#32</a></li>
</ol>ahmedfgadtag:github.com,2008:Repository/377119513/2.13.02021-03-13T00:01:13Z2.13.0<p>Add files via upload</p>ahmedfgadtag:github.com,2008:Repository/377119513/2.12.02021-02-20T06:48:14Z2.12.0<p>Add files via upload</p>ahmedfgadtag:github.com,2008:Repository/377119513/2.11.02021-02-16T06:53:36Z2.11.0<p>Add files via upload</p>ahmedfgadtag:github.com,2008:Repository/377119513/2.10.22021-01-15T16:18:02ZPyGAD 2.10.2<p>A bug fix when save_best_solutions=True. Refer to this issue for more information: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="786771787" data-permission-text="Title is private" data-url="https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/25" data-hovercard-type="issue" data-hovercard-url="/ahmedfgad/GeneticAlgorithmPython/issues/25/hovercard" href="https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/25">ahmedfgad#25</a></p>ahmedfgadtag:github.com,2008:Repository/377119513/2.10.12021-01-11T02:46:01ZPyGAD 2.10.1 Documentation<ol>
<li>In the <code>gene_space</code> parameter, any <code>None</code> value (regardless of its index or axis), is replaced by a randomly generated number based on the 3 parameters <code>init_range_low</code>, <code>init_range_high</code>, and <code>gene_type</code>. So, the <code>None</code> value in <code>[..., None, ...]</code> or <code>[..., [..., None, ...], ...]</code> are replaced with random values. This gives more freedom in building the space of values for the genes.</li>
<li>All the numbers passed to the <code>gene_space</code> parameter are casted to the type specified in the <code>gene_type</code> parameter.</li>
<li>The <code>numpy.uint</code> data type is supported for the parameters that accept integer values.</li>
<li>In the <code>pygad.kerasga</code> module, the <code>model_weights_as_vector()</code> function uses the <code>trainable</code> attribute of the model's layers to only return the trainable weights in the network. So, only the trainable layers with their <code>trainable</code> attribute set to <code>True</code> (<code>trainable=True</code>), which is the default value, have their weights evolved. All non-trainable layers with the <code>trainable</code> attribute set to <code>False</code> (<code>trainable=False</code>) will not be evolved. Thanks to <a href="https://github.com/tfarrag2000">Prof. Tamer A. Farrag</a> for pointing about that at <a href="https://github.com/ahmedfgad/KerasGA/issues/1" data-hovercard-type="issue" data-hovercard-url="/ahmedfgad/KerasGA/issues/1/hovercard">GitHub</a>.</li>
</ol>ahmedfgadtag:github.com,2008:Repository/377119513/2.10.02021-01-04T02:09:26Z2.10.0: Link to TorchGA project at GitHub<p>Link to TorchGA project at GitHub: <a href="https://github.com/ahmedfgad/TorchGA">https://github.com/ahmedfgad/TorchGA</a></p>ahmedfgadtag:github.com,2008:Repository/377119513/2.9.02020-12-05T23:29:23ZPyGAD 2.9.0<p>Changes in PyGAD 2.9.0 (06 December 2020):</p>
<ol>
<li>The fitness values of the initial population are considered in the <code>best_solutions_fitness</code> attribute.</li>
<li>An optional parameter named <code>save_best_solutions</code> is added. It defaults to <code>False</code>. When it is <code>True</code>, then the best solution after each generation is saved into an attribute named <code>best_solutions</code>. If <code>False</code>, then no solutions are saved and the <code>best_solutions</code> attribute will be empty.</li>
<li>Scattered crossover is supported. To use it, assign the <code>crossover_type</code> parameter the value <code>"scattered"</code>.</li>
<li>NumPy arrays are now supported by the <code>gene_space</code> parameter.</li>
<li>The following parameters (<code>gene_type</code>, <code>crossover_probability</code>, <code>mutation_probability</code>, <code>delay_after_gen</code>) can be assigned to a numeric value of any of these data types: <code>int</code>, <code>float</code>, <code>numpy.int</code>, <code>numpy.int8</code>, <code>numpy.int16</code>, <code>numpy.int32</code>, <code>numpy.int64</code>, <code>numpy.float</code>, <code>numpy.float16</code>, <code>numpy.float32</code>, or <code>numpy.float64</code>.</li>
</ol>ahmedfgad