## TNK

Tanaka suggested the following two-variable problem:

**Definition**

\begin{equation}
\newcommand{\boldx}{\mathbf{x}}
\begin{array}
\mbox{Minimize} & f_1(\boldx) = x_1, \\
\mbox{Minimize} & f_2(\boldx) = x_2, \\
\mbox{subject to} & C_1(\boldx) \equiv x_1^2 + x_2^2 - 1 - 
0.1\cos \left(16\arctan \frac{x_1}{x_2}\right) \geq 0, \\
& C_2(\boldx) \equiv (x_1-0.5)^2 + (x_2-0.5)^2 \leq 0.5,\\
& 0 \leq x_1 \leq \pi, \\
& 0 \leq x_2 \leq \pi.
\end{array}
\end{equation}

**Optimum**

Since $f_1=x_1$ and $f_2=x_2$, the feasible objective space is also
the same as the feasible decision variable space. The unconstrained 
decision variable space consists of all solutions in the square
$0\leq (x_1,x_2)\leq \pi$. Thus, the only unconstrained Pareto-optimal 
solution is $x_1^{\ast}=x_2^{\ast}=0$. 
However, the inclusion of the first constraint makes this solution
infeasible. The constrained Pareto-optimal solutions lie on the boundary
of the first constraint. Since the constraint function is periodic and
the second constraint function must also be satisfied,
not all solutions on the boundary of the first constraint are Pareto-optimal. The 
Pareto-optimal set is disconnected.
Since the Pareto-optimal
solutions lie on a nonlinear constraint surface, an optimization
algorithm may have difficulty in finding a good spread of solutions across
all of the discontinuous Pareto-optimal sets.

**Plot**


```python
from pymoo.factory import get_problem
from pymoo.util.plotting import plot

problem = get_problem("tnk")
plot(problem.pareto_front(), no_fill=True)
```

362fb98503fd0d8ca82c8a0b776df4b1ba1c59b5
ipynb
Jupyter Notebook
source/problems/multi/tnk.ipynb
SunTzunami/pymoo-doc
f82d8908fe60792d49a7684c4bfba4a6c1339daf
Apache-2.0
2021-09-11T06:43:49.000Z
2021-11-10T13:36:09.000Z
source/problems/multi/tnk.ipynb
SunTzunami/pymoo-doc
f82d8908fe60792d49a7684c4bfba4a6c1339daf
Apache-2.0
2021-09-21T14:04:47.000Z
2022-03-07T13:46:09.000Z
source/problems/multi/tnk.ipynb
SunTzunami/pymoo-doc
f82d8908fe60792d49a7684c4bfba4a6c1339daf
Apache-2.0
2021-10-09T02:47:26.000Z
2022-02-10T07:02:37.000Z
Qwen/Qwen-72B
1. YES
2. YES