(57)【要約】  想定可能な不確実性を考量したロバスト最適化モデルにおける最適解を算出するため、本発明の情報処理装置は、一つ又は複数のパラメータにおける変動を考慮した最適解を算出する最適化モデルを取得するモデル取得手段と、最適化モデルにおける最適解を算出する最適化手段と、最適解を基に最適化モデルを変換するモデル変換手段と、最適解を出力する出力手段とを含む。
2017135314.tif 000002
【特許請求の範囲】
【請求項１】
一つ又は複数のパラメータにおける変動を考慮した最適解を算出する最適化モデルを取得するモデル取得手段と、
前記最適化モデルにおける前記最適解を算出する最適化手段と、
前記最適解を基に前記最適化モデルを変換するモデル変換手段と、
前記最適解を出力する出力手段と
を含む情報処理装置。
【請求項２】
前記モデル変換手段が、
算出された前記最適解を用いて前記最適化モデルにおける前記パラメータの前記変動の範囲における最小値を探索するように前記最適化モデルの変換し、
前記最適化手段が、
変換後の前記最適化モデルにおける前記最適解を算出する
請求項１に記載の情報処理装置。
【請求項３】
所定の条件を満足するまで、
前記モデル変換手段における前記最適化モデルを変換する動作と、前記最適化手段における前記最適解の算出する動作とを繰り返す
請求項２に記載の情報処理装置。
【請求項４】
前記最適化モデルにおける前記パラメータを基に前記最適化モデルを作成し、作成した前記最適化モデルを前記モデル取得手段に送信するモデル作成手段
をさらに含む請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
前記モデル作成手段が、
前記最適化モデルの作成に用いられるモデルである原型モデルと、学習データとを保存するデータ記憶手段と、
前記学習データを用いた機械学習を基に、前記原型モデルを修正した学習後モデルと作成するモデル学習手段と、
前記最適化モデルにおける少なくとも一部の前記パラメータを受信するパラメータ受信手段と、
前記パラメータと前記学習後モデルとを基に、前記最適化モデルを作成するモデル計算手段と
を含む請求項４に記載の情報処理装置。
【請求項６】
一つ又は複数のパラメータにおける変動を考慮した最適解を算出する最適化モデルを取得し、
前記最適化モデルにおける前記最適解を算出し、
前記最適解を基に前記最適化モデルを変換し、
前記最適解を出力する
情報処理方法。
【請求項７】
一つ又は複数のパラメータにおける変動を考慮した最適解を算出する最適化モデルを取得する処理と、
前記最適化モデルにおける前記最適解を算出する処理と、
前記最適解を基に前記最適化モデルを変換する処理と、
前記最適解を出力する処理と
をコンピュータに実行させるプログラムをコンピュータ読み取り可能に記録する不揮発性記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の処理に関し、特に、所定の条件を満足する情報（データ）の算出に関連する情報処理装置、情報処理方法、及び、記録媒体に関する。
【背景技術】
【０００２】
近年、多くの情報を基に、所定の条件における最適な情報（例えば、プラントにおける材料の投入量、操作機器における操作量、又は、商品の設定価格）を利用者に提供する情報処理装置又は情報処理システムが用いられている。あるいは、利用者が最終的な選択を行うための情報（例えば、判断指標など）を提供する情報処理装置又は情報処理システムが、用いられている。【０００３】
電力会社は、複数の発電所を含む発電システムの制御において、所定の条件（例えば、総需要電力を満足しながらコストを最小にする）を満足する各発電所の発電量を決定することが必要である。そこで、電力会社は、例えば、需要予測（総需要電力の予測）に基づく発電システムをモデル化した最適化モデルを作成する。そして、電力会社は、最適な発電量（最適解）を決定するために、所定の装置又はシステムを用いて、その最適化モデルにおける最適解（発電量）を算出する。【０００４】
あるいは、企業の購入部門は、生産活動における資材の購入において、生産計画などを満足しながら利益を最大とする（購入コストを最小とする）資材の購入量（最適解）を決定することが必要である。そこで、購入部門は、需要予測（例えば、必要となる資材の量の予測）に基づく購入量をモデル化した最適化モデルを作成する。そして、購入部門は、購入量を決定するため、所定の装置又はシステムを用いて、作成した最適化モデルにおける最適解（購入量）を算出している。【０００５】
このように、予測に基づいた判断又は計画をソフトウェア又は所定の装置が最適に行う技術について、以下、その具体例を用いて説明する。【０００６】
まず、最適化の処理の対象となる最適化モデルが決定される。最適化モデルは、具体的な最適化の目的を示す「目的関数」と、最適解の算出における条件である「制約」とを含む。「目的関数」は、「目的変数」の関数として表される。「目的変数」は、最適化の対象である。最適化において、上記のソフトウェア又は装置は、制約を満たしつつ目的関数の値が最適（例えば、最大又は最小）となるように、「目的変数」の値を最適化する。最適化された目的変数の値を、以下、「最適解」と呼ぶ。なお、最適解は、将来的な値である。そのため、目的関数は、その中に、所定の変数及びパラメータを用いて表される予測モデルを含む。【０００７】
予測モデルは、予測対象である変数（以下、「被説明変数」と呼ぶ）と、予測対象に影響を及ぼし得る変数（以下、「説明変数」と呼ぶ）との関係性を示すモデルである。一般的に、被説明変数は、予測モデルにおいて、説明変数を用いた関数として表現される。【０００８】
上記のとおり、予測における予測対象である変数に対して、「被説明変数」という用語を用いる。【０００９】
これに対し、最適化処理における最適化対象である変数に対して、「目的変数」という用語を用いる。【００１０】
このように、以下の説明において、「被説明変数」という用語と、「目的変数」という用語とは、相互に区別して用いられる。【００１１】
なお、予測モデルは、例えば、過去の説明変数と被説明変数とを用いた機械学習等を基に作成される。予測モデルを生成する一般的な方法として、例えば、「回帰分析」がある。【００１２】
そして、情報処理装置は、最適化モデルの最適解として、目的関数を最適化（例えば、最大化）する目的変数の値（最適解）を算出する。ここで、予測モデルにおける説明変数の少なくとも一部が、最適化モデルにおける目的変数（最適化の対象である変数）となることがあり得る。この点については、後ほど価格最適化の具体例を用いて説明する。【００１３】
また、一般的に、目的変数は、取り得る値の範囲に制限がある。例えば、上記の発電所における発電量は、上限がある。このような制限が、「制約」の一例である。ただし、制約は、その他の条件を含んでもよい。【００１４】
そこで、情報処理装置は、例えば、所定の制約を満足する範囲で、目的関数の値が最大になるような最適解を算出する。【００１５】
このように、最適解を算出する情報処理装置が最適化の対象として用いる最適化モデルは、目的関数及び制約を含むモデルである。【００１６】
なお、最適化モデルは、情報処理装置において処理されるため、一般的には、上記の目的関数及び制約を、情報処理装置で取り扱い可能な形式（通常は、変数を用いて表現された数式）を用いて表される。【００１７】
そして、情報処理装置は、最適解として、最適化モデルに含まれる制約の下で、目的関数の値を最適値（最大値、又は、最小値）とする目的変数の値を算出する。【００１８】
最適化モデルに含まれる目的関数が、目的変数の一次関数を用いて表される場合、その最適化モデルは、「線形最適化モデル」と呼ばれる。また、最適化モデルに含まれる目的関数が、目的変数の二次関数を用いて表される場合、その最適化モデルは、「二次最適化モデル」と呼ばれる。【００１９】
ここで、具体例として、ある複数の商品又は役務（サービス）の総売上高を最適化するために、各商品又は各役務の価格をいくらに設定したらよいか、という価格最適化の最適化モデルを説明する。ただし、以下では、一例として、商品を用いて説明する。【００２０】
総売上高は、各商品の価格と、商品の売上げ量（売上げ数）との積の総和である。つまり、総売上高は、「総売上高＝（各商品の価格×各商品の売上げ量）の合計」となる。【００２１】
ここで、商品の価格は、商品の販売者が、設定可能な値である。一方、売上げ量は、販売者が決定できない値であり、さらに、最適化処理を実行する時点から見て未来の値である。【００２２】
そこで、商品の売上げ量を予測するため、例えば、機械学習を用いて予測モデルが設定される。ここで、商品の売上げ量は、その商品の価格の影響を受けることは自明である。そのため、商品の売上げ量は、商品の売上げ量を予測する予測モデルにおいて、被説明変数である。また、商品の価格は、予測モデルにおいて、説明変数となる。つまり、被説明変数である商品の売上げ量は、予測モデルにおいて、商品の価格の関数として表される。【００２３】
被説明変数は、具体的には、商品の価格の一次関数、又は、二次以上の関数となる。つまり、被説明変数は、商品の価格（説明変数）の少なくとも一次の関数になる。【００２４】
総売上高（目的関数）は、「説明変数（商品の価格）」と「被説明変数（商品の価格に影響を受ける売上げ量）」との積となる。上記のとおり、被説明変数は、説明変数（商品の価格）の関数を用いて表される。このため、総売上高（目的関数）は、商品の価格（説明変数）の少なくとも二次の関数になる。【００２５】
ここで、商品の価格は、最適化モデルにおける目的変数である。つまり、総売上高（目的関数）は、目的変数(商品の価格)の少なくとも二次関数を用いて表される。【００２６】
そのため、上記のような商品の価格を操作して総売上高を最適化する場合、最適化モデルとして、二次最適化モデルが用いられている。【００２７】
なお、この場合、制約は、例えば、商品の在庫量である。【００２８】
上記の具体例から理解されるように、予測モデルにおける説明変数（商品の価格）が、最適化モデルにおける目的変数（商品の価格）、すなわち最適化対象である変数になり得ることに留意されたい。言い換えると、商品の価格という一つの変数が、学習処理及び予測処理においては説明変数として振る舞い、最適化処理においては目的変数として振る舞うことに留意されたい。【００２９】
最適化モデルは、最適化モデルを表す数式に、１つ又は複数のパラメータを含む。パラメータは、過去の観測データなどを基に決定される値である。しかし、観測データは、測定における誤差を含むデータである。また、最適化モデルの算出対象は、まだ確定していない将来における値（最適解）である。つまり、最適解は、過去のデータが生成された時とは異なる状況において算出される可能性がある。そのため、最適化モデルに含まれるパラメータは、不確実性を含む。【００３０】
一般的に広く用いられている最適化モデルにおける最適解を算出する手法は、パラメータにおける不確実性を考慮していない。そのため、一般的な最適化モデルを用いて算出された最適解は、実際に適用された場合において、最適とはならない可能性がある。【００３１】
この理由を説明する。【００３２】
上記のとおり、最適化モデルは、パラメータを含む。そして、パラメータは、不確実性を含む。そのため、最適解の値が実際に適用される時におけるパラメータの値は、最適解の算出に用いたパラメータの値と異なっている場合がある。この場合、算出された最適解は、実際に適用されるときにおける最適解となっていない可能性がある。【００３３】
そこで、パラメータの不確実性を考慮した最適化モデルの一つとして、ロバスト最適化モデルが、提案されている（例えば、非特許文献１を参照）。【００３４】
ロバスト最適化モデルは、パラメータに対して所定の不確実性の範囲（例えば、パラメータ空間における楕円領域）を設定する。そして、ロバスト最適化モデルにおける最適解を算出する情報処理装置は、その不確実性の範囲における最適解を算出する。なお、上記のパラメータに対する不確実性は、「予測誤差」、又は、「パラメータの変動」とも呼ばれる。【００３５】
最適解が適用される時のパラメータの値が、想定されたパラメータの不確実性の範囲内の場合、ロバスト最適化モデルを用いて算出された最適解は、適用時における解の良さを保証できる。【００３６】
上記の線形最適化モデルにロバスト最適化モデルを適用した最適化モデルは、ロバスト線形最適化モデルと呼ばれている。また、二次最適化モデルにロバスト最適化モデルを適用した最適化モデルは、ロバスト二次最適化モデルと呼ばれている。
【先行技術文献】
【非特許文献】
【００３７】
【非特許文献１】Dimitris Bertsimas, David B. Brown, and Constantine Caramanis, "Theory and Application of Robust Optimization", SIAM (Society for Industrial and Applied Mathematics) Review, Vol. 53, No. 3, pp. 464-501, August 05, 2011
【発明の概要】
【発明が解決しようとする課題】
【００３８】
しかし、ロバスト最適化モデル、特に、二次以上の高次のロバスト最適化モデルに対する適切な解法が、提案されていない。【００３９】
非特許文献１に記載の手法は、数学的にロバスト二次最適化モデルの一形式に対する解法を提案している。しかし、非特許文献１に記載の手法は、不確実性が含まれるパラメータに相当する行列を数学的に分解した行列を用いて最適解を算出する手法である。【００４０】
しかし、パラメータを数学的に分解した行列は、実際に存在する物に関する値（例えば、商品の売上げ量）に対応した行列ではない。そのため、分解した行列は、実際に想定可能な不確実性に対応させることができない。つまり、非特許文献１に記載の手法は、実際のパラメータにおける不確実性（変動）の値を適用することができない。【００４１】
つまり、非特許文献１に記載の技術は、実際に発生する想定可能な不確実性を適用したロバスト最適化モデルにおける最適解を算出できないという問題点があった。【００４２】
本発明の目的は、上記問題点を解決して、想定可能な不確実性を適用したロバスト最適化モデルにおける最適解を算出する情報処理装置、情報処理方法、及び、記録媒体を提供することにある。
【課題を解決するための手段】
【００４３】
本発明の一形態における情報処理装置は、一つ又は複数のパラメータにおける変動を考慮した最適解を算出する最適化モデルを取得するモデル取得手段と、最適化モデルにおける最適解を算出する最適化手段と、最適解を基に最適化モデルを変換するモデル変換手段と、最適解を出力する出力手段とを含む。【００４４】
本発明の一形態における情報処理方法は、一つ又は複数のパラメータにおける変動を考慮した最適解を算出する最適化モデルを取得し、最適化モデルにおける最適解を算出し、最適解を基に最適化モデルを変換し、最適解を出力する。【００４５】
本発明の一形態における不揮発性記録媒体は、一つ又は複数のパラメータにおける変動を考慮した最適解を算出する最適化モデルを取得する処理と、最適化モデルにおける最適解を算出する処理と、最適解を基に最適化モデルを変換する処理と、最適解を出力する処理とをコンピュータに実行させるプログラムをコンピュータ読み取り可能に記録する。
【発明の効果】
【００４６】
本発明に基づけば、想定可能な不確実性を考慮したロバスト最適化モデルにおける最適解を算出するとの効果を奏する。
【図面の簡単な説明】
【００４７】
【図１】図１は、本発明における第一の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図２】図２は、第一の実施形態に係る情報処理装置の動作の一例を示すフロー図である。
【図３】図３は、第一の実施形態におけるハードウェアの構成の一例である情報処理装置の構成を示すブロック図である。
【図４】図４は、第二の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図５】図５は、第二の実施形態に係るモデル作成部の構成の一例を示すブロック図である。
【図６】図６は、第二の実施形態に係るモデル作成部の動作の一例を示すフローチャートである。
【図７】図７は、第三の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図８】図８は、第三の実施形態に係る出力部における第１の表示例を示す図である。
【図９】図９は、第三の実施形態に係る出力部における第２の表示例を示す図である。
【図１０】図１０は、第１の実施形態に係るモデルとデータとの関係を示す図である。
【発明を実施するための形態】
【００４８】
次に、本発明における実施形態について図面を参照して説明する。
【００４９】
各図面は、本発明における実施形態を説明するためのものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。
【００５０】
また、以下の説明に用いる図面において、本発明における実施形態の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。また、図面中の矢印の方向は、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【００５１】
また、以下の説明において、適宜、数式を用いて説明するが、本発明における実施形態は、下記の数式に限定されない。
【００５２】
＜第一の実施形態＞
次に、本発明における第一の実施形態について図面を参照して説明する。
【００５３】
なお、第一の実施形態に係る情報処理装置１００は、最適化モデルとして、パラメータの変動を考慮した最適化モデル（ロバスト最適化モデル）を用い、その最適化モデルにおける最適解を算出する。つまり、情報処理装置１００は、最適化モデルにおける一つ又は複数のパラメータにおける不確実性の範囲（予測誤差又は変動）を考慮した最適解を算出する。
【００５４】
［用語の説明］
本発明における実施形態の説明に先立ち、既に説明した用語を含め、以下の説明に用いる用語の整理しておく。
【００５５】
「予測モデル」とは、所定のデータ（予測用データ）を基に、所定のデータの予測値を算出するモデルである。例えば、商品の売上げ量を予測するための予測モデルは、商品価格から売上げ量を予測するモデルである。予測モデルは、関数などの数式（予測式）を用いて表される。
【００５６】
なお、予測モデルは、例えば、学習用データを用いた機械学習を基に作成される。
【００５７】
「説明変数」とは、予測モデルにおいて入力として用いられる変数である。例えば、予測モデルが関数を用いて表現される場合、説明変数は、その関数の引数となる。説明変数は、独立変数とも呼ばれる。
【００５８】
「被説明変数」とは、予測モデルにおいて、説明変数に基づいて決定される変数である。つまり、被説明変数は、説明変数を予測モデルに適用して算出される値である。なお、被説明変数を算出するための予測モデルは、モデルに含まれる数式などに、被説明変数を含んでもよい。被説明変数が、説明変数（及び被説明変数）の関数として表される場合、その関数は、予測モデルに相当する。被説明変数は、従属変数、又は、応答変数とも呼ばれる。
【００５９】
例えば、商品価格から売上げ量を予測する予測モデルの場合、商品価格が説明変数である。また、売上げ量が、被説明変数である。この場合、説明変数である商品価格は、操作可能な変数である。
【００６０】
「最適化モデル」とは、所定のデータ（最適解算出用データ）及び条件を基に、所定の関数を最適な値（最大値又は最小値）とする所定の変数の値（最適解）を算出するモデルである。最適化モデルは、一般的に、数式として表される。最適化モデルは、数式表現として、１つ又は複数のパラメータを含む。最適化モデルは、最適化問題とも呼ばれる。
【００６１】
本実施形態に係る最適化モデルは、上記の予測モデルを含む。
【００６２】
「目的関数」は、最適化モデルにおいて、最適化の目的となる値（例えば、最大値又は最小値）を表す関数である。目的関数は、その中に予測モデルを含んでもよい。この場合、目的関数は、直接的又は間接的に、予測モデルにおける説明変数及び／又は被説明変数に基づいて値を決定される関数である。目的関数は、評価関数とも呼ばれる。
【００６３】
「目的変数」とは、最適化モデルにおいて、目的関数を最適値とするために算出される最適解となる変数である。そのため、最適化モデルは、目的変数を含む関数として表される。なお、最適化モデルにおける目的変数は、最適化モデルに含まれる予測モデルにおける説明変数の少なくとも一部を含む。
【００６４】
「制約」とは、最適化モデルにおける最適解の算出における制約条件である。制約は、次に説明する変動を含んでもよい。制約は、例えば、利用者の指定を基に設定される。あるいは、制約は、予め保持されているデータである。
【００６５】
「変動」とは、最適化モデルに含まれるパラメータが、その不確実性に基づいて変化する値の範囲（不確実性の範囲）である。そのため、「変動」の範囲は、パラメータの「不確実性」の範囲である。なお、最適解は、パラメータを用いた予測を基に算出される値である。そのため、「変動」は、「予測誤差」とも呼ばれる。
【００６６】
例えば、最適化モデルが、商品価格から売上げ量を予測する予測モデルを含むとする。そして、最適化モデルが、商品価格と売上げ量との積の合計である総売上高を最適とする商品価格の最適解を算出するとする。この場合、例えば、情報処理装置１００は、最適化モデルのパラメータ又はパラメータの変動を受信し、総売上高を最大にする商品価格（最適解）を算出する。
【００６７】
上記の例の場合、総売上高を表す関数が、目的関数となる。また、最適解の対象となっている商品価格が、目的変数である。制約は、例えば、商品の在庫数である。なお、商品価格は、予測モデルの説明変数である。売上げ量は、予測モデルの被説明変数である。
【００６８】
上記のように、商品価格は、予測モデルにおいて説明変数であり、最適化モデルにおいて目的変数となる。このように、あるモデルにおける変数は、別のモデルにおいて、異なる変数となる場合もある。
【００６９】
本発明における実施形態は、制約を満足する範囲において、最適化モデルにおける目的関数を最適値（最大値又は最小値）とする目的変数の最適解を算出する。なお、以下の説明では、一例として、最適値は、目的関数の最大値とする。
【００７０】
図１０は、上記のモデルとデータとの関係を示す図である。予測モデルは、学習用データを用いた機械学習などを用いて算出される。制約は、利用者などからの入力操作を基に設定される。最適化モデルは、予測モデルと制約とを含むモデルとして設定される。そして、最適解を算出する最適化エンジンが、最適化用データを用いて、最適化モデルにおける最適解を算出する。最適化エンジンは、最適解に加え、その他の値（例えば、目的関数の値）を算出してもよい。
【００７１】
本発明における各実施形態は、少なくとも、最適化エンジンとして動作する構成を含む。
【００７２】
［数式の説明］
次に、第一の実施形態に係る最適化モデルに関連する数式及び変数について説明する。
【００７３】
以下の説明において、数式における変数として用いられる行列及びベクトルの要素は、実数である。また、ベクトルは、列ベクトルとする。
【００７４】
ただし、以下の説明において、ベクトル又は行列は、計算の結果としてスカラーとなる場合がある。ベクトル又は行列は、要素の数が１つの場合を含むとする。
【００７５】
以下の説明におけるベクトル及び行列との積は、スカラーとの積の場合を含むとする。
【００７６】
なお、以下の説明において、説明を分かりやすくするため、変数及び定数における「ベクトル」及び「行列」の記載を省略する場合もある。
【００７７】
ベクトル「ｘ」は、予測モデルにおける説明変数を示すベクトルである。ベクトル「ｙ」は、予測モデルにおける被説明変数を示すベクトルである。つまり、被説明変数であるベクトルｙは、説明変数であるベクトルｘを所定の予測モデル（予測式）に適用して算出される変数である。
【００７８】
被説明変数は、説明変数の関数として表現可能である。また、最適化モデルにおいては、最適化の対象である目的関数が、予測モデルにおける被説明変数である場合もある。そのため、最適化モデルは、被説明変数を、明示的に含まなくてもよい。
【００７９】
以下、ベクトルｘの要素の数は、「ｌ（ｌは正の整数）」とする。ベクトルｙの要素の数は、「ｍ（ｍは正の整数）」とする。
【００８０】
なお、ベクトルｘは、適宜、ベクトル空間における基底関数（ｇ（ｘ））で置き換え可能である。つまり、基底関数ｇ（ｘ）は、説明変数である。基底関数ｇ（ｘ）の要素の数（ｎ）は、「ｎ＝ｌ＋１」である。ベクトルｘと基底関数ｇ（ｘ）との関係は、次に数式１のように示される。
【００８１】
［数式１］
2017135314.tif 000003
【００８２】
数式１において「ｘｉ（ｉ＝１，２，…，ｌ）」は、ベクトルｘのｉ番目の要素である。上付きの「Ｔ」は、行列の転置を示す。ベクトルの場合、「Ｔ」は、列ベクトルと行ベクトルとの変換となる。つまり、基底関数ｇ（ｘ）は、列ベクトルである。
【００８３】
ただし、各実施形態は、最適化モデルの目的関数を最適値（最大値又は最小値）とするベクトルｘ又は基底関数ｇ（ｘ）を算出する。そのため、ベクトルｘ又は基底関数ｇ（ｘ）は、最適化モデルにおける目的変数である。
【００８４】
（１）線形最適化
一般的な最適化モデル（線形最適化モデル）は、次に示されている数式２を用いて表される。
【００８５】
［数式２］
2017135314.tif 000004
【００８６】
数式２において、第１式は、最適化の対象（つまり、目的関数）を表す式である。なお、第１式の「ｃ０Ｔｘ」が、予測モデルに相当する。
【００８７】
第２式は、制約を表す式である。
【００８８】
第２式の不等号（≦）は、Ａｘの結果であるベクトルの各要素が、ベクトルｂの各要素以下であることを示す。
【００８９】
ベクトルｘは、既に説明したとおり、予測モデルにおける説明変数のベクトルである。ベクトル「ｃ０」は、予め設定されている列ベクトルであり、ベクトルｘと目的関数との関係を示す。
【００９０】
数式２の場合、目的関数は、明示的には被説明変数（ベクトルｙ）を含まない。ただし、この場合、被説明変数は、目的関数に含まれる予測モデルとみなしてもよい。つまり、この場合、被説明変数のベクトルｙは、「ｙ＝ｃ０Ｔｘ」としてもよい。なお、この場合、被説明変数（ベクトルｙ）は、具体的には、スカラーである。
【００９１】
そして、数式２の第１式（目的関数）は、具体的には、予測モデルの説明変数であるベクトルｘとベクトルｃ０との各要素の積の総和を最大にするベクトルｘを求めることを示している。
【００９２】
例えば、ベクトルｘは、各商品の仕入れ個数を要素とするベクトルとする。さらに、ベクトルｃ０は、各商品の価格を要素とするベクトルとする。この場合、数式２の第１式（目的関数）は、総売上げを最大化する「仕入れ数（ベクトルｘ）」を算出することを示す。
【００９３】
制約を表す第２式は、左辺のベクトルの要素と右辺のベクトルの要素との関係（大小関係）を示している。
【００９４】
ベクトル「ｂ」は、制約値を示すベクトルである。行列Ａは、説明変数（ベクトルｘ）と制約値（ベクトルｂ）との関係を示す行列である。ベクトルｂ及び行列Ａは、予め与えられている情報（変数）である。説明変数（ベクトルｘ）は、最適化モデルの目的変数である。そのため、制約は、目的変数の制約でもある。
【００９５】
例えば、行列Ａが、対角要素の値が「１」である対角行列とする。そして、説明変数のベクトルｘが、各商品の仕入れ数とする。この場合、第２式におけるベクトルｂは、例えば、各商品の仕入れ可能数量となる。
【００９６】
なお、数式２に示されている最適化モデルは、最適解の算出が保証されているモデルである。
【００９７】
（２）二次最適化
一般的な二次最適化モデルは、次に示す数式３を用いて表される。
【００９８】
［数式３］
2017135314.tif 000005
【００９９】
数式３において、数式２と同じ変数についての説明を省略する。数式３は、予測モデルの説明変数として、ベクトルｘの代わりに、基底関数ｇ（ｘ）を用いている。
【０１００】
数式３は、説明変数である基底関数ｇ（ｘ）の二次の式となっている。数式３は、数式２におけるベクトルｃ０に換えて、行列Ｑ０を用いて表されている。なお、行列Ｑ０は、予め設定されている行列である。
【０１０１】
例えば、行列Ｑ０の要素数は、基底関数ｇ（ｘ）に合わせて設定される。例えば、下記の目的関数を実現するように設定される。
【０１０２】
数式３において、予測モデルの被説明変数のベクトルｙは、「ｙ＝Ｑ０ｇ（ｘ）」である。つまり、目的関数（ｇ（ｘ）ＴＱ０ｇ（ｘ））は、予測モデルにおける説明変数（ｇ（ｘ）Ｔ）と被説明変数（Ｑ０ｇ（ｘ））との積である。つまり、被説明変数（ベクトルｙ＝Ｑ０ｇ（ｘ））が、予測モデルに相当する。
【０１０３】
なお、基底関数ｇ（ｘ）とベクトルｙとの次元が異なる場合、ベクトルｙ又は行列Ｑ０のいずれかが、計算において必要な数のゼロ要素（値が「０」の要素）又はゼロ行（全ての要素の値が「０」である行）を追加として含めばよい。
【０１０４】
数式３は、第２式の制約の下で、第１式（目的関数）を最大化するベクトルｘを求める最適化モデルを示す式である。
【０１０５】
なお、数式３に示されている最適化モデルは、最適解の算出が保証されているモデルである。さらに、上記の最適化モデルにおける制約は、上記の線形制約（Ａｘ≦ｂ）に限られない。例えば、制約が、整数制約の場合でも、上記の最適化モデルは、任意の近似精度における、近似解の算出が保証されている。
【０１０６】
「整数制約」とは、最適解の少なくとも一部が整数である制約である。
【０１０７】
（３）ロバスト最適化モデル（ロバスト線形最適化モデル）
線形のロバスト最適化モデルは、次に示す数式４を用いて表される。
【０１０８】
［数式４］
2017135314.tif 000006
【０１０９】
数式４において、数式２と同じ変数についての説明を省略する。ベクトル「ｕ」は、パラメータ（ｃ０）における不確実性（例えば、ベクトルｃ０の要素の変動）を示すベクトルである。なお、縦の二重線は、ノルム（幾何学的ベクトルの長さをベクトル空間の距離に一般化したもの）を示す。変数「λ」は、変動に対する制約である。行列「Ｌ」は、変動のベクトルｕに対応して、ｃ０が変動する範囲（動く領域）を設定する行列である。ただし、行列Ｌは、正則な行列である。行列Ｌ及び変数λは、予め与えられている変数である。
【０１１０】
数式４の第１式は、変動のベクトルｕに基づく変動における、目的関数（ｃＴｘ）の最小値を、最大とするベクトルｘを算出することを示す。言い換えると、第１式は、最適解として、ベクトルｃ０に対して設定された変動範囲における目的関数の最小値を最大とするベクトルｘを算出することを示している。
【０１１１】
なお、数式４に示されているロバスト最適化モデル（ロバスト線形最適化モデル）は、各種の解法が提案されている。
【０１１２】
（４）ロバスト最適化モデル（ロバスト二次最適化モデル）
後ほど詳細に説明する本発明における実施形態に関連する最適化モデルであるロバスト二次最適化モデルは、次に示す数式５を用いて表される。
【０１１３】
［数式５］
2017135314.tif 000007
【０１１４】
数式５において、数式２ないし４と同じ変数についての説明を省略する。
【０１１５】
行列「Ｕ」は、数式４の変動のベクトルｕに相当するパラメータ（行列Ｑ０）における変動を示す行列である。なお、第４式のノルムに示されている「Ｆ」は、フロベニウスのノルムを示す。
【０１１６】
関数「Ｌ（）」は、数式４の行列Ｌに相当する行列の関数である。関数Ｌ（）は、行列Ｑ０に加わる、変動の行列Ｕに基づく変動を示す関数である。つまり、数式５における行列Ｑは、行列Ｑ０に関数Ｌ（Ｕ）で示される変動を加えたものである。変数λ及び関数Ｌ（）は、予め与えられている。
【０１１７】
なお、数式５に示されている最適化モデルにおける制約は、上記の線形制約（Ａｘ≦ｂ）に限られない。上記の最適化モデルにおける制約は、例えば、整数制約を含んでもよい。
【０１１８】
数式５の第１式（目的関数）は、最適解として、変動（行列Ｕ）の範囲における目的関数の最小値を最大とするベクトルｘを算出することを示す。言い換えると、第１式は、Ｑ０に設定された変動範囲における最小値が最大となるベクトルｘを、最適解とする。
【０１１９】
既に説明したとおり、上記の数式５のように示されているロバスト最適化についての適切な解法は、提案されていない。例えば、非特許文献１に記載されている手法は、数式５における行列Ｑを、数学的に設定された行列ＴＴＴに分解できた場合に、解を算出できる手法である。しかし、行列Ｑを分解した行列Ｔは、計算のために導入された行列である。そのため、実際に想定される不確実性を、行列Ｔに適用することができない。
【０１２０】
本発明における実施形態は、上記のような行列Ｑを分解する必要がなく、実際の最適化の対象における不確実性を適用した最適解を算出して、利用者に提供できる。
【０１２１】
［構成の説明］
次に、本発明における第一の実施形態に係る情報処理装置１００の構成について説明する。図１は、第一の実施形態に係る情報処理装置１００の構成の一例を示すブロック図である。
【０１２２】
図１に示されているように、第一の実施形態に係る情報処理装置１００は、モデル取得部１１０と、モデル変換部１２０と、最適化部１３０と、出力部１４０とを含む。
【０１２３】
モデル取得部１１０は、情報処理装置１００における最適化処理の対象となる最適化モデルを取得する。以下、最適化モデルの一例として、ロバスト二次最適化モデルを用いて説明する。
【０１２４】
ここで、最適化モデルの取得とは、具体的には、数式５に示されているような最適化モデルに対応した数式を取得することである。数式の取得は、数式に含まれる係数及び定数項の取得を含む。
【０１２５】
モデル取得部１１０が最適化モデルを取得する方法は、特に制限されない。
【０１２６】
例えば、モデル取得部１１０は、直接的に、最適化モデルを受信（取得）してもよい。
【０１２７】
あるいは、モデル取得部１１０は、パラメータ等を受信して、最適化モデルを作成してもよい。この動作は、例えば、次のような動作である。
【０１２８】
例えば、モデル取得部１１０は、一般的な二次最適化モデル（予測モデル）と、ロバスト最適化のためのパラメータとを受信する。そして、モデル取得部１１０は、一般的な二次最適化モデル(予測モデル)にパラメータを適用して、最適化モデルを作成してもよい。
【０１２９】
あるいは、モデル取得部１１０は、最適化モデルの元となる予測モデル（型）を保持する。そして、モデル取得部１１０は、最適化モデルのパラメータと制約とを受信する。そして、モデル取得部１１０は、予測モデル（型）を所定の処理（例えば、機械学習）を用いて変形後、パラメータと制約とを適用して最適化モデルを作成してもよい。
【０１３０】
あるいは、モデル取得部１１０は、予め、一般的な二次最適化モデル（予測モデル）の原型となるモデル（予測原型モデル）に関する情報を保持する。そして、モデル取得部１１０は、予測原型モデルに関するパラメータ（予測モデル用パラメータ）を受信する。そして、モデル取得部１１０は、予測モデル用パラメータを予測原型モデルに適用して、一般的な二次最適化モデル（予測モデル）を作成する。さらに、モデル取得部１１０は、最適化モデルのパラメータを受信する。そして、モデル取得部１１０は、作成した一般的な二次最適化モデルに受信したパラメータを適用して、最適化モデルを作成してもよい。
【０１３１】
なお、モデル取得部１１０が上記の情報（パラメータ又はモデル）を取得する取得元は、特に制限されない。モデル取得部１１０は、図示しない外部の装置（例えば、情報処理装置１００の利用者が操作する装置）から、上記情報を受信してもよい。
【０１３２】
あるいは、モデル取得部１１０は、図示しない記憶部から、上記情報を取得してもよい。
【０１３３】
モデル取得部１１０は、取得又は作成した最適化モデルを、モデル変換部１２０に送信する。
【０１３４】
モデル変換部１２０は、最適化モデルにおける最適解の算出を、最適化部１３０に依頼する。そして、モデル変換部１２０は、最適化部１３０が算出した最適解を用いて、最適化モデルを変換する。最適化モデルの変換は、特に制限されない。例えば、最適化モデルの変換は、最適化モデルに関する式の形式の変形、又は、最適化モデルに含まれるパラメータの値の変更である。以下、変換の一例として、パラメータの値の変更を用いて説明する。
【０１３５】
そして、モデル変換部１２０は、変換後の最適化モデルにおける最適解の算出を最適化部１３０に依頼する。モデル変換部１２０は、最適解、又は、処理の状態（例えば、最適解の算出の処理の回数）が所定の条件を満足するまで、上述の変更と算出の動作を繰り返す。
【０１３６】
ここで、所定の条件は、特に制限されない。所定の条件は、対象となる最適化モデルに対応して、決定されればよい。例えば、後ほど詳細な動作において説明する場合において、所定の条件は、上記動作の繰り返しの回数を用いることができる。あるいは、上記の場合、所定の条件は、算出された最適解と前回算出された最適解との差分である変化量が、所定の値より小さくなることでもよい。
【０１３７】
所定の条件を満足した場合、モデル変換部１２０は、最適解を出力部１４０に送信する。
【０１３８】
最適化部１３０は、モデル変換部１２０から受信した最適化モデルにおける最適解を算出する。最適化部１３０は、最適解をモデル変換部１２０に送信する。
【０１３９】
出力部１４０は、モデル変換部１２０から受信した最適解（最適化モデルにおける所定の条件を満足した最適解）を、所定の出力先に出力する。例えば、出力部１４０は、モデル取得部１１０にパラメータを送信した図示されていない装置に、最適解を出力してもよい。
【０１４０】
［動作の説明］
次に、図面を参照して、第一の実施形態に係る情報処理装置１００の動作について説明する。図２は、第一の実施形態に係る情報処理装置１００の動作の一例を示すフローチャートである。
【０１４１】
まず、モデル取得部１１０は、処理の対象である最適化モデルを受信（取得）又は作成する（ステップＳ２０１）。
【０１４２】
モデル取得部１１０は、最適化モデルを、モデル変換部１２０に送信する。
【０１４３】
モデル変換部１２０は、最適化部１３０を用いて最適化モデルの最適解を算出する（ステップＳ２０２）。
【０１４４】
モデル変換部１２０は、所定の条件を満足しているか否かを判定する（ステップＳ２０３）。
【０１４５】
条件を満足していない場合（ステップＳ２０３でＮｏ）、モデル変換部１２０は、最適化モデルを変換する（ステップＳ２０４）。そして、モデル変換部１２０は、ステップＳ２０３に戻る。
【０１４６】
条件を満足する場合（ステップＳ２０３でＹｅｓ）、モデル変換部１２０は、最適解を出力部１４０に送信する。
【０１４７】
出力部１４０は、最適解を所定の出力先に出力する（ステップＳ２０５）。
【０１４８】
以上で、情報処理装置１００は、動作を終了する。
【０１４９】
［詳細な動作］
次に、上記の数式５に対応したロバスト二次最適化モデルの一例に対応した数式を用いて、情報処理装置１００の動作の詳細を説明する。ただし、本実施形態に係る情報処理装置１００が用いる数式は、以下で示される数式に限定されない。
【０１５０】
以下の説明において、数式５における関数Ｌ（Ｕ）は、次に示す数式６のように、二つの行列Ｌ１及びＬ２を用いて表すことが可能、又は、近似可能であるとする。
【０１５１】
［数式６］
2017135314.tif 000008
【０１５２】
数式６は、変動を示す行列Ｕを用いている。つまり、情報処理装置１００は、実際に発生する変動を用いて最適解を算出する。
【０１５３】
モデル取得部１１０は、数式５に示される最適化モデルを取得又は作成する。以下の説明では、モデル取得部１１０は、予め、数式５に示されている数式の形式（型）を保持するとする。ただし、関数Ｌ（Ｕ）は、数式６の形式とする。そして、モデル取得部１１０は、数式５及び６におけるパラメータを受信する。具体的には、モデル取得部１１０は、次に示すパラメータを受信する。
【０１５４】
行列：Ｑ０、Ａ、Ｌ１、Ｌ２
ベクトル：ｂ
定数：λ
【０１５５】
なお、基底関数ｇ（ｘ）は、数式１とする。
【０１５６】
モデル取得部１１０は、受信したパラメータを用いて、数式５に相当する最適化モデルを作成する。
【０１５７】
ただし、本実施形態のモデル取得部１１０は、数式７に示されている行列Ｍ１及びＭ２、並びに、変数γを導入して、数式５の変形例である数式８を作成する。
【０１５８】
モデル変換部１２０は、後ほど説明するように、変数γを更新する。そこで、変数γの初期値を、初期値γ０とする。初期値γ０は、正の実数であれば、特に制限はない。モデル取得部１１０は、予め設定されている初期値γ０を用いてもよい。あるいは、モデル取得部１１０は、受信するパラメータに含めて、初期値γ０を取得してもよい。
【０１５９】
更新後の変数γは、順番を示す変数ｉを付して変数γｉ（ｉ＝１、２、…）とする。
【０１６０】
［数式７］
2017135314.tif 000009
［数式８］
2017135314.tif 000010
【０１６１】
数式８からも明らかなとおり、変数λは、数式８の第１式（目的関数）に含まれている。さらに、数式８は、数式３のと比較から明らかなとおり、一般的な二次最適化モデルと同型となっている。つまり、数式８は、最適解の算出が保証されている。つまり、モデル取得部１１０は、最適解が保証された最適化モデルを作成している。
【０１６２】
このように、本実施形態に係る情報処理装置１００は、最適化モデル（ロバスト二次最適化モデル）として、最適解の算出が保証された最適化モデルを作成する。
【０１６３】
モデル取得部１１０は、作成した最適化モデルを、モデル変換部１２０に送信する。
【０１６４】
モデル変換部１２０は、受信した最適化モデルの最適解を、最適化部１３０を用いて算出する。上記のとおり、この最適化モデルは、最適解の解法が保証されている。そのため、最適化部１３０は、最適解を算出できる。
【０１６５】
なお、最適化部１３０における最適解の算出方法は、特に制限されない。最適化部１３０は、一般に用いられている二次最適化モデルにおける最適解の算出手法を用いてもよい。
【０１６６】
最適化部１３０が最適解を算出後、モデル変換部１２０は、最適解が所定の条件（例えば、処理の回数）を満足するか否かを判定する。
【０１６７】
所定の条件が満足された場合、モデル変換部１２０は、処理を終了し、最適解を出力部１４０に送信する。
【０１６８】
所定の条件が満足されていない場合、モデル変換部１２０は、最適化モデルを変換する。より詳細には、モデル変換部１２０は、変数γｉを修正する。変数γｉの修正は、特に制限されない。モデル変換部１２０は、例えば、次に示す数式９を用いて、変数γｉを変更（修正）してもよい。
【０１６９】
［数式９］
2017135314.tif 000011
【０１７０】
数式９において、ベクトル「ｘγｉ」は、変数γｉを用いて算出されたベクトルｘである。例えば、最初のベクトルｘγ０は、変数γの初期値γ０を用いて算出されたベクトルｘである。また、ベクトルｘγ１は、一回変更された変数γ１を用いて算出されたベクトルｘである。
【０１７１】
モデル変換部１２０は、算出した変数γｉ＋１を数式８の変数γｉと交換して、最適化モデルを変換する。つまり、モデル変換部１２０は、算出された最適解を用いて、最適化モデルを変換する。
【０１７２】
そして、モデル変換部１２０は、最適化部１３０に、変換後の最適化モデルにおける最適解の算出を依頼する。
【０１７３】
この変数γの修正に対して、数式８の最適解は、非減少であることが保証されている。
【０１７４】
その理由は、次のとおりである。数式９に示されているようにγを変更（γｉからγｉ＋１に変更）して、γｉ＋１≠γｉとなった場合、数式８の第１式（目的関数）の値は、増加する。また、当然であるが、数式８の目的関数は、γｉ＋１＝γｉの場合、同じ値となる。つまり、数式８における目的関数においてγを数式９に沿って変更した場合、数式８の目的関数は、このγｉの変更において非減少である。また、任意のγに固定し、ｘに関して最大化した場合、数式８の目的関数の値は、ｘに関して最大化を行っているので、非減少である。よって、γを数式９で変更したときの数式８における目的関数における最適解の算出は、非減少である。
【０１７５】
そのため、情報処理装置１００は、上記のモデル変換部１２０及び最適化部１３０の動作を十分大きな回数を繰り返せば、変動範囲における最適解（目的関数の最小値を、最大にする目的変数）、又は、最適解の近似解を算出できる。
【０１７６】
このように、モデル変換部１２０が、パラメータの変動範囲における最小値を探索するように最適化モデルを変換する。そして、最適化部１３０が、最適化モデルの最適解を算出する。情報処理装置１００は、この動作を繰り返せばよい。
【０１７７】
そして、所定の条件は、変動の範囲（予測誤差の範囲）における最適解の算出を保証するための条件である。モデル変換部１２０及び最適化部１３０は、所定の条件を満足するまで上記動作を繰り返せば、最適解又は最適解の近似値を算出できる。なお、所定の条件は、例えば、過去の結果を基に設定されればよい。
【０１７８】
［効果の説明］
次に、第一の実施形態の効果について説明する。
【０１７９】
第一の実施形態に係る情報処理装置１００は、パラメータの変動（行列Ｕ）を考慮した最適化モデル（ロバスト最適化モデル、特に、ロバスト二次最適化モデル）における最適解を算出するとの効果を奏する。つまり、情報処理装置１００は、想定可能な不確実性を適用したロバスト最適化モデルにおける最適解を算出するとの効果を奏する。
【０１８０】
その理由は、次のとおりである。
【０１８１】
モデル取得部１１０は、最適化の対象である最適化モデル（ロバスト二次最適化モデル）を取得又は作成する。ただし、モデル取得部１１０は、上記のとおり、最適解が保証された最適化モデルを作成する。さらに、この最適化モデルは、変動を示す行列Ｕを用いているモデルである。
【０１８２】
そして、モデル変換部１２０が、最適化部１３０を用いて、最適解の算出が保証された最適化モデルにおける最適解を算出するためである。
【０１８３】
さらに、モデル変換部１２０は、所定の条件が満足されるまで、算出された最適解を用いて最適化モデルを変換する。そして、最適化部１３０は、変換された最適化モデルにおける最適解を算出する。ここで、モデル変換部１２０における最適化モデルの変換に対して、対応する最適化モデル（最適化問題）における最適解は、非減少となっている。
【０１８４】
また、数式８における目的関数は、数式５におけるリスクを常に大きく見積もる。
【０１８５】
これは、数式８の目的関数の値が、いかなるｘ及びγの組を代入した場合でも、同じｘを数式５の目的関数に代入した値以下となるからである。
【０１８６】
さらに、モデル変換部１２０における最適化モデルの変換は、現在の解（ｘγｉ）におけるリスクの見積りを、数式５と一致させる修正に相当する。
【０１８７】
その理由は、次のとおりである。上記のとおり、いかなるｘ及びγの組に対しても、数式８の目的関数は、数式５の目的関数以下である。ただし、ｘ及びγの組が数式９の関係を満たすとき、数式８の目的関数の値は、数式５の目的関数の値と一致するからである。
【０１８８】
そのため、情報処理装置１００は、変動範囲（予測誤差範囲）に対して十分な回数の処理を繰り返す条件を用いれば、数式５と同等のリスクの見積りにおいて、最適解又は最適解の近似値を算出できる。
【０１８９】
［具体的な適用例］
以下、第一の実施形態に係る情報処理装置１００の理解を容易にするため、簡単な具体例を用いて、第一の実施形態に係る情報処理装置１００の適用例を説明する。
【０１９０】
なお、以下で説明する適用例には、数式６ないし９を用いて説明した詳細な動作において説明した最適化モデルが適用可能である。最適化モデルにおけるパラメータなどの初期値は、各例に対する知見などを基に設定すればよい。
【０１９１】
（１）第１の適用例
まず、第１の適用例として、情報処理装置１００が、複数の商品の売上げの予測に基づいて、複数の商品の売上高の総和を最大にするように、複数の商品の価格における最適解を算出する場合について説明する。
【０１９２】
より具体的な例として、情報処理装置１００が、ある小売店において、この先一か月のサンドイッチ群の売上高の総和を最大にする最適解（販売価格）を算出する場合を考える。サンドイッチ群は、サンドイッチＡ、Ｂ、Ｃ、及びＤの４種類のサンドイッチを含むとする。この場合、情報処理装置１００は、サンドイッチ群の売上高の総和を最大化させる、サンドイッチＡ、Ｂ、Ｃ、及びＤのそれぞれの販売価格の最適解を算出するという問題を解くことになる。
【０１９３】
ただし、例えば、サンドイッチＡの売上げ量は、サンドイッチＡ自体の販売価格に加え、サンドイッチＡとともに商品棚に陳列されるサンドイッチ（サンドイッチＢ、Ｃ、及びＤ）の販売価格の影響を受けると考えられる。これは、その小売店に来店する顧客が、商品棚に同時に陳列されるサンドイッチＡ、Ｂ、Ｃ、及びＤの中から、好ましいサンドイッチを選択的に購入すると考えられるからである。
【０１９４】
ここで、例えば、サンドイッチＢの販売価格が、通常設定されている販売価格より低く設定された日を想定する。この場合、顧客がサンドイッチＢを購入する可能性は、通常の価格を設定されている日に比べ、高くなると予測される。これに対し、顧客がその他のサンドイッチ（Ａ、Ｃ、及びＤ）を購入する可能性は、通常の価格が設定されている日に比べ、低くなると予測される。これは、通常より低い販売価格が設定された商品（この場合、サンドイッチＢ）は、一般的に、顧客に対して、購入する誘因を高くするためである。
【０１９５】
つまり、サンドイッチＢの販売価格に基づいて、その他のサンドイッチ（Ａ、Ｃ、及びＤ）の売上げ量は、減ることになる。このような複数の商品における競合関係は、カニバリゼーションの関係（市場の共食いの関係）と呼ばれている。
【０１９６】
すなわち、カニバリゼーションの関係とは、例えば、ある商品の販売価格を下げると、その商品の売上げ量は上がるが、他の競合商品（性質や特徴が互いに類似した複数の商品）の売上げ量が減少するような関係である。
【０１９７】
例えば、サンドイッチＡの売上げ量は、サンドイッチＡの販売価格だけではなく、サンドイッチＢ、Ｃ、及びＤの販売価格の影響を受ける。
【０１９８】
したがって、サンドイッチＡの売上げ量は、全てのサンドイッチ（Ａ、Ｂ、Ｃ、及びＤ）の販売価格を含む関数（予測式又は予測モデル）を用いて表される。つまり、この関数が、予測モデルである。そして、サンドイッチ群の販売価格が、予測モデルの説明変数（ベクトルｘ）である。サンドイッチ群の売上げ量が、予測モデルにおける被説明変数（ベクトルｙ）となる。この関数（予測式又は予測モデル）は、過去のデータ（各サンドイッチの過去の販売価格とその時の売上げ量など）を基に算出することができる。
【０１９９】
最適化モデルは、この関数（予測式又は予測モデル）を含むモデルとなる。つまり、最適化モデルは、説明変数と被説明変数との過去のデータに基づいて算出される。最適化モデルにおける目的変数は、サンドイッチ群の販売価格である。
【０２００】
ただし、最適化モデルは、その他の情報（例えば、外部情報）を含んでもよい。最適化モデルは、この先一か月の天候、気温、又は、周辺でのイベントなどに関する情報を含んでもよい。
【０２０１】
なお、制約は、例えば、各サンドイッチの入荷数及び仕入価格である。また、目的関数は、サンドイッチ群の売上高の総和である。
【０２０２】
モデル取得部１１０は、最適化モデルを取得し、モデル変換部１２０に送信する。
【０２０３】
モデル変換部１２０は、最適化モデルを最適化部１３０に送信する。
【０２０４】
最適化部１３０は、売上高の最適化モデルにおける販売価格などに対する制約条件を満たす範囲において、目的関数（サンドイッチ群の売上高の総和）の最小値が最大となるように、販売価格（目的変数）の最適解を算出する。より具体的には、最適化部１３０は、サンドイッチＡ、Ｂ、Ｃ、及びＤのそれぞれの販売価格の最適解を算出する。
【０２０５】
ここで、目的関数の最小値とは、あるパラメータにおける目的関数の最小値である。そして、「目的関数の最小値が最大となるように最適解を算出する」とは、「目的関数の最小値を最大とするパラメータを求める」ことである。
【０２０６】
モデル変換部１２０は、最適解を基に、最適化モデルを変更する。
【０２０７】
そして、モデル変換部１２０及び最適化部１３０は、所定の条件を満足するまで、この動作を繰り返す。
【０２０８】
そして、出力部１４０は、最適解を出力する。
【０２０９】
なお、上記の説明では、理解を容易にするために、情報処理装置１００は、４つの商品の売上高の総和が最大になるように、個々の商品の販売価格の最適解を算出した。つまり、情報処理装置１００は、最適化モデルにおける目的変数として、４つの目的変数を用いた。あるいは、情報処理装置１００は、最適化モデルに含まれる予測モデルの説明変数として、４つの変数を用いている。しかし、情報処理装置１００の対象とする最適化モデルに含まれる目的変数（又は、予測モデルの説明変数）の数は、４つに限定されない。目的変数の数は、２つ又は３つでもよく、５つ以上でもよい。また、目的変数に対応する値は、実体のある商品に関する値に限定されない。例えば、目的変数の値は、役務（サービス）に関する値でもよい。
【０２１０】
（２）第２の適用例
次に、第２の適用例として、情報処理装置１００が、最適解として、ホテルの売上高又は利益を最大化するように、ホテルのプラン（宿泊プラン）の価格（料金）を算出する場合について説明する。
【０２１１】
この場合、目的関数は、ホテルの売上高又は利益を算出する関数を用いて表される。また、最適化モデルにおける目的変数（予測モデルにおける説明変数）として、ホテルの各部屋を利用するプランにおける料金が、選択される。制約は、例えば、総部屋数である。
【０２１２】
つまり、情報処理装置１００は、最適解として、ホテルの売上高又は利益の最小値を最大とするように、プランに設定される料金を算出する。
【０２１３】
なお、第１の適用例と比較すると、第２の適用例における「プラン（例えば、シングルルームの朝食付きプラン）」が、第１の適用例における「サンドイッチ（例えば、サンドイッチＡ）」に対応する。
【０２１４】
（３）第３の適用例
次に、第３の適用例として、情報処理装置１００が、最適解として、ホテルの売上高又は利益を最大化するように、ホテルの部屋の価格及び部屋の在庫（空き部屋）の数を算出する場合について説明する。
【０２１５】
この場合、目的関数は、第２に適用例と同様に、ホテルの売上高又は利益を算出する関数を用いて表される。また、最適化モデルにおける目的変数（予測モデルにおける説明変数）として、部屋の価格に対応する変数と、部屋の在庫数に対応する変数が、選択される。例えば、第１の目的変数は、各時期における各部屋の料金を表す変数である。また、第２の目的変数は、各時期における販売する部屋の数（又は、部屋の在庫数）を表す変数となる。制約は、例えば、総部屋数である。
【０２１６】
つまり、情報処理装置１００は、最適解として、ホテルの売上高又は利益の最小値を最大とするように、部屋の価格と、販売する部屋の数とを算出する。
【０２１７】
（４）第４の適用例
次に、第４の適用例として、情報処理装置１００が、最適解として、航空会社における売上高又は利益を最大化するように、航空会社における航空券の価格及び在庫（席）数を算出する場合について説明する。
【０２１８】
この場合、目的関数は、航空会社の売上高又は利益を算出する関数を用いて表される。また、最適化モデルにおける目的変数（予測モデルにおける説明変数）として、航空券の価格及び販売数（販売する座席の数）に対応した変数が、選択される。
【０２１９】
ここで、航空券は、経路（出発地、目的地、及び、ルート）、及び、座席の種類（クラス）に基づいて分けられているとする。この場合、例えば、第１の目的変数は、各時期における、経路及び座席のクラスに対応した航空券の料金を表す変数となる。また、第２の目的変数は、各時期における航空券の販売枚数（販売座席数）を表す変数である。
【０２２０】
制約は、例えば、各経路に用いられる航空機の座席数である。
【０２２１】
つまり、情報処理装置１００は、最適解として、航空会社の売上高又は利益の最小値を最大とするように、航空券の料金と、販売枚数とを算出する。
【０２２２】
（５）第５の適用例
次に、第５の適用例として、情報処理装置１００が、最適解として、駐車場における売上高又は利益を最大化するように、駐車場における駐車料金を算出する場合について説明する。
【０２２３】
この場合、目的関数は、駐車場の売上高又は利益を算出する関数を用いて表される。また、最適化モデルにおける目的変数（予測モデルにおける説明変数）は、例えば、時間帯別及び場所別の駐車料金を表す変数である。制約は、例えば、各駐車場の駐車可能台数である。
【０２２４】
つまり、情報処理装置１００は、最適解として、駐車場の売上高又は利益の最小値を最大とするように、時間別及び場所別の駐車料金を算出する。
【０２２５】
［ハードウェア構成］
以上の説明した情報処理装置１００は、次のように構成される。
【０２２６】
例えば、情報処理装置１００の各構成部は、ハードウェア回路で構成されてもよい。
【０２２７】
また、情報処理装置１００において、各構成部は、ネットワークを介して接続した複数の装置を用いて、構成されてもよい。つまり、各実施形態における情報処理装置は、最適化システムとして実現されてもよい。
【０２２８】
この場合、各装置における各構成要素の一部又は全部は、汎用若しくは専用の回路（circuitry）、若しくは、プロセッサ等、又は、これらの組合せを用いて実現される。上記各構成要素の一部又は全部は、単一の集積回路（ＩＣ（Integrated circuit）又はchip）を用いて構成されてもよい。あるいは、上記各構成要素の一部又は全部は、所定の母線（bus）を介して接続された複数の集積回路を用いて構成されてもよい。上記各構成要素の一部又は全部は、上記の回路等とプログラムとの組合せを用いて実現されてもよい。
【０２２９】
各装置の各構成要素の一部又は全部が、複数の情報処理装置又は回路等を用いて実現される場合、上記の複数の情報処理装置又は回路等は、集中的に配置されてもよい。あるいは、上記の複数の情報処理装置又は回路等は、分散的に配置されてもよい。例えば、上記の情報処理装置又は回路等は、各々の情報処理装置又は回路等が、所定の通信ネットワークを介して接続される形態として実現されてもよい。上記形態は、クライアントアンドサーバシステム、又は、クラウドコンピューティングシステム等のようなシステムである。
【０２３０】
また、情報処理装置１００において、複数の構成部は、１つのハードウェアで構成されてもよい。
【０２３１】
また、情報処理装置１００は、ＣＰＵ（Central Processing Unit）と、ＲＯＭ（Read Only Memory）と、ＲＡＭ（Random Access Memory）とを含むコンピュータ装置として実現されてもよい。情報処理装置１００は、上記構成に加え、さらに、入出力接続回路（ＩＯＣ：Input / Output Circuit）と、ネットワークインターフェース回路（ＮＩＣ：Network Interface Circuit）とを含むコンピュータ装置として実現されてもよい。
【０２３２】
図３は、本実施形態におけるハードウェアの構成の一例である情報処理装置６００の構成を示すブロック図である。
【０２３３】
情報処理装置６００は、ＣＰＵ６１０と、ＲＯＭ６２０と、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを含み、コンピュータ装置を構成している。
【０２３４】
ＣＰＵ６１０は、ＲＯＭ６２０からプログラムを読み込む。そして、ＣＰＵ６１０は、読み込んだプログラムに基づいて、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを制御する。そして、ＣＰＵ６１０を含むコンピュータは、これらの構成を制御し、図１に示されている、モデル取得部１１０と、モデル変換部１２０と、最適化部１３０と、出力部１４０としての各機能を実現する。
【０２３５】
ＣＰＵ６１０は、各機能を実現する際に、ＲＡＭ６３０又は内部記憶装置６４０を、プログラムの一時的な記録媒体として使用してもよい。
【０２３６】
また、ＣＰＵ６１０は、コンピュータで読み取り可能にプログラムを記憶した記録媒体７００が含むプログラムを、図示しない記録媒体読み取り装置を用いて読み込んでもよい。あるいは、ＣＰＵ６１０は、ＮＩＣ６８０を介して、図示しない外部の装置からプログラムを受け取り、ＲＡＭ６３０に保存して、保存したプログラムを基に動作してもよい。
【０２３７】
ＲＯＭ６２０は、ＣＰＵ６１０が実行するプログラム及び固定的なデータを記憶する。ＲＯＭ６２０は、例えば、Ｐ−ＲＯＭ（Programmable-ROM）又はフラッシュＲＯＭである。
【０２３８】
ＲＡＭ６３０は、ＣＰＵ６１０が実行するプログラム及びデータを一時的に記憶する。ＲＡＭ６３０は、例えば、Ｄ−ＲＡＭ（Dynamic-RAM）である。
【０２３９】
内部記憶装置６４０は、情報処理装置６００が長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置６４０は、ＣＰＵ６１０の一時記憶装置として動作してもよい。内部記憶装置６４０は、例えば、ハードディスク装置、光磁気ディスク装置、ＳＳＤ（Solid State Drive）又はディスクアレイ装置である。
【０２４０】
ここで、ＲＯＭ６２０と内部記憶装置６４０は、不揮発性（non-transitory）の記録媒体である。一方、ＲＡＭ６３０は、揮発性（transitory）の記録媒体である。そして、ＣＰＵ６１０は、ＲＯＭ６２０、内部記憶装置６４０、又は、ＲＡＭ６３０に記憶されているプログラムを基に動作可能である。つまり、ＣＰＵ６１０は、不揮発性記録媒体又は揮発性記録媒体を用いて動作可能である。
【０２４１】
ＩＯＣ６５０は、ＣＰＵ６１０と、入力機器６６０及び表示機器６７０とのデータを仲介する。ＩＯＣ６５０は、例えば、ＩＯインターフェースカード又はＵＳＢ（Universal Serial Bus）カードである。さらに、ＩＯＣ６５０は、ＵＳＢのような有線に限らず、無線を用いてもよい。
【０２４２】
入力機器６６０は、情報処理装置６００の操作者からの入力指示を受け取る機器である。入力機器６６０は、モデル取得部１１０として動作してもよい。入力機器６６０は、例えば、キーボード、マウス又はタッチパネルである。
【０２４３】
表示機器６７０は、情報処理装置６００の操作者に情報を表示する機器である。表示機器６７０は、出力部１４０として動作してもよい。表示機器６７０は、例えば、液晶ディスプレイである。
【０２４４】
ＮＩＣ６８０は、ネットワークを介した図示しない外部の装置とのデータのやり取りを中継する。ＮＩＣ６８０は、モデル取得部１１０、又は、出力部１４０として動作してもよい。ＮＩＣ６８０は、例えば、ＬＡＮ（Local Area Network）カードである。さらに、ＮＩＣ６８０は、有線に限らず、無線を用いてもよい。
【０２４５】
このように構成された情報処理装置６００は、情報処理装置１００と同様の効果を得ることができる。
【０２４６】
その理由は、情報処理装置６００のＣＰＵ６１０が、プログラムに基づいて情報処理装置１００と同様の機能を実現できるためである。
【０２４７】
＜第二の実施形態＞
情報処理装置１００は、最適化モデルを取得した。しかし、情報処理装置１００は、過去のデータ等を基に最適化モデルを作成してもよい。
【０２４８】
そこで、第二の実施形態として、機械学習を用いて予測モデルを作成し、作成した予測モデルを基に最適化モデルを作成し、作成した最適化モデルにおける最適解を算出する情報処理装置１０１について説明する。情報処理装置１０１は、情報処理装置１００と同様の構成を用いて、作成した最適化モデルの最適解を算出する。
【０２４９】
［構成の説明］
まず、第二の実施形態に係る情報処理装置１０１の構成について説明する。
【０２５０】
図４は、第二の実施形態に係る情報処理装置１０１の構成の一例を示すブロック図である。図４に示されているように、第二の実施形態に係る情報処理装置１０１は、第一の実施形態に係る情報処理装置１００と比較すると、モデル作成部１５０を含む点で異なる。そこで、以下の説明では、モデル作成部１５０について説明し、第１の実施形態の同様の構成についての説明を省略する。なお、情報処理装置１０１は、情報処理装置１００と同様に、図３に示されているコンピュータを用いて構成されてもよい。
【０２５１】
モデル作成部１５０は、最適化モデルを作成し、モデル取得部１１０に送信する。なお、モデル作成部１５０は、モデル取得部１１０の機能を含んでもよい。例えば、モデル作成部１５０が、作成した最適化モデルをモデル変換部１２０に渡してもよい。この場合、情報処理装置１０１は、モデル取得部１１０を含まなくてもよい。
【０２５２】
図５は、第二の実施形態に係るモデル作成部１５０の構成の一例を示すブロック図である。図５に示されているように、モデル作成部１５０は、データ記憶部１５１と、パラメータ受信部１５２と、モデル学習部１５３と、モデル計算部１５４とを含む。
【０２５３】
データ記憶部１５１は、最適化モデルに含まれる予測モデルの元となる原型モデル（型）を記憶する。
【０２５４】
さらに、データ記憶部１５１は、後ほど説明するモデル学習部１５３における学習（機械学習）に用いられるデータ（学習データ）を記憶する。なお、学習データは、特に制限されない。学習データは、例えば、後ほど説明するモデル学習部１５３における学習に対応して、予め、情報処理装置１０１に保存されているデータである。
【０２５５】
さらに、データ記憶部１５１は、モデル計算部１５４の処理に用いられるデータ（参照データ）を記憶してもよい。参照データは、特に制限されない。参照データは、例えば、所定の観測機器から受信した観測データ（気象データなど）である。
【０２５６】
なお、データ記憶部１５１に記憶されている原型モデルは、特に制限されない。例えば、原型モデルは、回帰予測に関する予測モデルでもよく、その他の一般的な予測モデルでもよい。
【０２５７】
モデル学習部１５３は、データ記憶部１５１に記憶されている原型モデルを取得する。なお、データ記憶部１５１が、複数の原型モデルを記憶している場合、モデル学習部１５３は、所定の指示、又は、予め設定されている規則に基づいて、原型モデルを選択すればよい。
【０２５８】
さらに、モデル学習部１５３は、データ記憶部１５１に記憶されているデータ（学習データ）を用いて、所定の処理（例えば、機械学習）を実行する。
【０２５９】
そして、モデル学習部１５３は、上記の所定の処理（機械学習）の結果を用いて、原型モデルの少なくとも一部（例えば、パラメータ又は数式）を修正して、予測モデルを算出する。
【０２６０】
なお、この予測モデルは、機械学習の結果を用いたモデルである。そのため、この予測モデルは、学習後モデルとも呼ばれる。
【０２６１】
例えば、情報処理装置１０１が、回帰行列を含む予測モデル（回帰モデル）を用いる場合、モデル学習部１５３は、学習データを基に機械学習を用いて回帰行列を算出し、算出した回帰行列を原型モデルに組み込んで、予測モデルを算出（作成）する。
【０２６２】
モデル学習部１５３が用いる学習処理は、特に制限されない。例えば、モデル学習部１５３は、回帰モデルを学習する場合、一般的に用いられている回帰モデル学習エンジンを用いてもよい。
【０２６３】
モデル学習部１５３は、予測モデルを、モデル計算部１５４に送信する。
【０２６４】
パラメータ受信部１５２は、モデル計算部１５４が用いるパラメータを受信する。パラメータ受信部１５２が受信するパラメータは、特に制限されない。パラメータは、最適化モデルにおける目的関数又は制約に含まれる変数又はパラメータであればよい。例えば、パラメータ受信部１５２は、既に説明した変数λ、及び／又は、変数γの初期値γ０を受信してもよい。このように、パラメータ受信部１５２が受信するパラメータの数は、特に制限されない。
【０２６５】
また、パラメータの送信元は、特に制限されない。パラメータ受信部１５２は、利用者が操作する装置からパラメータを受信してもよい。
【０２６６】
あるいは、情報処理装置１０１が、図示しない入力機器を含み、パラメータ受信部１５２は、図示しない入力機器に入力されたパラメータを受信してもよい。
【０２６７】
例えば、情報処理装置１０１は、図示しない液晶ディスプレイを含むとする。さらに、情報処理装置１０１は、液晶ディスプレイの表面に、パラメータ受信部１５２としてタッチパネルを含むとする。この場合、情報処理装置１０１は、液晶ディスプレイにパラメータの値、又は、パラメータの値を設定する画像を表示する。そして、パラメータ受信部１５２は、タッチパネルに対する入力操作を検出して、検出位置に対応するパラメータを取得してもよい。
【０２６８】
パラメータ受信部１５２は、受信したパラメータをモデル計算部１５４に送信する。
【０２６９】
なお、パラメータ受信部１５２は、予測モデルに対応したパラメータを受信し、モデル学習部１５３に送信してもよい。図５における破線は、この関係を示している。
【０２７０】
モデル計算部１５４は、モデル学習部１５３から予測モデルを受信する。さらに、モデル計算部１５４は、パラメータ受信部１５２からパラメータを受信する。そして、モデル計算部１５４は、パラメータと予測モデルとを基に、モデル取得部１１０に送信する最適化モデルを作成する。なお、モデル計算部１５４は、最適化モデルの作成において、データ記憶部１５１に記憶されている参照データを用いてもよい。
【０２７１】
そして、モデル計算部１５４は、作成した最適化モデルをモデル取得部１１０に送信する。
【０２７２】
これ以降、情報処理装置１０１は、第一の実施形態に係る情報処理装置１００と同様な動作を基に最適解を算出する。
【０２７３】
［動作の説明］
次に、図面を参照して、第二の実施形態に係るモデル作成部１５０の動作の詳細の一例について説明する。図６は、第二の実施形態に係るモデル作成部１５０の動作の一例を示すフロー図である。
【０２７４】
データ記憶部１５１は、予め、原型モデル（型）、及び、学習データを記憶している。データ記憶部１５１は、さらに、参照データを記憶してもよい。
【０２７５】
そして、パラメータ受信部１５２は、所定の送信元装置からパラメータを受信する（ステップＳ５０１）。
【０２７６】
なお、既に説明したとおり、パラメータ受信部１５２が受信するパラメータは、特に制限されない。例えば、パラメータ受信部１５２は、モデル計算部１５４が用いるパラメータ（例えば、変動範囲の制約（λ）、又は、変数γの初期値γ０）を受信してもよい。パラメータ受信部１５２は、受信したパラメータを、モデル計算部１５４に送信する。
【０２７７】
あるいは、パラメータ受信部１５２は、モデル学習部１５３が学習に用いるパラメータを受信してもよい。この場合、パラメータ受信部１５２は、受信した学習用のパラメータをモデル学習部１５３に送信する。
【０２７８】
モデル学習部１５３は、データ記憶部１５１に記憶されている学習データを用いて、原型モデルにおける所定の部分（パラメータ、例えば、回帰行列）を学習する。そして、モデル学習部１５３は、学習結果と原型モデルとを用いて、予測モデルを算出する（ステップＳ５０２）。
【０２７９】
モデル学習部１５３は、予測モデルをモデル計算部１５４に送信する。
【０２８０】
なお、モデル学習部１５３は、パラメータ受信部１５２より先に動作してもよい。あるいは、モデル学習部１５３及びパラメータ受信部１５２は、少なくとも一部の動作において、並列に動作してもよい。
【０２８１】
モデル計算部１５４は、パラメータを用いて、予測モデルから最適化モデル（例えば、ロバスト二次最適化モデル）を作成する（ステップＳ５０３）。なお、モデル計算部１５４は、最適化モデルの算出において、参照データを用いてもよい。
【０２８２】
そして、モデル計算部１５４は、最適化モデルを、モデル取得部１１０に出力（送信）する（ステップＳ５０４）。
【０２８３】
［詳細な動作］
次に、モデル学習部１５３における機械学習の動作の一例を、数式を用いて詳細を説明する。ただし、本実施形態に係るモデル学習部１５３が用いる数式は、以下の説明に限定されない。
【０２８４】
まず、モデル学習部１５３が機械学習に用いる学習データは、作成される予測モデルにおける、予め測定された説明変数のベクトルｘ及び被説明変数のベクトルｙとする。そのため、学習データにおけるベクトルｘの数と、ベクトルｙの数とは、同数（以下、Ｎ（Ｎは正の整数）とする）である。なお、学習データにおける個別のベクトルｘ及び個別のベクトルｙを区別する場合、各ベクトルに上付きの添え字ｉ（ｉは正の整数）を付す。つまり、ｉ番目のベクトルｘは、「ｘｉ」と表されるとする。
【０２８５】
同様に、ｉ番目のベクトルｙは、「ｙｉ」と表されるとする。なお、ｙは、数式３における「ｙ＝Ｑ０ｇ（ｘ）」である。つまり、ｙｉとＱｇ（ｘｉ）とは要素数が同じである。
【０２８６】
学習データとして用いられる説明変数と被説明変数は、例えば、所定の期間における商品の販売価格と売上げ量とである。
【０２８７】
ここで、モデル学習部１５３は、行列の要素が次の数式１０に示される行列Ｇを導入する。
【０２８８】
［数式１０］
2017135314.tif 000012
【０２８９】
数式１０において、行列「Ｇ」は、基底関数ｇ（ｘｉ）を行ベクトルとして含む行列である。つまり、行列Ｇのｉ行は、列ベクトルである基底関数ｇ（ｘｉ）を行ベクトルに変換して含む行列である。また、「ｇｊ（ｘｉ）」は、ｉ番目のベクトルｘｉに対応した基底関数ｇ（ｘｉ）のｊ番目の要素である。つまり、行列Ｇのｉ行ｊ列の要素「Ｇｉｊ」は、ｉ番目のベクトルｘｉに対応した基底関数ｇ（ｘｉ）のｊ番目の要素である。
【０２９０】
そして、モデル学習部１５３は、次の数式１１に示されている行列Σ及びΔを導入（算出）する。
【０２９１】
［数式１１］
2017135314.tif 000013
【０２９２】
数式１１において、行列「Ｅ１」は、１行１列の要素ひとつが「１」で、他の要素が「０」である行列である。モデル学習部１５３は、学習データにおけるベクトルｘ及びｙを数式１１に適用して、行列Σ及びΔを算出する。
【０２９３】
そして、モデル学習部１５３は、上記の行列Σ及びΔを基に、機械学習の結果として、数式１２に示されているように、行列Σ及びΔの平方根である行列Ｌ１及びＬ２を算出する。
【０２９４】
［数式１２］
2017135314.tif 000014
【０２９５】
数式１２において、行列の平方根は、一般的な行列の平方根である。例えば、行列Σは、「Σ＝Ｌ１ＴＬ１」である。
【０２９６】
モデル学習部１５３は、上記の行列Ｌ１及びＬ２を適用して予測モデルを作成する。
【０２９７】
モデル計算部１５４は、上記の学習結果（予測モデル）を基に、最適化モデルを作成する。
【０２９８】
［具体的な適用例］
例えば、一般の小売店は、大量の商品を扱っている。つまり、一般の小売店は、大量の商品の総売上高を最大化するような、各商品における販売価格の最適解の算出を望んでいる。
【０２９９】
しかし、上記のような場合に対応した最適化モデルにおける目的関数を定義する作業は、かなり煩雑な作業であり、現実的には、小売店の従業者が実行できる作業ではない。
【０３００】
例えば、小売店における商品の将来の需要予測線が得られた場合、需要予測線に基づいて、発注と在庫との最適解を算出することは、理論的には可能である。しかし、人（従業員）が実際に作成できる需要予測線の数（商品の数）には、おのずから限界がある。また、発注作業は、一日に数回発生する場合も多い。そのため、発注作業のたびに、発注者が、需要予測線の作成などを実行することは、現実的には、無理である。
【０３０１】
また、例えば、将来のある期間の売上高を最大とするようにその期間の商品価格の最適解を算出するためには、大量の商品の価格と需要の間の複雑な相関関係を把握することが、必要である。しかし、人が、大量の商品における相関関係を把握することは、かなり困難な作業となる。
【０３０２】
一方、一般的に、専用計算機、又は、コンピュータなどの情報処理装置は、予め決められている手順に従って、大量のデータを処理することが容易である。例えば、モデル作成部１５０のデータ記憶部１５１は、目的関数の「形（原型モデル）」の定義を保存する。そして、モデル学習部１５３が、上記の小売店の場合における各商品の売上げ価格と売上げ量と組合せである大量の学習データを基に原型モデルから予測モデルを作成する場合を想定する。この場合の処理は、モデル学習部１５３において可能な処理である。このように、モデル作成部１５０は、大量のデータが存在する状況において、最適化モデルを効率良く作成することができる。
【０３０３】
さらに、モデル作成部１５０は、第１の実施形態において説明したカニバリゼーションの関係のような複雑な相関関係が存在する複数の大量のデータを用いる場合でも、その手順が定義されれば、最適化モデルを作成できる。
【０３０４】
ここで、既に説明したように、一般的な最適解を算出する装置は、予測誤差を考慮しない。そのため、一般的な装置から算出された最適解は、実際に適用された場合において最適とはならない可能性がある。そのため、一般的な最適解を算出する装置から算出された最適解は、人手に基づく判定及び／又は修正などが必要である。
【０３０５】
一方、情報処理装置１０１は、予測誤差を考慮したロバストな最適化モデルを算出する。あるいは、情報処理装置１０１は、指定された確率を基に、適切な不確定領域を定めることができる。なお、確率の指定に関しては、後ほど、第３の実施形態として、説明する。
【０３０６】
そのため、情報処理装置１０１は、人手では難しい大量のデータに基づく予測誤差に対してロバストな最適化モデルにおける最適解の算出を、実現することができる。
【０３０７】
なお、モデル学習部１５３は、予測モデルの算出において、外部情報を用いて、機械学習を実行してもよい。外部情報とは、例えば、天候、季節、周辺の状況（例えば、イベントの実施）、周囲における同等製品の料金、又は、ロケーション情報（住宅地、オフィス街、駅からの距離など）である。
【０３０８】
［効果の説明］
次に、第二の実施形態に係る情報処理装置１０１の効果について説明する。
【０３０９】
第二の実施形態に係る情報処理装置１０１は、第一の実施形態の効果に加え、適切な最適化モデルを提供するとの効果を奏する。
【０３１０】
その理由は、次のとおりである。
【０３１１】
モデル学習部１５３が、予めデータ記憶部１５１に記憶されている原型モデルに機械学習の結果を適用して予測モデルを作成する。そして、モデル計算部１５４は、パラメータ受信部１５２が受信したパラメータを予測モデルに適用して、最適化モデルを作成する。つまり、モデル作成部１５０は、機械学習を基に、適切な最適化モデルを算出し、モデル取得部１１０に提供できるためである。
【０３１２】
＜第三の実施形態＞
情報処理装置１００及び情報処理装置１０１は、利用者などによる操作に基づいて、最適化モデルのパラメータの値を受信し、その値を最適化モデルに適用して、最適解を算出してもよい。あるいは、情報処理装置１００及び情報処理装置１０１は、利用者などの操作に基づいて、パラメータの値の変更の指示を受信し、最適化モデルにおけるパラメータの値を変更して、最適解を算出してもよい。
【０３１３】
さらに、情報処理装置１００及び情報処理装置１０１は、受信したパラメータと関連付けて、最適解を表示してもよい。
【０３１４】
そこで、第三の実施形態として、情報処理装置１００又は情報処理装置１０１の機能を含み、さらに、パラメータを受信し、最適解を出力する情報処理装置８００を説明する。なお、以下の説明は、一例として、情報処理装置１００を用いて説明する。ただし、以下の説明おいて、情報処理装置１００は、情報処理装置１０１に置き換え可能である。また、情報処理装置８００は、図３に示されているコンピュータを用いて構成されてもよい。
【０３１５】
［説明の前提］
以下の説明において、最適化モデルにおける目的関数は、複数の商品における売上げの合計である総売上高（以下、単に「売上高」と呼ぶ）とする。売上高（目的関数、つまり、メリット）は、各商品の販売価格と各商品の売上げ量との積の合計となる。
【０３１６】
ただし、各商品の売上げ量は、各商品の販売価格の影響を受ける。数式５における行列Ｑ０は、この影響関係（例えば、カニバリゼーションの関係）を示す行列となる。このように、商品の売上げ量は、商品の販売価格の関数（予測式）を用いて表される値（予測値）である。つまり、最適化モデルに含まれる予測モデルは、商品の販売価格に基づいて商品の売上げ量を予測するモデルである。具体的には、各商品の販売価格が、予測モデルにおける説明変数（ベクトルｘ）である。また、各商品の売上げ量が、予測モデルにおける被説明変数（ベクトルｙ）である。
【０３１７】
そして、最適化モデルは、目的関数である売上高を最適値（変動範囲における最小値の最大）とする販売価格を算出する。つまり、最適化モデルの目的変数は、各商品の販売価格（ベクトルｘ）となる。
【０３１８】
［構成の説明］
図７は、第三の実施形態に係る情報処理装置８００の構成の一例を示す図である。
【０３１９】
図７に示されているように、情報処理装置８００は、情報処理装置１００と、パラメータ受付部３００と、出力部４００とを含む。
【０３２０】
パラメータ受付部３００は、情報処理装置１００が最適解を算出する最適化モデル（ロバスト最適化モデル）における変動（予測誤差）の範囲を確率的に示すパラメータの入力を受け付ける（受信する）。
【０３２１】
なお、パラメータは指標の一例である。そのため、パラメータ受付部３００は、指標受付部の一例である。
【０３２２】
より詳細には、このパラメータは、例えば、上記の売上高の最適値の分布が、確率密度を用いて表される場合、売上高の最適値おける予測誤差の範囲を、確率的に示すパラメータである。ここで、「確率的に示す」とは、確率に関連する指標を用いて表すことである。例えば、「確率的に示す」とは、確率密度の分布の全体に対する比率（パーセント）、又は、確率密度における標準偏差（σ）に対する比率である。
【０３２３】
なお、このパラメータは、想定外の不利益を受ける可能性（リスク）に対する確率に関連するパラメータでもよい。反対に、このパラメータは、想定される不利益を受ける可能性（リスク）の確率に関連するパラメータでもよい。このように、パラメータは、想定外の不利益を受ける可能性（リスク）に対応した値である。
【０３２４】
以下、このパラメータの一例として、数式５に示されている「変数λ（以下、「パラメータλ」とする）」を用いて説明する。パラメータλは、予測誤差の範囲を示すデータの一例である。
【０３２５】
ここで、パラメータλにおける「確率的に示す」について、より具体例を説明する。説明に用いる確率分布を、標準正規分布とする。そして、αを、確率分布における最適解の算出において考慮されないリスクの比率（単位は、パーセント（％））とする。
【０３２６】
なお、αの値が５０の場合は、平均を考慮することに相当する。つまり、「α＝５０」の場合は、一般的な最適化（非ロバストな最適化）に相当する。
【０３２７】
そのため、αの値は、５０以下とする。そして、上記の確率分布に対応する分布関数を関数Ｆ（）とする。この場合、情報処理装置１００は、パラメータλとして、次の数式１３に示される値を用いることができる。
【０３２８】
［数式１３］
2017135314.tif 000015
【０３２９】
数式１３においてＦ−１（）は、関数Ｆ（）の逆関数である。
【０３３０】
なお、パラメータ受付部３００におけるパラメータλの受付手法は、特に、制限されない。例えば、パラメータ受付部３００は、図示しない入力機器（例えば、キーボード、マウス、又は、タッチパネル）を含み、その入力機器に対する操作を基に、パラメータλを受け付けてもよい。そのため、図７は、破線を用いて、入力機器を示している。
【０３３１】
あるいは、パラメータ受付部３００は、図示しないネットワークを介して、利用者が操作する装置から、パラメータλを受信してよい。
【０３３２】
情報処理装置１００は、第一の実施形態の同様に、最適化モデル（ロバスト最適化モデル）の最適解を算出する。つまり、情報処理装置１００は、商品の販売価格と商品の売上げ量との積を含んで定まる売上高を表す目的関数について、制約条件の下で目的関数の値が最大となるように商品の価格を算出する。算出された商品の価格は、最適化モデルの最適解である。
【０３３３】
より詳細には、情報処理装置１００は、パラメータλに基づいて確率的に指定された変動（予測誤差）の範囲内においる売上高（目的関数）の最小値を、最大とする最適解を算出する。
【０３３４】
このように、情報処理装置１００は、情報処理装置８００における最適化部である。
【０３３５】
出力部４００は、情報処理装置１００が算出した最適解（販売価格）を、少なくともパラメータλ（予測誤差の範囲を示す値）と関連付けて出力する。ただし、出力部４００における出力方法は、特に制限されない。例えば、出力部４００は、図示しない表示機器（例えば、液晶ディスプレイ）を含み、最適解とパラメータλとを、１つに画面に表示してもよい。そのため、図７は、破線を用いて、表示機器を示している。
【０３３６】
あるいは、出力部４００は、最適解とパラメータλとを、所定の出力装置に出力してもよい。
【０３３７】
出力部４００は、上記情報（最適解及びパラメータλ）に加え、最適化モデルに関連する情報を関連付けて出力してもよい。例えば、出力部４００は、上記情報に加え、予測モデルの被説明変数であるベクトルｙの値（商品の売上げ量の予測値）、及び／又は、最適化モデルの目的関数の値（売上高の最適値）を出力してもよい。
【０３３８】
なお、出力部４００は、必要に応じて、上記の最適化モデル及び最適化モデルに含まれる予測モデルに関連する情報を、情報処理装置１００及び／又はパラメータ受付部３００から取得すればよい。
【０３３９】
さらに、パラメータ受付部３００は、出力部４００が最適解及びパラメータλを出力後に、再度、パラメータλを受け付けてもよい。例えば、出力部４００が、表示機器を含み、その表示機器に最適解とパラメータλとを表示する。情報処理装置８００の利用者は、その表示を参照して、確認したいパラメータλ（新しいパラメータλ）の値を、情報処理装置８００に入力する。
【０３４０】
この入力方法は、特に制限されない。例えば、パラメータ受付部３００が、入力機器を含み、その入力機器に対する操作に基づいてパラメータλを取得してもよい。あるいは、ネットワークを経由して情報処理装置８００に接続されている利用者の装置が、情報処理装置８００に、新しいパラメータλを送信してもよい。
【０３４１】
情報処理装置８００は、既に説明した動作と同様に動作して、新しいパラメータλに対応する最適解を算出する。そして、情報処理装置８００は、新しいパラメータλと最適解とを関連付けて出力する。
【０３４２】
情報処理装置８００が受け付けるパラメータλの数は、特に限定されない。情報処理装置８００は、１つのパラメータλを受け付けて、最適解を算出してもよい。あるいは、情報処理装置８００は、複数のパラメータλを受け付けて、それぞれのパラメータλに対応した最適解を算出し、パラメータλと最適解とを関連付けて出力してもよい。
【０３４３】
なお、ここまでの説明において、情報処理装置８００は、パラメータ受付部３００を用いて、パラメータλを受け付けるとしていた。しかし、情報処理装置８００は、予め設定されているパラメータλに対して動作してもよい。
【０３４４】
例えば、予め、情報処理装置８００は、図示しない記憶部に、パラメータλの複数の値（例えば、考慮するリスク又は考慮しないリスクにおける確率の１０％、２０％、３０％、及び４０％に対応する値）を保持する。そして、パラメータ受付部３００が、保持されているパラメータλを、情報処理装置１００に送信する。情報処理装置１００は、各パラメータλに対応した最適解を算出する。そして、出力部４００は、各パラメータλと、パラメータλに対応する最適解とを対応づけて出力する。
【０３４５】
情報処理装置８００の利用者は、出力部４００が出力した情報（最適解とパラメータλとの組）を参照して、最適解を選択すればよい。
【０３４６】
この場合、情報処理装置８００は、利用者の操作を基に、新たなパラメータλを受け付けて、新たな最適解を算出してもよい。例えば、利用者が、パラメータλの２つの値の間における最適解（例えば、考慮するリスクの確率が２０％と３０％との間の詳細な最適解）を知りたい場合がある。このような場合、情報処理装置８００は、最適解を知りたいパラメータλを受け付けて、最適解を算出し、パラメータλと最適解とを対応づけて出力すればよい。
【０３４７】
［表示例］
次に、図面を参照して、第三の実施形態に係る情報処理装置８００における出力部４００の出力について説明する。なお、以下の説明は、出力部４００が、表示機器を含み、その表示機器を用いて、パラメータλ及び最適解を表示する場合について説明する。
【０３４８】
（第１の表示例）
図８は、第三の実施形態に係る出力部４００における第１の表示例を示す図である。図８は、受け付けたパラメータλと対応する最適解とを表示する場合の一例の示す図である。
【０３４９】
図８は、目的関数の値（最適値）の確率密度関数が、正規分布に従う場合の例を示している。図８に示されている正規分布において、「λ＝０」の位置が、正規分布の平均値の位置である。そして、図８において、平均値より右側が、目的関数の値が、よい値の範囲となる。つまり、λの値が正の範囲は、目的関数の値が、平均より高い（売上高が高い）範囲である。反対に、平均より左側の範囲（λの値が負の範囲）は、目的関数の値が、平均より低い（売上高が低い）範囲である。ただし、情報処理装置８００が用いる確率密度関数は、正規分布に限定されない。
【０３５０】
図８の下部に示されている長方形が、パラメータλの値を示している。つまり、図８において、長方形の位置は、最適解を算出する対象として用いる不確実の範囲の下限を示す。つまり、長方形の位置が、パラメータλの値に相当する。ここで、平均より売上高が高い範囲は、より好ましい結果のため、発生しても問題ない。そこで、最適解の算出に考慮されない（用いられない）リスクの範囲は、平均より低い範囲となる。つまり、図８において、パラメータλに対応する位置から左側の範囲（斜線を付した範囲）が、考慮されないリスクに対応する範囲であり、最適解の算出に用いない不確実性の範囲である。つまり、図８に示されるグラフは、パラメータλに対応した考慮されないリスクの大きさを示している。ただし、斜線を付していない範囲は、最適解の算出において考慮されたリスクの範囲である。そのため、図８に示されるグラフは、パラメータλに対応した考慮されるリスクの大きさを示している図でもある。
【０３５１】
さらに、出力部４００は、図８の右側に示されているように、パラメータλの値（最適解に対応するリスク）と、パラメータλに対応した最適解の値（商品の価格（単位は、千円））とを表示している。リスクは、平均からの差のため、図８において、考慮されるリスクの範囲は、平均（λ＝０）からパラメータλの部分となる。
【０３５２】
なお、図８において、出力部４００は、上記に加え、パラメータλの値における目的関数の最適値（最適解における売上高の平均値、単位は千円）を表示している。
【０３５３】
情報処理装置８００は、パラメータ受付部３００が、新たなパラメータλを受け付けると、そのパラメータλに対応した最適解を算出する。そして、出力部４００は、新たなパラメータλと、対応する最適解とを表示する。
【０３５４】
例えば、パラメータ受付部３００が、入力機器として、出力部４００に含まれる表示機器の表面に設置されたタッチパネルを含むとする。そして、パラメータ受付部３００が、タッチパネルを用いて、表示されているパラメータλに対応する長方形を左右に移動させる操作に検出する。そして、パラメータ受付部３００は、タッチパネル上の操作位置に対応したパラメータλを新たなパラメータλとして用いてもよい。情報処理装置８００が、このような構成を含む場合、情報処理装置８００の利用者は、パラメータλを変更できる。
【０３５５】
上記のとおり、パラメータλの値は、図８における負の値となる。つまり、パラメータλの正の値は、本表示例では、用いる必要がない。そのため、出力部４００は、パラメータλの値における「−」記号を省略してもよい。そのため、図８において、パラメータλの値の「−」記号を省略した。
【０３５６】
出力部４００は、パラメータλの表示として、パラメータλの値に換えて、パラメータλの値に対応する確率の値（例えば、考慮されないリスク又は考慮されるリスクのパーセントの値）を表示してもよい。
【０３５７】
なお、パラメータλの値が「０」の場合、情報処理装置８００は、予測誤差の範囲（リスク）を用いない最適化モデル（つまり、一般的な最適化モデル）における最適解を算出する。また、パラメータλの値の絶対値が、設定可能な範囲の最大値の場合、情報処理装置８００は、設定可能な全ての予測誤差の範囲（リスク）を用いた最適化モデル（ロバスト最適化モデル）における最適解を算出する。
【０３５８】
ただし、情報処理装置８００における操作対象は、パラメータλに限定されない。また、情報処理装置８００は、表示及び操作するパラメータを一つに限定されない。情報処理装置８００は、複数のパラメータを操作及び表示してもよい。
【０３５９】
（第２の表示例）
情報処理装置８００は、複数の最適解を表示してもよい。例えば、情報処理装置８００は、パラメータλの変更に対応する最適解を比較するため、パラメータλの変更前に対応する最適解と変更後に対する最適解とを表示してもよい。
【０３６０】
あるいは、情報処理装置８００は、複数のパラメータλと、それぞれのパラメータλに対応する最適解とを表示してもよい。
【０３６１】
図９は、第三の実施形態に係る出力部４００における第２の表示例を示す図である。
【０３６２】
図９において、上部のグラフは、変数λに対する目的関数の値（最適値）の変化の一例を示すグラフである。
【０３６３】
グラフにおける縦軸は、目的関数の値（売上高の最適値の平均値）である。ただし、グラフを見やすくするため、縦軸における横軸との交点は、０から移動している。
【０３６４】
横軸は、パラメータλの値である。
【０３６５】
なお、上記のとおり、パラメータλは、負の値となる。そのため、図９は、パラメータλと最適解とを関係を見やすくするため、パラメータλの正の値の表示を省略している。さらに、図９は、「−」記号の表示を省略し、図の右側に行くほどパラメータλの絶対値が大きくなるように、パラメータλの負の値の範囲を表示している。また、目的関数の最適値に対応する確率密度は、単調減少の場合を示している。
【０３６６】
図９の下部は、各パラメータλに対する最適解の値（商品の価格、単位は千円）を示している。さらに、出力部４００は、各最適解に対応した目的関数の最適値（売上高の平均値、単位は千円）の値を表示している。
【０３６７】
パラメータ受付部３００は、複数のパラメータλ（リスク）の値を受け付ける。そして、情報処理装置１００は、パラメータλに対応する最適解（商品の価格）を算出する。そして、出力部４００は、情報処理装置１００が算出した複数の最適解（商品の価格）と、各最適解に対応するパラメータλ(リスク)とを関連づけて、１つの画面に表示する。
【０３６８】
なお、出力部４００は、上記の情報（最適解とパラメータλ）に加え、各最適解（商品の価格）に対応した目的関数の最適値（売上高の平均値）を表示している。
【０３６９】
図９に示されている第２の表示例の場合、情報処理装置８００の利用者は、一つの画面において、複数のリスク（パラメータλ）と最適解との関係を確認することができる。
【０３７０】
なお、情報処理装置８００は、パラメータλに限らず、他のパラメータ、又は、複数のパラメータに対応した最適解を算出し、その結果を表示してもよい。
【０３７１】
［効果の説明］
次に、第三の実施形態に係る情報処理装置８００の効果について説明する。
【０３７２】
第三の実施形態に係る情報処理装置８００は、予測誤差範囲を示すパラメータλ（リスク）との関係に対応した売上高を最適化する価格の最適解を提供（出力）するとの効果を奏する。
【０３７３】
その理由は、次のとおりである。
【０３７４】
パラメータ受付部３００は、パラメータλを受け付ける。パラメータλは、リスクの大きさ（予測誤差範囲）に関連する値である。情報処理装置１００が、制約条件の下で、商品の価格と商品の売上げ量との積を含んで定まる目的関数（売上高）の値（メリット）の最小値を最大とする最適解（最適な商品価格）を算出する。ここで、最適解は、目的関数の値（メリット）を実現するための値である。つまり、最適解は、目的関数の値（メリット）に関連する値である。そして、出力部４００は、最適解とパラメータλとを関連付けて出力する。このように、情報処理装置８００は、リスクとメリットとの関係に対応した最適解を算出し、出力するためである。
【０３７５】
［変形例］
情報処理装置８００における出力部４００は、既に説明したとおり、他の装置に、最適解とパラメータλを送信してもよい。例えば、複数の端末装置を含むシステムの管理装置が、情報処理装置８００を含む場合、情報処理装置８００又は上記管理装置は、情報処理装置８００が算出した最適解とパラメータλとの組合せを、各端末装置に送信してもよい。
【０３７６】
販売時点情報管理システム（Point of sale system (POS system)）を用いて、より具体的に説明する。ＰＯＳシステムの管理装置が、情報処理装置８００を含む場合を想定する。この場合、ＰＯＳシステムの管理装置は、各店舗の端末装置に、最適解（商品の価格）とパラメータλとの組合せを送信する。各端末装置の利用者（例えば、各店舗の店長）は、各店舗の状態（例えば、店舗の位置、及び営業時間）を基に各店舗におけるリスクに対応したパラメータλを選択し、選択されたパラメータλに対応する最適解（商品の価格）を用いればよい。
【０３７７】
この場合、管理装置は、情報処理装置８００の処理対象である最適化モデルとして、各店舗における最適化モデルを組み合わせたＰＯＳシステム全体の最適化モデルを用いてもよい。この場合、情報処理装置８００は、最適化モデルにおける制約として、各店舗における制約（例えば、各店舗の在庫数）を反映した制約を用いることができる。つまり、情報処理装置８００は、より正確な最適化モデルを用いて、最適解を算出できる。
【０３７８】
さらに、管理装置に含まれる情報処理装置８００は、各端末装置からパラメータλを受信してもよい。例えば、端末装置の利用者が、受信した２つのパラメータλの間のパラメータλに対する最適解を知りたい場合、端末装置の利用者は、端末装置を操作して、管理装置に、最適解を算出したいパラメータλの値を送信してもよい。
【０３７９】
なお、上記のＰＯＳシステムの場合、送信される情報は、最適化及びパラメータλに加え、予測システムにおける被説明変数（各商品の売上げ量の予測値）、又は、目的関数（売上高）などを含んでもよい。その場合、例えば、各端末装置の利用者は、最適解の選択において、さらに判断条件（例えば、店舗の在庫数）を加えることができる。つまり、情報処理装置８００の利用者は、より正確に、最適解を選択できる。
【０３８０】
＜その他の実施形態＞
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０３８１】
この出願は、２０１６年  ２月  ３日に出願された米国仮出願６２／２９０５６４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０３８２】
１００  情報処理装置
１０１  情報処理装置
１１０  モデル取得部
１２０  モデル変換部
１３０  最適化部
１４０  出力部
１５０  モデル作成部
１５１  データ記憶部
１５２  パラメータ受信部
１５３  モデル学習部
１５４  モデル計算部
３００  パラメータ受付部
４００  出力部
６００  情報処理装置
６１０  ＣＰＵ
６２０  ＲＯＭ
６３０  ＲＡＭ
６４０  内部記憶装置
６５０  ＩＯＣ
６６０  入力機器
６７０  表示機器
６８０  ＮＩＣ
７００  記録媒体
８００  情報処理装置
【図１】
2017135314.tif 000016
【図２】
2017135314.tif 000017
【図３】
2017135314.tif 000018
【図４】
2017135314.tif 000019
【図５】
2017135314.tif 000020
【図６】
2017135314.tif 000021
【図７】
2017135314.tif 000022
【図８】
2017135314.tif 000023
【図９】
2017135314.tif 000024
【図１０】
2017135314.tif 000025
【手続補正書】
【提出日】平成30年7月9日(2018.7.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
一つ又は複数のパラメータにおける変動を考慮した最適解を算出する最適化モデルを取得するモデル取得手段と、
前記最適化モデルにおける前記最適解を算出する最適化手段と、
前記最適解を基に前記最適化モデルを変換するモデル変換手段と、
前記最適解を出力する出力手段と
を含む情報処理装置。
【請求項２】
前記モデル変換手段が、
算出された前記最適解を用いて前記最適化モデルにおける前記パラメータの前記変動の範囲における最小値を探索するように前記最適化モデルの変換し、
前記最適化手段が、
変換後の前記最適化モデルにおける前記最適解を算出する
請求項１に記載の情報処理装置。
【請求項３】
所定の条件を満足するまで、
前記モデル変換手段における前記最適化モデルを変換する動作と、前記最適化手段における前記最適解の算出する動作とを繰り返す
請求項２に記載の情報処理装置。
【請求項４】
前記最適化モデルにおける前記パラメータを基に前記最適化モデルを作成し、作成した前記最適化モデルを前記モデル取得手段に送信するモデル作成手段
をさらに含む請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
前記モデル作成手段が、
前記最適化モデルの作成に用いられるモデルである原型モデルと、学習データとを保存するデータ記憶手段と、
前記学習データを用いた機械学習を基に、前記原型モデルを修正した学習後モデルと作成するモデル学習手段と、
前記最適化モデルにおける少なくとも一部の前記パラメータを受信するパラメータ受信手段と、
前記パラメータと前記学習後モデルとを基に、前記最適化モデルを作成するモデル計算手段と
を含む請求項４に記載の情報処理装置。
【請求項６】
一つ又は複数のパラメータにおける変動を考慮した最適解を算出する最適化モデルを取得し、
前記最適化モデルにおける前記最適解を算出し、
前記最適解を基に前記最適化モデルを変換し、
前記最適解を出力する
情報処理方法。
【請求項７】
一つ又は複数のパラメータにおける変動を考慮した最適解を算出する最適化モデルを取得する処理と、
前記最適化モデルにおける前記最適解を算出する処理と、
前記最適解を基に前記最適化モデルを変換する処理と、
前記最適解を出力する処理と
をコンピュータに実行させるプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、情報の処理に関し、特に、所定の条件を満足する情報（データ）の算出に関連する情報処理装置、情報処理方法、及び、プログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
本発明の目的は、上記問題点を解決して、想定可能な不確実性を適用したロバスト最適化モデルにおける最適解を算出する情報処理装置、情報処理方法、及び、プログラムを提供することにある。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
本発明の一形態におけるプログラムは、一つ又は複数のパラメータにおける変動を考慮した最適解を算出する最適化モデルを取得する処理と、最適化モデルにおける最適解を算出する処理と、最適解を基に最適化モデルを変換する処理と、最適解を出力する処理とをコンピュータに実行させる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１４５
【補正方法】変更
【補正の内容】
【０１４５】
条件を満足していない場合（ステップＳ２０３でＮｏ）、モデル変換部１２０は、最適化モデルを変換する（ステップＳ２０４）。そして、モデル変換部１２０は、ステップＳ２０２に戻る。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１６１
【補正方法】変更
【補正の内容】
【０１６１】
数式８からも明らかなとおり、変数λは、数式８の第１式（目的関数）に含まれている。さらに、数式８は、数式３との比較から明らかなとおり、一般的な二次最適化モデルと同型となっている。つまり、数式８は、最適解の算出が保証されている。つまり、モデル取得部１１０は、最適解が保証された最適化モデルを作成している。
【国際調査報告】
2017135314.tif 000026
2017135314.tif 000027
2017135314.tif 000028
2017135314.tif 000029