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

OptiGenAlgNsga2Deap

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

as_dict()[source]

Convert this object in a json seriable dict (can be use in __init__)

property toolbox

DEAP toolbox

Type

deap.base.Toolbox