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]

Bases: gemseo.core.discipline.MDODiscipline

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]

Bases: gemseo.core.discipline.MDODiscipline

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