gemseo / problems / mdo / scalable / parametric / core

Hide inherited members

scalable_problem module

The scalable problem.

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

Bases: object

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]\).

  • 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.

  • add_random_variables (bool) –

    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.

compute_y(x, u=None)[source]

Compute the coupling vector \(y\).

  • x (NDArray[float]) – A design point.

  • u (NDArray[float] | None) – An uncertain point, if any.


The coupling vector associated with the design point \(x\) and the uncertain vector \(U\) if any.

Return type:


design_space: _DESIGN_SPACE_CLASS

The design space.


The disciplines.

property main_discipline: _MAIN_DISCIPLINE_CLASS

The main discipline.

qp_problem: QuadraticProgrammingProblem

The quadratic programming problem.

property scalable_disciplines: list[_SCALABLE_DISCIPLINE_CLASS]

The scalable disciplines.

Examples using ScalableProblem

Parametric scalable MDO problem - MDF

Parametric scalable MDO problem - MDF