IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特開2024-83111情報処理装置、情報処理方法、およびプログラム
<>
  • 特開-情報処理装置、情報処理方法、およびプログラム 図1
  • 特開-情報処理装置、情報処理方法、およびプログラム 図2
  • 特開-情報処理装置、情報処理方法、およびプログラム 図3
  • 特開-情報処理装置、情報処理方法、およびプログラム 図4
  • 特開-情報処理装置、情報処理方法、およびプログラム 図5
  • 特開-情報処理装置、情報処理方法、およびプログラム 図6
  • 特開-情報処理装置、情報処理方法、およびプログラム 図7
  • 特開-情報処理装置、情報処理方法、およびプログラム 図8
  • 特開-情報処理装置、情報処理方法、およびプログラム 図9
  • 特開-情報処理装置、情報処理方法、およびプログラム 図10
  • 特開-情報処理装置、情報処理方法、およびプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024083111
(43)【公開日】2024-06-20
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
   G06N 99/00 20190101AFI20240613BHJP
【FI】
G06N99/00 180
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022197445
(22)【出願日】2022-12-09
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】窪田 大
(72)【発明者】
【氏名】江藤 力
(72)【発明者】
【氏名】西村 考弘
(57)【要約】
【課題】最適化問題の修正に必要な指標を提供する。
【解決手段】情報処理装置(1)は、予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解を算出する第1の算出部(11)と、第2の解と共に、第1の解を参照することによって、最適化計算の進捗度を算出する第2の算出部(12)と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解を算出する第1の算出手段と、
前記第1の算出手段により算出された第2の解と共に、前記第1の解を参照することによって、前記第1の算出手段による最適化計算の進捗度を算出する第2の算出手段と、
を備える情報処理装置。
【請求項2】
前記最適化問題において最適化の対象となる変数を連続変数とした緩和問題を生成する生成手段をさらに備え、
前記第2の算出手段は、前記第1の算出手段により算出された第2の解と共に、前記生成手段により生成された緩和問題の最適解を前記第1の解として参照することによって、前記進捗度を算出する、請求項1に記載の情報処理装置。
【請求項3】
前記第2の算出手段が算出した進捗度を表示装置に出力する出力手段、
をさらに備える請求項1に記載の情報処理装置。
【請求項4】
前記第2の算出手段は、前記進捗度として、前記第1の算出手段により算出された第2の解と、前記第1の解との距離を算出する、
請求項1~3の何れか1項に記載の情報処理装置。
【請求項5】
前記第2の算出手段は、前記進捗度として、前記最適化問題の解空間のうち解の探索が完了した領域の割合を、前記第1の算出手段により算出された第2の解と、前記第1の解とを参照することによって算出する、
請求項1~3の何れか1項に記載の情報処理装置。
【請求項6】
前記第2の算出手段が算出した前記進捗度を、機械学習により生成された予測モデルに入力することにより、前記最適化問題の残り時間を予測する予測手段、
をさらに備える請求項1~3の何れか1項に記載の情報処理装置。
【請求項7】
前記第2の算出手段が算出した前記進捗度を、ルールベースのアルゴリズムに入力することにより、前記最適化問題の残り時間を予測する予測手段、
をさらに備える請求項1~3の何れか1項に記載の情報処理装置。
【請求項8】
情報処理装置が、
予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解を算出することと、
前記算出することにおいて算出された第2の解と共に、前記第1の解を参照することによって、前記算出することにおける最適化計算の進捗度を算出することと、
を含む情報処理方法。
【請求項9】
コンピュータを情報処理装置として機能させるプログラムであって、
前記コンピュータを、
予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解を算出する第1の算出手段と、
前記第1の算出手段により算出された第2の解と共に、前記第1の解を参照することによって、前記第1の算出手段による最適化計算の進捗度を算出する第2の算出手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、最適化問題に関する指標を算出する情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
最適解の探索範囲を定義する制約条件の下において最適化の対象となる目的関数を最小化または最大化する最適化問題を表す数理モデルに関して、様々な最適化の手法が知られている。
【0003】
特許文献1には、学習データから組合せの評価値を予測する予測モデルを生成し、予測モデルを用いて最適解の探索を行う場合に、距離により制限された範囲内で最適解を探索する最適化処理装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2021-157456号
【発明の概要】
【発明が解決しようとする課題】
【0005】
最適化問題を修正するため、解を分析する技術が求められている。特に、最適化問題一般に対する汎用的な解を分析するための情報として、解に対する目的関数の値および解の値以外の指標の提示が求められている。しかしながら、特許文献1には、解に対する目的関数の値および解の値以外の指標を提示する構成に相当する構成は開示されていない。
【0006】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、最適化問題の修正に必要な指標を提供する技術を提供することである。
【課題を解決するための手段】
【0007】
本発明の一態様に係る情報処理装置は、予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解を算出する第1の算出手段と、前記第1の算出手段により算出された第2の解と共に、前記第1の解を参照することによって、前記第1の算出手段による最適化計算の進捗度を算出する第2の算出手段と、を備える。
【0008】
本発明の一態様に係る情報処理方法は、情報処理装置が、予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解を算出することと、前記算出することにおいて算出された第2の解と共に、前記第1の解を参照することによって、前記算出することにおける最適化計算の進捗度を算出することと、を含む。
【0009】
本発明の一態様に係るプログラムは、コンピュータを情報処理装置として機能させるプログラムであって、前記コンピュータを、予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解を算出する第1の算出手段と、前記第1の算出手段により算出された第2の解と共に、前記第1の解を参照することによって、前記第1の算出手段による最適化計算の進捗度を算出する第2の算出手段と、として機能させる。
【発明の効果】
【0010】
本発明の一態様によれば、最適化問題の修正に必要な指標を提供することができる。
【図面の簡単な説明】
【0011】
図1】本発明の例示的実施形態1に係る情報処理装置の構成を示すブロック図である。
図2】本発明の例示的実施形態1に係る情報処理方法の流れを示すフロー図である。
図3】本発明の例示的実施形態2に係る情報処理装置の構成を示すブロック図である。
図4】本発明の例示的実施形態2に係る情報処理方法の流れを示すフロー図である。
図5】本発明の例示的実施形態2において進捗度を算出する処理の流れを示すフロー図である。
図6】本発明の例示的実施形態2において進捗度を算出する処理の流れを示すフロー図である。
図7】本発明の例示的参考形態1に係る情報処理装置の構成を示すブロック図である。
図8】本発明の例示的参考形態1に係る情報処理方法の流れを示すフロー図である。
図9】本発明の例示的参考形態2に係る情報処理装置の構成を示すブロック図である。
図10】本発明の例示的参考形態2に係る情報処理方法の流れを示すフロー図である。
図11】各例示的実施形態に係る情報処理装置又は各例示的参考形態に係る情報処理装置として機能するコンピュータの構成を示すブロック図である。
【発明を実施するための形態】
【0012】
〔最適化問題〕
後述する各実施形態または各参考形態に係る情報処理装置は、最適化問題の修正に必要な指標を算出する装置である。対象となる最適化問題は、特に限定されないが、例えば、以下の最適化問題が想定される。
【0013】
(最適化問題)
解空間Xにおいて目的関数f(x,x,…,xΓ)を最大化する要素(x,x,…,xΓ)∈Xを求める問題のことを、「最適化問題」という。ここで、解空間Xは、制約条件C1,C2,…,Cmを満たす要素(x,x,…,xΓ)の集合である。各制約条件Ci(i=1,2,…,m)は、変数x,x,…,xΓの一部又は全部を含む数式(例えば、等式又は不等式)により表現される。
【0014】
(線形計画問題、整数線形計画問題、混合整数線形計画問題)
目的関数及び制約条件が全ての変数に関して線形になる最適化問題のうち、変数x,x,…,xΓが連続変数(実数変数)である最適化問題を、「線形計画問題」といい、変数x,x,…,xΓが離散変数(整数変数)である最適化問題を、「整数線形計画問題」という。また、目的関数及び制約条件が全ての変数に関して線形になる最適化問題のうち、変数x,x,…,xΓに連続変数と離散変数との両方が含まれる最適化問題を、「混合整数線形計画問題」という。また、変数x,x,…,xΓが連続変数(実数変数)であり、目的関数f(x,x,…,xΓ)と制約条件がxに関して2次の最適化問題を、「2次計画問題」という。
【0015】
(2次制約なしバイナリ最適化問題)
下記の目的関数f(x,x,…,xΓ)を最大化する要素(x,x,…,xΓ)∈Xを求める問題のことを、「2次制約無しバイナリ最適化問題」という。ここで、変数x,x,…,xΓは、それぞれ、0又は1の値を取るバイナリ変数である。2次制約無しバイナリ最適化問題では、制約条件を直接扱うことはできないが、目的関数に制約条件に対応する項を追加することで、近似的に扱うことが可能である。
【0016】
【数1】
【0017】
〔例示的実施形態1〕
本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0018】
(情報処理装置1の構成)
本例示的実施形態に係る情報処理装置1の構成について、図1を参照して説明する。図1は、本例示的実施形態に係る情報処理装置1の構成を示すブロック図である。
【0019】
本例示的実施形態に係る情報処理装置1は、予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解と共に、第1の解を参照することによって、最適化計算の進捗度を算出する装置である。
【0020】
ここで進捗度とは、最適化計算が進んだのかを示す指標である。具体的な算出方法は後述する。
【0021】
また、「第1の解」には、予め定められた制約条件の下で最適化問題の大域的最適解およびその近似解が含まれる。また、「第2の解」には、大域的最適解またはその近似解に収束する中間解が含まれる。
【0022】
本例示的実施形態に係る情報処理装置1は、図1に示すように、第1の算出部11および第2の算出部12を備えている。第1の算出部11および第2の算出部12は、それぞれ本例示的実施形態において、第1の算出手段および第2の算出手段を実現する構成である。
【0023】
第1の算出部11は、予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解を算出する。第1の算出部11は、算出した第2の解を、第2の算出部12に供給する。
【0024】
第2の算出部12は、第1の算出部11により算出された第2の解と共に、第1の解を参照することによって、第1の算出部11による最適化計算の進捗度を算出する。
【0025】
以上のように、本例示的実施形態に係る情報処理装置1においては、予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解を算出する第1の算出部11と、第1の算出部11により算出された第2の解と共に、第1の解を参照することによって、第1の算出部11による最適化計算の進捗度を算出する第2の算出部12とを備える構成が採用されている。
【0026】
このように、本例示的実施形態に係る情報処理装置1は、最適化問題を表す数理モデルを修正する際に、最適化計算を最後まで行わず、途中でユーザが計算結果を確認した場合でも、どの程度最適化計算が進んだのかを示す進捗度を提供することができる。ユーザは、進捗度を参照し、最適化計算を再び行うか否かを判断することができる。したがって、本例示的実施形態に係る情報処理装置1によれば、最適化問題の修正に必要な指標を提供することができるという効果が得られる。
【0027】
(情報処理方法S1の流れ)
本例示的実施形態に係る情報処理方法S1の流れについて、図2を参照して説明する。図2は、本例示的実施形態に係る情報処理方法S1の流れを示すフロー図である。
【0028】
(ステップS11)
ステップS11において、第1の算出部11は、予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解を算出する。第1の算出部11は、算出した第2の解を、第2の算出部12に供給する。
【0029】
(ステップS12)
ステップS12において、第2の算出部12は、第1の算出部11により算出された第2の解と共に、第1の解を参照することによって、第1の算出部11による最適化計算の進捗度を算出する。
【0030】
以上のように、本例示的実施形態に係る情報処理方法S1においては、第1の算出部11が、予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解を算出するステップS11と、第2の算出部12が、第1の算出部11により算出された第2の解と共に、第1の解を参照することによって、第1の算出部11による最適化計算の進捗度を算出するステップS12とを含む構成が採用されている。このため、本例示的実施形態に係る情報処理方法S1によれば、上述した情報処理装置1と同様の効果が得られる。
【0031】
〔例示的実施形態2〕
本発明の第2の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態1にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を適宜省略する。
【0032】
(情報処理装置3の概要)
本例示的実施形態に係る情報処理装置3の構成について、図3を参照して説明する。図3は、本例示的実施形態に係る情報処理装置3の構成を示すブロック図である。
【0033】
本例示的実施形態に係る情報処理装置3は、予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解と共に、第2の解を参照することによって、最適化計算の進捗度を算出する装置である。
【0034】
「進捗度」の例として、中間解xと、大域的最適解xoptまたは近似解xLPとの距離、および最適化問題の解空間のうち解の探索が完了した領域の割合を示す探索率rが挙げられる。
【0035】
また、「第1の解」には、予め定められた制約条件の下で最適化問題の大域的最適解xoptおよびその近似解xLPが含まれる。また、「第2の解」には、大域的最適解xoptまたはその近似解xLPに収束する中間解xが含まれる。換言すると、情報処理装置3は、予め定められた制約条件の下で最適化問題の大域的最適解xoptまたはその近似解xLPに収束する中間解xと共に、大域的最適解xoptまたはその近似解xLPを参照することによって、最適化計算の進捗度を算出する装置である。
【0036】
(情報処理装置3の構成)
本例示的実施形態に係る情報処理装置3は、図3に示すように、制御部31、通信部35、および記憶部36を備えている。
【0037】
通信部35は、データを送受信するインターフェースである。通信部35が受信するデータの例として、最適化の対象となる変数、目的関数、制約条件、および大域的最適解xoptが挙げられる。通信部35が送信するデータの一例として、中間解xの進捗度が挙げられる。
【0038】
また、情報処理装置3は、通信部35に替えて、または通信部35に加えて、データの入力を受け付けるインターフェースであるデータ入力部、およびデータを出力するインターフェースであるデータ出力部を備える構成であってもよい。
【0039】
記憶部36は、制御部31が参照するデータが格納される。記憶部36に格納されるデータの一例として、最適化の対象となる変数、目的関数、制約条件、中間解x、後述する緩和問題の最適解、および大域的最適解xoptが挙げられる。
【0040】
(制御部31の機能)
制御部31は、情報処理装置3が備える各構成要素を制御する。また、制御部31は、第1の算出部11、第2の算出部12、生成部32、予測部33、および出力部34を備えている。第1の算出部11、第2の算出部12、生成部32、予測部33、および出力部34は、それぞれ本例示的実施形態において、第1の算出手段、第2の算出手段、生成手段、予測手段、および出力手段を実現する構成である。
【0041】
第1の算出部11は、予め定められた制約条件の下で最適化問題の大域的最適解xoptまたはその近似解xLPに収束する中間解xを算出する。一例として、第1の算出部11は、記憶部36に格納されている最適化の対象となる変数、目的関数、および制約条件を取得し、当該制約条件の下で、目的関数を最大化または最小化する最適化問題の大域的最適解xoptまたはその近似解xLPに収束する中間解xを算出する。第1の算出部11は、算出した中間解xを、記憶部36に格納する。第1の算出部11が中間解xを算出する方法の一例として、大域的最適解xoptまたはその近似解xLPが算出される前に確認した計算途中の結果を、中間解xとして算出する方法が挙げられる。
【0042】
第2の算出部12は、第1の算出部11によって算出された中間解xと共に、大域的最適解xopt、または、その近似解xLPを参照することによって、第1の算出部11による最適化計算の進捗度を算出する。一例として、第2の算出部12は、記憶部36に格納されている中間解xを取得する。また、記憶部36に大域的最適解xoptが格納されている場合、第2の算出部12は、大域的最適解xoptも取得する。また、第2の算出部12は、後述する生成部32が生成した緩和問題の最適解を取得する。そして、第2の算出部12は、取得した中間解xと共に、大域的最適解xopt、または緩和問題の最適解を近似解xLPとして参照し、進捗度を算出する。第2の算出部12が進捗度を算出する処理の例については、後述する。
【0043】
生成部32は、最適化問題において最適化の対象となる変数を連続変数とした緩和問題を生成する。生成部32が緩和問題を生成する方法の一例として、最適化問題において最適化の対象となる変数(例えば、目的関数の変数)に離散変数(例えば、整数)が含まれる場合、その/それらの離散変数を連続変数に置き換えることにより、緩和問題を生成する方法が挙げられる。
【0044】
予測部33は、最適化問題の残り時間を予測する。一例として、予測部33は、第2の算出部12が算出した進捗度を、機械学習により生成された予測モデルに入力することにより、最適化問題の残り時間を予測する。
【0045】
ここで予測モデルとは、説明変数と目的変数の関係を表す情報である。予測モデルは例えば、説明変数に基づいて目的とする変数を算出することにより推定対象の結果を推定するためのコンポーネントである。予測モデルは、「学習モデル」、「分析モデル」、「AIモデル」、「学習済みモデル」、「推論モデル」、または「予測式」などと記載されることもある。
【0046】
また、予測モデルを生成するための学習アルゴリズムは特に限定されず、既存の学習アルゴリズムでよい。例えば、学習アルゴリズムは、ランダムフォレスト、サポートベクターマシン、ナイーブベイズ、ニューラルネットワークであってよい。
【0047】
他の例として、予測部33は、第2の算出部12が算出した進捗度を、ルールベースのアルゴリズムに入力することにより、最適化問題の残り時間を予測する。
【0048】
出力部34は、通信部35を介してデータを出力する。一例として、出力部34は、第2の算出部12が算出した進捗度を出力する。さらに、出力部34は、予測部33が予測した残り時間を出力してもよい。
【0049】
また、出力部34は、算出した進捗度(および予測した残り時間)を、ディスプレイを介して画像として出力してもよいし、スピーカを介して音声として出力してもよい。また、出力部34は、画像として出力する場合、算出した進捗度に応じて棒グラフや円グラフで表示するように出力してもよい。また、進捗度として探索率rを算出した場合、出力部34は、探索率rを百分率として、円グラフなどを用いて表示してもよい。
【0050】
(情報処理方法S3の流れ)
情報処理装置3が進捗度を出力する処理の流れについて、図4を参照して説明する。図4は、本例示的実施形態に係る情報処理方法S3の流れを示すフロー図である。
【0051】
(ステップS31)
ステップS31において、第1の算出部11は、記憶部36から最適化の対象となる変数、目的関数、および制約条件を取得し、当該制約条件の下で、目的関数を最大化または最小化する最適化問題の第1の解(大域的最適解xoptまたはその近似解xLP)に収束する第2の解(中間解x)を算出する。第1の算出部11は、算出した中間解xを、記憶部36に格納する。
【0052】
(ステップS32)
ステップS32において、第2の算出部12は、第1の算出部11により算出された中間解xと共に、大域的最適解xopt、または、その近似解xLPを参照することによって、第1の算出部11による最適化計算の進捗度を算出する。第2の算出部12は、算出した進捗度を記憶部36に格納する。第2の算出部12が進捗度を算出する処理の例については、後述する。
【0053】
(ステップS33)
ステップS33において、出力部34は、記憶部36に格納されている進捗度を、通信部35を介して出力する。
【0054】
(進捗度を算出する処理の例1)
上述したステップS32の処理の一例について、図5を参照して説明する。図5は、本例示的実施形態において進捗度を算出する処理S32_1の流れを示すフロー図である。図5を参照して、第2の算出部12が、進捗度として、中間解xと、大域的最適解xopt、または近似解xLPとの距離を算出する処理について説明する。
【0055】
(ステップS321_1)
ステップS321_1において、生成部32は、最適化問題において最適化の対象となる変数を連続変数とした緩和問題を生成する。生成部32が緩和問題を生成する方法については、上述した通りである。生成部32は、生成した緩和問題を記憶部36に格納する。
【0056】
(ステップS322_1)
ステップS322_1において、第2の算出部12は、進捗度として、中間解xと、大域的最適解xopt、または近似解xLPとの距離を算出する。以下、ステップS322_1の一例について説明する。
【0057】
第2の算出部12はまず、記憶部36から緩和問題を取得する。そして、第2の算出部12は、緩和問題の最適解(すなわち、大域的最適解xoptの近似解xLP)を算出する。
【0058】
第2の算出部12は、記憶部36から大域的最適解xoptを取得できた場合、中間解xと、大域的最適解xoptとの距離を算出する。一例として、第2の算出部12は、以下の式(1)を用いて、中間解xと、大域的最適解xoptとの距離を算出する。
【0059】
【数2】
【0060】
一方、第2の算出部12は、記憶部36から大域的最適解xoptを取得できなかった場合、中間解xと、近似解xLPとの距離を算出してもよい。一例として、第2の算出部12は、以下の式(2)を用いて、中間解xと、近似解xLPとの距離を算出する。
【0061】
【数3】
【0062】
第2の算出部12は、算出した距離を、記憶部36に格納する。
【0063】
また、第2の算出部12は、学習済モデルを使って距離を算出してもいい。一例として、第2の算出部12は、中間解xと、大域的最適解xoptまたは近似解xLPとを入力として、中間解xと大域的最適解xoptとの距離、または中間解xと近似解xLPとの距離を出力する学習済モデルを用いる構成が挙げられる。
【0064】
このように、第2の算出部12は、最適化計算の進捗度として、中間解xと、大域的最適解xopt、または近似解xLPとの距離を算出する。そのため、第2の算出部12は、最適化問題の修正に必要な指標として、中間解xと、大域的最適解xopt、または近似解xLPとの距離を提供することができる。
【0065】
また、第2の算出部12は、緩和問題の最適解を近似解xLPとして、中間解xと、近似解xLPとの距離を算出する。緩和問題の最適解は、離散変数が存在する問題に比べて高速に最適化計算することができるため、第2の算出部12は、計算時間を短縮することができる。
【0066】
(ステップS323_1)
ステップS323_1において、予測部33は、第2の算出部12が算出した距離を参照して、最適化問題の残り時間を予測する。
【0067】
一例として、予測部33は、機械学習により生成された予測モデルを用いて、最適化問題の残り時間を予測する。予測モデルは、距離を入力として、最適化問題の予測した残り時間を出力するように学習済のモデルである。
【0068】
このように、予測部33は、機械学習により生成された予測モデルを用いて、最適化問題の残り時間を予測する。そのため、予測部33は、最適化問題の残り時間を好適に予測することができる。
【0069】
なお、上述したステップS33において、出力部34は、ステップS322_1において算出された距離に加えて、ステップS323_1において算出された残り時間を、通信部35を介して出力してもよい。
【0070】
(進捗度を算出する処理の例2)
上述したステップS32の処理の他の例について、図8を参照して説明する。図8は、本例示的実施形態において進捗度を算出する処理S32_2の流れを示すフロー図である。図8を参照して、第2の算出部12が、進捗度として、最適化問題の解空間のうち解の探索が完了した領域の割合を示す探索率rを算出する処理について説明する。
【0071】
(ステップS321_2)
ステップS321_2において、生成部32は、最適化問題において最適化の対象となる変数を連続変数とした緩和問題を生成する。生成部32が緩和問題を生成する方法については、上述した通りである。生成部32は、生成した緩和問題を記憶部36に格納する。
【0072】
(ステップS322_2)
ステップS322_2において、第2の算出部12は、進捗度として、最適化問題の解空間のうち解の探索が完了した領域の割合を示す探索率rを、中間解xと、大域的最適解xopt、または、近似解XLPとを参照することによって算出する。以下、ステップS322_2について詳しく説明する。以下では、探索率を100分率で表す。具体的には、解空間全ての探索が終わった場合の探索率rを100%、最適化計算を始める前の、解の探索が全く行われていない場合の探索率rを0%とする。
【0073】
第2の算出部12はまず、記憶部36から緩和問題を取得する。そして、第2の算出部12は、緩和問題の最適解(すなわち、大域的最適解xoptの近似解XLP)を算出する。
【0074】
第2の算出部12は、記憶部36から大域的最適解xoptを取得できた場合、中間解xと大域的最適解xoptとが一致するか否かを判定する。中間解xと大域的最適解xoptとが一致する場合、第2の算出部12は、解空間全ての探索が終わったとみなし、探索率rを100%に設定する。
【0075】
一方、中間解xと大域的最適解xoptとが一致しない場合、第2の算出部12は、以下の式(6)を用いて、探索率rを算出する。
【0076】
【数4】
【0077】
また、第2の算出部12は、学習済モデルを使って探索率rを算出してもいい。。一例として、第2の算出部12は、中間解xと、大域的最適解xoptまたは近似解xLPとを入力として、中間解xと大域的最適解xoptとの探索率r、または中間解xと近似解xLPとの探索率rを出力する学習済モデルを用いる構成が挙げられる。
【0078】
このように、第2の算出部12は、最適化計算の進捗度として、中間解xと、大域的最適解xopt、または近似解xLPとを参照して、最適化問題の解空間のうち解の探索が完了した領域の割合である探索率rを算出する。そのため、第2の算出部12は、最適化問題の修正に必要な指標として、最適化問題の解空間のうち解の探索が完了した領域の割合を提供することができる。
【0079】
(ステップS323_2)
ステップS323_2において、予測部33は、第2の算出部12が算出した探索率rを参照して、最適化問題の残り時間を予測する。
【0080】
一例として、予測部33は、機械学習により生成された予測モデルを用いて、最適化問題の残り時間を予測する。予測モデルは、探索率rを入力として、最適化問題の予測した残り時間を出力するように学習済のモデルである。
【0081】
このように、予測部33は、機械学習により生成された予測モデルを用いて、最適化問題の残り時間を予測する。そのため、予測部33は、最適化問題の残り時間を好適に予測することができる。
【0082】
他の例として、予測部33は、ルールベースのアルゴリズムに入力することにより、最適化問題の残り時間を予測する。
【0083】
ルールベースのアルゴリズムの例として、計算中に得た実行可能解x、および中間解xを得るまでに掛かった時間tとして、計算時間を目的変数、探索率を説明変数とする回帰式を用いて、探索率100%となるまでの計算時間を予測するアルゴリズムが挙げられる。回帰式との一例として、t=p×(探索率)+qが挙げられる。p+qが、全ての探索を終えるまでに必要な時間の予測値となる値である。
【0084】
このように、予測部33は、ルールベースのアルゴリズムを用いて、最適化問題の残り時間を予測する。そのため、予測部33は、最適化問題の残り時間を好適に予測することができる。
【0085】
なお、上述したステップS33において、出力部34は、ステップS322_2において算出された探索率rに加えて、ステップS323_2において算出された残り時間を、通信部35を介して出力してもよい。
【0086】
(情報処理装置3の効果)
このように、本例示的実施形態に係る情報処理装置3は、最適化問題において最適化の対象となる変数を連続変数とした緩和問題を生成し、緩和問題の最適解を大域的最適解xoptの近似解xLPとして、進捗度(距離または探索率r)を算出する。緩和問題の最適解は、離散変数が存在する問題に比べて高速に最適化計算することができるため、本例示的実施形態に係る情報処理装置3は、計算時間を短縮することができる。
【0087】
〔参考形態1〕
本発明の第1の参考形態について、図面を参照して詳細に説明する。本参考形態は、後述する参考形態の基本となる形態である。
【0088】
(情報処理装置5の構成)
本参考形態に係る情報処理装置5の構成について、図7を参照して説明する。図7は、本参考形態に係る情報処理装置5の構成を示すブロック図である。
【0089】
本参考形態に係る情報処理装置5は、予め定められた制約条件の下で算出された最適化問題の解の、制約条件に対する解のロバスト性指標を算出する装置である。
【0090】
本参考形態に係る情報処理装置5は、図7に示すように、第1の算出部51と、第2の算出部52とを備えている。
【0091】
第1の算出部51は、予め定められた制約条件の下で最適化問題の解を算出する。第1の算出部51は、算出した解を、第2の算出部52に供給する。
【0092】
第2の算出部52は、第1の算出部51が算出した解と制約条件とに基づいて、制約条件に対する解のロバスト性指標を算出する。
【0093】
以上のように、本参考形態に係る情報処理装置5は、予め定められた制約条件の下で最適化問題の解を算出する第1の算出部51と、第1の算出部51が算出した解と制約条件とに基づいて、制約条件に対する解のロバスト性指標を算出する第2の算出部52とを備える構成が採用されている。
【0094】
最適化問題の解は、問題を作る際の人為エラー、計測誤差、およびその他不確実要素などによって、実施不可能になる場合がある。本参考形態に係る情報処理装置5によれば、算出した最適化問題の解が、制約条件の変化に対してどの程度の影響を受けるかを示す解のロバスト性指標を算出する。ユーザは、制約条件に対する解のロバスト性指標を参照し、最適化問題が正しいか否かを判断することができる。したがって、本参考形態に係る情報処理装置5は、最適化問題の修正に必要な指標を提供することができる。
【0095】
(情報処理方法S5の流れ)
本参考形態に係る情報処理方法S5の流れについて、図8を参照して説明する。図8は、本参考形態に係る情報処理方法S5の流れを示すフロー図である。
【0096】
(ステップS51)
ステップS51において、第1の算出部51は、予め定められた制約条件の下で最適化問題の解を算出する。第1の算出部51は、算出した解を、第2の算出部52に供給する。
【0097】
(ステップS52)
ステップS52において、第2の算出部52は、第1の算出部51が算出した解と制約条件とに基づいて、制約条件に対する解のロバスト性指標を算出する。
【0098】
以上のように、本参考形態に係る情報処理方法S5においては、第1の算出部51が予め定められた制約条件の下で最適化問題の解を算出するステップS51と、第2の算出部52が、第1の算出部51が算出した解と制約条件とに基づいて、制約条件に対する解のロバスト性指標を算出するステップS52とを含む構成が採用されている。このため、本参考形態に係る情報処理方法S1によれば、上述した情報処理装置5と同様の効果が得られる。
【0099】
〔参考形態2〕
本発明の第2の参考形態について、図面を参照して詳細に説明する。なお、参考形態1にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を適宜省略する。
【0100】
(情報処理装置7の構成)
本参考形態に係る情報処理装置7の構成について、図9を参照して説明する。図9は、本参考形態に係る情報処理装置7の構成を示すブロック図である。
【0101】
本参考形態に係る情報処理装置7は、予め定められた制約条件の下で算出された最適化問題の解の、制約条件に対する解のロバスト性指標を算出する装置である。予め定められた制約条件の下で算出された最適化問題の解は、局所解であってもよいし、大域的最適解であってもよい。
【0102】
本参考形態に係る情報処理装置7は、図9に示すように、制御部71、通信部75、および記憶部76を備えている。
【0103】
通信部75は、データを送受信するインターフェースである。通信部75が受信するデータの例として、最適化の対象となる変数、目的関数、および制約条件が挙げられる。通信部35が送信するデータの一例として、制約条件に対する解のロバスト性指標が挙げられる。
【0104】
また、情報処理装置7は、通信部75に替えて、または通信部75に加えて、データの入力を受け付けるインターフェースであるデータ入力部、およびデータを出力するインターフェースであるデータ出力部を備える構成であってもよい。
【0105】
記憶部76は、制御部71が参照するデータが格納される。記憶部76に格納されるデータの一例として、最適化の対象となる変数、目的関数、制約条件、最適化問題の解、後述する変更後の制約条件、および解のロバスト性指標が挙げられる。
【0106】
(制御部71)
制御部71は、情報処理装置7が備える各構成要素を制御する。また、制御部71は、第1の算出部51、第2の算出部52、生成部72、および出力部73を備えている。
【0107】
第1の算出部51は、予め定められた制約条件の下で最適化問題の解を算出する。一例として、第1の算出部51は、記憶部76に格納されている最適化の対象となる変数、目的関数、および制約条件に基づく最適化問題の解を算出する。第1の算出部51は、算出した解を、記憶部76に格納する。
【0108】
第2の算出部52は、制約条件に対する解のロバスト性指標を算出する。一例として、第2の算出部52は、記憶部76に格納されている解と、生成部72が生成した変更後の制約条件とに基づいて、制約条件に対する解のロバスト性指標を算出する。一例として、第2の算出部52は、生成部72が生成した変更後の複数の制約条件のうち、第1の算出部51が算出した解が満たす制約条件の割合を、ロバスト性指標として算出する。第2の算出部52が解のロバスト性指標を算出する処理の例について、後述する。
【0109】
生成部72は、変更後の制約条件を生成する。一例として、生成部72は、記憶部76に格納されている制約条件にノイズを加えることにより、変更後の制約条件を生成する。また、生成部72は、記憶部76に格納されている制約条件にノイズを加える処理を繰り返すことにより、変更後の制約条件を複数生成する。生成部72が複数の変更後の制約条件を生成する処理の例について、後述する。
【0110】
出力部73は、通信部75を介してデータを出力する。一例として、出力部73は、第2の算出部52が算出した解のロバスト性指標を出力する。
【0111】
また、出力部73は、解のロバスト性指標(または、後述する制約条件に含まれる係数毎の解のロバスト性指標)を、ディスプレイを介して画像として出力してもよいし、スピーカを介して音声として出力してもよい。また、出力部73は、画像として出力する場合、ロバスト性指標の高い順(または低い順)でソートして出力してもよい。また、出力部73は、ロバスト性指標を棒グラフや円グラフで表示するように出力してもよい。
【0112】
(情報処理方法S7の流れ)
情報処理装置7が解精度指標を出力する処理の流れについて、図10を参照して説明する。図10は、本参考形態に係る情報処理方法S7の流れを示すフロー図である。
【0113】
(ステップS71)
ステップS71において、第1の算出部51は、記憶部76に格納されている最適化の対象となる変数、目的関数、および制約条件に基づく最適化問題の解を算出する。第1の算出部51は、算出した解を記憶部76に格納する。
【0114】
(ステップS72)
ステップS72において、生成部72は、記憶部76に格納されている制約条件にノイズを加えることにより、変更後の制約条件を複数生成する。生成部72は、生成した変更後の複数の制約条件を、記憶部76に格納する。
【0115】
ステップS72において、生成部72は、記憶部76に格納されている制約条件に含まれる係数の少なくとも1つにノイズとして値を加え、変更後の制約条件を生成してもよい。生成部72は、値を加える係数または加える値を変更することにより、変更後の制約条件を複数生成する。生成部72は、生成した変更後の複数の制約条件を、記憶部76に格納する。このように、生成部72は、制約条件に含まれる係数の少なくとも1つにノイズとして値を加える処理を繰り返すことにより、変更後の制約条件を複数生成することができる。
【0116】
例えば、ax+bx=1という制約条件があった場合、生成部72は、係数aに値を加えた(a+ε)x+bx=1を生成する。次に、生成部72は、係数bに値を加えたax+(b+λ)x=1を生成する。さらに、生成部72は、係数aおよび係数bに値を加えた(a+ε)x+(b+λ)x=1を生成する。
【0117】
他の例として、生成部72は、制約条件に含まれる係数のうち、1つの係数にノイズとして値を加え、変更後の制約条件を生成する。生成部72は、それぞれの係数にノイズを加える処理を繰り返すことにより、変更後の制約条件を複数生成する。
【0118】
例えば、ax+bx=1という制約条件があった場合、生成部72は、係数aに値を加え、(a+ε)x+bx=1を生成する。次に、生成部72は、係数aに加える値を変更し、(a+μ)x+bx=1を生成する。続いて、生成部72は、値を加える係数をaからbに変更し、ax+(b+λ)x=1を生成する。さらに、生成部72は、係数bに加える値を変更し、ax+(b+τ)x=1を生成する。
【0119】
(ステップS73)
ステップS73において、第2の算出部52は、記憶部76に格納されている解(第1の算出部51によって算出された解)と、変更後の制約条件とに基づいて、制約条件に対する解のロバスト性指標を算出する。第2の算出部52は、算出したロバスト性指標を、記憶部76に格納する。
【0120】
例えば、変更後の複数の制約条件が100個あり、解が満たす制約条件が95個あった場合、第2の算出部52は、ロバスト性指標を「95%」に設定する。
【0121】
他の例として、第2の算出部52は、制約条件に含まれる係数毎に、制約条件に対する解のロバスト性指標を算出する。例えば、ax+bx=1という制約条件があり、生成部72が、(a+ε)x+bx=1、(a+μ)x+bx=1、ax+(b+λ)x=1、およびax+(b+τ)x=1を生成した場合を想定する。
【0122】
この場合、第2の算出部52は、記憶部76に格納されている解が、(a+ε)x+bx=1および(a+μ)x+bx=1のうち、いくつ満たしているかを算出する。例えば、記憶部76に格納されている解が、(a+ε)x+bx=1のみを満たす場合、第2の算出部52は、係数aのロバスト性指標を「50%」に設定する。他の例として、記憶部76に格納されている解が、(a+ε)x+bx=1および(a+μ)x+bx=1の両方を満たす場合、第2の算出部52は、係数aのロバスト性指標を「100%」に設定する。第2の算出部52は、係数bについても同様に、係数bのロバスト性指標を算出する。
【0123】
このように、第2の算出部52は、制約条件に含まれる係数毎に、制約条件に対する解のロバスト性指標を算出する。したがって、第2の算出部52は、制約条件の係数毎のロバスト性指標を提供するので、最適化問題の修正に必要な指標を提供することができる。
【0124】
さらに他の例として、第2の算出部52は、解および生成部72が生成した変更後の複数の制約条件を入力として、ロバスト性指標を出力するように機械学習して生成された算出アルゴリズムを用いて、制約条件に対する解のロバスト性指標を算出する。具体的には、第2の算出部52は、記憶部76に格納されている解と変更後の複数の制約条件とを、算出アルゴリズムに入力する。そして、第2の算出部52は、算出アルゴリズムから出力された値を、制約条件に対する解のロバスト性指標として設定する。
【0125】
このように、第2の算出部52は、解および変更後の複数の制約条件を入力として、ロバスト性指標を出力するように機械学習して生成された算出アルゴリズムを用いて、制約条件に対する解のロバスト性指標を算出する。そのため、第2の算出部52は、ロバスト性指標を好適に算出することができる。
【0126】
(ステップS74)
ステップS74において、出力部73は、記憶部76に格納されているロバスト性指標を出力する。
【0127】
(情報処理装置7の効果)
このように、本参考形態に係る情報処理装置7は、制約条件にノイズを加えることにより変更した変更後の制約条件を複数生成し、変更後の複数の制約条件のうち、解が満たす制約条件の割合を、制約条件に対する解のロバスト性指標として算出する。したがって、本参考形態に係る情報処理装置7においても、最適化問題の修正に必要な指標を提供することができる。
【0128】
〔ソフトウェアによる実現例〕
情報処理装置1、3、5、7の一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0129】
後者の場合、情報処理装置1、3、5、7は、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を図11に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを情報処理装置1、3、5、7として動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、情報処理装置1、3、5、7の各機能が実現される。
【0130】
プロセッサC1としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、TPU(Tensor Processing Unit)、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。メモリC2としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせなどを用いることができる。
【0131】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インターフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インターフェースを更に備えていてもよい。
【0132】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0133】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0134】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
【0135】
(付記1)
予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解を算出する第1の算出手段と、前記第1の算出手段により算出された第2の解と共に、前記第1の解を参照することによって、前記第1の算出手段による最適化計算の進捗度を算出する第2の算出手段と、を備える情報処理装置。
【0136】
(付記2)
前記最適化問題において最適化の対象となる変数を連続変数とした緩和問題を生成する生成手段をさらに備え、前記第2の算出手段は、前記第1の算出手段により算出された第2の解と共に、前記生成手段により生成された緩和問題の最適解を前記第1の解として参照することによって、前記進捗度を算出する、付記1に記載の情報処理装置。
【0137】
(付記3)
前記第2の算出手段が算出した進捗度を表示装置に出力する出力手段、をさらに備える付記1または2に記載の情報処理装置。
【0138】
(付記4)
前記第2の算出手段は、前記進捗度として、前記第1の算出手段により算出された第2の解と、前記第1の解との距離を算出する、付記1~3の何れかに記載の情報処理装置。
【0139】
(付記5)
前記第2の算出手段は、前記進捗度として、前記最適化問題の解空間のうち解の探索が完了した領域の割合を、前記第1の算出手段により算出された第2の解と、前記第1の解とを参照することによって算出する、付記1~3の何れかに記載の情報処理装置。
【0140】
(付記6)
前記第2の算出手段が算出した前記進捗度を、機械学習により生成された予測モデルに入力することにより、前記最適化問題の残り時間を予測する予測手段、をさらに備える付記1~5の何れかに記載の情報処理装置。
【0141】
(付記7)
前記第2の算出手段が算出した前記進捗度を、ルールベースのアルゴリズムに入力することにより、前記最適化問題の残り時間を予測する予測手段、をさらに備える付記1~5の何れかに記載の情報処理装置。
【0142】
(付記8)
情報処理装置が、予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解を算出することと、前記算出することにおいて算出された第2の解と共に、前記第1の解を参照することによって、前記算出することにおける最適化計算の進捗度を算出することと、を含む情報処理方法。
【0143】
(付記8a)
前記最適化問題において最適化の対象となる変数を連続変数とした緩和問題を生成することをさらに含み、前記進捗度を算出することにおいて、前記第2の解を算出することにおいて算出された第2の解と共に、前記緩和問題を生成することにおいて生成された緩和問題の最適解を前記第1の解として参照することによって、前記進捗度を算出する、付記8に記載の情報処理装置。
【0144】
(付記9)
コンピュータを情報処理装置として機能させるプログラムであって、前記コンピュータを、予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解を算出する第1の算出手段と、前記第1の算出手段により算出された第2の解と共に、前記第1の解を参照することによって、前記第1の算出手段による最適化計算の進捗度を算出する第2の算出手段と、として機能させるプログラム。
【0145】
(付記9a)
前記コンピュータを、前記最適化問題において最適化の対象となる変数を連続変数とした緩和問題を生成する生成手段としてさらに機能させ、前記第2の算出手段は、前記第1の算出手段により算出された第2の解と共に、前記生成手段により生成された緩和問題の最適解を前記第1の解として参照することによって、前記進捗度を算出する、付記9に記載の情報処理装置。
【0146】
(付記10)
少なくとも1つのプロセッサを備え、前記プロセッサは、予め定められた制約条件の下で最適化問題の第1の解に収束する第2の解を算出する第1の算出処理と、前記第1の算出処理において算出された第2の解と共に、前記第1の解を参照することによって、前記第1の算出手段による最適化計算の進捗度を算出する第2の算出処理と、を実行する情報処理装置。
【0147】
なお、この情報処理装置は、更にメモリを備えていてもよく、このメモリには、前記第1の算出処理と、前記第2の算出処理と、を前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0148】
1、3、5、7 情報処理装置
11 第1の算出部
12 第2の算出部
32 生成部
33 予測部
34 出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11