2015 Fiscal Year Research-status Report
数値的条件の悪い非線形最適化問題に対する安定した求解手法とソルバの開発
Project/Area Number |
15K21522
|
Research Institution | Kansai University |
Principal Investigator |
檀 寛成 関西大学, 環境都市工学部, 准教授 (30434822)
|
Project Period (FY) |
2015-04-01 – 2018-03-31
|
Keywords | 非線形最適化 / 多倍長精度計算 / ソルバ |
Outline of Annual Research Achievements |
本研究課題では,数値的条件の悪い非線形最適化問題 (NLP) を安定して求解するための手法を開発することを目的としている.そのためには,数値的条件の悪い NLP が持つ特徴を抽出し,分析する必要がある.そこで平成 27 年度は,多倍長精度計算可能な NLP ソルバ(NLP を解くためのソフトウェア)の開発に取り組んだ. 通常,科学技術計算ソフトウェアを開発する際には,浮動小数点演算に倍精度計算(一般のプログラム言語における double に相当)を用いる.しかし,本研究が対象とするのは数値的条件が悪い NLP であるため,倍精度計算では計算精度が不足する場合がある.そこで本研究では,計算精度を任意に設定できる多倍長精度計算を用いて NLP ソルバを実装した.具体的には,NLP の解法の一つである逐次二次計画法を,多倍長精度計算を用いて実装した. さらに,本ソルバの開発に伴い,多倍長精度計算可能な自動微分もあわせて実装した.一般に,NLP に対する求解アルゴリズムでは問題の目的関数・制約条件の微分値が必要になる.微分値を求める方法として数値微分を用いることも考えられるが,これは本質的に誤差を含む手法である.一方,本研究で分析するのは数値的性質のよくない問題であるため,誤差を含む数値微分を用いることは適切ではない.それを克服するために,関数を形式的に微分することのできる(すなわち,誤差のない微分のできる)自動微分の機能を実装し,上記の NLP ソルバと組み合わせた. これにより,(平成 28 年度以降に)数値的条件が悪い NLP の特徴を調べ,それを克服する手法の開発を行う環境を整えることができた.なお,これらの成果は,日本オペレーションズ・リサーチ学会 2016 年春季研究発表会等にて発表した.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
本研究課題申請時の予定として,平成 27 年度は,(a) 多倍長精度計算可能な逐次二次計画法の実装,(b) 求解中に倍精度・多倍長精度を切り替える手法の開発,を行う予定であった.(a) は,平成 28 年度以降に数値的条件の悪い NLP の特徴を抽出する際に必要となるために開発するものである.また (b) は,多倍長精度計算のみで求解すると計算時間が増大してしまうため,通常は倍精度計算を行い,必要なところでのみ多倍長精度計算を用いる手法を開発するものである. 平成 27 年度は,(a) については実装を完了したが,(b) については完了することができなかった.一方で,平成 28 年度以降に行う予定であった,(c) 多倍長精度計算を用いた自動微分の実装が完了した.(c) の機能が実装されていない状況下では,求解対象の NLP に現れる目的関数・制約条件の微分値を計算する関数を別途実装する必要があるが,(c) の実装が完了したため,その必要がなくなった.なお,(b) の代わりに (c) の開発を先に進めたのは,研究全体の人的コストを考慮した場合に (b) よりも (c) の方が有効性が高いと判断したためである. 現在までの成果により,多倍長精度計算可能な NLP ソルバの主要な機能が概ね完成したといえる状況にある.また,このソルバを用いることにより,平成 28, 29 年度の研究計画にある,数値的条件の悪い NLP の特徴抽出,ならびに数値的条件悪化を克服する手法の開発に着手することが可能な状況にある. これらの状況を総合的に判断すると,研究課題全体としてはおおむね順調に進めることができていると考えられる.
|
Strategy for Future Research Activity |
本研究課題では,研究期間を通して,《目標 1》多倍長精度計算可能な NLP ソルバの開発,《目標 2》数値的条件の悪い NLP の持つ特徴の分析と悪条件を克服する手法の開発,という 2 つの目標を達成する予定である.このうち《目標 1》については,【研究実績の概要】・【現在までの進捗状況】で説明したように,これまでにおおむね達成した状況にある.そのため,今後は《目標 2》に重点を移しつつ研究を進めていく. 《目標 2》を達成するために,平成 28 年度は,これまでに開発した多倍長精度計算可能な NLP ソルバを用い,数値的条件の悪い NLP の持つ特徴を抽出する予定である.そのためには,多くの問題を解き,その結果を体系的に整理する必要がある.求解対象とする問題としては,過去の論文で扱われている問題やさまざまなベンチマーク問題集に含まれる問題を取り上げる.さらに,人工的に生成した問題も対象にするつもりである.数値的条件の悪化を示す指標はいくつか考えられるが,その一つは求解アルゴリズム(逐次二次計画法)で解く部分問題に現れる行列の条件数である.これを調べ,数値的条件の悪さと,そのような問題に現れる数式のパターン(例えば「三角関数の積」「双線形項」など)の関係を見いだす. また,平成 28 年度には,平成 27 年度中に完成できなかった,求解中に倍精度・多倍長精度を切り替える手法の開発についても取り組んでいく.これは上記のこととは独立に実施可能な研究である.これが完成すれば,数値実験に要する計算時間を短縮できるはずである. さらに,平成 29 年度は,抽出された数値的条件の悪化の要因を克服するための手法を考案し,開発した NLP ソルバに組み込む予定である.ここで開発したソルバは広く公開する予定である.これにより,非線形最適化を今まで以上に使いやすい技術にしていきたい.
|
Causes of Carryover |
本研究計画の申請時点の予定では,本年度はデスクトップ型計算機を購入する予定があった.しかし,研究代表者所属機関の予算により同型機を準備することができたため,次年度使用額が生じた.
|
Expenditure Plan for Carryover Budget |
今年度は大規模な数値実験を行う予定がある.その人件費を当初予定から増額することを計画している.また,本研究に関するアドバイスを頂きに行く機会を増やすため,国内旅費を増額することも想定している.
|