Single Objective Differential Evolution (SODE)

Single objective differential evolution

class glennopt.optimizers.sode.SODE(eval_command: str = 'python evaluation.py', eval_folder: str = 'Evaluation', pop_size: int = 32, optimization_folder: Optional[str] = None)[source]
__crossover_mutate__(individuals: List[Individual])[source]

Applies Crossover and Mutate

__set_eval_parameters__(y: ndarray)[source]

only call this function within the class, do not expose to outside. once we have the parameters set, we might need to set the values based on an array.

optimize_from_population(pop_start: int, n_generations: int, sel_type: selection_type = selection_type.best_design)[source]

Reads the values of a population, this can be a DOE or a previous evaluation Starts the optimization

Inputs:

pop_start (-1 for DOE), reads the population folder and starts at pop_start+1 n_generations - number of generations to run for

select_individuals(prevIndividuals: List[Individual], newIndividuals: List[Individual])[source]

Select individuals using diversity and distance. Use this only for single objective type problems. This is not suitable for multi-objective.

Inputs:

previndividuals - previous population newIndividuals - new population

Citations:

(described in) Ghosh, A., Das, S., Mallipeddi, R., Das, A. K., & Dash, S. S. (2017). A Modified Differential Evolution With Distance-based Selection for Continuous Optimization in Presence of Noise. IEEE Access, 5, 26944–26964. https://doi.org/10.1109/ACCESS.2017.2773825

(Modified version of) S. Das, A. Konar, and U. K. Chakraborty, ‘‘Improved differential evolution algorithms for handling noisy optimization problems,’’ in Proc. IEEE Congr. Evol. Comput., vol. 2. Sep. 2005, pp. 1691–1698.

start_doe(doe_individuals: Optional[List[Individual]] = None, doe_size: int = 128)[source]

Starts a design of experiments. If the DOE has already started and there is an output file for an individual then the individual won’t be evaluated

glennopt.optimizers.sode.random() x in the interval [0, 1).
class glennopt.optimizers.sode.selection_type(value)[source]

An enumeration.