(57)【要約】【課題】多目的最適化問題において複数の目的の間の重要度をユーザの感覚に依存せずに適切に設定する。【解決手段】計画作成問題を多目的最適化問題として解決する計画作成装置であって、少なくとも１組の既作成計画および既作成計画の前提情報を取得する既作成計画取得部と、計画の目的関数に含まれる評価指標の重要度の探索範囲、および探索範囲内で格子状に分布する重要度のタプル群を設定するタプル設定部と、タプル群に含まれる少なくとも１つのタプルについて、タプルに対応する重要度および前提情報に基づく仮計画を作成する仮計画作成部と、仮計画を既作成計画と比較することによって仮計画の妥当性を評価する仮計画評価部と、妥当性に関する第１の条件を満たすタプルを抽出するタプル抽出部と、抽出されたタプルに対応する重要度に基づいて計画作成問題を最適化または準最適化する最適化部とを備える計画作成装置が提供される。【選択図】図３
2019200695.tif 000002
【特許請求の範囲】
【請求項１】
計画作成問題を多目的最適化問題として解決する計画作成装置であって、
少なくとも１組の既作成計画および前記既作成計画の前提情報を取得する既作成計画取得部と、
計画の目的関数に含まれる評価指標の重要度の探索範囲、および前記探索範囲内で格子状に分布する前記重要度のタプル群を設定するタプル設定部と、
前記タプル群に含まれる少なくとも１つのタプルについて、前記タプルに対応する前記重要度および前記前提情報に基づく仮計画を作成する仮計画作成部と、
前記仮計画を前記既作成計画と比較することによって前記仮計画の妥当性を評価する仮計画評価部と、
前記妥当性に関する第１の条件を満たす前記タプルを抽出するタプル抽出部と、
前記抽出されたタプルに対応する前記重要度に基づいて前記計画作成問題を最適化または準最適化する最適化部と
を備える計画作成装置。
【請求項２】
前記タプル抽出部は、前記第１の条件を満たす前記タプルがない場合に、前記妥当性に関する第２の条件を満たす前記タプルを抽出し、
前記タプル設定部は、前記抽出されたタプルを基準にして前記重要度の新たな探索範囲を設定し、前記新たな探索範囲内で格子状に分布する前記重要度の新たなタプル群を設定する、請求項１に記載の計画作成装置。
【請求項３】
前記タプル抽出部は、前記第２の条件を満たす複数の前記タプルを抽出し、
前記タプル設定部は、前記抽出された複数のタプルのそれぞれを基準にして前記重要度の複数の新たな探索範囲および複数の新たなタプル群を設定する、請求項２に記載の計画作成装置。
【請求項４】
前記新たな探索範囲は、前記探索範囲よりも小さく、
前記新たなタプル群が格子状に分布する間隔は、前記タプル群が格子状に分布していた間隔よりも小さい、請求項２または請求項３に記載の計画作成装置。
【請求項５】
前記新たな探索範囲は、前記抽出されたタプルを含むタプル群が格子状に分布していた間隔に基づいて設定される、請求項２から請求項４のいずれか１項に記載の計画作成装置。
【請求項６】
前記仮計画作成部は、前記タプル群から選ばれたタプルについて前記仮計画を作成し、
前記選ばれたタプルが前記第１の条件を満たす場合、前記仮計画作成部は前記タプル群に含まれる残りのタプルについて前記仮計画を作成しない、請求項１から請求項５のいずれか１項に記載の計画作成装置。
【請求項７】
前記仮計画作成部は、最初に前記タプル設定部が設定した探索範囲の中心に近い順に前記タプル群からタプルを選んで仮計画を作成する、請求項６に記載の計画作成装置。
【請求項８】
計画作成問題を多目的最適化問題として解決する計画作成方法であって、
少なくとも１組の既作成計画および前記既作成計画の前提情報を取得する既作成計画取得工程と、
計画の目的関数に含まれる評価指標の重要度の探索範囲、および前記探索範囲内で格子状に分布する前記重要度のタプル群を設定するタプル設定工程と、
前記タプル群に含まれる少なくとも１つのタプルについて、前記タプルに対応する前記重要度および前記前提情報に基づく仮計画を作成する仮計画作成工程と、
前記仮計画を前記既作成計画と比較することによって前記仮計画の妥当性を評価する仮計画評価工程と、
前記妥当性に関する第１の条件を満たす前記タプルを抽出するタプル抽出工程と、
前記抽出されたタプルに対応する前記重要度に基づいて前記計画作成問題を最適化または準最適化する最適化工程と
を含む計画作成方法。
【請求項９】
少なくとも１組の既作成計画および前記既作成計画の前提情報を取得する既作成計画取得部と、
計画の目的関数に含まれる評価指標の重要度の探索範囲、および前記探索範囲内で格子状に分布する前記重要度のタプル群を設定するタプル設定部と、
前記タプル群に含まれる少なくとも１つのタプルについて、前記タプルに対応する前記重要度および前記前提情報に基づく仮計画を作成する仮計画作成部と、
前記仮計画を前記既作成計画と比較することによって前記仮計画の妥当性を評価する仮計画評価部と、
前記妥当性に関する第１の条件を満たす前記タプルを抽出するタプル抽出部と、
前記抽出されたタプルに対応する前記重要度に基づいて前記計画作成問題を最適化または準最適化する最適化部と
を備え、計画作成問題を多目的最適化問題として解決する計画作成装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計画作成装置、計画作成方法およびプログラムに関する。
【背景技術】
【０００２】
商業、工業等の産業が発展する中で、その規模はますます大きく、かつ複雑なものとなっている。このような状況の中で、例えば、効率的な調達、運搬、生産、出荷等を行うために、高効率、高生産性を実現できる生産計画、物流計画を作成することが求められる。そこで、人手で計画を作成すること、あるいは、人の考えを模擬したルールに従って計画を作成することに代わり、生産計画、物流計画等、各種の計画の作成を、「与えられた制約条件の下で目的を最適に達成するための数理モデル」、すなわち数理計画問題として捉え、数理計画問題を解くことにより実現する技術がある。この数理計画問題の中でも、作成される計画の評価指標となる目的が複数ある問題は、多目的最適化問題と呼ばれる。
【０００３】
計画の作成を多目的最適化問題として捉え、その問題を解くことにより得られた解を計画とする場合、作成される計画の評価指標として構成する「目的関数」に複数の目的が含まれるため、各目的の重要度を適切に設定することが重要となる。これらの目的としては、例えば、調達にかかる費用をできるだけ安くする、輸送にかかる合計時間をできるだけ短くする、工期をできるだけ短くする、納期をできるだけ守るなどが挙げられる。
【０００４】
ここで、一般的な計画では、ある対象について、単一の期間の計画を作成する場合でも複数の目的があり、それぞれの目的に対応する評価指標を総合的に最小化、または最大化することが求められる場合が多いが、これらの目的は相反するものであることが多い。例えば、物資の在庫を減らして必要な分をタイミングよく調達するためには少量高速の輸送手段が必要になるのに対し、そのような輸送手段は大量低速の輸送手段に比べて一般に費用がかかる。つまり、物資の在庫を減らすことと、輸送にかかる費用を削減することとは相反する目的である。加えて、それぞれの目的に対応する評価指標は、例えば費用であったり、納期からのずれであったりと単位が一致しない場合が多い。このように、相反し、また評価指標の単位が異なる複数の目的の調和を取りながら計画を導出することが、妥当な計画の作成のためには重要である。換言すれば、計画の作成にあたっては、複数の目的の間で重要度をどのように設定するのかが重要である。
【０００５】
しかしながら、複数の目的の間の重要度を設定するための明確な指標はないことが多いため、重要度を適切に設定することは難しい。それゆえ、予め設定された重要度に従って自動的に作成された計画は、多くの場合においてユーザの意図に沿うものではない。例えば、生産計画や物流計画といった計画の作成をシステム化する需要があるが、上記のように適切な重要度の設定が困難であるために、システム化が進展しない、または、システム化したものの実際にはシステムが使われない、といった場合が多くある。
【０００６】
このような状況をふまえ、計画の作成にあたって適切な重要度を算出する技術が、例えば特許文献１に記載されている。特許文献１では、複数の評価指標から抽出される２つの評価指標のすべての組み合わせについて、それぞれユーザが相対的に比較して、それら２つの評価指標の間で相対的な重要度を指定しなければならない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２４４９５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、多目的最適化問題を数理計画問題として重み係数法を用いて解く手法では、複数の評価指標の相対的なバランスを表す重み係数を複数の評価指標のそれぞれに掛けた値の和、つまりスカラー化された目的関数を最小化または最大化する。この場合、重み係数が上述した重要度にあたる。上記の特許文献１に記載の技術を重み係数法に組み合わせることによって、複数の目的の間の重要度が適切に設定された計画を作成することが可能になるとも考えられる。
【０００９】
しかしながら、特許文献１に記載の技術を重み係数法に組み合わせた場合、重み係数、すなわち２つの評価指標の間の相対的な重要度はユーザが指定することになる。ここで、特許文献１には、２つの評価指標の間の相対的な重要度を設定するための基準は記載されていない。計画の複数の目的の中には、上述したように相反し、また評価指標の単位が異なるものがあるため、基準がなくユーザの感覚に依存した方法では、複数の目的の間の重要度（重み係数）を適切に設定することは困難である。
【００１０】
本発明は、以上のような点に鑑みてなされたものであり、多目的最適化問題において複数の目的の間の重要度をユーザの感覚に依存せずに適切に設定することが可能な計画作成装置、計画作成方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明のある観点によれば、計画作成問題を多目的最適化問題として解決する計画作成装置であって、少なくとも１組の既作成計画および既作成計画の前提情報を取得する既作成計画取得部と、計画の目的関数に含まれる評価指標の重要度の探索範囲、および探索範囲内で格子状に分布する重要度のタプル群を設定するタプル設定部と、タプル群に含まれる少なくとも１つのタプルについて、タプルに対応する重要度および前提情報に基づく仮計画を作成する仮計画作成部と、仮計画を既作成計画と比較することによって仮計画の妥当性を評価する仮計画評価部と、妥当性に関する第１の条件を満たすタプルを抽出するタプル抽出部と、抽出されたタプルに対応する重要度に基づいて計画作成問題を最適化または準最適化する最適化部とを備える計画作成装置が提供される。
【００１２】
本発明の別の観点によれば、計画作成問題を多目的最適化問題として解決する計画作成方法であって、少なくとも１組の既作成計画および既作成計画の前提情報を取得する既作成計画取得工程と、計画の目的関数に含まれる評価指標の重要度の探索範囲、および探索範囲内で格子状に分布する重要度のタプル群を設定するタプル設定工程と、タプル群に含まれる少なくとも１つのタプルについて、タプルに対応する重要度および前提情報に基づく仮計画を作成する仮計画作成工程と、仮計画を既作成計画と比較することによって仮計画の妥当性を評価する仮計画評価工程と、妥当性に関する第１の条件を満たすタプルを抽出するタプル抽出工程と、抽出されたタプルに対応する重要度に基づいて計画作成問題を最適化または準最適化する最適化工程とを含む計画作成方法が提供される。
【００１３】
本発明のさらに別の観点によれば、少なくとも１組の既作成計画および既作成計画の前提情報を取得する既作成計画取得部と、計画の目的関数に含まれる評価指標の重要度の探索範囲、および探索範囲内で格子状に分布する重要度のタプル群を設定するタプル設定部と、タプル群に含まれる少なくとも１つのタプルについて、タプルに対応する重要度および前提情報に基づく仮計画を作成する仮計画作成部と、仮計画を既作成計画と比較することによって仮計画の妥当性を評価する仮計画評価部と、妥当性に関する第１の条件を満たすタプルを抽出するタプル抽出部と、抽出されたタプルに対応する重要度に基づいて計画作成問題を最適化または準最適化する最適化部とを備え、計画作成問題を多目的最適化問題として解決する計画作成装置としてコンピュータを機能させるためのプログラムが提供される。
【００１４】
上記の構成によれば、既作成計画を教師データとして捉え、これらの計画から各目的の重要度を抽出することができる。従って、多目的最適化問題において複数の目的の間の重要度をユーザの感覚に依存せずに適切に設定することが可能になる。
【図面の簡単な説明】
【００１５】
【図１】既作成計画に基づく新たな期間の計画の作成について概念的に説明するための図である。
【図２】本発明の一実施形態に係る計画作成方法の概略的な処理を示すフローチャートである。
【図３】本発明の一実施形態に係る計画作成装置の概略的なシステム構成を示すブロック図である。
【図４】本発明の一実施形態において設定される探索範囲およびタプル群、およびタプルごとに算出される距離の例を概念的に示す図である。
【図５】図４の例におけるタプルごとの距離の算出について概念的に説明するための図である。
【図６】図４の例において距離の平均値が最小であったタプルの各データセットにおける距離を示すグラフである。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１７】
本明細書では、説明の簡単化のため、決定すべき変数（決定変数）の個数を１０、制約式の個数を３、目的（評価指標）の個数を３とした簡単な重み係数法を用いた線形計画問題の例を用いて説明をするが、問題規模が大きくなったとしても一般性は失わない。また、生産計画や物流計画を例として説明するが、他の種類の計画についても同様に適用することが可能である。
【００１８】
（概要）
生産計画や物流計画では、まず所定期間、具体的には１週間分や１ヶ月分の計画を作成し、計画に従って操業を開始した後、例えば数日後に、それまでに経過した期間における計画と実績とのずれに応じて計画を修正し、さらに経過した期間の分の計画を継ぎ足して作成することによって、再度、所定期間分の計画を用意する。このようなローリングとも呼ばれる計画の作成手法は、実操業において一般的である。ローリングを用いた計画の作成を多目的最適化問題として捉えた場合、問題構造自体は変わらず、各目的の重要度も基本的に変わらない。このため、過去に作成された計画を教師データとして捉え、これらの計画から各目的の重要度を抽出することができれば、抽出された重要度を用いて新たな期間の計画を作成することで、妥当な計画が作成できる蓋然性が高くなる（図１）。
【００１９】
本実施形態の計画作成装置は、多目的最適化問題を線形計画問題として重み係数法を用いて線形計画法により解く際に用いる目的関数の重み係数（評価指標の重要度）の値を、過去に作成された計画を用いて導出する。さらに、計画作成装置は、導出された重み係数を用いて、線形計画問題の最適解を線形計画法により求め、新たな期間に対する計画を作成する。従って、本実施形態で取り扱う多目的最適化問題Ｐは、以下の（１）式〜（６）式で記述される。
【００２０】
【数１】
2019200695.tif 000003
【００２１】
（１）式〜（６）式において、Ｚは目的関数、ｘは決定変数、ｗは重み係数、Ａは制約式に対する係数行列、Ｃはコスト係数行列、ｂは制約式の右辺定数である。なお、列ベクトルＣｘの各行はそれぞれ評価指標を表す。従って、本実施形態において、目的関数Ｚは、複数の評価指標Ｃｘの各評価指標の重み付け和としてスカラー化されたものとなる。本実施形態における重み係数の導出（推定）では、重み係数ｗ以外の値、つまりＺ，ｘ，Ａ，Ｃ，ｂは与えられた状態で、重み係数ｗを求めることが目標となる。重み係数ｗはΣｗｉ＝１，ｗｉ≧０（ｉ＝１，２，３）としても一般性を失わない。このため、以下ではΣｗｉ＝１，ｗｉ≧０（ｉ＝１，２，３）であるものとして説明する。
【００２２】
本実施形態では、５０組の過去の作成された計画（ｘ）と、計画を作成した際に前提とした情報（Ａ，Ｃ，ｂ）を取得し、これら５０組のデータセットを用いた場合（図１においてｎ＝５０とした場合）に関して説明する。データセットの数は、ここでは５０組としたが、組数は任意の他の数でもよい。また、作成された計画として、ｘの他にＺを与えてもよい。
【００２３】
例えば、上記の例は、材料１〜材料１０を配合して混合物を生成する場合に、制約ｉ（ｉ＝｛１，２，３｝）に関してはｂｉ（ｉ＝｛１，２，３｝）以上を満たす必要があり、各制約ｉ（ｉ＝｛１，２，３｝）への材料ｊ（ｊ＝｛１，２，…，１０｝）の寄与がａｉｊであるものに対して、目的ｐ（ｐ＝｛１，２，３｝）を最小化（すなわち、評価指標Ｃｘを最小化）するように材料１〜材料１０の各購買量ｘ１，ｘ２，・・・，ｘ１０を決定するといった問題が対応する。ここで、制約ｉおよび目的ｐの例としては、品質が挙げられるが、価格や納期といった他の指標を制約ｉまたは目的ｐとして用いることも可能である。
【００２４】
（処理フロー）
図２は、本発明の一実施形態に係る、計画作成問題を多目的最適化問題として解決する計画作成方法の概略的な処理を示すフローチャートである。図２に示されるように、計画作成方法は、既作成計画および前提情報を取得する工程（Ｓ１１０）と、計算終了条件を設定する工程（Ｓ１２０）と、探索範囲およびタプル群を設定する工程（Ｓ１３０）と、タプルごとに仮計画を作成する工程（Ｓ１４０）と、仮計画と既作成計画との間の距離を計算する工程（Ｓ１５０）と、計算終了条件を満たすタプルが存在するか否かを判定する工程（Ｓ１６０）と、計算終了条件を満たすタプルが存在する場合にそのタプルを抽出し、抽出されたタプルに対応する重み係数に基づいて新たな期間に対する計画を作成する工程（Ｓ１７０）とを含む。
【００２５】
（システム構成）
図３は、本発明の一実施形態に係る、計画作成問題を多目的最適化問題として解決する計画作成装置の概略的なシステム構成を示すブロック図である。図３に示されるように、計画作成装置１００は、既作成計画取得部１１０と、終了条件設定部１２０と、タプル設定部１３０と、仮計画作成部１４０と、距離計算部１５０と、タプル抽出部１６０と、表示部１７０と、最適化部１８０とを備える。なお、図３を参照した説明では計画作成装置１００の各部を実装するための具体的な手段について説明し、各部の機能の詳細については後述する。
【００２６】
計画作成装置１００は、例えばＣＰＵ（Central  Processing  Unit）、記憶装置、通信装置、入出力手段などを備え、プログラムに従って各種の演算を実行するコンピュータによって実装される。コンピュータは、専ら計画作成装置１００として用いられるものであってもよいし、多用途のコンピュータが特定のプログラムに従って動作することによって計画作成装置１００として機能してもよい。プログラムは、コンピュータの記憶装置に格納されるか、またはリムーバブル記憶媒体に格納されてコンピュータに読み込まれる。
【００２７】
上記の計画作成装置１００の構成要素のうち、既作成計画取得部１１０は、コンピュータの記憶装置またはリムーバブル記憶媒体に格納された少なくとも１組の既作成計画に関する情報を読み込むように構成されたプログラムモジュールに対応する。既作成計画に関する情報が計画作成装置１００の外部の装置に格納されている場合、既作成計画取得部１１０は当該装置との通信を実行してもよい。既作成計画取得部１１０は、図２を参照して説明した処理フローの工程Ｓ１１０に対応する処理を実行する。
【００２８】
一方、終了条件設定部１２０、タプル設定部１３０、仮計画作成部１４０、距離計算部１５０、タプル抽出部１６０、および最適化部１８０は、所定の演算を実行するように構成されたプログラムモジュールに対応する。上記の各部は、図２を参照して説明した処理フローの工程Ｓ１２０から工程Ｓ１７０にそれぞれ対応する処理を実行する。表示部１７０は、コンピュータが入出力手段として備えるディスプレイ、または特定の情報を表示するようにディスプレイを制御するように構成されたプログラムモジュールに対応する。計画作成装置１００の出力は、表示部１７０のような出力手段によって出力されてもよく、コンピュータの記憶装置またはリムーバブル記憶媒体に格納されてもよく、あるいは外部の装置に送信されてもよい。
【００２９】
以下、計画作成装置１００の各部の機能、および各部の機能によって実行される処理について、より詳細に説明する。
【００３０】
（既作成計画取得部）
既作成計画取得部１１０は、少なくとも１組の既作成計画および当該既作成計画の前提情報を取得する。ここで、既作成計画は過去に作成された計画を意味し、前提情報は計画を作成した際に前提とした情報を意味する。本実施形態の例では、既作成計画および前提情報として、多目的最適化問題Ｐを表す式（１）〜式（６）と、以下の表１に示すようなコスト係数Ａ、制約式の係数行列Ｃ、制約式の右辺定数ｂ、および作成された計画（各購買量）ｘの値を取得する。
【００３１】
【表１】
2019200695.tif 000004
【００３２】
（終了条件設定部）
終了条件設定部１２０は、計画作成装置１００における計算終了条件を設定する。本実施形態では、図２に示したように、工程Ｓ１７０で終了条件が満たされたと判定されるまで、工程Ｓ１３０〜工程Ｓ１６０、すなわちタプル設定部１３０、仮計画作成部１４０、距離計算部１５０、およびタプル抽出部１６０による処理がループして実行される。本実施形態の例において、終了条件設定部１２０は、既作成計画取得部１１０が取得した前提情報に基づいて、後述するタプル抽出部１６０が抽出したタプルに対応する重み係数ごとに作成された仮計画ｘ＊と、既作成計画取得部１１０が取得した既作成計画ｘとの間の距離を終了条件に設定する。具体的には、終了条件設定部１２０は、以下に式（７）として示すようなＬ２ノルムを距離として用いて、距離が所定値（ここでは１）以下になることを計算終了条件に設定する。なお、式（７）においてｘｊ＊（ｊ＝｛１，２，…，１０｝）は列ベクトルｘ＊の各成分を表す。他の例において、終了条件設定部１２０は、処理のループ回数が所定値に到達することを計算終了条件に設定してもよい。あるいは、終了条件設定部１２０は、複数の条件の組み合わせ、具体的には例えば仮計画ｘ＊と既作成計画ｘとの間の距離が所定値以下になるか、または処理のループ回数が所定値に到達することを計算終了条件に設定してもよい。
【００３３】
【数２】
2019200695.tif 000005
【００３４】
（タプル設定部）
タプル設定部１３０は、重み係数ｗの探索範囲、および探索範囲内で格子状に分布する重み係数ｗのタプル群を設定する。ここで、重み係数ｗは、作成しようとしている計画の目的関数に含まれる評価指標の重要度の例である。上述のように、本実施形態において重み係数ｗはΣｗｉ＝１，ｗｉ≧０（ｉ＝１，２，３）を満たすので、ｗ３を（ｗ１，ｗ２）が決まれば自動的に決定される従属変数とし、ｗ１，ｗ２のみを独立変数とすることができる。それゆえ、本実施形態において、タプル設定部１３０は、ｗ１，ｗ２の２変数によって構成される２次元平面上に探索範囲を設定し、この探索範囲内で格子状に分布する重み係数（ｗ１，ｗ２）のタプル群を設定する。具体的には、最初に実行される処理のループにおいて、タプル設定部１３０は０≦ｗ１≦１，０≦ｗ２≦１、かつｗ１＋ｗ２≦１で規定される探索範囲を設定する。さらに、ｗ１，ｗ２のそれぞれについて分割数が１０（またはタプル間隔が０．１）である場合、タプル設定部１３０は上記の探索範囲内に０．１間隔の格子状に分布するタプル群を設定する。具体的には、重み係数（ｗ１，ｗ２）のタプル群は、２次元平面上で（０．０，０．０），（０．０，０．１），（０．０，０．２），・・・のような格子点を形成する（図４参照）。
【００３５】
上述したように、本実施形態ではタプル設定部１３０、仮計画作成部１４０、距離計算部１５０、およびタプル抽出部１６０による処理がループして実行されうるが、２回目以降の処理において、タプル設定部１３０は、タプル抽出部１６０が抽出したタプルを基準にして重み係数（ｗ１，ｗ２）の新たな探索範囲を設定するとともに、新たな探索範囲内で格子状に分布する重み係数ｗの新たなタプル群を設定する。ここで、新たな探索範囲を前回の探索範囲よりも小さくし、新たなタプル群が格子状に分布する間隔を前回のタプル群が格子状に分布していた間隔よりも小さくしてもよい。また、このとき、新たな探索範囲は、前回抽出されたタプルを含むタプル群が格子状に分布していた間隔に基づいて設定されてもよい。これによって、探索範囲が段階的に絞り込まれ、高精度かつ高速に適切な重み係数（ｗ１，ｗ２）を探索することができる。
【００３６】
具体的には、例えば、図４の例において、後述するタプル抽出部１６０がタプル間隔０．１で設定された重み係数（ｗ１，ｗ２）のタプル群からタプル（０．４，０．４）を抽出した場合、２回目のループでタプル設定部１３０は、抽出されたタプルの重み係数（ｗ１＝０．４、ｗ２＝０．４）を初回のループでのタプル間隔（０．１）だけ拡張した新たな探索範囲、すなわち０．３≦ｗ１≦０．５，０．３≦ｗ２≦０．５で規定される探索範囲を設定し、この新たな探索範囲内に０．０２間隔の格子状に分布する新たな重み係数（ｗ１，ｗ２）のタプル群を設定する。この場合、重み係数（ｗ１，ｗ２）のタプル群は、２次元平面上で（０．３，０．３），（０．３，０．３２），（０．３，０．３４），・・・のような格子点を形成する。なお、上記の探索範囲では常にｗ１＋ｗ２≦１となるが、そうではない場合にはｗ１＋ｗ２≦１も探索範囲を規定する条件に加えられる。上記の例では、前回のループで抽出されたタプルの重み係数を前回のタプル間隔だけ拡張して新たな探索範囲を設定しているが、例えば抽出されたタプルの重み係数を前回のタプル間隔の２倍、または３倍だけ拡張して新たな探索範囲を設定してもよい。
【００３７】
（仮計画作成部）
仮計画作成部１４０は、タプル設定部１３０が設定したタプル群に含まれる少なくとも１つのタプルについて仮計画ｘ＊を作成する。ここで、仮計画ｘ＊は、タプル（ｗ１，ｗ２）に対応する重み係数（自動的に決定される重み係数ｗ３を含む）と、既作成計画取得部１１０が取得した各データセットに含まれる前提情報とに基づいて作成される。具体的には、仮計画作成部１４０は、式（１）〜式（６）によって表される多目的最適化問題Ｐを、線形計画法を用いて最適化することによって仮計画ｘ＊を導出する。仮計画作成部１４０は、１つのタプル（ｗ１，ｗ２）について、各データセット（表１の例では、５０組のデータセット）分の仮計画ｘ＊を作成する（図５参照）。なお、線形計画法による最適化計算は、例えば市販の数理計画法のソルバー（ＣＰＬＥＸ（登録商標）のようなソフトウェア）を用いて実行することができる。
【００３８】
ここで、適切な重み係数を導出するためには、既作成計画取得部１１０が取得した各データセット分の仮計画ｘ＊を各タプル（ｗ１，ｗ２）に対して網羅的に作成する必要があるが、この際に作成される仮計画ｘ＊の数はタプル数×データセット数となるため、タプル数が多いと計算量が膨大になる。本実施形態では、分割数またはタプル間隔を重要度の精度に応じて適切に設定することによって１回の処理における計算量を抑制しながら、処理のループを繰り返して探索範囲を絞り込むことによって、実用的な計算量で適切な重み係数を推定することを可能にしている。後述するように、各タプル（ｗ１，ｗ２）についての仮計画ｘ＊の作成と距離の計算、および終了条件の判定を直列的に実行すれば、終了条件が満たされて以降のタプルについては仮計画ｘ＊を作成しないことによってさらに計算量を削減することもできる。
【００３９】
（距離計算部）
距離計算部１５０は、仮計画作成部１４０によって作成された仮計画ｘ＊のそれぞれについて、当該仮計画ｘ＊を作成するのに用いられた前提情報に対応する既作成計画ｘとの間の距離を算出する（図５参照）。以下の表２に示されるように、各タプル（ｗ１，ｗ２）について、各データセット（表２の例では、５０組のデータセット）分の距離が算出される。後述するように、距離計算部１５０によって算出された距離は、仮計画ｘ＊の妥当性を評価する指標として用いられる。つまり、距離計算部１５０は、仮計画ｘ＊を既作成計画ｘとを比較することによって仮計画ｘ＊の妥当性を評価する仮計画評価部の例である。つまり、本実施形態では、仮計画ｘ＊の妥当性が既作成計画ｘとの間の距離によって評価される。なお、本実施形態において、距離計算部１５０が算出する距離は、終了条件設定部１２０が設定する計算終了条件で用いられる距離に対応する。従って、本実施形態において距離計算部１５０が算出する距離は、上記の式（７）に示したＬ２ノルムである。他の例では、Ｌ１ノルムなど他の手法で算出された距離が用いられてもよい。
【００４０】
【表２】
2019200695.tif 000006
【００４１】
（タプル抽出部）
タプル抽出部１６０は、既作成計画ｘに対する仮計画ｘ＊の妥当性に関する第１の条件を満たすタプル（ｗ１，ｗ２）を抽出する。ここで、本実施形態において、第１の条件は上記で説明した終了条件設定部１２０が設定する計算終了条件、すなわち仮計画ｘ＊と既作成計画ｘとの間の距離が１以下になることである。上記の通り、本実施形態では各タプル（ｗ１，ｗ２）について各データセット（表２の例では、５０組のデータセット）分の距離が算出されるため、上記の計算終了条件は、あるタプル（ｗ１，ｗ２）について仮計画ｘ＊と既作成計画ｘとの間の距離がすべてのデータセットにおいて１以下になること、と読み替えられてもよい。図６に、図４の例において距離の平均値が最小であったタプル（ｗ１，ｗ２）の、各データセットにおける仮計画ｘ＊と既作成計画ｘとの間の距離を示す。この場合、データセット９，１９などで距離が１を超えているため、計算終了条件は満たされない。
【００４２】
本実施形態では、上記のように第１の条件（計算終了条件）を満たすタプル（ｗ１，ｗ２）が存在しない場合に、タプル抽出部１６０が、既作成計画ｘに対する仮計画ｘ＊の妥当性に関する第２の条件を満たすタプル（ｗ１，ｗ２）を抽出し、この抽出されたタプル（ｗ１，ｗ２）について、タプル設定部１３０、仮計画作成部１４０、および距離計算部１５０による次回のループの処理が実行される。なお、次回（２回目）のループ処理におけるタプル設定部１３０の処理については上述した通りである。仮計画作成部１４０は、タプル設定部１３０が設定した新たなタプル群に含まれる少なくとも１つのタプルについて仮計画ｘ＊を作成し、距離計算部１５０が仮計画ｘ＊と既作成計画ｘとの間の距離を算出する。本実施形態において、第２の条件は、仮計画ｘ＊と既作成計画ｘとの間の距離のすべてのデータセットでの平均値が最も小さいことである。図４では、ある例における各タプル（ｗ１，ｗ２）で５０組のデータセットに対して求めた距離の平均値がドットの大きさで示されている。この例では、タプル（０．４，０．４）で距離の平均値が最も小さいため、タプル（０．４，０．４）が第２の条件を満たすタプルとして抽出される。２回目のループ処理でも第１の条件（計算終了条件）を満たすタプル（ｗ１，ｗ２）が存在しない場合、３回目以降のループ処理が同様に実行されるが、その度に探索範囲はより狭くなり、タプル間隔はより小さくなる。
【００４３】
なお、他の例では、仮計画ｘ＊と既作成計画ｘとの間の距離のすべてのデータセットでの最大値が最も小さいことなど、他の様々な第２の条件が設定されてもよい。また、第２の条件は、必ずしも１つのタプルを抽出するものでなくてもよく、例えば距離の平均値や最大値が最も小さいものから順に複数のタプルを抽出するものであってもよい。つまり、タプル抽出部１６０は、第２の条件を満たす複数のタプルを抽出してもよい。この場合、次回のループの処理において、タプル設定部１３０は、タプル抽出部１６０が抽出した複数のタプルのそれぞれを基準にして複数の新たな探索範囲、および複数の新たなタプル群を設定する。また、第１の条件との違いとして、第２の条件は、上記の例のように、それを満たすタプル（ｗ１，ｗ２）が基本的には存在するような、例えばタプル間の相対的な関係によって決まる条件でありうる。他の実施形態において、処理のループを実行しない場合には、第１の条件として上記の第２の条件のようにそれを満たすタプル（ｗ１，ｗ２）が基本的には存在するような条件を設定してもよい。
【００４４】
図４に示された例において、タプル（０．４，０．４）が第２の条件を満たすタプルとして抽出された場合、次回のループの処理では、タプル設定部１３０が０．３≦ｗ１≦０．５，０．３≦ｗ２≦０．５で規定される新たな探索範囲を設定する。この新たな探索範囲は、上記の探索範囲から抽出される重み係数のタプル（ｗ１，ｗ２）は、各重み係数を０．０２刻みとした格子状の点として（０．３，０．３），（０．３，０．３２），（０．３，０．３４），・・・のように与えられる。各タプル（ｗ１，ｗ２）、およびそれらに対応して自動的に決定される重み係数ｗ３を用いて、各データセット分の計画を上記で説明したのと同様の手順で作成する手順を、終了条件が満たされるまで繰り返す。上記の例では、２回目のループの処理で重み係数（ｗ１，ｗ２，ｗ３）＝（０．４４，０．３４，０．２２）が導出された。
【００４５】
（表示部）
表示部１７０は、タプル抽出部１６０が抽出したタプルに対応する重み係数（ｗ１，ｗ２，ｗ３）の値をディスプレイに表示する。例えば、図４に示された例において、２回目のループでタプル（ｗ１，ｗ２）＝（０．４４，０．３４）が第１の条件、すなわち仮計画ｘ＊と既作成計画ｘとの間の距離がすべてのデータセットにおいて１以下になることを満たした場合、このタプルに対応する重み係数（ｗ１，ｗ２，ｗ３）＝（０．４４，０．３４，０．２２）が表示部１７０によってディスプレイに表示される。なお、表示部１７０および表示部１７０によって実行される処理は、他の実施形態では省略されてもよい。この場合、抽出されたタプルに対応する重み係数の値は、ディスプレイに表示されることなく最適化部１８０に送信される。
【００４６】
（最適化部）
最適化部１８０は、タプル抽出部１６０が抽出したタプルに対応する重み係数（ｗ１，ｗ２，ｗ３）に基づいて、計画作成問題を最適化または準最適化する。具体的には、最適化部１８０は、新たな期間の計画に対応する制約式の係数行列Ａ、コスト係数行列Ｃおよび制約式の右辺定数ｂと、タプル抽出部１６０が抽出したタプルに対応する重み係数（ｗ１，ｗ２，ｗ３）とを式（１）〜式（６）に与え、式（２）を満足する範囲で、目的関数Ｚが最小になるときの決定変数ｘ（すなわち、最適解）を、線形計画法による最適化計算を行うことにより導出する。なお、線形計画法による最適化計算は、上述した仮計画作成部１４０の処理と同様に、例えば市販の数理計画法のソルバーを用いて実行することができる。表示部１７０は、最適化部１８０により導出された最適解の情報を表示してもよい。なお、仮計画作成部１４０および最適化部１８０で計画作成問題を多目的最適化問題として解決するにあたり、本実施形態では線形計画法を用いるが、ルールベース、メタヒューリスティックスなど、最適化、または準最適化のための他の手法が用いられてもよい。
【００４７】
（変形例）
上記で説明した例では、タプル設定部１３０が設定したタプル群に含まれるすべてのタプルについて仮計画作成部１４０が仮計画ｘ＊を作成し、距離計算部１５０がそれぞれのタプルについて仮計画ｘ＊と既作成計画ｘとの間の距離を算出し、タプル抽出部１６０が計算された距離に基づいてすべてのタプルの中から第１の条件を満たすタプルを抽出したが、他の例では処理の順序が異なっていてもよい。例えば、タプル設定部１３０が設定したタプル群に含まれる一部のタプルについて、仮計画作成部１４０、距離計算部１５０、およびタプル抽出部１６０の処理が先行して実行され、第１の条件を満たすタプルが発見された場合には残りのタプルについての処理を省略してもよい。
【００４８】
この場合、仮計画作成部１４０は、まず最初に、仮計画を作成する対象としてタプル群から選ばれた１または複数のタプルについて仮計画ｘ＊を作成する。距離計算部１５０がこの仮計画ｘ＊について算出した距離について、選ばれたタプルが第１の条件（計算終了条件）を満たす場合、タプル抽出部１６０はこのタプルを抽出し、最適化部１８０は抽出されたタプルに対応する重み係数に基づいて計画作成問題を最適化または準最適化する。従って、選ばれたタプルが第１の条件を満たす場合、仮計画作成部１４０は、この時点でまだ仮計画が作成されていない、タプル群に含まれる残りのタプルについては仮計画ｘ＊を作成しない。既に述べたように、１つのタプルについてデータセット数分の仮計画ｘ＊が作成されるため、タプル数やデータセット数が多いと計算量が膨大になる。上記の変形例では、第１の条件を満たすタプルが存在した場合には残りのタプルについての処理を省略することによって、計算量の期待値を小さくしている。このような効果を得るために、仮計画作成部１４０は、最初にタプル設定部１３０が設定した探索範囲の中心に近い順にタプル群からタプルを選んで仮計画ｘ＊を作成してもよい。
【００４９】
上記の例に示した、材料１〜１０を配合して混合物を生成する問題では、求められる品質１，２，３の値が変更されたり、材料に含まれる成分が変化したりしたことによって、制約式の係数行列Ａ、コスト係数行列Ｃ、および制約式の右辺定数ｂが変わりうるが、品質ｉ（ｉ＝｛１，２，３｝）を満たすといった要求自体（すなわち、制約式または目的関数の式自体）は変わらない場合が一般的である。さらに、各目的の重要度（すなわち、重み係数ｗ）についても、大きく状況が変わらない限り変化しない。このため、本実施形態のようにして決定した重み係数ｗを、新たな期間の計画の作成に用いることによって、過去の計画で重要視されていた指標を反映した妥当性の高い計画を作成することができる。
【００５０】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範囲内において、各種の変形例または修正例に想到しうることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【００５１】
１００…計画作成装置、１１０…既作成計画取得部、１２０…終了条件設定部、１３０…タプル設定部、１４０…仮計画作成部、１５０…距離計算部、１６０…タプル抽出部、１８０…表示部、１９０…最適化部
【図１】
2019200695.tif 000007
【図２】
2019200695.tif 000008
【図３】
2019200695.tif 000009
【図４】
2019200695.tif 000010
【図５】
2019200695.tif 000011
【図６】
2019200695.tif 000012