## 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)
```


```python

```

90ad0e856f12c15ff3cd0707f61d03f5e3b33687
ipynb
Jupyter Notebook
doc/source/problems/multi/tnk.ipynb
AIasd/pymoo
08705ca866367d9fab675c30ffe585c837df9654
Apache-2.0
2018-05-22T17:38:02.000Z
2022-02-28T03:34:33.000Z
doc/source/problems/multi/tnk.ipynb
AIasd/pymoo
08705ca866367d9fab675c30ffe585c837df9654
Apache-2.0
2022-01-03T19:36:36.000Z
2022-03-30T03:57:58.000Z
doc/source/problems/multi/tnk.ipynb
AIasd/pymoo
08705ca866367d9fab675c30ffe585c837df9654
Apache-2.0
2021-11-22T08:01:47.000Z
2022-03-11T08:53:58.000Z
Qwen/Qwen-72B
1. YES
2. YES