Moré–Garbow–Hillstrom (MGH)

The MGH names retain the numbering of four problems in the nonlinear least-squares collection of Moré, Garbow, and Hillstrom [21]. In that source, the numbered functions are residuals, and the corresponding scalar unconstrained objective is their sum of squares. Mita, Fukuda, and Yamashita [22] report multiobjective formulations based on these problems in Appendix A of their numerical study. Let r_i denote a residual from the original collection. The formulations in [22] use f_i = r_i for MGH9 and MGH16, and f_i = r_i^2 for MGH26 and MGH33. The original problems are unconstrained [21], while the bounds adopted by the constructors are based on those reported in [22]. The objectives in MOProblems.jl follow these formulations, while the package makes documented changes to some dimensions. Thus, the MGH prefix records the historical origin and does not mean that every constructor literally reproduces either source.

Overview

The four constructors differ in whether the numbers of variables and objectives are fixed, coupled, or independently configurable.

MGH9 has fixed dimensions: the package exposes no dimension parameter and constructs a problem with nvar = 3 and nobj = 15. These dimensions agree with both [21] and [22].

MGH16 fixes nvar = 4 and accepts nobj >= 4; its default is nobj = 5. The original problem fixes four variables and allows at least four objectives [21], while [22] uses the same package defaults.

MGH26 accepts nvar >= 1 and couples the dimensions as nobj = nvar; its default is nvar = 4. The original problem [21] permits a variable number of variables and couples the number of objectives to it, while [22] uses nvar = nobj = 4.

MGH33 accepts nvar >= 2 and nobj >= 2 independently; its defaults are nvar = nobj = 10. The original problem [21] permits a variable number of variables but requires at least as many objectives, while [22] uses nvar = 10 and nobj = 4. Thus, the package supports the dimensions independently.

The following table summarizes the dimension behavior implemented by the constructors.

ProblemDimension behaviorConfigurable parametersDefault nvarDefault nobj
MGH9Fixed315
MGH16Fixed nvar, variable nobjnobj >= 445
MGH26Couplednvar >= 1, with nobj = nvar44
MGH33Independentnvar >= 2, nobj >= 21010

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

The formulas below reproduce the objectives implemented by the constructors.

MGH9 — Gaussian

Let $F:\mathbb{R}^3\to\mathbb{R}^{15}$ be defined by $F(x)=(f_1(x),\ldots,f_{15}(x))$ for $x\in[-2,2]^3$. The objectives are

\[f_i(x)=x_1\exp\left(-\frac{x_2(t_i-x_3)^2}{2}\right)-y_i, \qquad i=1,\ldots,15,\]

where $t_i=(8-i)/2$ and

\[\begin{aligned} y_1=y_{15}&=0.0009, & y_2=y_{14}&=0.0044,\\ y_3=y_{13}&=0.0175, & y_4=y_{12}&=0.0540,\\ y_5=y_{11}&=0.1295, & y_6=y_{10}&=0.2420,\\ y_7=y_9&=0.3521, & y_8&=0.3989. \end{aligned}\]

MGH16 — Brown–Dennis

For $m\geq4$, let $F:\mathbb{R}^4\to\mathbb{R}^m$ be defined by $F(x)=(f_1(x),\ldots,f_m(x))$. The objectives are

\[f_i(x)=\left(x_1+t_ix_2-\exp(t_i)\right)^2 +\left(x_3+x_4\sin(t_i)-\cos(t_i)\right)^2, \qquad i=1,\ldots,m,\]

where $t_i=i/5$ and $x\in[-25,25]\times[-5,5]\times[-5,5]\times[-1,1]$.

MGH26 — Trigonometric

For $n\geq1$, let $F:\mathbb{R}^n\to\mathbb{R}^n$ be defined by $F(x)=(f_1(x),\ldots,f_n(x))$ for $x\in[-1,1]^n$. The objectives are

\[f_i(x)=\left( n-\sum_{j=1}^{n}\cos(x_j) +i\left(1-\cos(x_i)\right)-\sin(x_i) \right)^2, \qquad i=1,\ldots,n.\]

MGH33 — Linear function, rank 1

For independent $n\geq2$ and $m\geq2$, let $F:\mathbb{R}^n\to\mathbb{R}^m$ be defined by $F(x)=(f_1(x),\ldots,f_m(x))$ for $x\in[-1,1]^n$. The objectives are

\[f_i(x)=\left(i\sum_{j=1}^{n}jx_j-1\right)^2, \qquad i=1,\ldots,m.\]

Usage

The following example uses the linear rank-1 dimensions reported in [22].

julia> using MOProblems

julia> using Random

julia> prob = MGH33(nvar = 10, nobj = 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, 10))

Constructor reference

MOProblems.MGH9Function
MGH9()

Return the fixed Gaussian instance with 3 variables and 15 objectives. Variables are bounded by [-2, 2]. An analytical Jacobian is registered; Hessians are not.

source
MOProblems.MGH16Function
MGH16(; nobj::Int = 5)

Return the Brown–Dennis instance with 4 variables and nobj >= 4 objectives. The default is nobj = 5. The variable bounds are [-25, 25], [-5, 5], [-5, 5], and [-1, 1]. An analytical Jacobian is registered; Hessians are not.

source
MOProblems.MGH26Function
MGH26(; nvar::Int = 4)

Return the trigonometric instance with nvar >= 1 variables and nobj = nvar objectives. The default is nvar = 4, and all variables are bounded by [-1, 1]. An analytical Jacobian is registered; Hessians are not.

source
MOProblems.MGH33Function
MGH33(; nvar::Int = 10, nobj::Int = 10)

Return the linear rank-1 instance with independent dimensions nvar >= 2 and nobj >= 2. Both default to 10, and all variables are bounded by [-1, 1]. An analytical Jacobian is registered; Hessians are not.

source