(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023183671
(43)【公開日】2023-12-28
(54)【発明の名称】設計変数最適化装置、設計変数最適化方法およびプログラム
(51)【国際特許分類】
G06N 99/00 20190101AFI20231221BHJP
【FI】
G06N99/00 180
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022097310
(22)【出願日】2022-06-16
(71)【出願人】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【弁理士】
【氏名又は名称】伊藤 英輔
(74)【代理人】
【識別番号】100161702
【弁理士】
【氏名又は名称】橋本 宏之
(74)【代理人】
【識別番号】100189348
【弁理士】
【氏名又は名称】古都 智
(74)【代理人】
【識別番号】100196689
【弁理士】
【氏名又は名称】鎌田 康一郎
(72)【発明者】
【氏名】竹内 瑞穂
(72)【発明者】
【氏名】立石 浩毅
(72)【発明者】
【氏名】明連 千尋
(72)【発明者】
【氏名】山下 知志
(72)【発明者】
【氏名】小池 裕司
(57)【要約】
【課題】解析結果が得られない場合がある問題に対して適用することができる設計変数最適化装置、設計変数最適化方法およびプログラムを提供する。
【解決手段】設計変数最適化装置は、多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定する空間限定部と、所定の制約条件を満たし所定の目的関数を最良化する設計変数の組み合わせを解として、探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索する最適化部とを備え、空間限定部は、最適化部が探索した解を含めて探索空間を再限定し、最適化部は、演算処理に失敗した設計変数の組み合わせの近傍の領域を探索空間から排除する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定する空間限定部と、
所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索する最適化部と
を備え、
前記空間限定部は、前記最適化部が探索した解を含めて前記探索空間を再限定し、
前記最適化部は、前記演算処理に失敗した前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する
設計変数最適化装置。
【請求項2】
前記空間限定部は、前記制約条件を満たさない前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する
請求項1に記載の設計変数最適化装置。
【請求項3】
前記最適化部は、前記演算処理の収束条件が満たされる直前に、前記演算処理の態様を変化させる
請求項1または2に記載の設計変数最適化装置。
【請求項4】
多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定する空間限定部と、
所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索する最適化部と
を備え、
前記空間限定部は、前記最適化部が探索した解を含めて前記探索空間を再限定するととともに、前記制約条件を満たさない前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する
設計変数最適化装置。
【請求項5】
多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定するステップと、
所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索するステップと
を含み、
前記演算処理によって探索された解を含めて前記探索空間を再限定し、
前記演算処理に失敗した前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する
設計変数最適化方法。
【請求項6】
多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定するステップと、
所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索するステップと
をコンピュータに実行させるプログラムであって、
前記演算処理によって探索された解を含めて前記探索空間を再限定し、
前記演算処理に失敗した前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する
プログラム。
【請求項7】
多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定するステップと、
所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索するステップと
を含み、
前記演算処理によって探索された解を含めて前記探索空間を再限定するととともに、前記制約条件を満たさない前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する
設計変数最適化方法。
【請求項8】
多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定するステップと、
所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索するステップと
をコンピュータに実行させるプログラムであって、
前記演算処理によって探索された解を含めて前記探索空間を再限定するととともに、前記制約条件を満たさない前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、設計変数最適化装置、設計変数最適化方法およびプログラムに関する。
【背景技術】
【0002】
特許文献1には、大規模で複雑な最適化問題をより小さく簡単な問題に分割し、各最適化問題に有効な手法を選択・実行することで効率的に最適解を探す手法が提案されている。しかし、特許文献1では分離可能な問題を前提としており、分離が難しい問題に対しては適用が困難である。
【0003】
非特許文献1は、大規模な設計空間をUCB値に基づいて分割(モンテカルロ木探索)した後、UCB値が良い空間を起点に、最良解を中心とした信頼領域内(超立方体)で応答曲面を評価し最適解を探索(TuRBO:Trust Region Bayesian Optimization)する手法が提案されている。この手法では、問題を分割することなく設計パラメータ数が50次元程度の問題に対しても適用が出来る。しかし、設計変数値や応答変数値の制約条件を考慮出来ないという課題がある。なお、UCB(Upper Confidence Bound)値は、サンプル数が少なく、評価関数値が高いほど値が大きくなる指標である。また、応答曲面は、設計変数から評価関数を求める数学モデルであり、例えば、ガウス過程回帰による数学モデルとすることができる。
【0004】
非特許文献2には、TuRBOにおいて、最良解を中心とした信頼領域内(超立方体)で応答曲面と制約値を評価して最適解を探索する手法が提案されている。これにより、設計変数値や応答変数値の制約条件を含む大規模最適化問題を解くことが可能となっている。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【非特許文献1】Linnan Wang, Rodrigo Fonseca, Yuandong Tian, “Learning Search Space Partition for Black-box Optimization using Monte Carlo Tree Search," Neurips(Advances in Neural Information Processing Systems 33), 2020
【非特許文献2】David Eriksson, Matthias Poloczek, “Scalable Constrained Bayesian Optimization," AISTATS, 2021
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1ならびに非特許文献1および2に記載されている手法では、解析結果に基づき応答曲面モデル等を更新するため、例えば軸流圧縮機解析のように、設計パラメータの組み合わせ次第で解析ソルバ計算が失敗して解析結果が得られない場合がある問題に対して適用ができないという課題がある。なお、解析ソルバは、例えば、流体解析ソフトウェア、構造解析ソフトウェア等、数値計算で方程式を解くソフトウェアである。
【0008】
本開示は、上記課題を解決するためになされたものであって、解析結果が得られない場合がある問題に対して適用することができる設計変数最適化装置、設計変数最適化方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本開示に係る設計変数最適化装置は、多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定する空間限定部と、所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索する最適化部とを備え、前記空間限定部は、前記最適化部が探索した解を含めて前記探索空間を再限定し、前記最適化部は、前記演算処理に失敗した前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する。
【0010】
また、本開示に係る設計変数最適化装置は、多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定する空間限定部と、所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索する最適化部とを備え、前記空間限定部は、前記最適化部が探索した解を含めて前記探索空間を再限定するととともに、前記制約条件を満たさない前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する。
【0011】
また、本開示に係る設計変数最適化方法は、多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定するステップと、所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索するステップとを含み、前記演算処理によって探索された解を含めて前記探索空間を再限定し、前記演算処理に失敗した前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する。
【0012】
また、本開示に係るプログラムは、多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定するステップと、所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索するステップとをコンピュータに実行させるプログラムであって、前記演算処理によって探索された解を含めて前記探索空間を再限定し、前記演算処理に失敗した前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する。
【0013】
また、本開示に係る設計変数最適化方法は、多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定するステップと、所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索するステップとを含み、前記演算処理によって探索された解を含めて前記探索空間を再限定するととともに、前記制約条件を満たさない前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する。
【0014】
また、本開示に係るプログラムは、多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定するステップと、所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索するステップとをコンピュータに実行させるプログラムであって、前記演算処理によって探索された解を含めて前記探索空間を再限定するととともに、前記制約条件を満たさない前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する。
【発明の効果】
【0015】
本開示の設計変数最適化装置、設計変数最適化方法およびプログラムによれば、解析結果が得られない場合がある問題に対して適用することができる。
【図面の簡単な説明】
【0016】
【
図1】本開示の第1実施形態に係る設計変数最適化装置の構成例を示すブロック図である。
【
図2】本開示の第1実施形態に係る設計変数最適化装置の動作例を示すフローチャートである。
【
図3】本開示の第1実施形態に係る設計変数最適化装置の動作例を示すフローチャートである。
【
図4】本開示の第1実施形態に係る設計変数最適化装置の動作例を説明するための模式図である。
【
図5】本開示の第1実施形態に係る設計変数最適化装置の動作例を説明するための模式図である。
【
図6】本開示の第2実施形態に係る設計変数最適化装置の構成例を示すブロック図である。
【
図7】本開示の第2実施形態に係る設計変数最適化装置の動作例を示すフローチャートである。
【
図8】本開示の第2実施形態に係る設計変数最適化装置の動作例を説明するための模式図である。
【
図9】本開示の第2実施形態に係る設計変数最適化装置の動作例を説明するための模式図である。
【
図10】本開示の第3実施形態に係る設計変数最適化装置の動作例を示すフローチャートである。
【
図11】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0017】
以下、本開示の実施形態に係る設計変数最適化装置、設計変数最適化方法およびプログラムについて、各図を参照して説明する。なお、各図において同一または対応する構成には同一の符号を用いて説明を適宜省略する。
【0018】
<第1実施形態>
(設計変数最適化装置の構成)
図1は、本開示の第1実施形態に係る設計変数最適化装置の構成例を示すブロック図である。設計変数最適化装置1は、例えばサーバ、パーソナルコンピュータ等の1または複数のコンピュータと周辺装置等を用いて構成することができる。なお、複数のコンピュータの一部は、例えば、クラウド上等にネットワークを介して構成されていてもよい。設計変数最適化装置1は、1または複数のコンピュータと周辺装置等のハードウェアと、コンピュータが実行するプログラム等のソフトウェアとの組み合わせ等から構成される機能的構成として、制御部11、入出力部12、空間限定部13および最適化部14を備える。
【0019】
図1に示す設計変数最適化装置1は、所定の制約条件を満たし、所定の1または複数の目的関数を最小化(あるいは最大化)する最適な複数の設計変数の組み合わせを求める装置である。なお、本実施形態では、目的関数を最小化あるいは最大化することを、目的関数を最良化するという。また、設計変数は、設計パラメータともいう。また、目的関数は評価関数、応答関数(変数)等ともいう。また、目的関数を最小化(あるいは最大化)する設計変数の組み合わせを最適解という。また、複数回の探索処理を繰り返すことで最適解を求める場合に、各探索処理において目的関数の値を最良とする設計変数の組み合わせを最良解という。
【0020】
設計変数としては、例えば、軸流圧縮機設計におけるタービンのフローパス(形状)を表す変数等である。ただし、この例に限定されない。また、制約条件としては、例えば、各設計変数あるいは設計変数間の関係についての範囲や上限値、下限値についての制約条件や、設計変数には含まれていない選択された設計変数によって決定される要素についての範囲や上限値、下限値についての制約条件が含まれる。
【0021】
制御部11は、入出力部12、空間限定部13および最適化部14における処理を制御する。制御部11は、例えば、空間限定部13および最適化部14の処理の終了条件を判定したり、空間限定部13および最適化部14の動作条件を設定したりする。
【0022】
入出力部12は、例えば、キーボード、マウス、ディスプレイ、通信端末等を用いて、操作者の操作を受け付けたり、空間限定部13や最適化部14に対して所定のデータを入力したり、空間限定部13や最適化部14から所定のデータを出力したりする。
【0023】
空間限定部13は、複数の設計変数を各次元の要素とする多次元空間のうちの一部の空間を、最適化部14が探索対象とする探索空間に限定する。なお、多次元空間には、初期値として、すでに求めた複数のサンプル点が含まれているものとする。各サンプル点(あるいは各データ)は、設計変数の各値と目的関数の各値との組み合わせによって定義される。また、限定前の空間を全体空間、限定後の空間を部分空間という。
【0024】
本実施形態において空間限定部13は、空間探索法の一手法である既知のモンテカルロ木探索法を利用して探索空間を限定する。モンテカルロ木探索法は、モンテカルロ法を用いた木の探索である。本実施形態では木構造におけるルートを全体空間に対応させ、各ノードを部分空間に対応させる。本実施形態では空間分割を木構造で表現する。空間限定部13は、評価関数(目的関数)の値を考慮して、データを2クラス分類する。さらに、空間限定部13は、例えば、機械学習を用いた教師ありの分類手法を用いて、全体空間または部分空間を分割する。そして、空間限定部13は、評価関数値が高く、サンプル数が少ない空間を優先選択する。なお、空間限定部13における機械学習を用いた教師ありの分類手法としては、SVM(サポートベクタマシン)やロジスティック回帰を例示することができる。
【0025】
空間限定部13は、以上の分類、分割および選択を繰り返し実行し、部分空間のサイズを徐々に限定する。空間限定部13は、例えば所定の閾値と部分空間のサイズとの比較結果に基づき、閾値以下となった場合に部分空間のサイズの限定を終了する。
【0026】
なお、空間限定部13は、分類および分岐の選択の基準となる数値としてUCBを用いる。UCBは下式で求められる。
【0027】
UCB=J+α√{(log(np)/n)}
【0028】
ここで、Jは評価関数値平均値である。nはサンプル数である。npは親ノードのサンプル数である。αは経験則等に基づき定めた係数である。
【0029】
また、空間限定部13は、最適化部14による最適化処理の結果に基づき、新たに探索されたサンプル点を追加した後、再度、全体空間から部分空間を探索し、新たな探索空間を決定する。
【0030】
最適化部14は、空間限定部13が限定した部分空間または全体空間を起点となる探索空間とし、最良解を中心とした超立方体に探索空間を限定する。本実施形態では限定された探索空間を探索限定空間という。最適化部14は、最良解を中心とした超立方体に探索空間を限定する処理を繰り返すことで、最適解を決定する。本実施形態において最適化部14は、最良解を中心とした信頼領域内(超立方体)で応答曲面を評価し最適解を探索する手法である上述したTuRBOをベースとして用いて最適解を探索する。TuRBOは、ブラックボックス最適化の一手法である。また、TuRBOは、ガウス過程とトンプソンサンプリングを用いるベイズ最適化の一手法である。
【0031】
なお、ブラックボックス最適化は、最小化あるいは最大化したい目的関数の形が分からない場合でも入力に対する出力が分かればその関係を基に次の探索点として適切な入力を決定し、再び出力を得て次の探索点を探すという過程を繰り返すことで最適点を探索する手法である。また、ベイズ最適化は、不確かさを利用しながら次に探索すべき点を決定するブラックボックス最適化の一手法である。トンプソンサンプリングは、選択肢の事後確率を求め、その確率分布上でサンプリングをし、最も良好な選択肢を選ぶというサンプリングである。
【0032】
(設計変数最適化装置の動作例)
図2~
図5を参照して、第1実施形態における設計変数最適化装置1の動作例について説明する。
図2および
図3は、本開示の第1実施形態に係る設計変数最適化装置の動作例を示すフローチャートである。
図4および
図5は、本開示の第1実施形態に係る設計変数最適化装置の動作例を説明するための模式図である。
【0033】
図2は、設計変数最適化装置1全体の動作例を示す。
図3は、
図2におけるステップS11とステップS12内の処理の流れを示す。
図4は、探索空間の一例を模式的に示す。
図5は、探索限定空間の設定の流れを模式的に示す。
【0034】
図2に示すように、最適化部14は、まず、空間限定部13が限定した部分空間または全体空間を起点となる探索空間とし、探索空間内でランダムに複数点初期サンプリングを行う(S11)。次に、最適化部14は、最良解近傍に探索空間を限定しベイズ最適化でサンプリングを行う(S12)。最適化部14は、最良解および探索空間を更新する(S13)。次に、制御部11が、探索空間が収束したか否かを判定する(S14)。ここで、探索空間が収束した状態は、例えば探索空間が更新されなくなった状態である。探索空間が収束していなかった場合(S14:No)、最適化部14は、ステップS12およびS13の処理を再度実行する。
【0035】
ステップS11およびS12において、最適化部14は、
図3に示すように、解析ソルバ計算が成功した設計解のみを用いて応答曲面を作成する(S21)。次に、最適化部14は、解析ソルバ計算失敗点から、例えば、機械学習を用いた教師ありの分類手法により計算失敗領域を決定する(S22)。なお、最適化部14における機械学習を用いた教師ありの分類手法としては、k近傍法、one class SVM等を例示することができる。次に、最適化部14は、初期サンプリングの生成と、TuRBOの最適化計算における候補点生成の際、ランダムサンプリング(SOBOLサンプリング)した候補点群に対し、決定した計算失敗領域によるフィルタリング(領域の排除)を実施し、必要数が得られるまで繰り返す(S23)。次に、最適化部14は、得られた候補点群に対して、作成した応答曲面上の事後分布を評価し、次サンプリング点を算出する(S24)。
【0036】
なお、k近傍法は、教師あり機械学習モデルを用いた分類の一手法である。また、SOBOLサンプリングは、準乱数法による実験計画法の一手法である。
【0037】
図4は、超立方体の探索空間SP1を2次元平面上に模式的に示す。探索空間SP1は、黒塗りまたは密度の異なる横線のハッチングで示す応答曲面モデル評価値が異なる領域を含む。また、探索空間SP1は、解析結果が得られたサンプリング点(設計解)P1と、破線で示す解析結果が得られなかったサンプリング点(設計失敗点)P2を含む。また、点P3は、次回のサンプリング点である。また、斜線のハッチングで示す領域A1は、計算失敗領域である。
【0038】
図5は、ステップS11~S14における探索限定空間の決定例を示す。サンプリング点SPのうちサンプリング点SP2は最良解である。探索空間は制約違反空間と制約充足空間を含む。ステップST1-1では、サンプリング済みの複数のサンプリング点SP1から最良解であるサンプリング点SP2が選択されている。次に、ステップST1-2では、最良解であるサンプリング点SP2近傍に探索限定空間が設定され、探索限定空間内で次サンプリング点SP3が算出されている。ステップST1-3では、最良解であるサンプリング点SP2近傍に探索限定空間が設定され、探索限定空間内で次サンプリング点SP3が算出されている。探索限定空間は、徐々にサイズが限定される。このように最良解を中心とした超立方体に探索空間を限定することで効率的に最適解を探索することができる。なお、最良解は、制約充足解がある場合、評価関数値が最良となるサンプリング点であり、制約充足解がない場合、制約違反量が最小となるサンプリング点である。
【0039】
一方、探索空間が収束した場合(
図2のS14:Yes)、制御部11は、終了条件が満足したか否かを判定する(S15)。終了条件は、例えば評価関数値、探索回数、探索時間等が所定の閾値を超えたという条件である。終了条件が満足されなかった場合(S15:No)、空間限定部13は、最適化処理で新たに選択されたサンプリング点を加えた探索空間を起点として、モンテカルロ木を繰り返し更新する(S16)。次に、空間限定部13は、例えば部分空間のサイズが所定の閾値以下となった場合に部分空間の限定を終了し、モンテカルロ木に基づき探索空間を決定する(S17)。次に、最適化部14が、ステップS11の処理を再度実行する。
【0040】
また、終了条件が満足された場合(S15:Yes)、制御部11は、
図2に示す処理を終了する。
【0041】
以上のように、本実施形態では、解析ソルバ計算の成功可否でデータをラベリングし、解析ソルバ計算が成功したデータのみを用いて応答曲面モデルを生成する。また、解析ソルバ計算が失敗した解を覆う領域をk近傍法等の機械学習を用いた教師ありの分類手法で決定し、その領域内の点を除外して最適解を探索する。例えば、最適化で応答曲面や制約値の評価を行う候補点を生成する際に、ランダムで生成した候補点に対して解析ソルバ計算失敗のフィルタリングをかけ、残った候補点で評価を行い次のサンプリング点を決定することなどができる。
【0042】
(第1実施形態の作用・効果)
解析ソルバ計算が失敗して解析結果が得られない場合に対しても最適化を適用可能となり、最適化技術の適用範囲が拡大した。
【0043】
<第2実施形態>
図6~
図9を参照して、本開示の第2実施形態に係る設計変数最適化装置について説明する。
図6は、本開示の第2実施形態に係る設計変数最適化装置の構成例を示すブロック図である。
図7は、本開示の第2実施形態に係る設計変数最適化装置の動作例を示すフローチャートである。
図8および
図9は、本開示の第2実施形態に係る設計変数最適化装置の動作例を説明するための模式図である。
【0044】
図6に示すように、本開示の第2実施形態に係る設計変数最適化装置1aは、制御部11と、入出力部12と、空間限定部13aと、最適化部14とを備える。
図6に示す設計変数最適化装置1aでは、
図1に示す空間限定部13に対応する構成である空間限定部13aの構成が、空間限定部13と比較して一部異なっている。また、
図6に示す設計変数最適化装置1aの基本的な動作は、
図2に示す設計変数最適化装置1の基本的動作と同一である。ただし、
図6に設計変数最適化装置1aの動作では、
図2に示す設計変数最適化装置1の動作と比較して、
図2に示すステップS16の内容が一部異なる。
【0045】
図2に示すステップS16において、第2実施形態に係る空間限定部13aは、
図7および
図8に示すように、制約条件を考慮して空間限定を実行する。
図2に示すステップS16では、
図7に示す処理を繰り返し実行することで、モンテカルロ木を繰り返し更新する。
【0046】
図7に示す処理では、空間限定部13aは、ノード内の制約違反しているデータにラベル付けし、k近傍法により、以下のように正常データと異常(制約違反)データに分類する(S31)。
【0047】
異常データは、labn<δabnかつlnor>δnorかつlnor>labnを満たすデータである。ここで、labnは異常データまでの距離である。δabnは所定の閾値である。lnorは正常データまでの距離である。δnorは所定の閾値である。
【0048】
正常データは、上記以外のデータである。
【0049】
次に、空間限定部13aは、ノード内の正常データをUCB値により2クラス分類する(S32)。
【0050】
次に、空間限定部13aは、線形SVM等の機械学習を用いた教師ありの分類手法により領域を分割する(S33)。
【0051】
図8は、全体空間Aを部分空間Jにまで限定する処理の流れを模式的に示す。ステップST2-1では、全体空間Aは複数のサンプル点SPを含み、かつ、破線の丸印で示す異常のサンプル点SPに対し、ラベルSP1が付けられている。ステップST-2では、空間Aが、空間Bと空間Cと空間Dに分割されている。空間Bは制約違反に分類されたデータの空間である。空間CはUCB値が良いと分類されたデータの空間である。空間DはUCB値が悪いと分類されたデータの空間である。また、木構造T1では、ルートRaが空間Aに対応する。ノードNbが空間Bに対応する。ノードNcが空間Cに対応する。ノードNdが空間Dに対応する。空間限定部13aは、分類、分割および選択を繰り返し実行し、所定の条件を満たした場合に探索空間の限定を終了する。ステップST-3では、空間Jが探索空間に限定されている。
【0052】
なお、木構造T1において、ノードNeおよびノードNhは、制約違反に分類されたデータの空間に対応する。ノードNfおよびノードNjは、UCB値が良いと分類されたデータの空間に対応する。ノードNgおよびノードNiは、UCB値が悪いと分類されたデータの空間に対応する。
【0053】
図9は、第2実施形態に係る設計変数最適化装置1aにおける全体の処理の流れを示す。なお、空間限定における基本的な処理の流れは、
図8に示す処理の流れと同一である。また、最適化における基本的な処理の流れは、
図5に示す処理の流れと同一である。
図9に示す例では、空間限定で指定された探索空間を起点として(ST20)、最適化処理が実行される。また、最適化処理で探索空間が十分小さくなった場合に(ST10)、新たに得られたサンプリング点を加えて全体空間Aから再度空間限定が行われる。
【0054】
なお、第2実施形態では、計算失敗領域でのフィルタリング処理(
図3のS22およびS23)を第1実施形態と同様に実施してもよいし、実施しなくてもよい。すなわち、制約条件の考慮を空間限定の処理にのみ限定してもよい。
【0055】
第2実施形態では、制約違反している解をラベリングし、制約違反解を覆う領域をk近傍法等で決定する。また、領域内を除外した残りの解に対して、UCB値の評価によって分割することで、制約を考慮しながら、未探索かつ評価値が高そうな領域を決定することが出来る。
【0056】
(第2実施形態の作用・効果)
第2実施形態では、大規模な設計空間について、制約を考慮しながらUCB値の高い領域を決定することが出来るようになり、より効率的な最適解探索が可能となった。
【0057】
<第3実施形態>
図10を参照して、本開示の第3実施形態に係る設計変数最適化装置について説明する。
図10は、本開示の第3実施形態に係る設計変数最適化装置の動作例を示すフローチャートである。
図10に示すように、第3実施形態に係る設計変数最適化装置の動作では、
図2に示すフローのステップS13とステップS14の処理の間に、ステップS13-2の処理とステップS13-3の処理が設けられている。他の構成および動作については、第1実施形態の設計変数最適化装置1または第2実施形態の設計変数最適化装置1aと同一である。
【0058】
図10に示すように、第3実施形態に係る設計変数最適化装置では、最適化処理(ステップS11~S13)の際に、探索空間が収束直前であるか否かを判定し(S13-2)、探索空間が収束直前である場合に(S13-2:Yes)、獲得関数が最適化される(S13-3)。なお、ステップS13-2の処理とステップS13-3の処理は、最適化部14が実行してもよいし、制御部11が実行してもよい。なお、
図10に示すフローでは、収束直前であるか否かの判定基準は、例えばステップS14での探索空間が収束するか否かの判定基準と同様に(ただし判断基準値を異ならせて)設定することができる。
【0059】
非特許文献1や非特許文献2で用いているTuRBOでは、最良解が更新されない場合に領域を縮小し、解の収束性を向上させている。しかしながら制約付き最適化問題や解析ソルバ計算が失敗する場合では、制約なしの最適化と比較して最良解の更新がされづらく、1回のTuRBOで得られる解の評価値が良くない場合が生じうる。
【0060】
また、TuRBOでは設計パラメータ数が50次元程度の大規模な問題を対象にしている。そのため、計算コスト削減の点から、厳密に応答曲面上を最適化するのではなく、探索限定空間内をランダムサンプリングした候補点上で応答曲面を評価し、最良の点を次のサンプリング点として決定するトンプソンサンプリングを採用している。
【0061】
そこで、TuRBOによる解が収束したと判定される(信頼領域の大きさが規定値以下になる)直前に、制約を考慮した獲得関数の最適化を実行するように手法を改良する。これにより、1回のTuRBOで得られる解の評価値が向上する確率を上げられる。
【0062】
なお、獲得関数は、ベイズ最適化で次のサンプリング点を探すための指標として用いられる関数である。例えば、応答曲面モデル(ガウス過程回帰モデル)の平均値と分散を足した値を用いるUCB値などがある。ベイズ最適化では、この関数を勾配法等で厳密に最適化することで、次のサンプリング点を算出している。
【0063】
(第3実施形態の作用・効果)
制約や解析ソルバ計算失敗を考慮した場合でも、1回のTuRBOで得られる解の評価値が向上する可能性を上げることが出来る。
【0064】
(作用効果)
上記構成の設計変数最適化装置1および1aは、多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定する空間限定部13または13aと、所定の制約条件を満たし所定の目的関数を最良化する設計変数の組み合わせを解として、探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索する最適化部14とを備える。また、空間限定部13は、最適化部が探索した解を含めて探索空間を再限定し、最適化部14は、演算処理に失敗した設計変数の組み合わせの近傍の領域を探索空間から排除する。したがって、本開示の設計変数最適化装置、設計変数最適化方法およびプログラムによれば、解析結果が得られない場合がある問題に対して適用することができる。
【0065】
また、上記構成の設計変数最適化装置1aは、多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定する空間限定部13aと、所定の制約条件を満たし所定の目的関数を最良化する設計変数の組み合わせを解として、探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索する最適化部14とを備える。また、空間限定部13aは、最適化部が探索した解を含めて探索空間を再限定するととともに、制約条件を満たさない設計変数の組み合わせの近傍の領域を探索空間から排除する。したがって、本開示の設計変数最適化装置、設計変数最適化方法およびプログラムによれば、制約条件を満たさないことで解析結果が得られない場合がある問題に対して適用しやすくなる。
【0066】
<その他の実施形態>
以上、本開示の実施の形態について図面を参照して詳述したが、具体的な構成はこの実施の形態に限られるものではなく、本開示の要旨を逸脱しない範囲の設計変更等も含まれる。
【0067】
<コンピュータ構成>
図11は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ90は、プロセッサ91、メインメモリ92、ストレージ93、および、インタフェース94を備える。
上述の設計変数最適化装置1および1aは、コンピュータ90に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ93に記憶されている。プロセッサ91は、プログラムをストレージ93から読み出してメインメモリ92に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ91は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ92に確保する。
【0068】
プログラムは、コンピュータ90に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージに既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、コンピュータは、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)等が挙げられる。この場合、プロセッサによって実現される機能の一部または全部が当該集積回路によって実現されてよい。
【0069】
ストレージ93の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。ストレージ93は、コンピュータ90のバスに直接接続された内部メディアであってもよいし、インタフェース94または通信回線を介してコンピュータ90に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ90に配信される場合、配信を受けたコンピュータ90が当該プログラムをメインメモリ92に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ93は、一時的でない有形の記憶媒体である。
【0070】
<付記>
各実施形態に記載の設計変数最適化装置1および1aは、例えば以下のように把握される。
【0071】
(1)第1の態様に係る設計変数最適化装置1および1aは、多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定する空間限定部13または13aと、所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索する最適化部14とを備え、前記空間限定部13または13aは、前記最適化部が探索した解を含めて前記探索空間を再限定し、前記最適化部14は、前記演算処理に失敗した前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する。本態様によれば、解析結果が得られない場合がある問題に対して適用することができる。
【0072】
(2)第2の態様に係る設計変数最適化装置1aは、(1)の設計変数最適化装置1aであって、前記空間限定部13aは、前記制約条件を満たさない前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する。本態様によれば、解析結果が得られない場合がある問題に対してより適切に適用することができる。
【0073】
(3)第3の態様に係る設計変数最適化装置1または1aは、(1)または(2)の設計変数最適化装置1または1aであって、前記最適化部14は、前記演算処理の収束条件が満たされる直前に、前記演算処理の態様を変化させる。本態様によれば、解析結果が得られない場合がある問題に対してより適切に適用することができる。
【0074】
(4)第4の態様に係る設計変数最適化装置1aは、多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定する空間限定部13aと、所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索する最適化部14とを備え、前記空間限定部13aは、前記最適化部14が探索した解を含めて前記探索空間を再限定するととともに、前記制約条件を満たさない前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する。本態様によれば、制約条件を満たさないことで解析結果が得られない場合がある問題に対して適用しやすくなる。
【0075】
(5)第5の態様に係る設計変数最適化方法は、多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定するステップと、所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索するステップとを含み、前記演算処理によって探索された解を含めて前記探索空間を再限定し、前記演算処理に失敗した前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する。
【0076】
(6)第6の態様に係るプログラムは、多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定するステップと、所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索するステップとをコンピュータに実行させるプログラムであって、前記演算処理によって探索された解を含めて前記探索空間を再限定し、前記演算処理に失敗した前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する。
【0077】
(7)第7の態様に係る設計変数最適化方法は、多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定するステップと、所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索するステップとを含み、前記演算処理によって探索された解を含めて前記探索空間を再限定するととともに、前記制約条件を満たさない前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する。
【0078】
(8)第8の態様に係るプログラムは、多数の設計変数を要素とする多次元空間において探索対象とする探索空間を限定するステップと、所定の制約条件を満たし所定の目的関数を最良化する前記設計変数の組み合わせを解として、前記探索空間を起点として最良解の近傍に探索空間を限定することで新たな最良解を探索する演算処理を繰り返し実行することで、最適解を探索するステップとをコンピュータに実行させるプログラムであって、前記演算処理によって探索された解を含めて前記探索空間を再限定するととともに、前記制約条件を満たさない前記設計変数の組み合わせの近傍の領域を前記探索空間から排除する。
【符号の説明】
【0079】
1、1a…設計変数最適化装置
11…制御部
12…入出力部
13、13a…空間限定部
14…最適化部