(57)【要約】【課題】数理計画問題を適切に修正する。【解決手段】特定の第１時点において解くべき数理計画問題の少なくとも１つの解を生成する第１時点解生成部と、第１時点において解くべき数理計画問題の解に基づき、第１時点の後の第２時点において解くべき複数の数理計画問題を生成する第２時点問題生成部と、第２時点において解くべき複数の数理計画問題のそれぞれ毎に、第２時点において解くべき数理計画問題の最適値を算出する第２時点最適値算出部と、第１時点において解くべき数理計画問題の解と、第２時点において解くべき数理計画問題の最適値との関係式を推定する関係式推定部と、関係式に基づき、第１時点において解くべき数理計画問題を修正する修正部と、を備える装置を提供する。【選択図】図１
2013235512.tif 000002
【特許請求の範囲】
【請求項１】
特定の第１時点において解くべき数理計画問題の少なくとも１つの解を生成する第１時点解生成部と、
前記第１時点において解くべき数理計画問題の解に基づき、前記第１時点の後の第２時点において解くべき複数の数理計画問題を生成する第２時点問題生成部と、
前記第２時点において解くべき複数の数理計画問題のそれぞれ毎に、前記第２時点において解くべき数理計画問題の最適値を算出する第２時点最適値算出部と、
前記第１時点において解くべき数理計画問題の解と、前記第２時点において解くべき数理計画問題の最適値との関係式を推定する関係式推定部と、
前記関係式に基づき、前記第１時点において解くべき数理計画問題を修正する修正部と、
を備える装置。
【請求項２】
前記数理計画問題の解が適用される環境の変動を表すシナリオを取得するシナリオ取得部を更に備え、
前記第２時点問題生成部は、前記シナリオに基づきシミュレーションをして前記第２時点において解くべき数理計画問題のパラメータを生成する
請求項１に記載の装置。
【請求項３】
前記修正部は、前記第１時点において解くべき数理計画問題における目的関数を修正する
請求項２に記載の装置。
【請求項４】
修正された目的関数に基づき、前記第１時点において解くべき数理計画問題の最適解を算出する第１時点最適解算出部を更に備える
請求項３に記載の装置。
【請求項５】
前記第１時点解生成部は、第１時点において解くべき数理計画問題の解を複数個生成する
請求項４に記載の装置。
【請求項６】
修正された前記数理計画問題により再度前記関係式を推定させることを繰り返して、前記第１時点において解くべき数理計画問題の修正を反復させる反復制御部を更に備える
請求項５に記載の装置。
【請求項７】
前記シナリオ取得部は、複数の前記シナリオを取得し、
前記第２時点問題生成部は、前記複数のシナリオのそれぞれ毎に、前記第２時点において解くべき数理計画問題を生成する
請求項６に記載の装置。
【請求項８】
前記関係式推定部は、前記第１時点において解くべき数理計画問題の解に対する、前記第２時点において解くべき数理計画問題の最適値の関係を表す回帰式を推定する
請求項１に記載の装置。
【請求項９】
第１時点において解くべき数理計画問題における目的関数は、第１時点の変数ベクトルの項と第２時点の変数ベクトルの項とを含む数式モデルで表されており、
前記修正部は、前記回帰式に基づき、前記目的関数における第２時点の変数ベクトルの項を、第１時点の変数ベクトルを含む式に修正する
請求項８に記載の装置。
【請求項１０】
前記修正部は、回帰式の結果を反映させる指標に応じて、前記目的関数における第２時点における変数ベクトルを含む項における、第２時点における変数ベクトルの影響度と第１時点における変数ベクトルの影響度との比率を変更する
請求項９に記載の装置。
【請求項１１】
コンピュータを数理計画問題を修正するための装置として機能させるためのプログラムであって、
前記装置は、
特定の第１時点において解くべき数理計画問題の少なくとも１つの解を生成する第１時点解生成部と、
前記第１時点において解くべき数理計画問題の解に基づき、前記第１時点の後の第２時点において解くべき複数の数理計画問題を生成する第２時点問題生成部と、
前記第２時点において解くべき複数の数理計画問題のそれぞれ毎に、前記第２時点において解くべき数理計画問題の最適値を算出する第２時点最適値算出部と、
前記第１時点において解くべき数理計画問題の解と、前記第２時点において解くべき数理計画問題の最適値との関係式を推定する関係式推定部と、
前記関係式に基づき、前記第１時点において解くべき数理計画問題を修正する修正部と、
を備えるプログラム。
【請求項１２】
特定の第１時点において解くべき数理計画問題の少なくとも１つの解を生成する第１時点解生成ステップと、
前記第１時点において解くべき数理計画問題の解に基づき、前記第１時点の後の第２時点において解くべき複数の数理計画問題を生成する第２時点問題生成ステップと、
前記第２時点において解くべき複数の数理計画問題のそれぞれ毎に、前記第２時点において解くべき数理計画問題の最適値を算出する第２時点最適値算出ステップと、
前記第１時点において解くべき数理計画問題の解と、前記第２時点において解くべき数理計画問題の最適値との関係式を推定する関係式推定ステップと、
前記関係式に基づき、前記第１時点において解くべき数理計画問題を修正する修正ステップと、
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数理計画問題を解くための装置、プログラムおよび方法に関する。
【背景技術】
【０００２】
従来より、数理計画問題を解いて発電機の起動停止計画等を最適化する方法が知られている。例えば、特許文献１には、電力又は温熱の運用計画を修正する方法であって、入力パラメータの変化量の予測値に基づき作成された運用計画を、入力パラメータの真の変化量が明らかになった場合に修正する方法が記載されている。また、特許文献２には、効率特性が異なる複数のタービンに対して線形計画問題を適用して、タービンの蒸気負荷配分を算出する方法が記載されている。
［先行技術文献］
［特許文献］
［特許文献１］特開２００６−１７８６２６号公報
［特許文献２］特開平１０−３０１６０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところで、数理計画問題を解いて計画を最適化する場合、将来の状況を全て考慮した問題を作成することは困難である。そこで、より将来の状況をより詳細に反映しつつ且つ単純化した問題を生成して、真の最適に近い解を算出することができることが望ましい。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、特定の第１時点において解くべき数理計画問題の少なくとも１つの解を生成する第１時点解生成部と、前記第１時点において解くべき数理計画問題の解に基づき、前記第１時点の後の第２時点において解くべき複数の数理計画問題を生成する第２時点問題生成部と、前記第２時点において解くべき複数の数理計画問題のそれぞれ毎に、前記第２時点において解くべき数理計画問題の最適値を算出する第２時点最適値算出部と、前記第１時点において解くべき数理計画問題の解と、前記第２時点において解くべき数理計画問題の最適値との関係式を推定する関係式推定部と、前記関係式に基づき、前記第１時点において解くべき数理計画問題を修正する修正部と、を備える装置、この装置に関連する方法およびプログラムに関する。
【０００５】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００６】
【図１】本実施形態に係る最適解算出装置１０の機能ブロック図を示す。
【図２】本実施形態に係る最適解算出装置１０の処理フローを示す。
【図３】発電機のスイッチを制御するための計画における、第１時点および第２時点における電力の需要の一例を示す。
【図４】本実施形態に係る最適解算出装置１０がステップＳ１２で生成する、第１時点において解くべき数理計画問題の解の一例を示す。
【図５】本実施形態に係る最適解算出装置１０がステップＳ１４で取得するシナリオの一例を示す。
【図６】本実施形態に係る最適解算出装置１０がステップＳ１５で実行するシミュレーションの一例を示す。
【図７】第２時点において解くべき複数の数理計画問題のそれぞれの最適値の一例を示す。
【図８】第１時点において解くべき数理計画問題の変数ベクトルに対する、第２時点において解くべき数理計画問題の最適値の関係を表す線形回帰式のグラフを示す。
【図９】第１時点において解くべき数理計画問題における修正前の目的関数および修正後の目的関数の一例を示す。
【図１０】本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００８】
図１は、本実施形態に係る最適解算出装置１０の機能ブロック図を示す。最適解算出装置１０は、与えられた数理計画問題の最適解を解く装置であって、例えば、サーバ装置等のコンピュータがプログラムを実行することにより実現される。
【０００９】
最適解算出装置１０は、整数計画問題、混合整数計画問題または凸２次計画問題等のどのような数理計画問題を解いてもよい。また、数理計画問題が最適化する対象は、発電機及び冷凍機等の発電機の起動停止計画、製鉄所の鋼板生産の計画、配送経路計画または倉庫配置計画等のどのような計画であってもよい。また、最適解算出装置１０は、一定期間毎（例えば、毎時、毎日または毎月）に数理計画問題を解き、計画を修正する。
【００１０】
最適解算出装置１０は、第１時点問題取得部１２と、第１時点解生成部１４と、シナリオ取得部１６と、第２時点問題生成部１８と、第２時点最適値算出部２０と、関係式推定部２２と、修正部２４と、反復制御部２６と、第１時点最適解算出部２８とを備える。
【００１１】
第１時点問題取得部１２は、特定の第１時点において解くべき数理計画問題を取得する。第１時点問題取得部１２は、一例として、一定時間毎に数理計画問題を解きなおす場合には、現時点において解くべき数理計画問題を取得する。
【００１２】
第１時点解生成部１４は、第１時点問題取得部１２により取得された、第１時点において解くべき数理計画問題の少なくとも１つの解を生成する。第１時点解生成部１４は、一例として、第１時点において解くべき数理計画問題の解を複数個生成する。
【００１３】
シナリオ取得部１６は、数理計画問題の解が適用される環境の変動を表すシナリオを取得する。シナリオ取得部１６は、一例として、複数のシナリオを取得する。また、この場合において、シナリオ取得部１６は、乱数等を用いて複数のシナリオを生成してもよい。
【００１４】
第２時点問題生成部１８は、第１時点において解くべき数理計画問題の解およびシナリオ取得部１６により取得されたシナリオに基づき、当該数理計画問題の解が適用される環境をシミュレーションして、第１時点の後の第２時点（例えば次時点）において解くべき複数の数理計画問題を生成する。
【００１５】
第１時点において解くべき数理計画問題の解を複数個生成した場合には、第２時点問題生成部１８は、解毎に、数理計画問題を生成する。また、複数個のシナリオを生成した場合には、第２時点問題生成部１８は、シナリオ毎に、数理計画問題を生成する。さらに、第２時点問題生成部１８は、第１時点において解くべき数理計画問題の解を複数個生成し、更に、シナリオを複数個生成した場合には、例えば、全ての解およびシナリオの組み合わせ毎に、数理計画問題を生成する。
【００１６】
第２時点最適値算出部２０は、第２時点問題生成部１８により生成された第２時点において解くべき複数の数理計画問題のそれぞれ毎に、第２時点において解くべき数理計画問題の最適値を算出する。
【００１７】
関係式推定部２２は、第１時点において解くべき数理計画問題の解と、第２時点において解くべき数理計画問題の最適値との関係式を推定する。より具体的には、関係式推定部２２は、第１時点において解くべき数理計画問題の解に対する、第２時点において解くべき数理計画問題の最適値の関係を表す回帰式を推定する。例えば、関係式推定部２２は、線形回帰式を推定する。
【００１８】
修正部２４は、関係式推定部２２により推定された関係式に基づき、第１時点において解くべき数理計画問題を修正する。より具体的には、修正部２４は、第１時点において解くべき数理計画問題における目的関数を修正する。
【００１９】
反復制御部２６は、修正された数理計画問題（目的関数）により、再度、関係式を推定させることを繰り返して、第１時点において解くべき数理計画問題の修正を反復させる。より具体的には、反復制御部２６は、修正部２４により修正された数理計画問題を第１時点解生成部１４に与える。そして、反復制御部２６は、第１時点解生成部１４、シナリオ取得部１６、第２時点問題生成部１８、第２時点最適値算出部２０および第２時点最適値算出部２０に処理を再度実行させる。これにより、反復制御部２６は、修正された数理計画問題により再度関係式を推定させることを繰り返すことができる。
【００２０】
第１時点最適解算出部２８は、反復制御部２６による繰り返し処理が終了したことを条件として、修正部２４により修正された数理計画問題に基づき、第１時点において解くべき数理計画問題の最適解、および、最適値を算出する。
【００２１】
図２は、本実施形態に係る最適解算出装置１０の処理フローを示す。最適解算出装置１０は、例えば一定時間毎（例えば、毎時、毎日または毎月）に、以下のステップＳ１１からステップＳ２２の処理を実行する。
【００２２】
まず、ステップＳ１１において、第１時点問題取得部１２は、第１時点において解くべき数理計画問題を取得する。第１時点問題取得部１２は、例えば、下記の式に示されるような数理計画問題を取得する。式（１）に示される数理計画問題は、指定された制約条件元で、目的関数（ｃ１ｘ１）が最小値となる変数ベクトル（ｘ１）の最適解を算出することを示している。
【００２３】
【数１】
2013235512.tif 000003
【００２４】
なお、式（１）に示された第１時点において解くべき数理計画問題の目的関数は、下記の式（２）に示されるように、第１時点の変数ベクトルの項（ｃ１（１）ｘ１（１））と、第２時点の変数ベクトルの項（ｃ１（２）ｘ１（２））とを含む数式モデルにより表される。
【００２５】
【数２】
2013235512.tif 000004
【００２６】
なお、ｘ１は、第１時点において解くべき数理計画問題の変数ベクトルを表す。ｘ１（１）は、第１時点において解くべき数理計画問題を第１時点の成分と第２時点の成分とに分離した場合における、第１時点の変数ベクトルの成分を表す。ｘ１（２）は、第１時点において解くべき数理計画問題を第１時点の成分と第２時点の成分とに分離した場合における、第２時点の変数ベクトルの成分を表す。また、ｃ１（１）、ｃ１（２）は、それぞれ定数のパラメータを表す。
【００２７】
続いて、ステップＳ１２において、第１時点解生成部１４は、第１時点において解くべき数理計画問題の解を複数個生成する。第１時点解生成部１４は、一例として、最適解を算出し、算出した最適解の一部を変更して複数個の解を生成する。また、第１時点解生成部１４は、一例として、複数の解を生成し、これら複数の解の中から最適解に近い一部の複数の解を選択する。また、第１時点解生成部１４は、過去の時点において解いた最適解を元に、第１時点における解を生成してもよい。
【００２８】
続いて、最適解算出装置１０は、第１時点において解くべき数理計画問題の解毎（ステップＳ１２で生成した解毎）に、ステップＳ１４からステップＳ１７の処理を実行する（ステップＳ１３とステップＳ１８との間のループ処理）。
【００２９】
ループ処理内においては、まず、ステップＳ１４において、シナリオ取得部１６は、数理計画問題の解が適用される環境が、第１時点から第２時点までの間にどのように変動するかを表すシナリオを取得する。シナリオ取得部１６は、予め登録されているシナリオを呼び出しもよいし、乱数によりシナリオを生成してもよい。
【００３０】
例えば、数理計画問題の解が発電機の起動停止計画に適用される場合には、シナリオ取得部１６は、電力の需要がどのように変動するか等のシナリオを取得する。また、例えば、数理計画問題の解が配送経路計画に適用される場合には、シナリオ取得部１６は、交通網の混雑度がどのように変動するか等のシナリオを取得する。また、シナリオ取得部１６は、数理計画問題の解が大規模な環境に適用される場合には、当該環境の一部についてのシナリオを取得してもよい。
【００３１】
続いて、ステップＳ１５において、第２時点問題生成部１８は、第１時点において解くべき数理計画問題の解およびステップＳ１４で取得したシナリオに基づき、当該数理計画問題の解が適用される環境をシミュレーションする。そして、第２時点問題生成部１８は、第２時点において解くべき複数の数理計画問題を生成する。
【００３２】
第２時点問題生成部１８は、一例として、第１時点において解くべき数理計画問題の解を適用し且つシナリオに示された変動が生じた場合の環境を、プログラム上でシミュレーションする。そして、第２時点問題生成部１８は、シミュレーション結果から、第１時点よりも後の第２時点（例えば、次時点）において解くべき数理計画問題のパラメータを生成する。
【００３３】
続いて、ステップＳ１６において、第２時点最適値算出部２０は、第２時点において解くべき数理計画問題の最適値を算出する。
【００３４】
続いて、ステップＳ１７において、シナリオ取得部１６は、他のシナリオを取得するか否かを判断する。シナリオ取得部１６は、他のシナリオを取得する場合には（ステップＳ１７のＹｅｓ）、処理をステップＳ１４に戻す。そして、シナリオ取得部１６は、ステップＳ１４において他のシナリオを取得して処理を繰り返す。
【００３５】
また、シナリオ取得部１６は、他のシナリオを取得しない場合には（ステップＳ１７のＮｏ）、処理をステップＳ１８に進める。シナリオ取得部１６は、例えば、予め登録された数（例えば１０個）のシナリオの全てについて処理を完了した場合または最初のシナリオを取得してから予め設定された時間を経過した場合には、他のシナリオを取得せずに、処理をステップＳ１８に進める。
【００３６】
そして、ステップＳ１８において、最適解算出装置１０は、第１時点において解くべき数理計画問題の複数の解の全てについて、ステップＳ１４からステップＳ１７の処理を終了すると、ループ処理を抜ける。
【００３７】
ステップＳ１３とステップＳ１８との間のループ処理を終了すると、続いて、ステップＳ１９において、関係式推定部２２は、第１時点において解くべき数理計画問題の解と、第２時点において解くべき数理計画問題の最適値との関係式を推定する。本実施形態においては、関係式推定部２２は、第１時点において解くべき数理計画問題の解に対する、第２時点において解くべき数理計画問題の最適値の関係を表す線形回帰式を推定する。
【００３８】
例えば、第２時点において解くべき複数の数理計画問題のそれぞれの最適値をｙ２＿１，ｙ２＿２，ｙ２＿３，…とする。また、第２時点において解くべき複数の数理計画問題のそれぞれの推定の元となった、第１時点において解くべき数理計画問題の解をｘ１＿１，ｘ１＿２，ｘ１＿３，…とする。この場合、関係式推定部２２は、解ｘをＸ座標、最適値ｙをＹ座標としたＸ−Ｙ座標上に、最適値および解との組に対応するポイントをプロットする。そして、関係式推定部２２は、プロットした複数のポイントを直線にフィッティングして、最もフィッティングする直線を線形回帰式（ｙ２＝αｘ１＋β）として推定する。
【００３９】
続いて、ステップＳ２０において、修正部２４は、関係式に基づき、第１時点において解くべき数理計画問題を修正する。本実施形態においては、修正部２４は、推定した線形回帰式に基づき、第１時点において解くべき数理計画問題における目的関数を修正する。
【００４０】
より具体的には、修正部２４は、下記の式（３）に示されるように、第１時点において解くべき数理計画問題の目的関数を修正する。
【数３】
2013235512.tif 000005
【００４１】
即ち、第１時点において解くべき数理計画問題における目的関数は、第１時点の変数ベクトルの項と第２時点の変数ベクトルの項とを含む数式モデルで表されている。このような目的関数に対して、修正部２４は、線形回帰式に基づき、目的関数における第２時点の変数ベクトルを含む項を、第１時点の変数ベクトルを含む式に修正する。
【００４２】
より具体的には、修正部２４は、目的関数に、推定した線形回帰式に指標λを乗じた項を加算する。さらに、修正部２４は、目的関数における第２時点における変数の項に、１から指標λを減じた係数（１−λ）を乗じる。即ち、修正部２４は、線形回帰式の結果を反映させる指標（λ）に応じて、目的関数における第２時点における変数ベクトルを含む項における、第２時点における変数ベクトルの影響度と第１時点における変数ベクトルの影響度との比率を変更する。
【００４３】
なお、λは、線形回帰式の結果を反映させる指標を表し、０より大きく１以下の実数である。修正部２４は、例えば、線形回帰式を反映する影響度に応じて変更される。修正部２４は、一例として、より多くのシナリオを生成して線形回帰式を生成した場合には、λをより大きくする。また、修正部２４は、一例として、過去の処理において用いたλの値に基づき、値を決定する。
【００４４】
続いて、ステップＳ２１において、反復制御部２６は、第１時点において解くべき数理計画問題（目的関数）を反復して修正させるか否かを判断する。反復して修正すると判断した場合には（ステップＳ２１のＹｅｓ）、反復制御部２６は、処理をステップＳ１２に戻して、修正後の第１時点において解くべき数理計画問題によりステップＳ１２からの処理を繰り返して実行させる。これにより、反復制御部２６は、修正された数理計画問題により再度関係式を推定させることを繰り返して、第１時点において解くべき数理計画問題の修正を反復させることができる。
【００４５】
反復制御部２６は、一例として、処理を開始してから予め定められた時間が経過するまで、反復処理を繰り返すような制御をする。また、反復制御部２６は、一例として、修正部２４による数理計画問題の修正が収束した場合（例えば、第１時点において解くべき数理計画問題の最適解または最適値が同一の値となった場合）、繰り返しの処理を停止してもよい。
【００４６】
そして、反復して修正しないと判断した場合には（ステップＳ２１のＮｏ）、反復制御部２６は、処理をステップＳ２２に進める。
【００４７】
続いて、ステップＳ２２において、第１時点最適解算出部２８は、修正された数理計画問題に基づき、第１時点において解くべき数理計画問題の最適解、および、最適値を算出する。そして、最適解算出装置１０は、このように算出された最適解および最適値を、当該数理計画問題を適用する環境を制御するための制御装置等の動作計画として設定する。
【００４８】
以上のように、最適解算出装置１０によれば、シナリオに基づくシミュレーションにより第２時点（次時点）の状況を推定して第２時点において解くべき数理計画問題を生成する。そして、最適解算出装置１０によれば、第２時点において解くべき数理計画問題の最適値を回帰させて、第１時点（現時点）において解くべき数理計画問題に反映する。これにより、最適解算出装置１０によれば、より将来の状況をより詳細に反映しつつ且つ単純化した問題を生成して、真の最適に近い解を算出することができる。
【００４９】
図３は、発電機のスイッチを制御するための計画における、第１時点および第２時点における電力の需要の一例を示す。以下、発電機のスイッチの制御計画を作成する場合における、数理計画問題の最適解および最適値の算出方法の一例を説明する。
【００５０】
図３の横軸は、第１時点および第２時点を表す。第１時点および第２時点は、数理計画問題を解きなおすインターバルの単位であり、例えば一定の幅をもった期間（例えば、１時間、１日、１週間）である。
【００５１】
図３の縦軸は、電力の需要Ｑを表す。その期間において需要が発生している場合はＱ＝１であり、その期間において需要が発生していない場合はＱ＝０となる。なお、Ｑ１は、第１時点における需要を表す。また、Ｑ２は、第２時点における需要を表す。
【００５２】
発電機は、需要Ｑが０の場合にはスイッチがオンまたはオフとなり、需要Ｑが１の場合にはスイッチがオンとなるように制御される。また、本例においては、第１時点における第２時点の需要予測がされている。具体的には、０．８の確率で第２時点の需要が０となり、０．２の確率で第２時点の需要が１となる。
【００５３】
以下の式（４）は、電力の需要を満たすように発電機の動作させるための、第１時点において解くべき数理計画問題の一例を示す。
【数４】
2013235512.tif 000006
【００５４】
式（４）の"Ｃｔｕｒｎ（ｓ１（１）＋ｓ１（２））＋Ｃｋｅｅｐ（ｘ１（１）＋ｘ１（２））"は、第１時点において解くべき数理計画問題の目的関数を表す。Ｃｔｕｒｎは、前の時点においてオフであった発電機をオンに切り替えた場合の定数パラメータ（コスト）を表す。Ｃｋｅｅｐは、その時点において発電機をオンとしている場合の定数パラメータ（コスト）を表す。なお、本例においては、Ｃｋｅｅｐ＝１、Ｃｔｕｒｎ＝２であるとして説明する。
【００５５】
式（４）のｘ１（０），ｘ１（１），ｘ１（２），ｓ１（１），ｓ１（２）は、第１時点において解くべき数理計画問題の変数ベクトルである。ｘ１（０）は、第１時点の直前の時点において発電機がオンの場合には１、それ以外の場合には０となる変数ベクトルである。ｘ１（１）は、第１時点において発電機がオンの場合には１、それ以外の場合には０となる変数ベクトルである。ｘ１（２）は、第２時点において発電機がオンの場合には１、それ以外の場合には０となる変数ベクトルである。
【００５６】
ｓ１（１）は、第１時点の直前の時点において発電機がオフであり、第１時点において発電機がオンに切り替わる場合には１、それ以外の場合には０となる変数ベクトルである。ｓ１（２）は、第１時点において発電機がオフであり、第２時点において発電機がオンに切り替わる場合には１、それ以外の場合には０となる変数ベクトルである。
【００５７】
"ｘ１（１）≧ｍａｘ｛Ｑ１｝"は、変数ベクトルｘ１（１）が第１時点の需要Ｑ１以上となることを示す制約条件である。"ｘ１（２）≧ｍａｘ｛Ｑ２｝"は、変数ベクトルｘ２（１）が第２時点の需要Ｑ２以上となることを示す制約条件である。
【００５８】
"ｘ１（１）−ｘ１（０）≦ｓ１（１）"は、変数ベクトルｓ１（１）が"ｘ１（１）−ｘ１（０）"以上であることを示す制約条件である。"ｘ１（２）−ｘ１（１）≦ｓ１（２）"は、変数ベクトルｓ１（２）が"ｘ１（２）−ｘ１（１）"以上であることを示す制約条件である。
【００５９】
"ｘ１（０）＝１"は、ｘ１（０）が１であることを示す制約条件である。"ｘ１（１），ｘ１（２）∈｛０，１｝は、ｘ１（１）及びｘ１（２）が、０または１であることを示す制約条件である。"ｓ１（１），ｓ１（２）∈｛０，１｝は、ｓ１（１）及びｓ１（２）が、０または１であることを示す制約条件である。
【００６０】
第１時点において解くべき数理計画問題の最適解は、以下の式（５）のようになる。すなわち、第１時点においても第２時点においても発電機をオンとし続けることで、コストが最小となることが示唆される。
【００６１】
【数５】
2013235512.tif 000007
【００６２】
また、この場合における発電機のコストの最適値は、目的関数に最適解を代入することにより得られる。従って、この場合における、第１時点において解くべき数理計画問題の最適値（発電機のコスト）は、以下の式（６）のようになる。
【００６３】
【数６】
2013235512.tif 000008
【００６４】
続いて、第１時点を式（５）の最適解で制御し、且つ、第２時点における需要が０であるとする。この場合において、第２時点において解くべき数理計画問題は、以下の式（７）のようになる。
【００６５】
【数７】
2013235512.tif 000009
【００６６】
"２ｓ２（２）＋ｘ２（２）"は、第２時点において解くべき数理計画問題の目的関数を表す。ｘ２（２），ｓ２（２）は、第２時点において解くべき数理計画問題の目的関数に含まれる変数ベクトルである。ｘ２（２）は、第２時点において発電機がオンの場合には１、それ以外の場合には０となる変数ベクトルである。ｓ２（２）は、第１時点において発電機がオフであり、第２時点において発電機がオンに切り替わる場合には１、それ以外の場合には０となる変数ベクトルである。
【００６７】
"ｘ２（２）≧ｍａｘ｛０｝"は、変数ベクトルｘ２（２）が、第２時点の需要Ｑ２＝０以上となることを示す制約条件である。"ｘ２（２）−ｘ１（１）＊≦ｓ２（２）"は、変数ベクトルｓ２（２）が、"ｘ１（１）−ｘ１（１）＊"以上であることを示す制約条件である。"ｘ１（１）＊＝１"は、ｘ１（１）＊が１であることを示す制約条件である。"ｘ２（２）∈｛０，１｝は、ｘ２（２）が０または１であることを示す制約条件である。"ｓ２（２）∈｛０，１｝は、ｓ２（２）が、０または１であることを示す制約条件である。
【００６８】
以上のような数理計画問題における最適解および最適値（発電機のコスト）は、以下の式（８）のようになる。
【数８】
2013235512.tif 000010
【００６９】
一方、第１時点を式（５）の最適解で制御し、且つ、第２時点における需要が１であるとする。この場合において、第２時点において解くべき数理計画問題は、以下の式（９）のようになる。
【００７０】
【数９】
2013235512.tif 000011
【００７１】
"ｘ２（２）≧ｍａｘ｛１｝"は、変数ベクトルｘ２（２）が、第２時点の需要Ｑ２＝１以上となることを示す制約条件である。なお、その他は、式（７）と同様である。
【００７２】
以上のような数理計画問題における最適解および最適値（発電機のコスト）は、以下の式（１０）のようになる。
【数１０】
2013235512.tif 000012
【００７３】
続いて、以下の式（１１）は、第１時点を式（５）の最適解で制御して、且つ、第２時点を、第２時点の需要が０である場合には式（７）の最適解で制御して、第２時点の需要が１である場合には式（９）の最適解で制御した場合における、第１時点のコストと第２時点のコストの和の期待値を示す。
【００７４】
【数１１】
2013235512.tif 000013
【００７５】
式（１１）において、Ｅ［Ｘ］は、需要予測を反映したコストの期待値であることを表す。式（１１）では、第２時点のみ需要予測がされる（式（１１）の１行目から２行目への式展開）。
【００７６】
ここで、第２時点の需要Ｑ２＝０となる確率は０．８であり、第２時点の需要Ｑ２＝１となる確率は０．２である。従って、式（１１）の３行目においては、需要が１である場合における第２時点の変数ベクトルの最適解に確率０．２を乗じ、需要が０である場合における第２時点の変数ベクトルの最適解に０．８を乗じてそれぞれを加算した式となっている。
【００７７】
このような式（１１）から、第１時点を第１時点において解くべき数理計画問題の最適解で制御して、第２時点を第２時点において解くべき数理計画問題の最適解で制御した場合には、第２時点の予測需要を反映すると、第１時点のコストと第２時点のコストの和の期待値は１．２となることがわかる。
【００７８】
通常の処理において、発電機のスイッチの制御計画を作成する場合における、数理計画問題の最適解および最適値の算出は、例えば、以上のような演算が実行される。
【００７９】
つぎに、以上のような発電機のスイッチの制御計画を作成する場合において、本実施形態に係る最適解算出装置１０が数理計画問題の最適解および最適値の算出方法の一例を説明する。
【００８０】
図４は、本実施形態に係る最適解算出装置１０がステップＳ１２で生成する、第１時点において解くべき数理計画問題の解の一例を示す。最適解算出装置１０は、図２で示したフローのステップＳ１２において、第１時点において解くべき数理計画問題の解として、例えば、図４に示されるような、２つの解Ｘ'１、Ｘ"１を生成する。
【００８１】
第１の解Ｘ'１は、第１時点の変数ベクトルＸ'１（１）が０、第２時点の変数ベクトルＸ'１（２）が１である。第２の解Ｘ"１は、第１時点の変数ベクトルＸ"１（１）が１、第２時点の変数ベクトルＸ"１（２）が１である。
【００８２】
図５は、本実施形態に係る最適解算出装置１０がステップＳ１４で取得するシナリオの一例を示す。最適解算出装置１０は、図２で示したフローのステップＳ１４において、シナリオとして、例えば、図５に示されるような、２つのシナリオｗ'、ｗ"を需要予測によって与えられる確率に従って生成する。例えば、多数のシナリオを生成すると、おおよそ８割は第１のシナリオが生成され、おおよそ２割は第２のシナリオが生成される。また、最適解算出装置１０は、各シナリオがどれだけの比率で生成されたかを記録しておく。ここでは第１のシナリオの比率が０．８で、第２のシナリオの比率が０．２であったとする。
【００８３】
本例においては、第１のシナリオｗ'は、「第２時点での需要は０である」という内容である。第２のシナリオｗ"は、「第２時点で需要が増加する」という内容である。
【００８４】
図６は、本実施形態に係る最適解算出装置１０がステップＳ１５で実行するシミュレーションの一例を示す。最適解算出装置１０は、図２で示したフローのステップＳ１５において、例えば、図６に示されるような４つのシミュレーションＳ１、Ｓ２、Ｓ３、Ｓ４を実行する。
【００８５】
第１のシミュレーションＳ１は、第１時点において第１の解Ｘ'１に応じて発電機を制御し、且つ、第２時点において第１のシナリオｗ'で環境が変化した場合における、シミュレーションである。第２のシミュレーションＳ２は、第１時点において第１の解Ｘ'１に応じて発電機を制御し、且つ、第２時点において第２のシナリオｗ"で環境が変化した場合における、シミュレーションである。
【００８６】
第３のシミュレーションＳ３は、第１時点において第２の解Ｘ'２に応じて発電機を制御し、且つ、第２時点において第１のシナリオｗ'で環境が変化した場合における、シミュレーションである。第４のシミュレーションＳ４は、第１時点において第２の解Ｘ'２に応じて発電機を制御し、且つ、第２時点において第２のシナリオｗ"で環境が変化した場合における、シミュレーションである。
【００８７】
以上のような第１〜第４のシミュレーションＳ１〜Ｓ４を実行した結果、最適解算出装置１０は、第２時点において解くべき４つの数理計画問題を生成することができる。
【００８８】
図７は、第２時点において解くべき複数の数理計画問題のそれぞれの最適値の一例を示す。最適解算出装置１０は、図２で示したフローのステップＳ１６において、各シミュレーションの結果得られた数理計画問題の最適値を算出する。
【００８９】
最適解算出装置１０は、一例として、第１のシミュレーションＳ１を実行して得られる数理計画問題の最適値ｙ２として、０を算出する。また、最適解算出装置１０は、一例として、第２のシミュレーションＳ２を実行して得られる数理計画問題の最適値ｙ２として、３を算出する。
【００９０】
また、最適解算出装置１０は、一例として、第３のシミュレーションＳ３を実行して得られる数理計画問題の最適値ｙ２として、０を算出する。また、最適解算出装置１０は、一例として、第４のシミュレーションＳ４を実行して得られる数理計画問題の最適値ｙ２として、１を算出する。
【００９１】
なお、本例においては、第２時点において解くべき数理計画問題の最適値を従来技術によって算出するが、最適解算出装置１０は、第２時点において解くべき数理計画問題に対しても、ステップＳ１１からステップＳ２２の処理を再帰的に適用することで最適値を算出してもよい。
【００９２】
図８は、第１時点において解くべき数理計画問題の第１時点の変数ベクトルｘ１（１）に対する、第２時点において解くべき数理計画問題の最適値ｙ２の関係を表す線形回帰式のグラフを示す。最適解算出装置１０は、図２で示したステップＳ１９において、第２時点において解くべき複数の数理計画問題のそれぞれの最適値、および、第２時点において解くべき複数の数理計画問題のそれぞれの推定の元となった、第１時点において解くべき数理計画問題の解に基づき、線形回帰式を推定する。
【００９３】
例えば、第２時点において解くべき数理計画問題の最適値と、第１時点において解くべき数理計画問題の第１時点の変数ベクトルとの組とに表されるポイントＰを、Ｘ−Ｙ座標上にプロットする。また、各ポイントには記録されているシナリオの比率を割り当てて、記録しておく。
【００９４】
本例においては、最適解算出装置１０は、第１のシミュレーションＳ１を実行して得られる数理計画問題の最適値と、対応する第１時点の変数ベクトルとの組とに表されるポイントＰ１（０，０）をＸ−Ｙ座標上にプロットする。さらに、最適解算出装置１０は、シミュレーションＳ１のシナリオの比率０．８をポイントＰ１にあわせて記録しておく。
【００９５】
また、本例においては、最適解算出装置１０は、第２のシミュレーションＳ２を実行して得られる数理計画問題の最適値と、対応する第１時点の変数ベクトルとの組とに表されるポイントＰ２（０，３）をＸ−Ｙ座標上にプロットする。さらに、最適解算出装置１０は、シミュレーションＳ２のシナリオの比率０．２をポイントＰ１にあわせて記録しておく。
【００９６】
また、本例においては、最適解算出装置１０は、第３のシミュレーションＳ３を実行して得られる数理計画問題の最適値と、対応する第１時点の変数ベクトルとに表されるポイントの組Ｐ３（１，０）をＸ−Ｙ座標上にプロットする。さらに、最適解算出装置１０は、シミュレーションＳ３のシナリオの比率０．８をポイントＰ３にあわせて記録しておく。
【００９７】
また、本例においては、最適解算出装置１０は、第４のシミュレーションＳ４を実行して得られる数理計画問題の最適値と、対応する第１時点の変数ベクトルとの組とに表されるポイントＰ４（１，１）をＸ−Ｙ座標上にプロットする。さらに、最適解算出装置１０は、シミュレーションＳ４のシナリオの比率０．２をポイントＰ４にあわせて記録しておく。
【００９８】
そして、最適解算出装置１０は、このようにプロットした各ポイントに基づき、線形回帰式（ｙ２＝αｘ１＋β）を推定する。本例においては、最適解算出装置１０は、"ｙ２＝−０．４ｘ１（１）＋０．６"という線形回帰式を推定した。
【００９９】
ここで、最適解算出装置１０は、線形回帰式の係数（α＝−０．４、β＝０．６）を、重みつきの誤差の２乗和を最小にすることにより決定する。より具体的には、最適解算出装置１０は、線形回帰式と各ポイントのｙ座標の値の差の２乗に、各ポイントにあわせて記録されているシナリオの比率を乗じた量の総和を最小にするようにαとβの値を決定する。本例においては、最適解算出装置１０は、下記の式（１２）を最小にするようなαおよびβを算出した。
【数１２】
2013235512.tif 000014
【０１００】
図９は、第１時点において解くべき数理計画問題における修正前の目的関数および修正後の目的関数の一例を示す。最適解算出装置１０は、図２で示したステップＳ２０において、線形回帰式に基づき、第１時点において解くべき数理計画問題の目的関数を修正する。
【０１０１】
算出された線形回帰式が、"ｙ２＝−０．４ｘ１（１）＋０．６"であるとする。この場合、最適解算出装置１０は、修正前の目的関数に、線形回帰式に線形回帰式の結果を反映させる指標λを乗じた項"λ（−０．４ｘ１（１）＋０．６）"を加える。なお、指標λは、線形回帰式が当該目的関数に与える影響度を表し、０より大きく１以下の値である。
【０１０２】
さらに、最適解算出装置１０は、修正前の目的関数における第２時点の変数ベクトルの項の影響度を、線形回帰式が当該目的関数に与える影響度に応じて下げる。即ち、最適解算出装置１０は、線形回帰式が当該目的関数に与える影響を大きくするほど、第２時点の変数ベクトルの項の影響度を下げる。具体的には、最適解算出装置１０は、修正前の目的関数における第２時点の変数ベクトルの項に、（１−λ）を乗じる。
【０１０３】
例えば、元の目的関数が下記式（１３）であるとする。
【数１３】
2013235512.tif 000015
【０１０４】
この場合、最適解算出装置１０は、目的関数を、下記の式（１４）のように修正する。
【数１４】
2013235512.tif 000016
【０１０５】
なお、修正後の目的関数の定数項（β＝０．６）は、最適解および最適値の演算に影響を与えない。従って、本例の場合においては、最適解算出装置１０は、目的関数を下記の式（１５）のように修正することができる。
【０１０６】
【数１５】
2013235512.tif 000017
【０１０７】
以上のように、目的関数が修正された数理計画問題における最適解は、以下の式（１６）のようになる。
【数１６】
2013235512.tif 000018
【０１０８】
また、第１時点を式（１６）で制御して、第２時点を第２時点において解くべき数理計画問題の最適解で制御した場合には、第２時点の予測需要を反映すると、第１時点のコストと第２時点のコストの和の期待値は、以下の式（１７）のようになる。
【数１７】
2013235512.tif 000019
【０１０９】
以上から、目的関数が修正された数理計画問題の最適値（発電機のコスト）は、０．６となる。これは、式（１１）において示した通常の処理において算出した最適値である１．２と比較して、小さくなっている。
【０１１０】
以上のように、最適解算出装置１０によれば、シナリオに基づくシミュレーションにより第２時点の状況を推定して第２時点において解くべき数理計画問題を生成し、第２時点において解くべき数理計画問題の最適値を回帰させて、第１時点において解くべき数理計画問題を修正する。これにより、最適解算出装置１０によれば、より将来の状況をより詳細に反映しつつ且つ単純化した問題を生成して、真の最適に近い解を算出することができる。
【０１１１】
図１０は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【０１１２】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【０１１３】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【０１１４】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【０１１５】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【０１１６】
コンピュータ１９００にインストールされ、コンピュータ１９００を、最適解算出装置１０として機能させるプログラムは、第１時点問題取得モジュールと、第１時点解生成モジュールと、シナリオ取得モジュールと、第２時点問題生成モジュールと、第２時点最適値算出モジュールと、関係式推定モジュールと、修正モジュールと、反復制御モジュールと、第１時点最適解算出モジュールと、を備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、第１時点問題取得部１２、第１時点解生成部１４、シナリオ取得部１６、第２時点問題生成部１８、第２時点最適値算出部２０、関係式推定部２２、修正部２４、反復制御部２６、および、第１時点最適解算出部２８としてそれぞれ機能させる。
【０１１７】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である、第１時点問題取得部１２、第１時点解生成部１４、シナリオ取得部１６、第２時点問題生成部１８、第２時点最適値算出部２０、関係式推定部２２、修正部２４、反復制御部２６、および、第１時点最適解算出部２８として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の最適解算出装置１０が構築される。
【０１１８】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【０１１９】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【０１２０】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【０１２１】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【０１２２】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【０１２３】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１２４】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１２５】
１０  最適解算出装置
１２  第１時点問題取得部
１４  第１時点解生成部
１６  シナリオ取得部
１８  第２時点問題生成部
２０  第２時点最適値算出部
２２  関係式推定部
２４  修正部
２６  反復制御部
２８  第１時点最適解算出部
１９００  コンピュータ
２０００  ＣＰＵ
２０１０  ＲＯＭ
２０２０  ＲＡＭ
２０３０  通信インターフェイス
２０４０  ハードディスクドライブ
２０５０  フレキシブルディスク・ドライブ
２０６０  ＣＤ−ＲＯＭドライブ
２０７０  入出力チップ
２０７５  グラフィック・コントローラ
２０８０  表示装置
２０８２  ホスト・コントローラ
２０８４  入出力コントローラ
２０９０  フレキシブルディスク
２０９５  ＣＤ−ＲＯＭ
【図１】
2013235512.tif 000020
【図２】
2013235512.tif 000021
【図３】
2013235512.tif 000022
【図４】
2013235512.tif 000023
【図５】
2013235512.tif 000024
【図６】
2013235512.tif 000025
【図７】
2013235512.tif 000026
【図８】
2013235512.tif 000027
【図９】
2013235512.tif 000028
【図１０】
2013235512.tif 000029