OptiGenAlgNsga2Deap (class)¶
Method code available at https://github.com/Eomys/pyleecan/tree/master/pyleecan/Methods/Optimization/OptiGenAlgNsga2Deap
-
class
OptiGenAlgNsga2Deap
(toolbox=None, selector=None, crossover=None, mutator=None, p_cross=0.9, p_mutate=0.1, size_pop=40, nb_gen=100, problem=-1, xoutput=-1, logger_name='Pyleecan.OptiSolver', is_keep_all_output=False, init_dict=None, init_str=None)[source]¶ Bases:
pyleecan.Classes.OptiGenAlg.OptiGenAlg
Multi-objectives optimization problem with some constraints
-
VERSION
= 1¶
-
solve
()¶ Method to perform NSGA-II using DEAP tools
- Parameters
self (OptiGenAlgNsga2Deap) – Solver to perform NSGA-II
- Returns
multi_output – class containing the results
- Return type
OutputMultiOpti
-
mutate
(indiv)¶ - Mutate the individual design variables with different strategies according to the variables types :
interval : Polynomial Bounded mutation or user defined
set : Resampling the variable according to its initialization function
pyleecan : Resampling the variable according to its initialization function
- Parameters
solver (Solver) – solver to perform the genetic algorithm with DEAP
indiv (individual (e.g. OptiGenAlgIndivDeap)) – individual to mutate
- Returns
is_mutation – True if at least one mutation occured
- Return type
boolean
-
cross
(indiv1, indiv2)¶ Perform the crossover (One crossover by default)
- Parameters
self (OptiGenNsga2Deap) – Optimization solver
indiv1 (individual) – first individual to modify
indiv2 (individual) – second individual to modify
- Returns
is_cross – True if the crossover append
- Return type
bool
-
create_toolbox
()¶ OptiGenAlgNsga2Deap method to create DEAP toolbox :param self: :type self: OptiGenAlgNsga2Deap
- Returns
self – OptiGenAlgNsga2Deap with toolbox created
- Return type
-
check_optimization_input
()¶ Check optimization parameters before solving the problem
- Parameters
solver (Solver) – solver to perform the genetic algorithm with DEAP
-
delete_toolbox
()¶ OptiGenAlgNsga2Deap method to delete DEAP toolbox :param self: :type self: OptiGenAlgNsga2Deap
-
save
(save_path='', is_folder=False)¶ Save the object to the save_path
- Parameters
self – A pyleecan object
save_path (str) – path to the folder to save the object
is_folder (bool) – to split the object in different files: separate simulation machine and materials
-
copy
()¶ Return a copy of the class
-
get_logger
()¶ Get the object logger or its parent’s one
- Parameters
obj – A pyleecan object
- Returns
logger – Pyleecan object dedicated logger
- Return type
logging.Logger
-
property
toolbox
¶ DEAP toolbox
- Type
deap.base.Toolbox
-