gemseo / problems / scalable / scalable_tm

# disciplines module¶

## Scalable disciplines from Tedford and Martins (2010)¶

class gemseo.problems.scalable.scalable_tm.disciplines.TMDiscipline(index, c_shared, c_local, c_coupling, default_inputs)[source]

An elementary discipline from the scalable problem introduced by Tedford and Martins (2010) takes local design parameters $$x_i$$ and shared design parameters $$z$$ in input as well as coupling variables $$\left(y_i\right)_{1\leq j \leq N\atop j\neq i}$$ from $$N-1$$ elementary disciplines, and returns the coupling variables:

$y_i =\frac{\tilde{y}_i+C_{z,i}.1+C_{x_i}.1}{\sum_{j=1 \atop j \neq i}^NC_{y_j,i}.1+C_{z,i}.1+C_{x_i}.1} \in [0,1]^{n_{y_i}}$

where:

$\tilde{y}_i = - C_{z,i}.z - C_{x_i}.x_i + \sum_{j=1 \atop j \neq i}^N C_{y_j,i}.y_j$

Constructor

Parameters
• index (int) – discipline index for naming.

• c_shared (array) – weights for the shared design parameters.

• c_local (array) – weights for the local design parameters.

• c_coupling (dict(array)) – weights for the coupling parameters.

• default_inputs (dict) – default inputs

class gemseo.problems.scalable.scalable_tm.disciplines.TMSystem(c_constraint, default_inputs)[source]

The system discipline from the scalable problem introduced by Tedford and Martins (2010) takes the local design parameters $$x_1,x_2,\ldots,x_N$$ and the global design parameters $$z$$ as inputs, as well as the coupling variables $$y_1,y_2,\ldots,y_N$$ and returns the objective function value $$f(x,y(x,y))$$ to minimize as well as the inequality constraints ones $$c_1(y_1),c_2(y_2),\ldots,c_N(y_N)$$ which are expressed as:

$f(z,y) = |z|_2^2 + \sum_{i=1}^N |y_i|_2^2$

and:

$c_i(y_i) = 1- C_i^{-T}Iy_i$

Constructor

Parameters
• c_constraint (list(array)) – constraint coefficients

• default_inputs (dict) – default inputs