gemseo.formulations.mdf module#

The Multi-disciplinary Design Feasible (MDF) formulation.

class MDF(disciplines, objective_name, design_space, settings_model=None, **settings)[source]#

Bases: BaseMDOFormulation

The Multidisciplinary Design Feasible (MDF) formulation.

This formulation draws an optimization architecture where:

  • the coupling of strongly coupled disciplines is made consistent by means of a Multidisciplinary Design Analysis (MDA),

  • the optimization problem with respect to the local and global design variables is made at the top level.

Note that the multidisciplinary analysis is made at each optimization iteration.

Initialize self. See help(type(self)) for accurate signature.

Parameters:
  • disciplines (Sequence[Discipline]) -- The disciplines.

  • objective_name (str) -- The name(s) of the discipline output(s) used as objective. If multiple names are passed, the objective will be a vector.

  • design_space (DesignSpace) -- The design space.

  • settings_model (MDF_Settings | None) -- The settings of the formulation as a Pydantic model. If None, use **settings.

  • **settings (Any) -- The settings of the formulation. This argument is ignored when settings_model is not None.

Settings#

alias of MDF_Settings

classmethod get_default_sub_option_values(**options)[source]#

Return the default values of the sub-options of the formulation.

When some options of the formulation depend on higher level options, the default values of these sub-options may be obtained here, mainly for use in the API.

Parameters:

**options (str) -- The options required to deduce the sub-options grammar.

Returns:

Either None or the sub-options default values.

Return type:

StrKeyMapping

classmethod get_sub_options_grammar(**options)[source]#

Get the sub-options grammar.

When some options of the formulation depend on higher level options, the schema of the sub-options may be obtained here, mainly for use in the API.

Parameters:

**options (str) -- The options required to deduce the sub-options grammar.

Returns:

Either None or the sub-options grammar.

Return type:

JSONGrammar

get_top_level_disciplines()[source]#

Return the disciplines which inputs are required to run the scenario.

A formulation seeks to compute the objective and constraints from the input variables. It structures the optimization problem into multiple levels of disciplines. The disciplines directly depending on these inputs are called top level disciplines.

By default, this method returns all disciplines. This method can be overloaded by subclasses.

Returns:

The top level disciplines.

Return type:

tuple[Discipline, ...]

mda: BaseMDA#

The MDA used in the formulation.