gemseo_umdo / scenarios

Show inherited members

umdo_scenario module

Scenario for multidisciplinary design optimization problems under uncertainty.

class gemseo_umdo.scenarios.umdo_scenario.UMDOScenario(disciplines, formulation, objective_name, design_space, uncertain_space, objective_statistic_name, objective_statistic_parameters=None, statistic_estimation='Sampling', statistic_estimation_parameters=None, uncertain_design_variables=None, name=None, grammar_type=GrammarType.JSON, **formulation_options)[source]

Bases: _UScenario, MDOScenario

An optimizer-based scenario for multidisciplinary design under uncertainty.

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

  • disciplines (Sequence[MDODiscipline]) – The disciplines used to compute the objective, constraints and observables from the design variables.

  • formulation (str) – The class name of the MDOFormulation, e.g. "MDF", "IDF" or "BiLevel".

  • 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 search space including at least the design variables (some formulations requires additional variables, e.g. IDF with the coupling variables).

  • uncertain_space (ParameterSpace) – The uncertain variables with their probability distributions.

  • objective_statistic_name (str) – The name of the statistic to be applied to the objective, e.g. “margin”.

  • objective_statistic_parameters (Mapping[str, Any] | None) – The parameters of the statistics to be applied to the objective, e.g. {"factor": 2.} when objective_statistic="margin".

  • statistic_estimation (str) –

    The name of the method to estimate the statistic.

    By default it is set to “Sampling”.

  • statistic_estimation_parameters (Mapping[str, Any] | None) – The options of statistic_estimation.

  • uncertain_design_variables (Mapping[str, str] | None) – The expressions of the uncertainties applied to the design variables, e.g. {"x": "{} + u"} where "x" is the name of the design variable actually used in the equations, "u" is the name of the uncertain variable defined in the uncertain_space and "{}" is the optimization variable. Leave "{}" as is; it will be automatically replaced by "dv_x". If None, do not consider other variable relations than those defined by disciplines.

  • name (str | None) – The name to be given to this scenario. If None, use the name of the class.

  • grammar_type (MDODiscipline.GrammarType) –

    The type of the input and output grammars.

    By default it is set to “JSONGrammar”.

  • **formulation_options (Any) – The options of the MDOFormulation.

GRAMMAR_DIRECTORY: ClassVar[Path] = PosixPath('/home/docs/checkouts/')

The directory in which to search for the grammar files if not the class one.

cache: AbstractCache | None

The cache containing one or several executions of the discipline according to the cache policy.

clear_history_before_run: bool

If True, clear history before run.

data_processor: DataProcessor

A tool to pre- and post-process discipline data.

exec_for_lin: bool

Whether the last execution was due to a linearization.

formulation: MDOFormulation

The MDO formulation.

formulation_name: str

The name of the MDO formulation.

input_grammar: BaseGrammar

The input grammar.

jac: dict[str, dict[str, ndarray]]

The Jacobians of the outputs wrt inputs.

The structure is {output: {input: matrix}}.

name: str

The name of the discipline.

optimization_result: OptimizationResult

The optimization result.

output_grammar: BaseGrammar

The output grammar.

re_exec_policy: ReExecutionPolicy

The policy to re-execute the same discipline.

residual_variables: Mapping[str, str]

The output variables mapping to their inputs, to be considered as residuals; they shall be equal to zero.

run_solves_residuals: bool

Whether the run method shall solve the residuals.