Skip to content

Commit b9a47b9

Browse files
committed
docs(le1): document source formulation and Jacobian domain
1 parent 3685ca7 commit b9a47b9

5 files changed

Lines changed: 78 additions & 3 deletions

File tree

‎docs/make.jl‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ makedocs(
4343
"IM" => "problems/im.md",
4444
"JOS" => "problems/jos.md",
4545
"KW" => "problems/kw.md",
46+
"LE" => "problems/le.md",
4647
],
4748
"API Reference" => "api.md",
4849
"References" => "references.md",

‎docs/src/problems/index.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,5 @@ when available, and registered analytical derivatives when implemented.
4848
- [Kim–de Weck (KW)](@ref): one fixed-dimension problem from the second
4949
numerical example of I. Y. Kim and O. L. de Weck [KW2005](@cite), expressed
5050
in the package's minimization convention.
51+
- [Lis–Eiben (LE)](@ref): one fixed-dimension problem from Test 1 of J. Lis and
52+
A. E. Eiben [LE1997](@cite).

‎docs/src/problems/le.md‎

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Lis–Eiben (LE)
2+
3+
This family is represented by the `LE1` constructor. It implements Test 1 from
4+
J. Lis and A. E. Eiben's “A multi-sexual genetic algorithm for multiobjective
5+
optimization” [LE1997](@cite).
6+
7+
## Overview
8+
9+
`LE1` has `nvar = 2` and `nobj = 2`. The componentwise bounds are shown below.
10+
11+
| Problem | `nvar` | `nobj` | Lower bound | Upper bound |
12+
|:---|---:|---:|---:|---:|
13+
| `LE1` | 2 | 2 | -5.0 | 10.0 |
14+
15+
An analytical Jacobian is registered. **Hessians are not registered**. The
16+
catalog metadata classifies both objectives as not strictly convex
17+
(`:not_strictly_convex`).
18+
19+
!!! warning "Jacobian domain"
20+
Both objective values are defined throughout ``[-5,10]^2``. The first
21+
objective is not differentiable at ``(0,0)``, and the second is not
22+
differentiable at ``(0.5,0.5)``. Consequently, Jacobian row 1 throws a
23+
`DomainError` at ``(0,0)``, whereas row 2 throws a `DomainError` at
24+
``(0.5,0.5)``. The other row remains available at each point through
25+
`eval_jacobian_row`.
26+
27+
A full `eval_jacobian(prob, x)` call throws at either singular point. No
28+
positive tolerance is imposed: all other points are evaluated by the
29+
analytical formulas, subject to the range and precision of the input
30+
floating-point type.
31+
32+
## Mathematical formulation
33+
34+
The formulas below describe the objective functions implemented by the
35+
constructor. Let ``F:[-5,10]^2\to\mathbb{R}^2`` be defined by
36+
``F(x)=(f_1(x),f_2(x))``. The objectives are
37+
38+
```math
39+
\begin{aligned}
40+
f_1(x) &= \left(x_1^2+x_2^2\right)^{1/8},\\
41+
f_2(x) &= \left((x_1-\tfrac{1}{2})^2
42+
+(x_2-\tfrac{1}{2})^2\right)^{1/4}.
43+
\end{aligned}
44+
```
45+
46+
## Usage
47+
48+
```julia
49+
using MOProblems
50+
51+
prob = LE1()
52+
x = [0.25, 0.25]
53+
54+
values = eval_f(prob, x)
55+
J = eval_jacobian(prob, x)
56+
```
57+
58+
## Constructor reference
59+
60+
```@docs
61+
MOProblems.LE1
62+
```

‎docs/src/refs.bib‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,16 @@ @article{KW2005
186186
url = {https://doi.org/10.1007/s00158-004-0465-1}
187187
}
188188

189+
@inproceedings{LE1997,
190+
author = {Lis, J. and Eiben, A. E.},
191+
booktitle = {Proceedings of 1997 IEEE International Conference on Evolutionary Computation (ICEC '97)},
192+
title = {A multi-sexual genetic algorithm for multiobjective optimization},
193+
year = {1997},
194+
pages = {59--64},
195+
keywords = {Genetic algorithms;Optimization methods;Biomedical engineering;Computer science;Decision making;Sorting;Constraint optimization;Design optimization;Decision feedback equalizers},
196+
doi = {10.1109/ICEC.1997.592269}
197+
}
198+
189199
@article{ZDT2000,
190200
author = {Zitzler, Eckart and Deb, Kalyanmoy and Thiele, Lothar},
191201
journal = {Evolutionary Computation},

‎src/Meta/LE1.jl‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
LE1_meta = ProblemMeta(
22
dimension = FixedDimension(2, 2),
3-
name = "LE1", # Official problem name
4-
has_bounds = true, # Box constraints present
5-
has_jacobian = true, # Analytical Jacobian available
3+
name = "LE1",
4+
has_bounds = true,
5+
has_jacobian = true,
66
strict_convexity = [:not_strictly_convex, :not_strictly_convex],
77
)

0 commit comments

Comments
 (0)