# Options for MDO Formulation algorithms¶

## BiLevel¶

Mandatory and optional parameters:

Parameters
• **main_mda_options : Any

The options of the main MDA, which may include those of the inner-MDA.

• 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.

• design_space : DesignSpace

The design space.

• disciplines : Sequence[MDODiscipline]

The disciplines.

• grammar_type : str, optional

The type of the input and output grammars, either MDODiscipline.JSON_GRAMMAR_TYPE or MDODiscipline.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 use MDAGaussSeidel 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.

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.

• objective_name : str

The name of the objective function. If a sequence is passed, a vector objective function is created.

• 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.

## DisciplinaryOpt¶

Mandatory and optional parameters:

Parameters
• design_space : DesignSpace

The design space.

• disciplines : Sequence[MDODiscipline]

The disciplines.

• grammar_type : str, optional

The type of the input and output grammars, either MDODiscipline.JSON_GRAMMAR_TYPE or MDODiscipline.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.

• objective_name : str

The name of the objective function. If a sequence is passed, a vector objective function is created.

## IDF¶

Mandatory and optional parameters:

Parameters
• design_space : DesignSpace

The design space.

• disciplines : Sequence[MDODiscipline]

The disciplines.

• grammar_type : str, optional

The type of the input and output grammars, either MDODiscipline.JSON_GRAMMAR_TYPE or MDODiscipline.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.

• normalize_constraints : bool, optional

If True, the outputs of the coupling consistency constraints are scaled.

By default it is set to True.

• objective_name : str

The name of the objective function. If a sequence is passed, a vector objective function is created.

• parallel_exec : bool, optional

If True, all constraints and objectives are computed in parallel. At every iteration, all disciplines are executed in parallel. Otherwise, a separate constraint is created for each discipline with couplings.

By default it is set to False.

• start_at_equilibrium : bool, optional

If True, an MDA is used to initialize the coupling variables.

By default it is set to False.

If True and parallel_exec=True, the disciplines are run in parallel using multi-threading. If False and parallel_exec=True, multi-processing is used.

By default it is set to True.

## MDF¶

Mandatory and optional parameters:

Parameters
• **main_mda_options : Any

The options of the main MDA, which may include those of the inner-MDA.

• design_space : DesignSpace

The design space.

• disciplines : Sequence[MDODiscipline]

The disciplines.

• grammar_type : str, optional

The type of the input and output grammars, either MDODiscipline.JSON_GRAMMAR_TYPE or MDODiscipline.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 use MDAGaussSeidel 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.

• objective_name : str

The name of the objective function. If a sequence is passed, a vector objective function is created.