Non-dominated sorting genetic algorithm (NSGA-III)
NSGA3 - Non-dominated sorting genetic algorithm
- class glennopt.optimizers.nsga3.NSGA3(eval_command: str = 'python evaluation.py', eval_folder: str = 'Evaluation', pop_size: int = 128, optimization_folder: Optional[str] = None, single_folder_eval=False, overwrite_input_file=False, pareto_resolution: int = 4)[source]
- __crossover_mutate__(individuals: List[Individual])[source]
[summary]
- Parameters
individuals (List[Individual]) – [description]
- Returns
[description]
- Return type
[type]
- __optimize__(individuals: List[Individual], n_generations: int, pop_start: int, reference_points: ndarray)[source]
NSGA-III main loop Note: This function will read given starting population’s results in, perform necessary crossover and mutation to generate enough individuals for the next iteration (self.pop_size)
- Inputs:
individuals - list of individuals to evaluate n_generations - number of generations to loop through pop_start - starting population number
- add_eval_parameters(eval_params: List[Parameter])[source]
Add evaluation parameters. This is part of the initialization
- Parameters
eval_params (List[Parameter]) – Add in a list of evaluation parameters
- add_objectives(objectives: List[Parameter])[source]
Add the objectives
- Parameters
objectives (List[Parameter]) – [description]
- add_performance_parameters(performance_params: Optional[List[Parameter]] = None)[source]
Add performance parameters
- Parameters
performance_params (List[Parameter], optional) – [description]. Defaults to None.
- property mutation_params
Get Mutation parameters
- Returns
parameter class describes the mutation
- Return type
- optimize_from_population(pop_start: int, n_generations: int)[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
- start_doe(doe_individuals: Optional[List[Individual]] = None, doe_size: int = 128)[source]
Starts a design of experiments. This generates the parameters for the individuals to be evaluated and executes each case. If the DOE has already started and there is an output file for an individual then the individual won’t be evaluated
- Parameters
doe_individuals (List[Individual], optional) – List of individuals. Defaults to None.
doe_size (int, optional) – [description]. Defaults to 128.
- glennopt.optimizers.nsga3.random() x in the interval [0, 1).