# The scalable problem¶

## Introduction¶

In this section we describe the GEMSEO’ scalable problem, or scalable discipline feature, based on the paper [VGM17]:

```
@conference {VGM2017,
title = {On the Consequences of the "No Free Lunch" Theorem for Optimization on the Choice of {MDO} Architecture},
booktitle = {Proceedings of the AIAA SciTech Conference},
year = {2017},
month = {January},
author = {Charlie Vanaret and Francois Gallard and Joaquim R. R. A. Martins}
}
```

See also

Scalable model is implemented in the class `ScalableDiscipline`

which inherited from `MDODiscipline`

.

See also

The scalable model is illustrated in several examples: Scalable diagonal discipline, Scalable problem and ref:sphx_glr_download_examples_scalable_scalable_study.py.

Based on computationally cheap disciplines, the scalable problem allows to choose a MDO formulation:

for the problem from which derives the scalable problem or

for a family of problems having:

a greater number of design and coupling variables and

common properties with the original problem.

According to the authors, this scalable problem *“preserve[s] the functional characteristics of
the original problem and they proved useful in performing a rapid benchmarking of* MDO formulation”. This
*“provides insights on the scalability of MDO architectures with respect to the
dimensions of the problem. This may be achieved without having to execute the* MDO *processes with the
original models. Our methodology thus requires a limited number of evaluations of the original models that
is independent of the desired dimensions of the design and the coupling variables of the scalable problem.”*

## Methodology¶

The proposed methodology

builds a surrogate model \(\Phi^{(int)}\) for each discipline \(\Phi\) of the initial problem with a limited amount of evaluations \(T\),

extrapolates the surrogate model \(\Phi^{(ext)}\) to an arbitrary dimension.

The methodology preserves the interface of the initial problem, that is the names of the inputs (design variables) and the outputs (coupling and state variables). Any high-fidelity discipline of the initial problem may therefore be replaced by a cheap scalable component generated by the methodology. Strong properties are guaranteed by the methodology.

### One-dimensional restriction¶

The original model \(\Phi:\mathbb{R}^n\rightarrow\mathbb{R}^m\) is restricted to a one-dimensional function \(\Phi^{(1d)}:[0,1]\rightarrow\mathbb{R}^m\) by evaluating it along a diagonal line in the domain \([x_1,\overline{x_1}]\times\ldots[x_n,\overline{x_n}]\):

### Interpolation¶

For any component \(i\in\{1,\ldots,m\}\) of \(\Phi^{(1d)}\), the direct image of \(T\) a finite subset of \([0,1]\) with cardinality \(|T|\), is:

mapping from \([0,1]\) to \([m_i, M_i]\) and where \(m_i\) and \(M_i\) are respectively the minimal and maximal values reached by \(\Phi^{(1d)}\) over \(T\).

The scaled version of \(\Phi_i^{(1d)}(T)\) is

mapping from \([0,1]\) to \([0,1]\).

Then, each component \(i\) of \(\Phi^{(1d)}(t)\) is approximated by a polynomial interpolation \(\Phi_i^{(int)}\) over the date \(\left(T,\Phi^{(s1d)}(T)\right)\).

### Input-output dependency¶

Dependencies between inputs and outputs can be represented by a sparse dependency matrix \(S\) where:

each block row represents a function of the problem (constraint or coupling),

each block column represents an input (design variable or coupling),

a nonzero element represents the dependency of a particular component of a function with respect to a particular component of an input.

In practice, the dependencies between inputs and outputs are not precisely known. Consequently, the matrix \(S\) is randomly computed by block by means of a density factor (the filling of a block is proportional to this density factor).

Furthermore, initially taken in \(\mathcal{M}_{n,m}(\mathbb{R})\),this matrix \(S\) can be taken in \(\mathcal{M}_{n_x,n_y}(\mathbb{R})\) where the number of inputs \(n_x\) and the number of outputs \(n_y\) of the scalable model is freely chosen by the user.

### Extrapolation¶

Once \(n_x\) and \(n_y\) are chosen, we build the function \(\Phi^{(ext)}:[0,1]^{n_x}\rightarrow[0,1]^{n_y}\) extrapolates \(\Phi^{(int)}:[0,1]\rightarrow[0,1]^{m}\) to \(n_y\) dimensions:

where:

\(S_{i.}\) represents the nonzero elements of the \(i\)-th row of the dependency matrix \(S\).

\(k_i\) is an uniform random variable over \(\left\{1,\ldots,m\right\}\).

## Properties¶

**Existence of a solution to the coupling problem**. An equilibrium between all disciplines exists for any value of the design variables \(x\),**Preservation of ratio**. When \(n_y\) approaches \(+\infty\), the ratio of components of the original functions is preserved.**Existence of a minimum**. There exists a feasible solution to the scalable problem, for any dimension of inputs and outputs.**Existence of derivatives**. The scalable extrapolations are continuously differentiable with respect to their inputs.**Existence of bounds on the target coupling variables**. All inputs and outputs belong to \([0; 1]\), which ensures that all optimization variables are bounded, in particular coupling variables in IDF.