Multiple Objective Optimization Test Evaluators

Multi-objective optimization test problems. Each evaluator has two or more objectives that must be simultaneously optimized, typically producing a Pareto front.

class C2_DTLZ2

Bases: TestEvaluator

Compute the objective values for the DTLZ2 multi-objective optimization problem.

The DTLZ2 problem is defined for M objectives and n decision variables, where n >= M and k = n - M + 1. The decision vector x is composed of n variables, each in the range [0, 1].

Problem formulation:

Minimize f_m(x) for m = 1, …, M, where

f_1(x) = (1 + g(x_M)) * prod_{i=1}^{M-1} cos(x_i * pi/2) f_2(x) = (1 + g(x_M)) * (prod_{i=1}^{M-2} cos(x_i * pi/2)) * sin(x_{M-1} * pi/2) … f_{M-1}(x) = (1 + g(x_M)) * cos(x_1 * pi/2) * sin(x_2 * pi/2) f_M(x) = (1 + g(x_M)) * sin(x_1 * pi/2)

where

g(x_M) = sum_{x_i in x_M} (x_i - 0.5)^2, x_M = (x_M, x_{M+1}, …, x_n).

Parameters:
  • x (array-like of shape (n,)) – Decision variable vector, with each element in [0, 1].

  • M (int) – Number of objectives.

Returns:

f – Objective values [f_1, f_2, …, f_M].

Return type:

list of float

Notes

  • The Pareto-optimal front corresponds to g(x_M) = 0, i.e., x_i = 0.5 for all i >= M.

  • On the Pareto front, the objective vectors lie on the unit hypersphere: sum_{m=1}^M f_m^2 = 1.

  • The parameter k = n - M + 1 controls the number of distance variables and typically k >= 10.

  • The function g(x_M) introduces multimodality and convergence difficulty.

References

Deb, K., Thiele, L., Laumanns, M., & Zitzler, E. (2002). Scalable test problems for evolutionary multiobjective optimization. Evolutionary multiobjective optimization, 105-145.


Problem Description

General DTLZ2 Problem Formulation

For M objectives and n decision variables, where k = n - M + 1, the problem is:

\[\begin{split}\begin{aligned} \text{Minimize } & f_1(\mathbf{x}) = (1 + g(\mathbf{x}_M)) \prod_{i=1}^{M-1} \cos\left(x_i \frac{\pi}{2}\right) \\ \text{Minimize } & f_2(\mathbf{x}) = (1 + g(\mathbf{x}_M)) \left(\prod_{i=1}^{M-2} \cos\left(x_i \frac{\pi}{2}\right)\right) \sin\left(x_{M-1} \frac{\pi}{2}\right) \\ & \vdots \\ \text{Minimize } & f_{M-1}(\mathbf{x}) = (1 + g(\mathbf{x}_M)) \cos\left(x_1 \frac{\pi}{2}\right) \sin\left(x_2 \frac{\pi}{2}\right) \\ \text{Minimize } & f_M(\mathbf{x}) = (1 + g(\mathbf{x}_M)) \sin\left(x_1 \frac{\pi}{2}\right) \end{aligned}\end{split}\]

where:

\[g(\mathbf{x}_M) = \sum_{x_i \in \mathbf{x}_M} (x_i - 0.5)^2\]
  • x = (x_1, x_2, …, x_n), with x_i in [0, 1] for all i

  • x_M = (x_M, x_{M+1}, …, x_n)

The Pareto-optimal front corresponds to g(x_M) = 0, i.e., x_i = 0.5 for all i in {M, …, n}, and the objective vectors lie on the unit hypersphere:

\[\sum_{m=1}^M f_m^2 = 1\]

Reference

Deb, K., Thiele, L., Laumanns, M., & Zitzler, E. (2002). Scalable test problems for evolutionary multiobjective optimization. Evolutionary multiobjective optimization, 105-145.

Problem Metadata

Test Goal:

Multiple Objective Optimization

Problem Type:

Continuous

Variables:

7

Continuous Variables:

7

Discrete Variables:

0

Constraints:

0

Equality Constraints:

0

Inequality Constraints:

0

Bounded Variables:

Yes


class DasKnee

Bases: TestEvaluator

This is a truss optimization problem. As a more realistic mid-sized problem the objectives can be combined in various ways to explore problems of different dimension. Any stress response which is not included as an objective should be included in a maximum stress constraint (g4-g6).

Problem Description:

A beam of length D has three bars suspended via pin joints (free-rotating).

The middle bar is placed at position x. It is vertical and of length L.

The left and right bars are placed at the beginning and end of the beam, and adjusted in length and angle to join the middle bar at point P. The angles are t0 and t1 for the left and right bars, respectively.

A horizontal wind load W0 and a suspended load W1 are applied at point P.

The placement of the middle bar, x, and the cross sectional areas (a0, a1, and a2) are the design variables.

The objectives include total displacement, total volume, and maximum stress in each of the bars.

The constraints are geometric consistency and maximum allowable stress.

Objectives:
  • f0: Squared Total Displacement

  • f1: Total Volume of Beams

  • f2, f3, f4: Absolute Stress of Left, Middle, and Right Bars (respectively)

Design Variables
  • x: Placement of middle bar along beam

  • a0, a1, a2: Cross-sectional areas of left, middle, and right bars (resp.)

Constraints:
  • g0, g1, g2, g3: Geometric Consistency Constraints*

  • g4, g5, g6: Maximum Stress Constraints

State Variables:
  • t0, t1: Angles of left and right bars

  • u0, u1: Total Displacement (horizontal, vertical)

  • d0, d1, d2: Elongation of left, middle, and right bars

  • K: Structure stiffness matrix

  • A: Matrix relating bar forces to load forces

Givens:
  • Modulus of Elasticity (steel) = EM = 29,000,000.0 lbf / in^2

  • Length of middle bar, fixed = L = 720 in

  • Length of beam = D = 1440 in

  • Wind load (horizontal) = W0 = 100,000 lbf

  • Suspended load (vertical) = W1 = 1,000,000 lbf

  • Maximum stress allowable for bars = Smax = 550,000 lbf / in^2

Note

g1 = -g0, and g3 = -g2, because these are originally equality constraints that have been transformed to inequality constraints.

  • Number of Objectives: 2-5 Medium

  • Number of Design Variables: 4 Low-Medium

  • Number of Constraints: 4-7 Low-Medium

minimize
  • \(f_0(X) = u_0^2 + u_1^2\)

  • \(f_1(X) = a_0\frac{L}{\sin(t_0)} + a_1L + a_2\frac{L}{\sin(t_1)}\)

  • \(f_2(X) = \frac{EM}{L} * |d_0| * \sin(t_0)\)

  • \(f_3(X) = \frac{EM}{L} * |d_1|\)

  • \(f_4(X) = \frac{EM}{L} * |d_2| * \sin(t_1)\)

over

  • X = [x, a0, a1, a2]

such that
  • \(g_0(X) = x - L\cot(t_0) \leq 0\)

  • \(g_1(X) = L\cot(t_0) - x \leq 0\)

  • \(g_2(X) = (D-x) - L\cot(t_1) \leq 0\)

  • \(g_3(X) = L\cot(t_1) - (D-x) \leq 0\)

  • \(g_4(X) = |f_2| - S_\text{max} \leq 0\) // g4 - g6 included only

  • \(g_5(X) = |f_3| - S_\text{max} \leq 0\) // if these responses are

  • \(g_6(X) = |f_4| - S_\text{max} \leq 0\) // not objectives

where

  • 0.25*D <= x <= 0.75*D (in)

  • 0.8 <= a0, a1, a2 <= 3.0 (in)

Starting Point
  • x = 0.50*D (Center of space)

  • a0, a1, a2 = 1.9


Problem Description

This is a truss optimization problem. As a more realistic mid-sized problem the objectives can be combined in various ways to explore problems of different dimension. Any stress response which is not included as an objective should be included in a maximum stress constraint (g4-g6).

Problem Description:

A beam of length D has three bars suspended via pin joints (free-rotating).

The middle bar is placed at position x. It is vertical and of length L.

The left and right bars are placed at the beginning and end of the beam, and adjusted in length and angle to join the middle bar at point P. The angles are t0 and t1 for the left and right bars, respectively.

A horizontal wind load W0 and a suspended load W1 are applied at point P.

The placement of the middle bar, x, and the cross sectional areas (a0, a1, and a2) are the design variables.

The objectives include total displacement, total volume, and maximum stress in each of the bars.

The constraints are geometric consistency and maximum allowable stress.

Objectives:
  • f0: Squared Total Displacement

  • f1: Total Volume of Beams

  • f2, f3, f4: Absolute Stress of Left, Middle, and Right Bars (respectively)

Design Variables
  • x: Placement of middle bar along beam

  • a0, a1, a2: Cross-sectional areas of left, middle, and right bars (resp.)

Constraints:
  • g0, g1, g2, g3: Geometric Consistency Constraints*

  • g4, g5, g6: Maximum Stress Constraints

State Variables:
  • t0, t1: Angles of left and right bars

  • u0, u1: Total Displacement (horizontal, vertical)

  • d0, d1, d2: Elongation of left, middle, and right bars

  • K: Structure stiffness matrix

  • A: Matrix relating bar forces to load forces

Givens:
  • Modulus of Elasticity (steel) = EM = 29,000,000.0 lbf / in^2

  • Length of middle bar, fixed = L = 720 in

  • Length of beam = D = 1440 in

  • Wind load (horizontal) = W0 = 100,000 lbf

  • Suspended load (vertical) = W1 = 1,000,000 lbf

  • Maximum stress allowable for bars = Smax = 550,000 lbf / in^2

Note

g1 = -g0, and g3 = -g2, because these are originally equality constraints that have been transformed to inequality constraints.

  • Number of Objectives: 2-5 Medium

  • Number of Design Variables: 4 Low-Medium

  • Number of Constraints: 4-7 Low-Medium

minimize
  • \(f_0(X) = u_0^2 + u_1^2\)

  • \(f_1(X) = a_0\frac{L}{\sin(t_0)} + a_1L + a_2\frac{L}{\sin(t_1)}\)

  • \(f_2(X) = \frac{EM}{L} * |d_0| * \sin(t_0)\)

  • \(f_3(X) = \frac{EM}{L} * |d_1|\)

  • \(f_4(X) = \frac{EM}{L} * |d_2| * \sin(t_1)\)

over

  • X = [x, a0, a1, a2]

such that
  • \(g_0(X) = x - L\cot(t_0) \leq 0\)

  • \(g_1(X) = L\cot(t_0) - x \leq 0\)

  • \(g_2(X) = (D-x) - L\cot(t_1) \leq 0\)

  • \(g_3(X) = L\cot(t_1) - (D-x) \leq 0\)

  • \(g_4(X) = |f_2| - S_\text{max} \leq 0\) // g4 - g6 included only

  • \(g_5(X) = |f_3| - S_\text{max} \leq 0\) // if these responses are

  • \(g_6(X) = |f_4| - S_\text{max} \leq 0\) // not objectives

where

  • 0.25*D <= x <= 0.75*D (in)

  • 0.8 <= a0, a1, a2 <= 3.0 (in)

Starting Point
  • x = 0.50*D (Center of space)

  • a0, a1, a2 = 1.9

Reference

Das (1997) Nonlinear multicriteria optimization and robust optimality. Ph.D. Thesis, Dept. of Computational and Applied Mathematics, Rice University, Houston, TX.

Problem Metadata

Test Goal:

Multiple Objective Optimization

Problem Type:

Continuous

Variables:

5

Continuous Variables:

5

Discrete Variables:

0

Constraints:

5

Equality Constraints:

0

Inequality Constraints:

5

Bounded Variables:

Yes


class DasTruss

Bases: TestEvaluator

This is a truss optimization problem. As a more realistic mid-sized problem, the objectives can be combined in various ways to explore problems of different dimension. Any stress response which is not included as an objective should be included in a maximum stress constraint (g4-g6).

For example, cases considered in the reference are:

  1. Minimize displacement (f0) and volume (f1)

  2. Minimize stress in right bar (f4) and volume (f1)

  3. Minimize stress in left bar (f2) and volume (f1)

  4. Minimize stress in left (f2) and right bar (f4) and volume (f1)

You will need to set up your own OptProblem and constraints for these smaller cases.

Problem Description:

A beam of length D has three bars suspended via pin joints (free-rotating).

The middle bar is placed at position x. It is vertical and of length L.

The left and right bars are placed at the beginning and end of the beam, and adjusted in length and angle to join the middle bar at point P. The angles are t0 and t1 for the left and right bars, respectively.

A horizontal wind load W0 and a suspended load W1 are applied at point P.

The placement of the middle bar, x, and the cross sectional areas (a0, a1, and a2) are the design variables.

The objectives include total displacement, total volume, and maximum stress in each of the bars.

The constraints are geometric consistency and maximum allowable stress.

Objectives:
  • f0: Squared Total Displacement

  • f1: Total Volume of Beams

  • f2, f3, f4: Absolute Stress of Left, Middle, and Right Bars (respectively)

Design Variables
  • x: Placement of middle bar along beam

  • a0, a1, a2: Cross-sectional areas of left, middle, and right bars (resp.)

Constraints:
  • g0, g1, g2, g3: Geometric Consistency Constraints*

  • g4, g5, g6: Maximum Stress Constraints

State Variables:
  • t0, t1: Angles of left and right bars

  • u0, u1: Total Displacement (horizontal, vertical)

  • d0, d1, d2: Elongation of left, middle, and right bars

  • K: Structure stiffness matrix

  • A: Matrix relating bar forces to load forces

Givens:
  • Modulus of Elasticity (steel) = EM = 29,000,000.0 lbf / in^2

  • Length of middle bar, fixed = L = 720 in

  • Length of beam = D = 1440 in

  • Wind load (horizontal) = W0 = 100,000 lbf

  • Suspended load (vertical) = W1 = 1,000,000 lbf

  • Maximum stress allowable for bars = Smax = 550,000 lbf / in^2

Note

g1 = -g0, and g3 = -g2, because these are originally equality constraints that have been transformed to inequality constraints.

  • Number of Objectives: 2-5 Medium

  • Number of Design Variables: 4 Low-Medium

  • Number of Constraints: 4-7 Low-Medium

minimize
  • \(f_0(X) = u_0^2 + u_1^2\)

  • \(f_1(X) = a_0\frac{L}{\sin(t_0)} + a_1L + a_2\frac{L}{\sin(t_1)}\)

  • \(f_2(X) = \frac{EM}{L} * |d_0| * sin(t_0)\)

  • \(f_3(X) = \frac{EM}{L} * |d_1|\)

  • \(f_4(X) = \frac{EM}{L} * |d_2| * sin(t_1)\)

over

  • X = [x, a0, a1, a2]

such that
  • \(g_0(X) = x - L\cot(t_0) \leq 0\)

  • \(g_1(X) = L\cot(t_0) - x \leq 0\)

  • \(g_2(X) = (D-x) - L\cot(t_1) \leq 0\)

  • \(g_3(X) = L\cot(t_1) - (D-x) \leq 0\)

  • \(g_4(X) = |f_2| - S_\text{max} \leq 0\) // g4 - g6 included only

  • \(g_5(X) = |f_3| - S_\text{max} \leq 0\) // if these responses are

  • \(g_6(X) = |f_4| - S_\text{max} \leq 0\) // not objectives

where
  • 0.25*D <= x <= 0.75*D (in)

  • 0.8 <= a0, a1, a2 <= 3.0 (in)

Starting Point
  • x = 0.50*D (Center of space)

  • a0, a1, a2 = 1.9


Problem Description

This is a truss optimization problem. As a more realistic mid-sized problem, the objectives can be combined in various ways to explore problems of different dimension. Any stress response which is not included as an objective should be included in a maximum stress constraint (g4-g6).

For example, cases considered in the reference are:

  1. Minimize displacement (f0) and volume (f1)

  2. Minimize stress in right bar (f4) and volume (f1)

  3. Minimize stress in left bar (f2) and volume (f1)

  4. Minimize stress in left (f2) and right bar (f4) and volume (f1)

You will need to set up your own OptProblem and constraints for these smaller cases.

Problem Description:

A beam of length D has three bars suspended via pin joints (free-rotating).

The middle bar is placed at position x. It is vertical and of length L.

The left and right bars are placed at the beginning and end of the beam, and adjusted in length and angle to join the middle bar at point P. The angles are t0 and t1 for the left and right bars, respectively.

A horizontal wind load W0 and a suspended load W1 are applied at point P.

The placement of the middle bar, x, and the cross sectional areas (a0, a1, and a2) are the design variables.

The objectives include total displacement, total volume, and maximum stress in each of the bars.

The constraints are geometric consistency and maximum allowable stress.

Objectives:
  • f0: Squared Total Displacement

  • f1: Total Volume of Beams

  • f2, f3, f4: Absolute Stress of Left, Middle, and Right Bars (respectively)

Design Variables
  • x: Placement of middle bar along beam

  • a0, a1, a2: Cross-sectional areas of left, middle, and right bars (resp.)

Constraints:
  • g0, g1, g2, g3: Geometric Consistency Constraints*

  • g4, g5, g6: Maximum Stress Constraints

State Variables:
  • t0, t1: Angles of left and right bars

  • u0, u1: Total Displacement (horizontal, vertical)

  • d0, d1, d2: Elongation of left, middle, and right bars

  • K: Structure stiffness matrix

  • A: Matrix relating bar forces to load forces

Givens:
  • Modulus of Elasticity (steel) = EM = 29,000,000.0 lbf / in^2

  • Length of middle bar, fixed = L = 720 in

  • Length of beam = D = 1440 in

  • Wind load (horizontal) = W0 = 100,000 lbf

  • Suspended load (vertical) = W1 = 1,000,000 lbf

  • Maximum stress allowable for bars = Smax = 550,000 lbf / in^2

Note

g1 = -g0, and g3 = -g2, because these are originally equality constraints that have been transformed to inequality constraints.

  • Number of Objectives: 2-5 Medium

  • Number of Design Variables: 4 Low-Medium

  • Number of Constraints: 4-7 Low-Medium

minimize
  • \(f_0(X) = u_0^2 + u_1^2\)

  • \(f_1(X) = a_0\frac{L}{\sin(t_0)} + a_1L + a_2\frac{L}{\sin(t_1)}\)

  • \(f_2(X) = \frac{EM}{L} * |d_0| * sin(t_0)\)

  • \(f_3(X) = \frac{EM}{L} * |d_1|\)

  • \(f_4(X) = \frac{EM}{L} * |d_2| * sin(t_1)\)

over

  • X = [x, a0, a1, a2]

such that
  • \(g_0(X) = x - L\cot(t_0) \leq 0\)

  • \(g_1(X) = L\cot(t_0) - x \leq 0\)

  • \(g_2(X) = (D-x) - L\cot(t_1) \leq 0\)

  • \(g_3(X) = L\cot(t_1) - (D-x) \leq 0\)

  • \(g_4(X) = |f_2| - S_\text{max} \leq 0\) // g4 - g6 included only

  • \(g_5(X) = |f_3| - S_\text{max} \leq 0\) // if these responses are

  • \(g_6(X) = |f_4| - S_\text{max} \leq 0\) // not objectives

where
  • 0.25*D <= x <= 0.75*D (in)

  • 0.8 <= a0, a1, a2 <= 3.0 (in)

Starting Point
  • x = 0.50*D (Center of space)

  • a0, a1, a2 = 1.9

Reference

Das (1997) Nonlinear multicriteria optimization and robust optimality. Ph.D. Thesis, Dept. of Computational and Applied Mathematics, Rice University, Houston, TX.

Problem Metadata

Test Goal:

Multiple Objective Optimization

Problem Type:

Continuous

Variables:

5

Continuous Variables:

5

Discrete Variables:

0

Constraints:

4

Equality Constraints:

0

Inequality Constraints:

4

Bounded Variables:

Yes


class Disconnect

Bases: TestEvaluator

The SphereEvaluator class is a multiobjective test problem. It models a hyperellipsoid in n-dimensional space, centered at an arbitrary point and extending to the coordinate planes on each axis, although an optional offset may be used as well. The default bounds on the object are the interior and surface of the hyperellipsoid, hence a multiobjective problem would expect to find the minimum-facing surface of the object.

The default problem seeks to minimize each coordinate. This can be easily checked by asserting that a point x is <= center and that the constraint value is equal to 1 (within toleance).

For example, a center of [2, 5, 1] with an offset of [1, 2, 3] would have minima at [1, 7, 4], [3, 2, 4], and [3, 7, 1].


Problem Description

The SphereEvaluator class is a multiobjective test problem. It models a hyperellipsoid in n-dimensional space, centered at an arbitrary point and extending to the coordinate planes on each axis, although an optional offset may be used as well. The default bounds on the object are the interior and surface of the hyperellipsoid, hence a multiobjective problem would expect to find the minimum-facing surface of the object.

The default problem seeks to minimize each coordinate. This can be easily checked by asserting that a point x is <= center and that the constraint value is equal to 1 (within toleance).

For example, a center of [2, 5, 1] with an offset of [1, 2, 3] would have minima at [1, 7, 4], [3, 2, 4], and [3, 7, 1].

Reference

David A. Van Veldhuizen, Multiobjective Evolutionary Algorithms: Classifications, Analyses and New Innovations, Dissertation, AFIT/DS/ENG/99-01. Appendix B (Problem Tanaka)

Problem Metadata

Test Goal:

Multiple Objective Optimization

Problem Type:

Continuous

Variables:

2

Continuous Variables:

2

Discrete Variables:

0

Constraints:

2

Equality Constraints:

0

Inequality Constraints:

2

Bounded Variables:

Yes