Tan–Khor–Lee–Yang (TKLY)

This family is represented by the TKLY1 constructor. It implements Test problem 2, Equations (12a)–(12e), from “A Tabu-Based Exploratory Evolutionary Algorithm for Multiobjective Optimization” [33]. The package currently provides no constructors for the paper's other test problems.

Overview

TKLY1 has nvar = 4 and nobj = 2. Its componentwise variable bounds are shown below.

ProblemnvarnobjLower boundsUpper bounds
TKLY142$[0.1, 0, 0, 0]$$[1, 1, 1, 1]$

An analytical Jacobian is registered. Hessians are not registered. The catalog metadata classifies both objectives as not strictly convex (:not_strictly_convex).

Mathematical formulation

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

\[\begin{aligned} f_1(x) &= x_1,\\ f_2(x) &= \frac{1}{x_1}\prod_{i=1}^{3} g(x_{i+1}), \end{aligned}\]

where $g:\mathbb{R}\to\mathbb{R}$ is given by

\[g(z) = 2 - \exp\left[-\left(\frac{z-0.1}{0.004}\right)^{2}\right] - 0.8\exp\left[-\left(\frac{z-0.9}{0.4}\right)^{2}\right].\]

Usage

julia> using MOProblems

julia> using Random

julia> prob = TKLY1();

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))
(2, (2, 4))

Constructor reference

MOProblems.TKLY1Function
TKLY1()

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

The first variable is bounded in [0.1, 1] and the remaining ones in [0, 1]. An analytical Jacobian is registered; objective Hessians are not registered.

source