「非線形計画」の版間の差分
Albeit-Kun (トーク | 投稿記録) |
|||
(4人の利用者による、間の12版が非表示) | |||
1行目: | 1行目: | ||
− | + | '''【ひせんけいけいかく (nonlinear programming)】''' | |
− | 最適性条件 | + | === 概要 === |
+ | 非線形計画問題に対する数値解法, 最適性条件, 双対性理論などを研究する分野. | ||
− | + | === 詳説 === | |
+ | 変数 <math>x=(x_1,\dots,x_n)</math> がすべて連続変数で,目的関数および制約関数が線形とは限らない数理計画問題を[[非線形計画問題]] (nonlinear programming problem) という.非線形計画問題は一般に | ||
− | |||
− | + | <table align="center"> | |
+ | <tr> | ||
+ | <td><math>\begin{array}{lll} | ||
+ | \min. & f(x) & \\ | ||
+ | \mbox{s. t.} & g_i(x) \le 0 & (i=1, \ldots, m), \\ | ||
+ | & h_j(x) = 0 & (j=1, \ldots, l), | ||
+ | \end{array}</math> | ||
+ | </td> | ||
+ | </tr> | ||
+ | </table> | ||
− | |||
− | + | と表される.この問題の実行可能集合を<math>S\,</math>と表す.そのとき,ある実行可能解 <math>x^* \in S</math> に対して | |
− | |||
− | + | <table align="center"> | |
+ | <tr> | ||
+ | <td><math>f(x^*) \le f(x) \quad \forall \, x \in S</math> | ||
+ | </td> | ||
+ | </tr> | ||
+ | </table> | ||
− | + | ||
+ | が成り立つならば,<math>x^*</math> を最適解,あるいは[[大域的最適解]] (global optimal solution) という.また,ある実行可能解 <math>x^*</math> とその適当な近傍 <math>N(x^*)</math> に対して | ||
+ | |||
+ | |||
+ | <table align="center"> | ||
+ | <tr> | ||
+ | <td><math>f(x^*) \le f(x) \quad \forall x \in S \cap N(x^*)</math> | ||
+ | </td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | |||
+ | が成り立つとき,<math>x^*</math> を[[局所的最適解]](local optimal solution) という. | ||
+ | |||
+ | 目的関数 <math>f\,</math> と不等式制約関数 <math>g_i\,</math> が凸関数,等式制約関数 <math>h_j\,</math> がすべて1次関数であるような問題を[[凸計画問題]] (convex programming problem) という.凸計画問題においては,任意の局所的最適解は必ず大域的最適解となる.しかしながら,凸計画問題ではない問題,すなわち[[非凸計画問題]] (nonconvex programming problem)においては,一般に不特定多数の局所的最適解が存在し,大域的最適解を見つけるのは非常に困難であるため,局所的最適解を考察の対象とするのが普通である.また,非凸計画問題の大域的最適解を求める方法,いわゆる[[大域的最適化]](global optimization) の方法も近年活発に研究されている [4]. | ||
+ | |||
+ | 非線形計画問題において,その最適解を特徴づける条件を一般に[[最適性条件 (非線形計画における)|最適性条件]] (optimality condition) という.特に,局所的最適解が満たすべき条件を最適性の必要条件といい,逆に局所的最適解であることを保証する条件を最適性の十分条件という.また,関数の勾配のみを用いる条件を1次の条件,ヘッセ行列を用いる条件を2次の条件という.よく知られたカルーシュ・キューン・タッカー条件は1次の必要条件である. | ||
+ | |||
+ | [[双対性理論]](duality theory) は線形計画のみならず非線形計画問題においても重要な役割を果たす.特に,ラグランジュの双対性やフェンシェルの双対性は,数理計画問題に対する解法の設計や解析において極めて有用である. | ||
+ | |||
+ | パラメータ <math>u=(u_1,\dots,u_p)</math> を含む非線形計画問題 | ||
+ | |||
+ | |||
+ | <table align="center"> | ||
+ | <tr> | ||
+ | <td><math>\begin{array}{lll} | ||
+ | \min. & f(x,u) & \\ | ||
+ | \mbox{s. t.} & g_i(x,u) \le 0 & (i=1, \ldots, m), \\ | ||
+ | & h_j(x,u) = 0 & (j=1, \ldots,l ), | ||
+ | \end{array}</math></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | |||
+ | において,パラメータ <math>u\,</math> の値が変化したとき,最適解や目的関数の最小値が連続的に変化するための条件や,それらの変化率などの諸性質は[[安定性理論 (数理計画の)|安定性理論]] (stability theory) の名のもとで研究されている. | ||
+ | |||
+ | 非線形計画問題の最適解の計算においては,適当な出発点から始めて,最適解に収束するような点列を次々に生成する[[反復法]] (iterative method) が一般に用いられる.制約条件をもたない[[制約なし最適化]]問題 (unconstrained optimization problem) に対しては,準ニュートン法や共役勾配法などの効率的な反復法が,一般の[[制約付き最適化]]問題 (constrained optimization problem) に対しても,逐次2次計画法や内点法など様々な反復法が開発されている.現在,非線形計画において有効とされている反復法の多くはニュートン法に基づくものである. | ||
+ | |||
+ | 非線形計画においては,目的関数と制約関数が1回または2回連続的微分可能と仮定される場合が多いが,それらの仮定を満たさない問題もしばしば現れる.そのような微分不可能最適化問題に対しても最適性理論や数値解法の研究が進められている.非線形計画全般に関する比較的新しい事柄を解説した教科書に [1],[5]} などがある. | ||
+ | |||
+ | 非線形計画問題のなかで,目的関数が2次関数,制約関数がすべて1次関数であるようなものを[[2次計画問題]] (quadratic programming problem) と呼ぶ.特に,目的関数が凸関数である凸2次計画問題に対しては,有限回の演算で最適解を見出すことが可能である.凸2次計画問題は最も基本的な非線形計画問題であり,逐次2次計画法など一般の非線形計画問題に対する反復法の部分問題としてもしばしば現れる. | ||
+ | |||
+ | 非線形計画に関連して[[相補性問題]](complementarity problem) と呼ばれる重要な問題のクラスがある.相補性問題とは,変数 <math>x=(x_1,\dots,x_n)</math> と同じ次元をもつベクトル値関数 <math>F(x)=(F_1(x),\dots,F_n(x))</math> に対して,次式を満たす <math>x\,</math> を求める問題である. | ||
+ | |||
+ | |||
+ | <table align="center"> | ||
+ | <tr> | ||
+ | <td><math>x_i \ge 0, \ F_i(x) \ge 0, \ x_i F_i(x) = 0 | ||
+ | \quad (i=1,\dots,n)</math></td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | |||
+ | 特に,<math>F\,</math> が1次関数のとき,線形相補性問題といい,それ以外のとき,非線形相補性問題という.2次計画問題のカルーシュ・キューン・タッカー条件は線形相補性問題として表されるので,線形相補性問題に対する効率的な方法は2次計画問題に対しても有効である [2,3].相補性問題を含むクラスに変分不等式問題と呼ばれる問題がある.相補性問題や変分不等式問題は均衡モデルの定式化において特に有用である[3]. | ||
+ | |||
+ | 最適化問題,相補性問題などの数理計画問題において,与えられた任意の点から問題の解集合への距離を評価するために用いられる関数を[[エラーバウンド (数理計画における)|エラーバウンド]] (error bound) という.エラーバウンドが存在するためには,一般に問題が何らかの正則条件を満たす必要がある.エラーバウンドは反復法における収束判定条件の設定や収束率の解析等において重要な役割を果たす [3]. | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | '''参考文献''' | ||
+ | |||
+ | [1] D.P. Bertsekas, ''Nonlinear Programming'', Athena Scientific, 1995. | ||
+ | |||
+ | [2] R.W. Cottle, J.-S. Pang and R.E. Stone, ''The Linear Complementarity Problem'', Academic Press, 1992. | ||
+ | |||
+ | [3] F.Facchinei and J.-S. Pang, ''Finite-Dimensional Variational Inequalities and Complementarity Problems'', Volumes 1 and 2, Springer, 2003. | ||
+ | |||
+ | [4] R. Horst, P.M. Pardalos and N.V. Thoai, ''Introduction to Global Optimization'', 2nd Edition, Kluwer Academic Publishers, 2000. | ||
+ | |||
+ | [5] J.Nocedal and S.J.Wright, ''Numerical Optimization'', Springer, 1999. | ||
+ | |||
+ | [[Category:非線形計画|ひせんけいけいかく]] | ||
+ | |||
+ | [[Category:組合せ最適化|ひせんけいけいかく]] |
2008年11月13日 (木) 15:15時点における最新版
【ひせんけいけいかく (nonlinear programming)】
概要
非線形計画問題に対する数値解法, 最適性条件, 双対性理論などを研究する分野.
詳説
変数 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle x=(x_1,\dots,x_n)} がすべて連続変数で,目的関数および制約関数が線形とは限らない数理計画問題を非線形計画問題 (nonlinear programming problem) という.非線形計画問題は一般に
構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \begin{array}{lll} \min. & f(x) & \\ \mbox{s. t.} & g_i(x) \le 0 & (i=1, \ldots, m), \\ & h_j(x) = 0 & (j=1, \ldots, l), \end{array}} |
と表される.この問題の実行可能集合を構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle S\,}
と表す.そのとき,ある実行可能解 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle x^* \in S}
に対して
構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle f(x^*) \le f(x) \quad \forall \, x \in S} |
が成り立つならば,構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle x^*}
を最適解,あるいは大域的最適解 (global optimal solution) という.また,ある実行可能解 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle x^*}
とその適当な近傍 に対して
構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle f(x^*) \le f(x) \quad \forall x \in S \cap N(x^*)} |
が成り立つとき,構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle x^*}
を局所的最適解(local optimal solution) という.
目的関数 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle f\,} と不等式制約関数 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle g_i\,} が凸関数,等式制約関数 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle h_j\,} がすべて1次関数であるような問題を凸計画問題 (convex programming problem) という.凸計画問題においては,任意の局所的最適解は必ず大域的最適解となる.しかしながら,凸計画問題ではない問題,すなわち非凸計画問題 (nonconvex programming problem)においては,一般に不特定多数の局所的最適解が存在し,大域的最適解を見つけるのは非常に困難であるため,局所的最適解を考察の対象とするのが普通である.また,非凸計画問題の大域的最適解を求める方法,いわゆる大域的最適化(global optimization) の方法も近年活発に研究されている [4].
非線形計画問題において,その最適解を特徴づける条件を一般に最適性条件 (optimality condition) という.特に,局所的最適解が満たすべき条件を最適性の必要条件といい,逆に局所的最適解であることを保証する条件を最適性の十分条件という.また,関数の勾配のみを用いる条件を1次の条件,ヘッセ行列を用いる条件を2次の条件という.よく知られたカルーシュ・キューン・タッカー条件は1次の必要条件である.
双対性理論(duality theory) は線形計画のみならず非線形計画問題においても重要な役割を果たす.特に,ラグランジュの双対性やフェンシェルの双対性は,数理計画問題に対する解法の設計や解析において極めて有用である.
パラメータ 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle u=(u_1,\dots,u_p)} を含む非線形計画問題
において,パラメータ 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle u\,}
の値が変化したとき,最適解や目的関数の最小値が連続的に変化するための条件や,それらの変化率などの諸性質は安定性理論 (stability theory) の名のもとで研究されている.
非線形計画問題の最適解の計算においては,適当な出発点から始めて,最適解に収束するような点列を次々に生成する反復法 (iterative method) が一般に用いられる.制約条件をもたない制約なし最適化問題 (unconstrained optimization problem) に対しては,準ニュートン法や共役勾配法などの効率的な反復法が,一般の制約付き最適化問題 (constrained optimization problem) に対しても,逐次2次計画法や内点法など様々な反復法が開発されている.現在,非線形計画において有効とされている反復法の多くはニュートン法に基づくものである.
非線形計画においては,目的関数と制約関数が1回または2回連続的微分可能と仮定される場合が多いが,それらの仮定を満たさない問題もしばしば現れる.そのような微分不可能最適化問題に対しても最適性理論や数値解法の研究が進められている.非線形計画全般に関する比較的新しい事柄を解説した教科書に [1],[5]} などがある.
非線形計画問題のなかで,目的関数が2次関数,制約関数がすべて1次関数であるようなものを2次計画問題 (quadratic programming problem) と呼ぶ.特に,目的関数が凸関数である凸2次計画問題に対しては,有限回の演算で最適解を見出すことが可能である.凸2次計画問題は最も基本的な非線形計画問題であり,逐次2次計画法など一般の非線形計画問題に対する反復法の部分問題としてもしばしば現れる.
非線形計画に関連して相補性問題(complementarity problem) と呼ばれる重要な問題のクラスがある.相補性問題とは,変数 と同じ次元をもつベクトル値関数 に対して,次式を満たす 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle x\,} を求める問題である.
構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle x_i \ge 0, \ F_i(x) \ge 0, \ x_i F_i(x) = 0 \quad (i=1,\dots,n)} |
特に,構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle F\,}
が1次関数のとき,線形相補性問題といい,それ以外のとき,非線形相補性問題という.2次計画問題のカルーシュ・キューン・タッカー条件は線形相補性問題として表されるので,線形相補性問題に対する効率的な方法は2次計画問題に対しても有効である [2,3].相補性問題を含むクラスに変分不等式問題と呼ばれる問題がある.相補性問題や変分不等式問題は均衡モデルの定式化において特に有用である[3].
最適化問題,相補性問題などの数理計画問題において,与えられた任意の点から問題の解集合への距離を評価するために用いられる関数をエラーバウンド (error bound) という.エラーバウンドが存在するためには,一般に問題が何らかの正則条件を満たす必要がある.エラーバウンドは反復法における収束判定条件の設定や収束率の解析等において重要な役割を果たす [3].
参考文献
[1] D.P. Bertsekas, Nonlinear Programming, Athena Scientific, 1995.
[2] R.W. Cottle, J.-S. Pang and R.E. Stone, The Linear Complementarity Problem, Academic Press, 1992.
[3] F.Facchinei and J.-S. Pang, Finite-Dimensional Variational Inequalities and Complementarity Problems, Volumes 1 and 2, Springer, 2003.
[4] R. Horst, P.M. Pardalos and N.V. Thoai, Introduction to Global Optimization, 2nd Edition, Kluwer Academic Publishers, 2000.
[5] J.Nocedal and S.J.Wright, Numerical Optimization, Springer, 1999.