gemseo / problems / mdo / scalable / parametric

# scalable_problem module¶

The scalable problem.

class gemseo.problems.mdo.scalable.parametric.scalable_problem.ScalableProblem(discipline_settings=((1, 1), (1, 1)), d_0=1, add_random_variables=False, alpha=0.5, seed=0)[source]

The scalable problem.

It builds a set of strongly coupled scalable disciplines completed by a system discipline computing the objective function and the constraints.

These disciplines are defined on a unit design space, i.e. design variables belongs to $$[0, 1]$$.

Parameters:
• discipline_settings (Sequence[ScalableDisciplineSettings]) –

The configurations of the different scalable disciplines.

By default it is set to (ScalableDisciplineSettings(d_i=1, p_i=1), ScalableDisciplineSettings(d_i=1, p_i=1)).

• d_0 (int) –

The size of the shared design variable $$x_0$$.

By default it is set to 1.

Whether to add a centered random variable $$u_i$$ on the output of the $$i$$-th scalable discipline.

By default it is set to False.

• alpha (float) –

The proportion of feasible design points.

By default it is set to 0.5.

• seed (int) –

The seed for reproducibility.

By default it is set to 0.

Create the quadratic programming (QP) version of the MDO problem.

This is an optimization problem to minimize $$0.5x^TQx + c^Tx + d$$ with respect to $$x$$ under the linear constraints $$Ax-b\leq 0$$, where the matrix $$Q$$ is symmetric.

In the presence of uncertainties, offsets are added to the objective and constraint expressions.

Parameters:

Whether to add the coupling variables as an observable.

By default it is set to False.

• use_margin (bool) –

Whether the statistics used for the constraints are margins or probabilities; if False, the random vectors are assumed to be Gaussian.

By default it is set to True.

• covariance_matrices (Iterable[NDArray[float]]) –

The covariance matrices $$\Sigma_1,\ldots,\Sigma_N$$ of the random variables $$U_1,\ldots,U_N$$. If empty, do not consider uncertainties.

By default it is set to ().

• margin_factor (float) –

The factor $$\kappa$$ used in the expression of the margins.

By default it is set to 2.0.

• tolerance (float) –

The tolerance level $$\varepsilon$$ for the violation probability.

By default it is set to 0.01.

Returns:

Return type:

OptimizationProblem

create_scenario(use_optimizer=True, formulation_name='MDF', **formulation_options)[source]

Create the DOE or MDO scenario associated with this scalable problem.

Parameters:
• use_optimizer (bool) –

Whether to use an optimizer or a design of experiments.

By default it is set to True.

• formulation_name (str) –

The name of the formulation.

By default it is set to “MDF”.

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

Returns:

The scenario to be executed.

Return type:

Scenario

design_space: _DESIGN_SPACE_CLASS

The design space.

disciplines: list[_MAIN_DISCIPLINE_CLASS | _SCALABLE_DISCIPLINE_CLASS]

The disciplines.