2020 Fiscal Year Research-status Report
非線形最適化問題の求解速度の改善:最適解近傍外での数値的性質悪化の回避
Project/Area Number |
18K11185
|
Research Institution | Kansai University |
Principal Investigator |
檀 寛成 関西大学, 環境都市工学部, 准教授 (30434822)
|
Project Period (FY) |
2018-04-01 – 2022-03-31
|
Keywords | 非線形最適化問題 / 自動微分 / 最適化ソフトウェア |
Outline of Annual Research Achievements |
本研究課題は,非線形最適化問題において,最適解の近傍外での数値的性質が悪く求解に時間を要する問題に対して,求解速度を向上させるための手法を開発することを目標にスタートした.しかし,本研究の過程で開発した自動微分ソフトウェアの性能が予想以上によかったため,2020 年度は本自動微分ソフトウェアの高速化を行った. 本ソフトウェアでは,これまで,単一のスレッドで微分値の計算を行っていた.しかし,異なる関数の微分値計算を複数のスレッドで並列に実行すれば,計算時間を短縮することが可能なはずである.昨今の CPU はマルチコア化しており,かつ並列計算プログラミングを可能とするフレームワークも多く提案されているので,並列計算を簡易に実現できる環境が整っている.このような状況を踏まえ,2020 年度は,スレッド並列化手法として最も普及している方法の一つである OpenMP を用い,本ソフトウェアの高速化を試みた. 一般に,自動微分により勾配等を計算するためには,関数値を計算するための計算グラフ(と等価なデータ構造)が必要になる.一方で,大規模な(非線形)最適化問題においては,変数や制約条件が添字付けられていることが多い.本ソフトウェアでは,添字集合を抽象化したまま対象となる式の計算グラフを構成し,そののちに添字を展開するという実装を行っているが,この実装が OpenMP による並列化と整合性が高かったため,従来のプログラムを大きく変えることなく並列化を行うことができた. 数値実験によると,8 スレッドを利用した場合,1 スレッドの場合に比べ,平均すると計算時間を約 40% 削減することができた.一方で,8 スレッドにすると計算時間が長くなるケースも認められた.これは,関数の数が極端に少なく,並列化処理のオーバーヘッドの影響が大きいケースであると考えられる.
|
Current Status of Research Progress |
Current Status of Research Progress
4: Progress in research has been delayed.
Reason
本研究課題の当初の研究期間は 3 年間(2018 年度から 2020 年度)であった.初年度(2018 年度)は,求解途中に収束が遅くなる現象を回避する手法の開発を目指していたが,添字を扱うことができる自動微分ソフトウェアの開発に関する研究が予想以上に進展したため,こちらに注力して研究を進めた.これにより,大規模な NLP(数万変数・数万制約)に対しても,現実的な時間で目的関数・制約条件の勾配を計算できるようになった.また,小規模な NLP を解くことのできる内点法についても実装をすることができた. さらに,昨年度(2019 年度)は,前年度に作成した自動微分ソフトウェアを用いつつ,小規模 NLP 用内点法ソフトウェアを改良することで,大規模な NLP に適用可能な内点法の実装を行い,一定の成果を得た.具体的には,よく知られた NLP ソフトウェア (CONOPT, Ipopt, Knitro, MINOS, SNOPT) と比較したときに,いくつかのソフトウェアよりよいパフォーマンスを発揮できるような内点法ソフトウェアを実装することができた. 本来であれば最終年度(2020 年度)は,これまでに作成した自動微分ソフトウェア・内点法ソフトウェアを用い,求解高速化のアイデアを試す予定であったが,2020 年度は本務における新型コロナウイルス感染症への対応業務が多く発生したこともあり,この部分に十分な時間を充てることができなかった.そのため,2020 年度は,従前よりアイデアを持っておりかつ比較的少ない時間で結果を出すことが見込むことができた,OpenMP を用いた自動微分ソフトウェアの高速化に取り組み,一定の成果を得た. なお,上記のような事情があったため,2020 年度末に事業期間の 1 年間延長を申請し,承認されている.
|
Strategy for Future Research Activity |
2021 年度は,【テーマ 1】求解途中に収束が遅くなる現象(Maratos 効果)を回避する手法の開発,【テーマ 2】自動微分ソフトウェア・内点法ソフトウェアの公開・論文執筆に取り組む予定である.これらのテーマは,本来 2020 年度に取り組む予定だったものである.しかし前項でも述べたように,2020 年度は本務における新型コロナウイルス感染症への対応業務が多く発生したため,これらのテーマに取り組むことができなかった.本来,2020 年度は本研究課題の最終年度であったが,事業期間の 1 年間延長が承認されたため,2021 年度は改めて上記 2 つのテーマに取り組む予定である. 【テーマ 1】については,本研究課題の申請時点である程度準備が進んでいる状況である(本研究課題の申請書にも記載した).具体的には,求解途中に収束が遅くなる現象を,現在の反復点に微小な摂動を加えることによって回避できるのではないかと考えており,既に予備的な理論的解析を行っている.またいくつかの問題について数値実験も行っており,良好な結果を得ている.そこで 2021年度は,理論的な解析を進めつつ,これまでに作成したソフトウェアを用い,包括的な数値実験を行うことで,一連の成果をまとめる予定である. 【テーマ 2】は,これまでに作成した自動微分ソフトウェア・内点法ソフトウェアに関わるものである.本テーマについて,2020 年度の学会発表にて共同研究者を募ったところ,1 件の申し出があり,既に共同で作業を始めている状況である.ソフトウェアの開発・公開はマンパワーの必要な作業であるため,共同研究者を得ることができたのは,本テーマの推進にとって非常にありがたいことである.この状況を生かし,ソフトウェアの開発・公開ならびに論文執筆を進めていく予定である.
|
Causes of Carryover |
2020 年度は,本務における新型コロナウイルス感染症への対応業務が多く発生し,本研究に十分な時間を充てることができず,残額が発生した.また,コロナ禍のため,国内・外国出張がなくなったことも残額発生の一因である. 幸い,本研究の事業期間の 1 年間延長を申請し,承認されたため,残額については 2021 年度に執行させて頂く予定である.具体的には,数値実験用の高速なコンピュータ等を購入する予定である.
|