gemseo / problems / scalable / parametric

scalable_problem module¶

The scalable problem.

class gemseo.problems.scalable.parametric.scalable_problem.ScalableProblem(discipline_settings=(ScalableDisciplineSettings(d_i=1, p_i=1), ScalableDisciplineSettings(d_i=1, p_i=1)), d_0=1, add_random_variables=False, alpha=0.5, seed=1)[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 an 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 1.

compute_y(x)[source]

Compute the coupling vector $$y$$.

Parameters:

x (ndarray[Any, dtype[float]]) – A design point.

Returns:

The coupling vector associated with the design point $$x$$.

Return type:

ndarray[Any, dtype[float]]

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.

Parameters:

Whether to add the coupling variables as an observable.

By default it is set to False.

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.

property main_discipline: _MAIN_DISCIPLINE_CLASS

The main discipline.