| @@ 918-930 (lines=13) @@ | ||
| 915 | d.update({'strategies': self.strategies}) |
|
| 916 | return d |
|
| 917 | ||
| 918 | def evolve(self, pop, xb, task, **kwargs): |
|
| 919 | r"""Evolve population with the help multiple mutation strategies. |
|
| 920 | ||
| 921 | Args: |
|
| 922 | pop (numpy.ndarray): Current population. |
|
| 923 | xb (numpy.ndarray): Current best individual. |
|
| 924 | task (Task): Optimization task. |
|
| 925 | **kwargs (Dict[str, Any]): Additional arguments. |
|
| 926 | ||
| 927 | Returns: |
|
| 928 | numpy.ndarray: New population of individuals. |
|
| 929 | """ |
|
| 930 | return objects2array([self.CrossMutt(pop, i, xb, self.F, self.CR, self.Rand, task, self.itype, self.strategies) for i in range(len(pop))]) |
|
| 931 | ||
| 932 | class DynNpMultiStrategyDifferentialEvolution(MultiStrategyDifferentialEvolution, DynNpDifferentialEvolution): |
|
| 933 | r"""Implementation of Dynamic population size Differential evolution algorithm with dynamic population size that is defined by the quality of population. |
|
| @@ 366-378 (lines=13) @@ | ||
| 363 | SelfAdaptiveDifferentialEvolution.setParameters(self, CrossMutt=kwargs.pop('CrossMutt', multiMutations), **kwargs) |
|
| 364 | self.strategies = strategies |
|
| 365 | ||
| 366 | def evolve(self, pop, xb, task, **kwargs): |
|
| 367 | r"""Evolve population with the help multiple mutation strategies. |
|
| 368 | ||
| 369 | Args: |
|
| 370 | pop (numpy.ndarray[Individual]): Current population. |
|
| 371 | xb (Individual): Current best individual. |
|
| 372 | task (Task): Optimization task. |
|
| 373 | **kwargs (Dict[str, Any]): Additional arguments. |
|
| 374 | ||
| 375 | Returns: |
|
| 376 | numpy.ndarray[Individual]: New population of individuals. |
|
| 377 | """ |
|
| 378 | return objects2array([self.CrossMutt(pop, i, xb, self.F, self.CR, self.Rand, task, self.itype, self.strategies) for i in range(len(pop))]) |
|
| 379 | ||
| 380 | class DynNpMultiStrategySelfAdaptiveDifferentialEvolution(MultiStrategySelfAdaptiveDifferentialEvolution, DynNpSelfAdaptiveDifferentialEvolutionAlgorithm): |
|
| 381 | r"""Implementation of Dynamic population size self-adaptive differential evolution algorithm with multiple mutation strategies. |
|