gemseo.formulations.disciplinary_opt module#

A formulation for uncoupled or weakly coupled problems.

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

Bases: BaseMDOFormulation

The disciplinary optimization.

This formulation draws the architecture of a mono-disciplinary optimization process from an ordered list of disciplines, an objective function and a design space.

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 (DisciplinaryOpt_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 DisciplinaryOpt_Settings

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]