-
-
Notifications
You must be signed in to change notification settings - Fork 489
Commit ed1199d
PyGAD 2.19.0 Release
PyGAD 2.19.0 Release Notes
1. A new `summary()` method is supported to return a Keras-like summary of the PyGAD lifecycle.
2. A new optional parameter called `fitness_batch_size` is supported to calculate the fitness function in batches. If it is assigned the value `1` or `None` (default), then the normal flow is used where the fitness function is called for each individual solution. If the `fitness_batch_size` parameter is assigned a value satisfying this condition `1 < fitness_batch_size <= sol_per_pop`, then the solutions are grouped into batches of size `fitness_batch_size` and the fitness function is called once for each batch. In this case, the fitness function must return a list/tuple/numpy.ndarray with a length equal to the number of solutions passed. #136.
3. The `cloudpickle` library (https://github.com/cloudpipe/cloudpickle) is used instead of the `pickle` library to pickle the `pygad.GA` objects. This solves the issue of having to redefine the functions (e.g. fitness function). The `cloudpickle` library is added as a dependancy in the `requirements.txt` file. #159
4. Support of assigning methods to these parameters: `fitness_func`, `crossover_type`, `mutation_type`, `parent_selection_type`, `on_start`, `on_fitness`, `on_parents`, `on_crossover`, `on_mutation`, `on_generation`, and `on_stop`. #92 #138
5. Validating the output of the parent selection, crossover, and mutation functions.
6. The built-in parent selection operators return the parent's indices as a NumPy array.
7. The outputs of the parent selection, crossover, and mutation operators must be NumPy arrays.
8. Fix an issue when `allow_duplicate_genes=True`. #39
9. Fix an issue creating scatter plots of the solutions' fitness.
10. Sampling from a `set()` is no longer supported in Python 3.11. Instead, sampling happens from a `list()`. Thanks `Marco Brenna` for pointing to this issue.
11. The lifecycle is updated to reflect that the new population's fitness is calculated at the end of the lifecycle not at the beginning. #154 (comment)
12. There was an issue when `save_solutions=True` that causes the fitness function to be called for solutions already explored and have their fitness pre-calculated. #160
13. A new instance attribute named `last_generation_elitism_indices` added to hold the indices of the selected elitism. This attribute helps to re-use the fitness of the elitism instead of calling the fitness function.
14. Fewer calls to the `best_solution()` method which in turns saves some calls to the fitness function.
15. Some updates in the documentation to give more details about the `cal_pop_fitness()` method. #79 (comment) 1 parent fcf5d07 commit ed1199d
File tree
10 files changed
+1320
-497
lines changed- docs/source
10 files changed
+1320
-497
lines changedLines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
64 | 64 |
| |
65 | 65 |
| |
66 | 66 |
| |
67 | - | ||
67 | + | ||
68 | 68 |
| |
69 | 69 |
| |
70 | 70 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 | 1 |
| |
2 | 2 |
| |
3 | - | ||
3 | + |
Lines changed: 78 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1093 | 1093 |
| |
1094 | 1094 |
| |
1095 | 1095 |
| |
1096 | + | ||
1097 | + | ||
1098 | + | ||
1099 | + | ||
1100 | + | ||
1101 | + | ||
1102 | + | ||
1103 | + | ||
1104 | + | ||
1105 | + | ||
1106 | + | ||
1107 | + | ||
1108 | + | ||
1109 | + | ||
1110 | + | ||
1111 | + | ||
1112 | + | ||
1113 | + | ||
1114 | + | ||
1115 | + | ||
1116 | + | ||
1117 | + | ||
1118 | + | ||
1119 | + | ||
1120 | + | ||
1121 | + | ||
1122 | + | ||
1123 | + | ||
1124 | + | ||
1125 | + | ||
1126 | + | ||
1127 | + | ||
1128 | + | ||
1129 | + | ||
1130 | + | ||
1131 | + | ||
1132 | + | ||
1133 | + | ||
1134 | + | ||
1135 | + | ||
1136 | + | ||
1137 | + | ||
1138 | + | ||
1139 | + | ||
1140 | + | ||
1141 | + | ||
1142 | + | ||
1143 | + | ||
1144 | + | ||
1145 | + | ||
1146 | + | ||
1147 | + | ||
1148 | + | ||
1149 | + | ||
1150 | + | ||
1151 | + | ||
1152 | + | ||
1153 | + | ||
1154 | + | ||
1155 | + | ||
1156 | + | ||
1157 | + | ||
1158 | + | ||
1159 | + | ||
1160 | + | ||
1161 | + | ||
1162 | + | ||
1163 | + | ||
1164 | + | ||
1165 | + | ||
1166 | + | ||
1167 | + | ||
1168 | + | ||
1169 | + | ||
1170 | + | ||
1171 | + | ||
1172 | + | ||
1173 | + | ||
1096 | 1174 |
| |
1097 | 1175 |
| |
1098 | 1176 |
| |
|
0 commit comments