(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-07
(45)【発行日】2024-05-15
(54)【発明の名称】最適化処理装置、最適化処理方法およびプログラム
(51)【国際特許分類】
G06N 99/00 20190101AFI20240508BHJP
【FI】
G06N99/00 180
(21)【出願番号】P 2020023045
(22)【出願日】2020-02-14
【審査請求日】2022-12-26
(73)【特許権者】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【氏名又は名称】伊藤 英輔
(74)【代理人】
【識別番号】100161702
【氏名又は名称】橋本 宏之
(74)【代理人】
【識別番号】100189348
【氏名又は名称】古都 智
(74)【代理人】
【識別番号】100196689
【氏名又は名称】鎌田 康一郎
(72)【発明者】
【氏名】西川 尚希
(72)【発明者】
【氏名】末廣 諭
(72)【発明者】
【氏名】丸山 真範
(72)【発明者】
【氏名】吉村 史隆
(72)【発明者】
【氏名】黒田 真三郎
(72)【発明者】
【氏名】中ノ瀬 潤
【審査官】北川 純次
(56)【参考文献】
【文献】特開2000-268018(JP,A)
【文献】国際公開第2015/186338(WO,A1)
【文献】特表2008-507038(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
設定値を決定する設定値決定部と、
暫定最適解を基準として前記設定値に応じた確率分布で定まる確率に基づき解候補を決定する解候補決定部と、
前記暫定最適解を変数とする目的関数の値と前記解候補を変数とする前記目的関数の値とを比較し、前記解候補を変数とする前記目的関数の値が前記暫定最適解を変数とする前記目的関数の値より適した値である場合に、前記解候補を前記暫定最適解とする解更新部と、
を備え
、
前記確率分布は、前記暫定最適解からの距離に応じて前記確率を増加させてから減少させる形状を有し、前記設定値に応じて前記距離と前記確率との対応関係が決定される
最適化処理装置。
【請求項2】
前記暫定最適解と前記解候補は、各要素が1ビットの値である複数要素からなる変数であり、
前記設定値が、前記各要素の反転確率に対応する値であり、
前記解候補決定部が、前記設定値に対応する反転確率で、前記暫定最適解の各要素を反転させることで前記解候補を決定する
請求項1に記載の最適化処理装置。
【請求項3】
前記解候補決定部は、前記解候補を変数とする前記目的関数の値が前記暫定最適解を変数とする前記目的関数の値より適した値であっても、所定の除外確率で前記解候補を前記暫定最適解とはしないか、または、前記解候補を変数とする前記目的関数の値が前記暫定最適解を変数とする前記目的関数の値より適しない値であっても、所定の包含確率で前記解候補を前記暫定最適解とする、
請求項1
または2に記載の最適化処理装置。
【請求項4】
最適化処理装置が、設定値を決定するステップと、
前記最適化処理装置が、暫定最適解を基準として前記設定値に応じた確率分布で定まる確率に基づき解候補を決定するステップと、
前記最適化処理装置が、前記暫定最適解を変数とする目的関数の値と前記解候補を変数とする前記目的関数の値とを比較し、前記解候補を変数とする前記目的関数の値が前記暫定最適解を変数とする前記目的関数の値より適した値である場合に、前記解候補を前記暫定最適解とするステップと、
を含
み、
前記確率分布は、前記暫定最適解からの距離に応じて前記確率を増加させてから減少させる形状を有し、前記設定値に応じて前記距離と前記確率との対応関係が決定される
最適化処理方法。
【請求項5】
設定値を決定するステップと、
暫定最適解を基準として前記設定値に応じた確率分布で定まる確率に基づき解候補を決定するステップと、
前記暫定最適解を変数とする目的関数の値と前記解候補を変数とする前記目的関数の値とを比較し、前記解候補を変数とする前記目的関数の値が前記暫定最適解を変数とする前記目的関数の値より適した値である場合に、前記解候補を前記暫定最適解とするステップと、
をコンピュータに実行させるプログラム
であって、
前記確率分布は、前記暫定最適解からの距離に応じて前記確率を増加させてから減少させる形状を有し、前記設定値に応じて前記距離と前記確率との対応関係が決定される
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、最適化処理装置、最適化処理方法およびプログラムに関する。
【背景技術】
【0002】
特許文献1には、分散遺伝的アルゴリズムを用いた最適化処理方法の例が開示されている。特許文献1に記載されている最適化処理方法では、複数の個体を有する島を複数形成し、複数の島それぞれに遺伝的アルゴリズムを適用して所望の条件をクリアするまで個体の交叉、突然変異、評価、選択を繰り返すとともに、ランダムに選択された個体を別の島に移住させることで最適解が求められる。この最適化処理方法によれば、各島のベストの個体を移住させた場合に見られるように同質の個体が各島に集まることがないので、局所解に留まることなく最適解に到達することができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の最適化処理方法では、例えば、遺伝子の数、突然変異の確率、個体数等の解の収束性等に係るパラメータの設定値と例えば解の探索範囲等との対応関係が直感的に理解し難く、パラメータの設定が難しい場合があるという課題があった。
【0005】
本開示は、上記事情に鑑みてなされたものであり最適化処理におけるパラメータを容易に設定することができる最適化処理装置、最適化処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本開示に係る最適化処理装置は、設定値(最適化処理におけるパラメータ、ハイパーパラメータ、反転確率等)を決定する設定値決定部と、暫定最適解を基準として前記設定値に応じた確率分布で定まる確率に基づき解候補を決定する解候補決定部と、前記暫定最適解を変数とする目的関数の値と前記解候補を変数とする前記目的関数の値とを比較し、前記解候補を変数とする前記目的関数の値が前記暫定最適解を変数とする前記目的関数の値より適した値である場合に、前記解候補を前記暫定最適解とする解更新部と、を備える。
【0007】
本開示に係る最適化処理方法は、設定値を決定するステップと、暫定最適解を基準として前記設定値に応じた確率分布で定まる確率に基づき解候補を決定するステップと、前記暫定最適解を変数とする目的関数の値と前記解候補を変数とする前記目的関数の値とを比較し、前記解候補を変数とする前記目的関数の値が前記暫定最適解を変数とする前記目的関数の値より適した値である場合に、前記解候補を前記暫定最適解とするステップと、を含む。
【0008】
本開示に係るプログラムは、設定値を決定するステップと、暫定最適解を基準として前記設定値に応じた確率分布で定まる確率に基づき解候補を決定するステップと、前記暫定最適解を変数とする目的関数の値と前記解候補を変数とする前記目的関数の値とを比較し、前記解候補を変数とする前記目的関数の値が前記暫定最適解を変数とする前記目的関数の値より適した値である場合に、前記解候補を前記暫定最適解とするステップと、をコンピュータに実行させる。
【発明の効果】
【0009】
本開示の最適化処理装置、最適化処理方法およびプログラムによれば、最適化処理におけるパラメータを直感的に設定することができる。
【図面の簡単な説明】
【0010】
【
図1】本開示の第1実施形態に係る最適化処理装置の構成例を示すブロック図である。
【
図2】本開示の第1実施形態の動作例を示すフローチャートである。
【
図3】本開示の第1実施形態の動作例を説明するための模式図である。
【
図4】本開示の第1実施形態の動作例を説明するための模式図である。
【
図5】本開示の第1実施形態の動作例を説明するための模式図である。
【
図6】本開示の第1実施形態の動作例を説明するための模式図である。
【
図7】本開示の第1実施形態の動作例を説明するための模式図である。
【
図8】本開示の第1実施形態の動作例を説明するための模式図である。
【
図9】本開示の第1実施形態の動作例を説明するための模式図である。
【
図11】ランダムサンプリングの概念を示す模式図である。
【
図12】本開示の第2実施形態に係る最適化処理装置の構成例を示すシステム図である。
【
図13】本開示の第2実施形態の動作例を説明するための模式図である。
【
図14】本開示の第2実施形態の動作例を説明するための模式図である。
【
図15】本開示の第2実施形態の動作例を説明するための模式図である。
【
図16】本開示の第2実施形態の動作例を説明するための模式図である。
【
図17】本開示の第2実施形態の動作例を説明するための模式図である。
【
図18】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0011】
<第1実施形態>
(最適化処理装置の構成)
以下、本開示の第1実施形態に係る最適化処理装置について、
図1~
図9を参照して説明する。
図1は、本開示の第1実施形態に係る最適化処理装置1の構成例を示すブロック図である。
図2は、本開示の第1実施形態の動作例を示すフローチャートである。
図3~
図9は、本開示の第1実施形態の動作例を説明するための模式図である。なお、各図において同一または対応する構成には同一の符号を用いて説明を適宜省略する。
【0012】
図1に示す最適化処理装置1は、例えば、サーバ、パーソナルコンピュータ等のコンピュータを用いて構成することができ、そのコンピュータまたはそのコンピュータとそのコンピュータの周辺装置等のハードウェアと、そのコンピュータが実行するプログラム等のソフトウェアとの組み合わせで構成される機能的構成として、設定値決定部2と、解候補決定部3と、解更新部4とを備える。
【0013】
最適化処理装置1は、暫定最適解の近傍に複数の解候補を生成し、暫定最適解を変数とする目的関数の値と解候補を変数とする目的関数の値とを比較し、解候補を変数とする目的関数の値がより適した値である場合に、暫定最適解を解候補で更新するという処理を繰り返し実行することで、最適解を算出する装置である。ここで、目的関数は、最適化処理において最大化または最小化したい値を算出する関数であり、暫定最適解または解候補を変数として関数の値を算出する。また、暫定最適解および解候補は、複数の同一個数の要素からなる多次元の変数(多次元ベクトル)である。例えば、暫定最適解XAはXA=(xa1、xa2、…、xan)で表すことができ、解候補XBはXB=(xb1、xb2、…、xbn)で表すことができる。ここで、変数xa1、xa2、…、xanと変数xb1、xb2、…、xbnは変数XAと変数XBの各要素を表す変数であり、nは変数XAと変数XBの要素の個数(2以上の整数)である。
【0014】
最適化処理装置1において、設定値決定部2は、設定値(最適化処理におけるパラメータ)を決定する。ここで、設定値は、解候補の生成確率を定める確率分布を決定するパラメータである。設定値決定部2は、例えば、操作者の指示操作に応じて手動で設定値(最適化処理におけるパラメータ)を決定したり、あるいは、予め用意した複数の選択値の中から操作者の指示操作に応じて選択することで半自動的に設定値を決定したり、あるいは、予め用意した選択値、統計的手法で生成した選択値や過去の実績に基づく選択値の中から自動的に値を選択することで設定値を決定したりすることで、設定値を決定する。なお、自動的に設定値を決定する場合には、設定値決定部2は、決定した設定値を所定の表示装置に表示する等して操作者に設定値を提示することが望ましい。
【0015】
解候補決定部3は、暫定最適解を基準として設定値に応じた確率分布で定まる確率に基づき解候補を決定する。
【0016】
そして、解更新部4は、暫定最適解を変数とする目的関数の値と解候補を変数とする目的関数の値とを比較し、解候補を変数とする目的関数の値が暫定最適解を変数とする目的関数の値より適した値である場合に、解候補を暫定最適解とする。ここで、より適した目的関数の値とは、目的関数を最小化する解を求める最適化処理では目的関数の値が小さいほどより適した値であり、目的関数を最大化する解を求める最適化処理では目的関数の値が大きいほどより適した値である。
【0017】
(最適化処理装置の動作例)
次に、
図2を参照して、
図1に示す最適化処理装置1の動作例(最適化処理の例)について説明する。
図2に示す処理では、まず、設定値決定部2が設定値を決定する(ステップS1)。設定値決定部2が決定する設定値は、例えば
図3~
図5に示す解候補の発生確率を定める確率分布PD11、PD12およびPD13を定めるパラメータである。
【0018】
図3~
図5は、解候補の発生確率を定める確率分布PD11~PD13の例を模式的に示す。
図3~
図5は、横軸に暫定最適解XAから解候補XBまでの距離をとり、縦軸に解候補XBの発生確率をとり、発生確率の確率分布PD11~PD13を表す。ここで、暫定最適解XAから解候補XBまでの距離とは、例えば、ユークリッド距離、マハラノビス距離、ハミング距離等の2変数間の近さ(遠さ)や間隔を表す値である。確率分布PD11~PD13は、暫定最適解XAから解候補XBまでの距離とそれに対応する確率との対応関係を表し、分布内の面積が1である。確率分布PD11~PD13は、暫定最適解XAからの距離に応じて確率を一旦、増加させてから減少させる形状を有し、設定値に応じてその距離と確率と対応関係が決定される。
図3に示す確率分布PD11は、矩形形状を有し、例えば分布の立ち上がり部分(確率を増加させる部分)までの距離D1と立ち下がり部分(確率を減少させる部分)までの距離D2を設定値としたり、分布の立ち上がり部分までの距離D1と対応する確率値P1を設定値としたりすることができる。また、
図4に示す確率分布PD12は、正規分布の形状を有し、例えば分布の頂点部分までの距離D11と距離D11を中心として所定の確率に対応する幅D12を設定値とすることができる。また、
図4に示す確率分布PD13は、三角形の形状を有し、例えば斜辺の立ち上がり部分までの距離D21と頂点までの距離D22と斜辺が立ち下がった部分までの距離D23を設定値とすることができる。なお、分布の形状や設定値の定め方はこれらの例に限定されない。また、設定値は、確率分布の形状を選択する値を含んでいてもよい。
【0019】
図2のステップS1で設定値決定部2が設定値を決定した後、次に、解候補決定部3が、暫定最適解を基準として設定値に応じた確率分布で定まる確率に基づき解候補を決定する(ステップS2)。
【0020】
次に、解更新部4が、暫定最適解を変数とする目的関数の値と解候補を変数とする目的関数の値とを比較する(ステップS3)。次に、解更新部4が、解候補を変数とする目的関数の値が暫定最適解を変数とする目的関数の値より適した値であるか否かを判断する(ステップS4)。一方、解候補を変数とする目的関数の値が暫定最適解を変数とする目的関数の値より適した値である場合(ステップS4で「YES」の場合)、解更新部4は、解候補を暫定最適解とした後(ステップS5)、終了条件を満たすか否かを判断する(ステップS6)。他方、解候補を変数とする目的関数の値が暫定最適解を変数とする目的関数の値より適した値でない場合(ステップS4で「NO」の場合)、解更新部4は、暫定最適解を更新せずに、終了条件を満たすか否かを判断する(ステップS6)。
【0021】
終了条件は、最適化処理を終了させる条件であり、例えば、同一の暫定最適解に対する解候補の生成回数が上限値に達したこと、目的関数の値や値の変化が所定の値に達したこと、処理時間が上限値に達したこと等である。
【0022】
解更新部4は、終了条件を満たす場合(ステップS6で「YES」の場合)、最適化処理を終了し、終了条件を満たさない場合(ステップS6で「NO」の場合)、解候補決定部3が、再度、解候補を決定する(ステップS2)。
【0023】
ここで、
図6~
図9を参照して、
図2に示す処理による暫定最適解の算出例について説明する。
図6~
図8は、暫定最適解と解候補の変化を模式的に示す。
図6~
図8は、2つの設計変数1および設計変数2を用いて、多次元の変数(暫定最適解と解候補)の位置関係を模式的に表す。
図6は、現在の暫定最適解A1と、暫定最適解A1を基準とした確率分布PD1と、確率分布PD1に基づいて決定された複数の解候補Cと、次の暫定最適解A2の例を示す。確率分布PD1は、濃淡で確率の大小を示す。
図6に示すように、複数の解候補Cから次の暫定最適解A2が決定されたとすると、
図7に示すように、暫定最適解A2を基準とした確率分布PD2に基づいて複数の解候補Cが生成される。そして、例えば、
図7に示す解候補Cのなかから次の暫定最適解A3が選択される。次に、
図8に示すように、暫定最適解A3を基準とした確率分布PD3に基づいて決定された複数の解候補が生成され、例えば、さらに次の暫定最適解A4が決定される。
【0024】
また、
図9は、
図6~
図8に示す暫定最適解A1~A4と、目的関数の値と、暫定最適解A2を基準とする確率分布PD2に対応する発生確率との対応を模式的に示す。なお、
図9に示す例では、目的関数が最小化を目的とする関数である。
図9に示す例では、暫定最適解A2の目的関数の値は局所的な最小値をとる。
図9に示す例では、解候補Cの生成の仕方によっては次の山を越えられない場合(破線の丸印の場合)がある。しかしながら、本実施形態では、設定値と暫定最適解A2を基準とする解候補までの距離を直感的に把握することができるので(設定値と探索範囲の対応を直感的に把握することができるので)、適切な設定値を決定して次の暫定最適解A3を算出することが、探索範囲を直感的に把握できない場合と比べて容易となる。
【0025】
(最適化処理装置の作用・効果と変形例)
以上のように、本実施形態の最適化処理装置1では、暫定最適解を基準として設定値に応じた確率分布で定まる確率に基づき解候補を決定するので、例えば解の探索範囲を直感的に変化させることができる。
【0026】
ここで、
図10と
図11を参照して、本実施形態による最適化処理と、一般的な局所探索法とランダムサンプリングによる最適化処理について比較する。
図10は、局所探索法の概念を示す模式図であり、目的関数と暫定最適解の移動を立体的に示す。
図11は、ランダムサンプリングの概念を示す模式図であり、目的関数と解候補の選択位置を立体的に示す。
【0027】
図10に示すように、一般的な局所探索法では、近傍に新たな解(暫定最適解)を生成し、例えば目的関数を最大化する最適化処理では、山を登る方向に進んでいく。前回値を起点に解を更新するのでより良い解を効率良く探索することができる。一方、局所解に陥ると抜け出すことができず、大域的な最適解たどり着けない局所解問題が発生する。
【0028】
一方、
図11に示すように、ランダムサンプリングでは、毎回ランダムな解を生成し、今まで見つかった最良の値を記憶していく。前回の目的関数の値(評価値)とは無関係に新しい解候補を生成するので局所解に陥ることがない。すなわち、解空間を広く探索することができる。ただし、ランダムなため、最適解を見つけるまでに反復回数を多く要し、効率が悪い。
【0029】
これに対して、本実施形態によれば、(1)暫定最適解を決定し、(2)暫定最適解を起点として設定値で定まる一定の探索範囲において新たな解候補を生成し、(3)発生した近傍解(解候補)の中でより良いものが見つかれば暫定最適解を更新し、(4)新たな暫定最適解を起点に(2)と(3)を繰り返すことで最適化処理が行われる。ここで、(2)のステップはランダムサンプリング的な考え方を取り入れたものであり、(3)のステップは局所探索法の考え方に基づくものと考えることができる。すなわち、本実施形態の最適化手法は、局所解を避けるためにランダム性を取り入れつつも、暫定最適解を常に持っておき、それを基軸としてその近傍に新たな解候補を生成するようにすることで、純粋なランダムサンプリングより効率的に最適解を探索することができる。
【0030】
なお、本実施形態の構成は、上記のものに限定されず、例えば、解候補決定部3は、解候補を変数とする目的関数の値が暫定最適解を変数とする目的関数の値より適した値であっても、所定の除外確率で解候補を暫定最適解とはしないようにしてもよい。あるいは、解候補決定部3は、解候補を変数とする目的関数の値が暫定最適解を変数とする目的関数の値より適した値でなくても、所定の包含確率で解候補を暫定最適解とするようにしてもよい。解候補決定部3をこのように動作させることで、本実施形態の最適化手法に、最適化手法の1つである、焼き鈍し法的な考え方を取り入れて、解の探索動作をより多様化させることができる。
【0031】
<第2実施形態>
次に、本開示の第2実施形態に係る最適化処理装置について、
図12~
図17を参照して説明する。
図12は、本開示の第2実施形態に係る最適化処理装置の構成例を示すシステム図である。
図13~
図17は、本開示の第2実施形態の動作例を説明するための模式図である。第2実施形態に係る最適化処理装置1a(
図12)は、
図1に示す第1実施形態の最適化処理装置1と同様に、設定値決定部2と、解候補決定部3と、解更新部4とを備える。ただし、第1実施形態と第2実施形態では、設定値決定部2と、解候補決定部3と、解更新部4の動作の一部が異なる。
【0032】
また、第2実施形態において、暫定最適解と解候補は、各要素が1ビットの値である複数要素(複数ビット)からなる変数である。すなわち、第2実施形態において、暫定最適解XAはXA=(ba1、ba2、…、ban)で表すことができ、解候補XBはXB=(bb1、bb2、…、bbn)で表すことができる。ここで、変数ba1、ba2、…、banと変数bb1、bb2、…、bbnは変数XAと変数XBの各要素を表す変数であり、各要素は「0」または「1」の値をとる1ビットの2進数である。
【0033】
また、設定値決定部2が決定する設定値は、各要素の反転確率pfに対応する値である。また、解候補決定部3は、設定値に対応する反転確率pfで、暫定最適解XAの各要素ba1、ba2、…、banをビット毎に反転させることで解候補XBを決定する。
【0034】
図12に示すように、第2実施形態の最適化処理装置1aでは、最適化処理において、設定値決定部2が反転確率pfを設定値として決定する(ステップS10)。次に、解候補決定部3が、反転確率pfで、暫定最適解XAの各要素ba1、ba2、…、banを反転させることで解候補XBを決定する(ステップS11)。
【0035】
そして、解更新部4は、目的関数J(XA)と目的関数J(XB)を比較し(ステップS12)、目的関数J(XB)が目的関数J(XA)より大きい場合に(ステップS12で「YES」の場合に)解候補XBを新たな暫定最適解XAとし(ステップS13)、目的関数J(XB)が目的関数J(XA)より大きくない場合に(ステップS12で「NO」の場合に)暫定最適解XAを更新しない(ステップS14)。ただし、
図12に示す最適化処理は、目的関数Jを最大化する処理である。
【0036】
第2実施形態の最適化処理装置1aは、ステップS11~ステップS14の処理を繰り返し実行することで、暫定最適解を最適化する。
【0037】
第2実施形態において各要素(各ビット)の反転確率がpfである場合、
図13に示すように、値「0」が値「1」に変化する確率と値「1」が値「0」に変化する確率はpfとなり、値「0」が値「0」のまま変化しない確率と値「1」が値「1」のまま変化しない確率は(1-pf)となる。反転確率がpfの場合に、nビットのうちkビットだけ異なった解が作られる確率p(n、k、pf)は次式(二項分布)で求められる。
【0038】
【0039】
ここで、nCkはnビットからkビットを選択する組み合わせの数、(pf)kはkビットが反転する確率、(1-pf)n-kは(n-k)ビットが反転しない確率である。
【0040】
図14は、反転数(ハミング距離;反転するビット数)と発生確率との対応の例(確率分布の例)を示す。
図14に示す例は、n=10として、反転確率pfを、pf=0.5とした場合とpf=0.25とした場合を示す。例えば、反転確率pf=0.5とした場合、
図15に示す近傍半径rの期待値は5となる。
図15は、
図6と同様にして、現在の暫定最適解A1と、暫定最適解A1を基準とした確率分布P(n、k、pf)と、確率分布P(n、k、pf)に基づいて決定された複数の解候補Cと、次の暫定最適解A2の例を示す。
図15に示すように、第2実施形態では、反転確率pfによって、新たな解の発生範囲(近傍半径r)を制御する(設定する)ことができる。
【0041】
なお、第2実施形態は、例えば、
図16に示すような配電系統5で事故が起こった際に代替給電経路を求める最適化問題に適用することができる。
図16に示す配電系統5は、発電機ノードG1およびG2と、負荷ノードL1~L5と、ノード間の開閉器B1~B17と、各ノード間を接続する複数の配電線とを備える。この場合、配電系統5において、発電機ノードG1は開閉器B1を介してノードn1に接続されている。発電機ノードG2は開閉器B14を介してノードn7に接続されている。負荷ノードL1は開閉器B4を介してノードn3に接続されている。負荷ノードL2は開閉器B8を介してノードn4に接続されている。負荷ノードL3は開閉器B9を介してノードn5に接続されている。負荷ノードL4は開閉器B10を介してノードn6に接続されている。負荷ノードL5は開閉器B17を介してノードn9に接続されている。また、ノードn1は開閉器B2を介してノードn2に接続されるとともに、開閉器B5を介してノードn4に接続されている。また、ノードn2は開閉器B3を介してノードn3に接続されるとともに、開閉器B6を介してノードn5に接続されている。また、ノードn3は開閉器B7を介してノードn6に接続されている。また、ノードn4は開閉器B11を介してノードn7に接続されている。また、ノードn5は開閉器B12を介してノードn8に接続されている。また、ノードn6は開閉器B13を介してノードn9に接続されている。また、ノードn7は開閉器B15を介してノードn8に接続されている。また、ノードn8は開閉器B16を介してノードn9に接続されている。
【0042】
この場合、最適化処理装置1aは、暫定最適解XAの各要素ba1、ba2、…、banと解候補XBの各要素bb1、bb2、…、bbn(n=17)を、開閉器B1~B17のオン「1」またはオフ「0」に対応させて、所定の目的関数Jが最大化するように最適解を算出する。目的関数Jは例えば次式で表さされる電力利用率とすることができる。
【0043】
【0044】
上式において変数Xは、暫定最適解XAまたは解候補XBに対応し、変数iは負荷ノードL1~L5の数字1~5に対応する。変数Prequested(i)は負荷ノードLiの要求電力を表し、変数Psupplied(i、X)は、開閉器B1~B17が変数Xの状態をとる場合に負荷ノードLiに対して供給される電力を表す。
【0045】
例えば、
図16に示す配電系統5において、
図17に示すようにノードn2の近傍で事故が発生した場合の最適解を求める場合、事故点に直近の開閉器B2、B3およびB6をオフ状態として、他の開閉器B1、B4~B5およびB7~B17のオンまたはオフの組み合わせの最適解を求めることになる。すなわち、最適化処理装置1aは、暫定最適解XAの要素ba2、ba3およびba6と、解候補XBの要素bb2、bb3およびbb6を「0」に固定して、他の要素の「0」または「1」とする組み合わせにおいて目的関数Jの最大化を図る解を算出する。
【0046】
なお、第2実施形態の最適化処理装置1aは、設計変数(変数の各要素)が離散的である(ビットで表される)最適化問題に広く適用することができる。例えば、上述した配電系統の代替給電経路の最適解を求める場合のほか、通信ネットワークの経路の最適解を求める問題等に適用することができる。また、ナップザック問題(取捨選択による利益最大化)や画像修復、巡回セールスマン問題に帰着される搬送経路計画、基板穿孔ルートの最適化にも適用可能である。
【0047】
以上のように、本実施形態の最適化処理装置1aでは、暫定最適解を基準として設定値(反転確率)に応じた確率分布で定まる確率に基づき解候補を決定するので、設定値を変化させることで、例えば解の探索範囲を直感的に変化させることができる。また、第2実施形態おける最適化手法におけるパラメータ(ハイパーパラメータ)は、反転確率(あるいは反転するビット数)のみであり、解探索の局所的な領域を理論的に把握可能であり、かつ直感的に制御可能である。また、演算もビット操作をベースとするため、例えば、高速で非力な計算機(マイコン等)でも実装可能である。また、局所解へのトラップも回避することができる。
【0048】
(その他の実施形態)
以上、本開示の実施の形態について図面を参照して詳述したが、具体的な構成はこの実施の形態に限られるものではなく、本開示の要旨を逸脱しない範囲の設計変更等も含まれる。
【0049】
<コンピュータ構成>
図18は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ90は、プロセッサ91、メインメモリ92、ストレージ93、インタフェース94を備える。
上述の最適化処理装置1および1aは、コンピュータ90に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ93に記憶されている。プロセッサ91は、プログラムをストレージ93から読み出してメインメモリ92に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ91は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ92に確保する。
【0050】
プログラムは、コンピュータ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)が挙げられる。この場合、プロセッサによって実現される機能の一部または全部が当該集積回路によって実現されてよい。
【0051】
ストレージ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は、一時的でない有形の記憶媒体である。
【0052】
<付記>
各実施形態に記載の最適化処理装置1および1aは、例えば以下のように把握される。
【0053】
(1)第1の態様に係る最適化処理装置1および1aは、設定値を決定する設定値決定部2と、暫定最適解を基準として前記設定値に応じた確率分布で定まる確率に基づき解候補を決定する解候補決定部3と、前記暫定最適解を変数とする目的関数の値と前記解候補を変数とする前記目的関数の値とを比較し、前記解候補を変数とする前記目的関数の値が前記暫定最適解を変数とする前記目的関数の値より適した値である場合に、前記解候補を前記暫定最適解とする解更新部4と、を備える。
この構成によれば、最適化処理における設定値(最適化処理におけるパラメータ)を直感的に設定することができる。
【0054】
(2)第2の態様の最適化処理装置1および1aは、(1)の最適化処理装置1および1aであって、前記確率分布は、前記暫定最適解からの距離に応じて前記確率を増加させてから減少させる形状を有し、前記設定値に応じて前記距離と前記確率と対応関係が決定される。
この構成によれば、暫定解から一定の距離を有する位置の解候補の発生確率を他の位置に比べて高くすることができる。
【0055】
(3)第3の態様の最適化処理装置1および1aは、(1)の最適化処理装置1および1aであって、前記暫定最適解と前記解候補は、各要素が1ビットの値である複数要素からなる変数であり、前記設定値が、前記各要素の反転確率に対応する値であり、前記解候補決定部3が、前記設定値に対応する反転確率で、前記暫定最適解の各要素を反転させることで前記解候補を決定する。
この構成によれば、設定値を変化させることで、例えば解の探索範囲を直感的に変化させることができる。
【0056】
(4)第4の態様の最適化処理装置1および1aは、(1)~(3)の最適化処理装置1および1aであって、前記解候補決定部3は、前記解候補を変数とする前記目的関数の値が前記暫定最適解を変数とする前記目的関数の値より適した値であっても、所定の除外確率で前記解候補を前記暫定最適解とはしないか、または、前記解候補を変数とする前記目的関数の値が前記暫定最適解を変数とする前記目的関数の値より適しない値であっても、所定の包含確率で前記解候補を前記暫定最適解とする。
この構成によれば、より多様性をもって解を探索することができる。
【符号の説明】
【0057】
1、1a 最適化処理装置
2 設定値決定部
3 解候補決定部
4 解更新部