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(include_sub_formulations=False)[source]#
Return the top level disciplines that are executed in the foreground.
A formulation structures the optimization problem into multiple levels of disciplines. The top level disciplines map from the
design_space
to the objective, constraint and observable spaces. They can be composed of both user disciplines and process disciplines added by the formulation, e.g.MDOChain
. These process disciplines may also include both user disciplines and process disciplines, and so on.- Parameters:
include_sub_formulations (bool) --
Whether to include the top level disciplines of the formulations that make up the current one.
By default it is set to False.
- Returns:
The top level disciplines.
- Return type:
tuple[Discipline, ...]