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.
| Problem | nvar | nobj | Lower bounds | Upper bounds |
|---|---|---|---|---|
TKLY1 | 4 | 2 | $[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.TKLY1 — Function
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.