Toint (Toi)

The Toi names retain the numbering of four problems in the partially separable test collection of Ph. L. Toint [34]. In that source each numbered problem is a single-objective, unconstrained problem whose objective is the sum of element functions, listed individually in the problem description. Mita, Fukuda, and Yamashita [22] report multiobjective formulations based on four of these problems in Appendix A of their numerical study, taking the element functions of a problem as the objectives of a vector-valued problem and adding box constraints, since the originals are unconstrained. The constructors in MOProblems.jl follow those formulations, and restore the variable dimension of the original collection for Toi8, Toi9, and Toi10.

The two sources name the problems differently; the package keeps Toint's numbering.

Constructor[34][22]
Toi4Problem 4Toint (TOI4)
Toi8Problem 8, TRIDIATRIDIA
Toi9Problem 9, Shifted TRIDIAShifted TRIDIA
Toi10Problem 10, RosenbrockRosenbrock

Overview

Toi4 has fixed dimensions: it has two element functions in [34] and therefore two objectives, matching the instance of [22].

Toi8, Toi9, and Toi10 are stated for a variable dimension in [34], and the constructors accept nvar >= 2 and couple the dimensions accordingly: nobj = nvar for Toi8 and Toi9, and nobj = nvar - 1 for Toi10. Their defaults reproduce the instances of [22], namely nvar = 3 for Toi8 and nvar = 4 for the other two.

ProblemDimension behaviorConfigurable parametersDefault nvarDefault nobjLower boundUpper bound
Toi4Fixed42-25
Toi8Couplednvar >= 2, with nobj = nvar33-11
Toi9Couplednvar >= 2, with nobj = nvar44-11
Toi10Couplednvar >= 2, with nobj = nvar - 143-22

Analytical Jacobians are registered for all four constructors. Hessians are not registered. The catalog metadata classifies every objective in each default instance as not strictly convex (:not_strictly_convex).

Mathematical formulations

Toi4

Let $F:\mathbb{R}^4\to\mathbb{R}^2$ be defined by $F(x)=(f_1(x),f_2(x))$. The objectives are

\[\begin{aligned} f_1(x) &= x_1^2+x_2^2+1,\\ f_2(x) &= 0.5\left[(x_1-x_2)^2+(x_3-x_4)^2\right]+1. \end{aligned}\]

Toi8 — TRIDIA

For $n\geq2$, let $F:\mathbb{R}^n\to\mathbb{R}^n$ be defined by $F(x)=(f_1(x),\ldots,f_n(x))$. The objectives are

\[\begin{aligned} f_1(x) &= (2x_1-1)^2,\\ f_i(x) &= i(2x_{i-1}-x_i)^2,\qquad i=2,\ldots,n. \end{aligned}\]

Toi9 — Shifted TRIDIA

For $n\geq2$, let $F:\mathbb{R}^n\to\mathbb{R}^n$ be defined by $F(x)=(f_1(x),\ldots,f_n(x))$. The objectives are

\[\begin{aligned} f_1(x) &= (2x_1-1)^2+x_2^2,\\ f_i(x) &= i(2x_{i-1}-x_i)^2-(i-1)x_{i-1}^2+ix_i^2,\qquad i=2,\ldots,n-1,\\ f_n(x) &= n(2x_{n-1}-x_n)^2-(n-1)x_{n-1}^2. \end{aligned}\]

The middle range is empty when $n=2$, in which case $F=(f_1,f_2)$ with $f_2$ given by the last expression.

Toi10 — Rosenbrock

For $n\geq2$, let $F:\mathbb{R}^n\to\mathbb{R}^{n-1}$ be defined by $F(x)=(f_1(x),\ldots,f_{n-1}(x))$. The objectives are

\[f_i(x)=100\left(x_{i+1}-x_i^2\right)^2+\left(x_{i+1}-1\right)^2, \qquad i=1,\ldots,n-1.\]

Usage

julia> using MOProblems

julia> using Random

julia> prob = Toi9(nvar = 4);

julia> lower, upper = recommended_bounds(prob);

julia> rng = MersenneTwister(1234);

julia> α = rand(rng, prob.nvar);

julia> x = lower .+ α .* (upper .- lower);

julia> values = eval_f(prob, x);

julia> J = eval_jacobian(prob, x);

julia> (length(values), size(J))
(4, (4, 4))

Constructor reference

MOProblems.Toi4Function
Toi4()

Construct the fixed four-variable, two-objective Toi4 problem.

The variables are bounded in [-2, 5]^4. An analytical Jacobian is registered; objective Hessians are not registered.

source
MOProblems.Toi8Function
Toi8(; nvar::Int = 3)

Construct the Toi8 problem with nobj = nvar.

Requires nvar >= 2. Each variable is bounded in [-1, 1]. An analytical Jacobian is registered; objective Hessians are not registered.

source
MOProblems.Toi9Function
Toi9(; nvar::Int = 4)

Construct the Toi9 problem with nobj = nvar.

Requires nvar >= 2. Each variable is bounded in [-1, 1]. An analytical Jacobian is registered; objective Hessians are not registered.

source
MOProblems.Toi10Function
Toi10(; nvar::Int = 4)

Construct the Toi10 problem with nobj = nvar - 1.

Requires nvar >= 2. Each variable is bounded in [-2, 2]. An analytical Jacobian is registered; objective Hessians are not registered.

source