概要
副題は「モデルからアルゴリズムまで」。
章末には文献ノートと演習問題があり、巻末には演習問題の解答がある。
感想
私のような、頭が弱い者にはわからない。
「第1章 数理最適化入門」の末尾に、文献ノートがある。ここで挙げられている入門書のうち、 「福島雅夫,新版 数理計画入門,朝倉書店,2011.」は、版が改まるとともに共著者が加わり、 「福島雅夫・山下信雄,数理計画入門 第3版,朝倉書店,2024.」となっている。
「第3章 非線形計画」の pp.099-100 で掲げられているアルゴリズム 3.1 最急降下法 を引用する。
Step 1:初期点 \( \boldsymbol{x}^{0} \) を定める.`k = 0` とする.
Step 2:\( \| \nabla f ( \boldsymbol{x}^{(k)}) \| \) が十分に小さければ終了する.
Step 3:探索方向 \( \boldsymbol{d}( \boldsymbol{x}^{k}) = - \nabla f ( \boldsymbol{x}^{(k)}) \) に沿って直線探索し,ステップ幅 `alpha_k` を求める.
Step 4:\( \boldsymbol{x}^{(k+1)} = \boldsymbol{x}^{(k)} + \alpha_k \boldsymbol{d}(\boldsymbol{x}^{(k)}) \) とする.`k = k + 1` として Step 2 に戻る.
p.100 では、次の問題を考えている。
最小化 \( f( \boldsymbol{x}) = (x_1 - 2)^4 + (x_1 - 2x_2)^2 \) 条件 \( \boldsymbol{x}\) `= (x_1, x_2)^"T" in RR^2`
さて、p.100 の(3.80) 式は次のようになっている。
\[ \nabla f ( \boldsymbol{x}) = \begin{pmatrix} 4(x_1-2)^3 + 2(x_1-2x_2)^2 \\ -4(x_1 - 2x_2) \end{pmatrix} \]
これは誤りで、次が正しい。
\[ \nabla f ( \boldsymbol{x}) = \begin{pmatrix} 4(x_1-2)^3 + 2(x_1-2x_2) \\ -4(x_1 - 2x_2) \end{pmatrix} \]
理由は、最小化すべき \( f(\boldsymbol{x}) \) の式を見てみれば明らかだろう。
ここで \( \| \nabla f ( \boldsymbol{x}^{(0)}) \| \) を求めないといけない。本書では、\( \boldsymbol{x}^{(0)} = (0, 3)^T \) としているので、
\( \boldsymbol{d}( \boldsymbol{x}^{(0)}) = (44, -24)^T \) となる。ここまではいい。問題はこの先だ。本書 p.100 では、
直線探索を適用するとステップ幅 `alpha_0 = 0.0625`が得られ,
とさらりと書いているが、それを行なうにはどうすればいいのだろう。しょうがない。
`alpha = 1` から初めて、`alpha = 0.5, 0.25, 0.125, 0.0625 ... ` としていくしかないのか。
以下は初期点からさまざまなステップ幅 `alpha` を適用して得られた目的関数 `f` の値と点の位置 \( \boldsymbol{x} \)である
| ステップ幅 `alpha` | 目的関数 `f` の値 | 点の位置 \( \boldsymbol{x} \) |
| 1 | ||
| 0.5 | ||
| 0.25 | ||
| 0.125 | ||
| 0.0625 | ||
| 0.03125 | ||
| 0 |
第3章の文献ノートの中で読んだことがあるのは以下の書籍である。
数式記述ほか
数式記述は ASCIIMathML を、 数式表現は MathJax4 を用いている。計算のライブラリには mathjs を用いている。
書誌情報
| 書名 | しっかり学ぶ数理最適化 |
| 著者 | 梅谷俊治 |
| 発行日 | 2020 年 10 月 23 日(初版 1 刷) |
| 発行元 | 講談社 |
| 定価 | 3000 円(本体) |
| サイズ | |
| ISBN | 978-4-06-521270-7 |
| その他 | 川口市立図書館で借りて読む |