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.
- Parameters:
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.}
whenobjective_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 theuncertain_space
and"{}"
is the optimization variable. Leave"{}"
as is; it will be automatically replaced by"dv_x"
. IfNone
, do not consider other variable relations than those defined bydisciplines
.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/readthedocs.org/user_builds/gemseo/envs/5.0.1/lib/python3.9/site-packages/gemseo_umdo/scenarios/umdo_scenario.py/umdo')
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.