2019 Fiscal Year Research-status Report
非線形最適化問題の求解速度の改善:最適解近傍外での数値的性質悪化の回避
Project/Area Number |
18K11185
|
Research Institution | Kansai University |
Principal Investigator |
檀 寛成 関西大学, 環境都市工学部, 准教授 (30434822)
|
Project Period (FY) |
2018-04-01 – 2021-03-31
|
Keywords | 非線形最適化問題 / 自動微分 / 内点法 / 最適化ソフトウェア |
Outline of Annual Research Achievements |
本研究課題では,非線形最適化問題 (NLP) において,最適解の近傍外での数値的性質が悪く求解速度が遅い問題に対して求解速度を向上させるための手法について研究している.2019 年度は,NLP に対する内点法の実装の改良を行った.NLP に対する内点法の実装は 2018 年度より継続して行っているが,2019 年度は,求解中に現れる行列の疎性を生かし,大規模な NLP を解くことができるような改良を行った. 内点法の中で最も計算コストを要する工程は,線形方程式系を解く工程である.この係数行列には,ラグランジュ関数のヘッセ行列またはその近似行列と,各制約の勾配が含まれる.この線形方程式系を解いて得られた解は探索方向と呼ばれ,現在の反復点から次の反復点を求めるのに用いられる. 小規模な NLP に対しては,修正 BFGS 法という方法でラグランジュ関数のヘッセ行列を近似することが多い.この方法では係数行列が正定値となるため,この線形方程式系を解いて得られる探索方向が問題の最適解に近づく方向になることが保証される.2018 年度に実装を行った内点法は,この方法に基づくものであった. しかし,この方法で構成された係数行列は一般に密行列になるため,大規模問題に適した方法ではない.そこで 2019 年度は,大規模問題に適用可能な内点法の実装を行った.具体的には,係数行列にラグランジュ関数のヘッセ行列そのものを用い,その疎性を生かすような実装を行った. この場合,係数行列が正定値になるとは限らないため,線形方程式系を解いて得られる探索方向が最適解に近づく方向であるとは限らない.そこで,得られた探索方向と,必ず最適解に近づく(が収束が遅いかもしれない)方向とを組み合わせた探索方向を用いるようにし,係数行列の疎性を失わず,かつ必ず最適解に収束するような内点法を実装した.
|
Current Status of Research Progress |
Current Status of Research Progress
3: Progress in research has been slightly delayed.
Reason
本研究課題の初年度(2018 年度)は,求解途中に収束が遅くなる現象を回避する手法の開発を目指していたが,添字を扱うことができる自動微分ソフトウェアの開発に関する研究が予想以上に進展したため,こちらに注力して研究を進めた.これにより,大規模な NLP(数万変数・数万制約)に対しても,現実的な時間で目的関数・制約条件の勾配を計算できるようになった.また,小規模な NLP を解くことのできる内点法についても実装をすることができた. さらに,昨年度(2019 年度)は,前年度に作成した自動微分ソフトウェアを用いつつ,小規模 NLP 用内点法ソフトウェアを改良することで,大規模なNLP に適用可能な内点法の実装を行い,一定の成果を得た.具体的には,よく知られた NLP ソフトウェア (CONOPT, Ipopt, Knitro, MINOS, SNOPT) と比較したときに,いくつかのソフトウェアよりよいパフォーマンスを発揮できるような内点法ソフトウェアを実装することができた. しかしながら,本研究課題の最終目標は,NLP において,最適解の近傍外での数値的性質が悪く求解速度が遅い問題に対して求解速度を向上させるための手法の開発である.この目標のためには,NLP を解くことができるソフトウェアを作成することも必要であり,これまでの研究は本来の研究課題と無関係というわけではなく,よい「副産物」を作成することができている.しかしながら,研究課題の最終目標からすると,本来の予定よりも遅れているのが現状である.
|
Strategy for Future Research Activity |
2020 年度は,【テーマ 1】求解途中に収束が遅くなる現象(Maratos 効果)を回避する手法の開発,【テーマ 2】自動微分ソフトウェア・内点法ソフトウェアの公開・論文執筆に取り組む予定である. 【テーマ 1】は,上記「現在までの進捗状況」にも記載したように,本研究課題の最終目標である.実は,本テーマについては,本研究課題の申請時点である程度準備が進んでいる(本研究課題の申請書にも記載した).具体的には,求解途中に収束が遅くなる現象を,現在の反復点に微小な摂動を加えることによって回避できるのではないかと考えており,既に予備的な理論的解析を行っている.またいくつかの問題について数値実験も行っており,良好な結果を得ている.そこで 2020 年度は,理論的な解析を進めつつ,過去 2 年間に作成した NLP ソフトウェアを用い,包括的な数値実験を行うことで,一連の成果をまとめる予定である. 【テーマ 2】は,これまでに作成した自動微分ソフトウェア・内点法ソフトウェアに関わるものである.本研究で作成した自動微分ソフトウェアは,変数や制約に付された添字を陽に扱うことができるものである.これにより,自動微分のためのデータ構造(計算グラフ)を効率的に作成することができ,計算速度も向上することが見込める.実際,これまでの数値実験では,自動微分ソフトウェア ADOL-C, CppAD(※これらはオペレーションズ・リサーチ分野のソフトウェアが収録されているサイト COIN-OR に掲載されている)の 2 つのソフトウェアに対して計算時間を平均的に短くすることができることがわかっている.そこで,このソフトウェアに関する論文執筆,ならびにソフトウェアの公開を目指す.また,本自動微分ソフトウェアを用いた内点法ソフトウェアについても改良を加え,論文執筆と公開を目指す.
|
Causes of Carryover |
当初は数値実験用の計算機の購入を予定していたが,所属組織の予算にて購入した計算機を利用することができたので,支出を抑えることができた.残高は,2020 年度の助成金と合わせ,ソフトウェアの公開や論文発表に必要になる経費に充当する予定である.
|