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 notNone
.
- 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:
- 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, ...]