gemseo / problems / scalable / parametric

Show inherited members

scalable_design_space module

The design space for the scalable problem.

class gemseo.problems.scalable.parametric.scalable_design_space.ScalableDesignSpace(discipline_settings=(ScalableDisciplineSettings(d_i=1, p_i=1), ScalableDisciplineSettings(d_i=1, p_i=1)), d_0=1, names_to_default_values=mappingproxy({}), add_uncertain_variables=False)[source]

Bases: ParameterSpace

The design space for the scalable problem.

It is the space in which the design and coupling variables vary. For all the variables, the lower bound is 0, the upper bound is 1 and the default value is 0.5.

  • discipline_settings (Iterable[ScalableDisciplineSettings]) –

    The configurations of the different disciplines. If None, use a single discipline with default ScalableDisciplineSettings.

    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.

  • names_to_default_values (Mapping[str, NDArray[float]]) –

    The default values of the variables.

    By default it is set to {}.

  • add_uncertain_variables (bool) –

    Whether to add the uncertain variables impacting the coupling variables as \(y_{i,j}:=y_{i,j}+\epsilon_{i,j}\) where \(\epsilon_{i,j}\) are independent and identically distributed standard Gaussian variables.

    By default it is set to False.


The lengths of n_local and n_coupling must be equal and correspond to the number of scalable disciplines. n_local[i] (resp. n_coupling[i]) is the number of local design variables (resp. coupling variables) of the i-th scalable discipline.

dimension: int

The total dimension of the space, corresponding to the sum of the sizes of the variables.

distribution: ComposedDistribution

The joint probability distribution of the uncertain variables.

distributions: dict[str, ComposedDistribution]

The marginal probability distributions of the uncertain variables.

These variables are defined as random vectors with independent components.

name: str | None

The name of the space.

normalize: dict[str, ndarray]

The normalization policies of the variables components indexed by the variables names; if True, the component can be normalized.

uncertain_variables: list[str]

The names of the uncertain variables.

variable_names: list[str]

The names of the variables.

variable_sizes: dict[str, int]

The sizes of the variables.

variable_types: dict[str, ndarray]

The types of the variables components, which can be any DesignSpace.DesignVariableType.