Tunny Icon
TunnyDocs

The next-gen Grasshopper optimization tool.

多目的

以下では、4 つの多目的関数の詳細を説明します。

多目的最適化では、単目的最適化のように関数形状を表示することが困難です。そのため、ランダムサンプリングの結果とパレートフロントラインをグラフで表示します。

DTLZ1

DTLZ1 は、線形なパレートフロントを特徴とするスケーラブルな多目的テスト問題です。この関数は、複数の局所最適解が存在する状況下での多目的最適化アルゴリズムの収束能力をテストするために設計されています。異なる目的が限られたリソースを線形に奪い合うリソース配分問題など、目的間に線形なトレードオフ関係がある問題でのアルゴリズム性能を評価するのに特に有用です。

主な特徴:

  • 超平面を形成する線形なパレートフロント
  • 多数の局所最適解を持つ多峰性の landscape
  • 任意の目的数にスケーラブル
  • 収束性と多様性維持の両方をテスト
f1(x)=12x1x2xM1(1+g(xM))f2(x)=12x1x2xM2(1xM1)(1+g(xM))fM1(x)=12x1(1x2)(1+g(xM))fM(x)=12(1x1)(1+g(xM))where g(xM)=100[xM+xixM(xi0.5)2cos(20π(xi0.5))]and xM={xM,xM+1,,xn}\begin{align} f_1(x) &= \frac{1}{2}x_1 x_2 \cdots x_{M-1}(1 + g(x_M)) \\ f_2(x) &= \frac{1}{2}x_1 x_2 \cdots x_{M-2}(1 - x_{M-1})(1 + g(x_M)) \\ &\vdots \nonumber \\ f_{M-1}(x) &= \frac{1}{2}x_1(1 - x_2)(1 + g(x_M)) \\ f_M(x) &= \frac{1}{2}(1 - x_1)(1 + g(x_M)) \\ &\nonumber \\ \text{where } g(x_M) &= 100[|x_M| + \sum_{x_i \in x_M}(x_i - 0.5)^2 - \cos(20\pi(x_i - 0.5))] \nonumber \\ \text{and } x_M &= \{x_M, x_{M+1}, \ldots, x_n\} \nonumber \end{align}image

DTLZ2

DTLZ2 は、球状のパレートフロントを持つスケーラブルな多目的テスト問題です。DTLZ1 とは異なり単峰性の構造を持つため、よりシンプルですが、アルゴリズムの収束性をテストする上では依然として難しい問題です。目的間に球状のトレードオフ関係がある問題に対する最適化アルゴリズムの能力を評価するために設計されており、バランスの取れたトレードオフを持つ性能基準を目的とするエンジニアリング設計などでよく見られます。

主な特徴:

  • 球状のパレートフロント(目的空間における単位球)
  • 単峰性の landscape(単一の大域最適領域)
  • 任意の目的数にスケーラブル
  • 収束速度と解の品質のテストに最適
f1(x)=(1+g(xM))cos(πx12)cos(πx22)cos(πxM12)f2(x)=(1+g(xM))cos(πx12)cos(πx22)sin(πxM12)fM1(x)=(1+g(xM))cos(πx12)sin(πx22)fM(x)=(1+g(xM))sin(πx12)where g(xM)=xixM(xi0.5)2and xM={xM,xM+1,,xn}\begin{align} f_1(x) &= (1 + g(x_M))\cos\left(\frac{\pi x_1}{2}\right)\cos\left(\frac{\pi x_2}{2}\right)\cdots\cos\left(\frac{\pi x_{M-1}}{2}\right) \\ f_2(x) &= (1 + g(x_M))\cos\left(\frac{\pi x_1}{2}\right)\cos\left(\frac{\pi x_2}{2}\right)\cdots\sin\left(\frac{\pi x_{M-1}}{2}\right) \\ &\vdots \nonumber \\ f_{M-1}(x) &= (1 + g(x_M))\cos\left(\frac{\pi x_1}{2}\right)\sin\left(\frac{\pi x_2}{2}\right) \\ f_M(x) &= (1 + g(x_M))\sin\left(\frac{\pi x_1}{2}\right) \\ &\nonumber \\ \text{where } g(x_M) &= \sum_{x_i \in x_M}(x_i - 0.5)^2 \nonumber \\ \text{and } x_M &= \{x_M, x_{M+1}, \ldots, x_n\} \nonumber \end{align}image

ZDT1

ZDT1 は、凸のパレートフロントを特徴とする基本的な 2 目的のテスト関数です。この関数は 2 目的最適化アルゴリズムの基本的なベンチマークとして機能し、目的間になめらかで凸なトレードオフ関係がある問題を表します。リスクとリターンが凸のトレードオフを示すポートフォリオ最適化や、重さと強度が凸の関係に従う構造設計に類似した問題でのアルゴリズム性能をテストするためによく使用されます。

主な特徴:

  • なめらかな曲率を持つ凸のパレートフロント
  • 2 目的の定式化(f₁ vs f₂)
  • アルゴリズム比較に最適なシンプルな構造
  • 実世界の問題における凸のトレードオフシナリオを表現
f1(x)=x1f2(x)=g(x)[1x1g(x)]where g(x)=1+9n1i=2nxiand xi[0,1] for i=1,2,,n\begin{align} f_1(x) &= x_1 \\ f_2(x) &= g(x)\left[1 - \sqrt{\frac{x_1}{g(x)}}\right] \\ &\nonumber \\ \text{where } g(x) &= 1 + \frac{9}{n-1}\sum_{i=2}^{n}x_i \nonumber \\ \text{and } x_i &\in [0, 1] \text{ for } i = 1, 2, \ldots, n \nonumber \end{align}image

ZDT2

ZDT2 は、非凸(凹型)のパレートフロントを特徴とする 2 目的のテスト関数です。この関数は、パレートフロントの形状に凸性を仮定する最適化アルゴリズムに挑戦する目的で設計されています。効率の向上が徐々に難しくなる製造プロセスや、汚染削減コストが非線形に増加する環境問題など、目的間に凹型のトレードオフ関係がある実世界の問題を表します。

主な特徴:

  • 非凸(凹型)のパレートフロント形状
  • 複雑さが増した 2 目的の定式化
  • 非凸なトレードオフを扱うアルゴリズムの能力をテスト
  • 最適化における収穫逓減シナリオを表現
f1(x)=x1f2(x)=g(x)[1(x1g(x))2]where g(x)=1+9n1i=2nxiand xi[0,1] for i=1,2,,n\begin{align} f_1(x) &= x_1 \\ f_2(x) &= g(x)\left[1 - \left(\frac{x_1}{g(x)}\right)^2\right] \\ &\nonumber \\ \text{where } g(x) &= 1 + \frac{9}{n-1}\sum_{i=2}^{n}x_i \nonumber \\ \text{and } x_i &\in [0, 1] \text{ for } i = 1, 2, \ldots, n \nonumber \end{align}image