《大域的最適化》

出典: ORWiki

【たいいきてきさいてきか (global optimization)】

 ユークリッド空間\mathbf{R}^n\,上で定義された連続な実数値関数f\,目的関数とし,\mathbf{R}^n\,の閉部分集合D\,実行可能集合とする最適化問題:


\begin{array}{ll} \mbox{min.} & f (\boldsymbol{x})\\ \mbox{s. t.} & \boldsymbol{x} := (x_1, \ldots, x_n) \in D \end{array}\,


に対して,その大域的最適解,つまり


f(\boldsymbol{x}^*) \leq f(\boldsymbol{x}), \quad \forall\, \boldsymbol{x} \in D,\,


を満足する\boldsymbol{x}^* \in D\,を求める方法を大域的最適化という.目的関数f\,と実行可能集合D\,が共に凸性を満たす凸計画問題であれば,局所的な最適化によって\boldsymbol{x}^*\,を求めることができる.また,凸性を満たさなくとも,分数計画問題(fractional programming problem)や幾何計画問題(geometric programming problem)の一部は任意の局所的最適解で大域的にも最適となる.したがって,大域的最適化が本質的な意味をもつのは,目的関数値が異なる複数の局所的最適解をもつ非凸計画問題に対してであり,これを多極値大域的最適化問題(multiextremal global optimization problem)と呼ぶ.例えば,f\,が凹関数でD\,が凸多面体の凹最小化問題(concave minimization problem)の場合,局所的最適解は一般にD\,の複数の端点に現われる.しかし,端点の数は膨大であり,その中から大域的に最適なものを見つけだすのは容易な作業でない.実際,この単純な例でさえ最悪計算量の上ではNP困難であることが知られている.そのため,現段階で一般の多極値大域的最適化問題を解決する有効な手段はなく,モンテカルロ法(Monte Carlo method)などのヒューリスティクスが唯一現実的なアプローチとなっている [2].

 このように困難な問題クラスではあるが,個々の問題の中には,その構造を利用することで現実的な計算時間のうちに大域的最適解の求められるものも少なくない [1].その代表例が,実は上にも述べた凹最小化問題である:


\begin{array}{ll} \mbox{min.} & f(\boldsymbol{x}) \\ \mbox{s. t.} & \boldsymbol{x} \in D := \{\boldsymbol{x} \in \mathbf{R}^n \mid \mbox{A} \boldsymbol{x} \geq \boldsymbol{b}\}. \end{array}\,


ここで,\mbox{A}\,m \times n\,行列で\boldsymbol{b}\,m\,次ベクトル,f\,は凹関数(concave function),つまり-f\,凸関数である.この非凸計画問題を大域的に最適化するアルゴリズムとして,凹性カット法(concavity-cut method),外部近似法(outer approximation method),分枝限定法(branch-and-bound method)などがある [3].

 凹性カット法は,以下の操作を繰り返し,D\,から大域的最適解以外の実行可能解をすべて除去しようとする方法である.局所的最適解を与えるD\,の端点\boldsymbol{x}'\,を見つけ,\boldsymbol{x}'\,から出るn\,本の稜線ベクトル\boldsymbol{u}^1, \ldots, \boldsymbol{u}^n\,と,それまでに得られた最も小さな目的関数値f^\circ\,によって集合


V := \{\boldsymbol{x}' + \theta_i \boldsymbol{u}^i \mid \theta_i \geq 0,\;  i = 1, \ldots, n\} \cap  \{\boldsymbol{x} \in \mathbf{R}^n \mid f(\boldsymbol{x}) = f^\circ\}\,


を定義する.端点\boldsymbol{x}'\,におけるf\,の値がf^\circ\,よりも悪ければ,V\,は丁度n\,個の点から構成されるが,それらを通るn\,次元超平面によって\boldsymbol{x}'\,と一緒に見込のない実行可能解もD\,から切除する.目的関数f\,が2次の凹関数である双線形計画問題 (bilinear programming problem)に対しては,より大きな領域を切除する方法も考案されている.

 外部近似法も超平面による切除を行うが,凹性カット法と違って実行可能解は1つも失わない.まず,D\,n\,次元単体や矩形などの単純な凸多面体S \supseteq D\,で近似し,f\,S\,上で最小化する.これも凹最小化問題であるが,S\,は端点の数が少ないので,それらの列挙で最小点\boldsymbol{x}'\,は比較的容易に求められる.この\boldsymbol{x}'\,が満たさないD\,の制約式の1つ\boldsymbol{a}_i^{\top} \boldsymbol{x} \geq b_i\,を選び,S\,


S' := S \cap \{\boldsymbol{x} \in \mathbf{R}^n \mid \boldsymbol{a}_i^{\top} \boldsymbol{x} \geq b_i\}\,


に更新して\boldsymbol{x}'\,と共に実行不可能な領域を切除する.実行可能集合D\,S\,の部分集合なのでf(\boldsymbol{x}')\,は大域的最適値の下界値を与えるが,以上の操作を繰り返して \boldsymbol{x}' \in D\,となれば,\boldsymbol{x}'\,が大域的最適解である.

 分枝限定法には多くのバリエーションが存在するが,最も効力を発揮するのは目的関数f\,が1変数凹関数f_i\,の和に分離可能な場合である:


f(\boldsymbol{x}) := \sum_{j=1}^n f_j(x_j).\,


実行可能集合D\,を含む矩形M := \{\boldsymbol{x} \in \mathbf{R}^n \mid l_j \leq x_j \leq u_j,\; j = 1, \ldots, n\}\,を定義し,これを複数の小さな矩形


M^k := \{\boldsymbol{x} \in \mathbf{R}^n \mid l_j^k \leq x_j \leq u_j^k\}, \quad k = 1, \ldots, K,\,


に分割していく.基本となる操作は,組合せ最適化問題に使われる分枝限定法と同様で,まず M^k\, を選んで


限定操作 D \cap M^k\,上におけるf\,の下界値f'\,を計算し,その値がそれまでに得られた最も小さな目的関数値f^\circ\,以上ならばM^k\,を考察の対象から外す;

分枝操作 f' < f^\circ\,ならば,M^k\,を2つの矩形 M^{k_1}\,, M^{k_2}\,に分割する


を繰り返す.効率の鍵を握る下界値f'\,には,通常(l_j^k, f_j(l_j^k))\,(u_j^k, f_j(u_j^k))\,を通るアフィン関数


g_j(x_j) := \frac{f(u_j^k) - f(l_j^k)}{u_j^k - l_j^k} x_j + \frac{u_j^k f(l_j^k) - l_j^k f(u_j^k)}{u_j^k - l_j^k}, \quad j = 1, \ldots, n,\,


を定義し,その和\textstyle g(\boldsymbol{x}) := \sum_{j=1}^n g_j(x_j)\,D \cap M^k\,上における最小値が用いられる.関数g\,M^k\,上におけるf\,の最も大きな下界値を与える凸関数で,凸包絡関数 (convex envelope function)と呼ばれる.しかし,アフィン関数であるので単体法内点法を使って容易に最小値f'\,を計算することができる.

 DC計画問題(d.c. programming problem)や逆凸計画問題(reverse convex programming problem)などのより一般的な多極値大域的最適化問題も,凹最小化問題を逐次解くことで処理することができる [2, 3].



参考文献

[1] H. Konno, P.T. Thach and H. Tuy, Optimization on Low Rank Nonconvex Structures, Kluwer Academic Publishers, 1997.

[2] R. Horst and P.M. Pardalos (eds.), Handbook of Global Optimization, Kluwer Academic Publishers, 1995.

[3] R. Horst and H. Tuy, Global Optimization - Deterministic Approaches, 3rd ed., Springer-Verlag, 1996.