MDO Formulation algorithms¶
Warning
Some algorithms may require the installation of GEMSEO with all its features and some others may depend on plugins.
Note
All the features of the wrapped optimization libraries may not be exposed through GEMSEO.
BiLevel¶
Module: gemseo.formulations.bilevel
- Required parameters
design_space : DesignSpace
The design space.
disciplines : Sequence[MDODiscipline]
The disciplines.
objective_name : str
The name of the objective function. If a sequence is passed, a vector objective function is created.
- Optional parameters
apply_cstr_to_system : bool, optional
Whether the
add_constraint()
method adds the constraint to the optimization problem of the system scenario.By default it is set to True.
apply_cstr_tosub_scenarios : bool, optional
Whether the
add_constraint()
method adds the constraint to the optimization problem of the sub-scenario capable of computing the constraint.By default it is set to True.
grammar_type : str, optional
The type of the input and output grammars, either
MDODiscipline.JSON_GRAMMAR_TYPE
orMDODiscipline.SIMPLE_GRAMMAR_TYPE
.By default it is set to JSONGrammar.
inner_mda_name : str, optional
The name of the class used for the inner-MDA of the main MDA, if any; typically when the main MDA is an
MDAChain
.By default it is set to MDAJacobi.
main_mda_name : str, optional
The name of the class used for the main MDA, typically the
MDAChain
, but one can force to useMDAGaussSeidel
for instance.By default it is set to MDAChain.
maximize_objective : bool, optional
If True, the objective function is maximized.
By default it is set to False.
multithread_scenarios : bool, optional
If True and parallel_scenarios=True, the sub-scenarios are run in parallel using multi-threading; if False and parallel_scenarios=True, multi-processing is used.
By default it is set to True.
parallel_scenarios : bool, optional
Whether to run the sub-scenarios in parallel.
By default it is set to False.
reset_x0_before_opt : bool, optional
Whether to restart the sub optimizations from the initial guesses, otherwise warm start them.
By default it is set to False.
**main_mda_options : Any
The options of the main MDA, which may include those of the inner-MDA.
DisciplinaryOpt¶
Module: gemseo.formulations.disciplinary_opt
- Required parameters
design_space : DesignSpace
The design space.
disciplines : Sequence[MDODiscipline]
The disciplines.
objective_name : str
The name of the objective function. If a sequence is passed, a vector objective function is created.
- Optional parameters
grammar_type : str, optional
The type of the input and output grammars, either
MDODiscipline.JSON_GRAMMAR_TYPE
orMDODiscipline.SIMPLE_GRAMMAR_TYPE
.By default it is set to JSONGrammar.
maximize_objective : bool, optional
If True, the objective function is maximized.
By default it is set to False.
IDF¶
Module: gemseo.formulations.idf
- Required parameters
design_space : DesignSpace
The design space.
disciplines : Sequence[MDODiscipline]
The disciplines.
objective_name : str
The name of the objective function. If a sequence is passed, a vector objective function is created.
- Optional parameters
grammar_type : str, optional
The type of the input and output grammars, either
MDODiscipline.JSON_GRAMMAR_TYPE
orMDODiscipline.SIMPLE_GRAMMAR_TYPE
.By default it is set to JSONGrammar.
maximize_objective : bool, optional
If True, the objective function is maximized.
By default it is set to False.
n_processes : int, optional
The maximum simultaneous number of threads, if
use_threading
is True, or processes otherwise, used to parallelize the execution.By default it is set to 1.
normalize_constraints : bool, optional
If True, the outputs of the coupling consistency constraints are scaled.
By default it is set to True.
start_at_equilibrium : bool, optional
If True, an MDA is used to initialize the coupling variables.
By default it is set to False.
use_threading : bool, optional
Whether to use threads instead of processes to parallelize the execution; multiprocessing will copy (serialize) all the disciplines, while threading will share all the memory. This is important to note if you want to execute the same discipline multiple times, you shall use multiprocessing.
By default it is set to True.
MDF¶
Module: gemseo.formulations.mdf
- Required parameters
design_space : DesignSpace
The design space.
disciplines : Sequence[MDODiscipline]
The disciplines.
objective_name : str
The name of the objective function. If a sequence is passed, a vector objective function is created.
- Optional parameters
grammar_type : str, optional
The type of the input and output grammars, either
MDODiscipline.JSON_GRAMMAR_TYPE
orMDODiscipline.SIMPLE_GRAMMAR_TYPE
.By default it is set to JSONGrammar.
inner_mda_name : str, optional
The name of the class used for the inner-MDA of the main MDA, if any; typically when the main MDA is an
MDAChain
.By default it is set to MDAJacobi.
main_mda_name : str, optional
The name of the class used for the main MDA, typically the
MDAChain
, but one can force to useMDAGaussSeidel
for instance.By default it is set to MDAChain.
maximize_objective : bool, optional
If True, the objective function is maximized.
By default it is set to False.
**main_mda_options : Any
The options of the main MDA, which may include those of the inner-MDA.