(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022031949
(43)【公開日】2022-02-22
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G06Q 10/04 20120101AFI20220215BHJP
【FI】
G06Q10/04
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2021204972
(22)【出願日】2021-12-17
(62)【分割の表示】P 2020043153の分割
【原出願日】2020-03-12
(71)【出願人】
【識別番号】512079738
【氏名又は名称】株式会社グルーヴノーツ
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】最首 英裕
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA04
(57)【要約】
【課題】状況に応じて変化するパラメータを含む最適化問題の解を効率良く求めることが
できる情報処理装置、情報処理方法及び情報処理プログラムを提供する。
【解決手段】情報処理装置10は、機械学習により生成した予測モデル12aによって、
最適化問題のパラメータを予測する予測部12と、パラメータを、目的関数及び制約条件
を表す関数の少なくともいずれかに代入して、目的関数及び制約条件を表す関数を含むハ
ミルトニアンを、アニーリングマシンに設定する設定部13と、アニーリングマシンによ
り算出されたハミルトニアンの基底状態を、アニーリングマシンから取得する取得部14
と、基底状態に基づいて、最適化問題の解候補を算出する算出部15と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
機械学習により生成した予測モデルによって、最適化問題のパラメータを予測する予測
部と、
前記パラメータを、目的関数及び制約条件を表す関数の少なくともいずれかに代入して
、前記目的関数及び前記制約条件を表す関数を含むハミルトニアンを、アニーリングマシ
ンに設定する設定部と、
前記アニーリングマシンにより算出された前記ハミルトニアンの基底状態を、前記アニ
ーリングマシンから取得する取得部と、
前記基底状態に基づいて、前記最適化問題の解候補を算出する算出部と、
を備える情報処理装置。
【請求項2】
前記設定部は、複数の最適化問題のうちユーザにより指定された最適化問題に対応する
目的関数を含む前記ハミルトニアンを、前記アニーリングマシンに設定する、
請求項1に記載の情報処理装置。
【請求項3】
前記設定部は、複数の制約条件のうちユーザにより指定された制約条件を表す関数を含
む前記ハミルトニアンを、前記アニーリングマシンに設定する、
請求項1又は2に記載の情報処理装置。
【請求項4】
前記最適化問題は、複数のルートに関する組合せ最適化問題である、
請求項1から3のいずれか一項に記載の情報処理装置。
【請求項5】
前記最適化問題は、複数の拠点を巡回するルート最適化問題であり、
前記パラメータは、前記複数の拠点の間の移動に要する所要時間、複数の拠点の間の距
離及び前記複数の拠点の間の移動に要する金額の少なくともいずれかを含み、
前記目的関数は、前記複数の拠点を巡回するのに要する総所要時間、前記複数の拠点を
巡回するのに要する総移動距離及び前記複数の拠点を巡回するのに要する合計金額のいず
れかを表す、
請求項4に記載の情報処理装置。
【請求項6】
前記パラメータは、複数の候補拠点から前記複数の拠点を抽出するためのデータを含む
、
請求項5に記載の情報処理装置。
【請求項7】
前記制約条件は、前記複数の拠点に到着する時刻に関する条件を含む、
請求項5又は6に記載の情報処理装置。
【請求項8】
前記最適化問題は、人的資源又は物的資源のスケジューリングに関する組合せ最適化問
題である、
請求項1から3のいずれか一項に記載の情報処理装置。
【請求項9】
前記最適化問題は、店舗に配置するスタッフのシフト最適化問題であり、
前記パラメータは、前記店舗の来店者数を含み、
前記目的関数は、前記来店者数に基づいて定められる前記スタッフの人数及び前記スタ
ッフの人件費の少なくともいずれかを表す、
請求項8に記載の情報処理装置。
【請求項10】
前記制約条件は、前記スタッフの希望休暇に関する条件及び前記スタッフの勤務グルー
プに関する条件の少なくともいずれかを含む、
請求項9に記載の情報処理装置。
【請求項11】
前記制約条件は、前記スタッフの勤務間隔に関する条件を含む、
請求項9又は10に記載の情報処理装置。
【請求項12】
前記最適化問題は、容量を有する有形又は無形の対象の詰込みに関する組み合わせ最適
化問題である、
請求項1から3のいずれか一項に記載の情報処理装置。
【請求項13】
前記最適化問題は、複数の荷物を複数のコンテナに積むパッキング最適化問題であり、
前記パラメータは、前記複数の荷物の量を含み、
前記目的関数は、前記複数の荷物を前記複数のコンテナのいずれに積むかの割り当て及
び前記複数の荷物の間の距離の少なくともいずれかを表す、
請求項12に記載の情報処理装置。
【請求項14】
前記制約条件は、前記複数のコンテナそれぞれの容量に関する条件及び前記複数のコン
テナそれぞれのコストに関する条件の少なくともいずれかを含む、
請求項13に記載の情報処理装置。
【請求項15】
前記制約条件は、前記複数の荷物の間の距離に関する条件を含む、
請求項13又は14に記載の情報処理装置。
【請求項16】
情報処理装置に備えられたプロセッサによって、
機械学習により生成した予測モデルによって、最適化問題のパラメータを予測すること
と、
前記パラメータを、目的関数及び制約条件を表す関数の少なくともいずれかに代入して
、前記目的関数及び前記制約条件を表す関数を含むハミルトニアンを、アニーリングマシ
ンに設定することと、
前記アニーリングマシンにより算出された前記ハミルトニアンの基底状態を、前記アニ
ーリングマシンから取得することと、
前記基底状態に基づいて、前記最適化問題の解候補を算出することと、
を実行する情報処理方法。
【請求項17】
情報処理装置に備えられたプロセッサを、
機械学習により生成した予測モデルによって、最適化問題のパラメータを予測する予測
部、
前記パラメータを、目的関数及び制約条件を表す関数の少なくともいずれかに代入して
、前記目的関数及び前記制約条件を表す関数を含むハミルトニアンを、アニーリングマシ
ンに設定する設定部、
前記アニーリングマシンにより算出された前記ハミルトニアンの基底状態を、前記アニ
ーリングマシンから取得する取得部、及び
前記基底状態に基づいて、前記最適化問題の解候補を算出する算出部、
として機能させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
近年、機械学習が様々な分野に応用されている。例えば、機械学習によってあるルート
を移動するのに要する時間や金額(燃料費)等のコストを予測して、少ないコストで移動
できるようにルートを決定することがある。
【0003】
例えば、下記特許文献1には、地図上の地点に対応する複数のノードの中から選択され
た2つのノード間の予測コストを、グラフ情報に基づいて計算し、選択された2つのノー
ドに対応する地図上の2地点間の実測コストを取得し、予測コスト及び実測コストを学習
データとして記憶して、学習データに基づいて、予測コストと、実測コストとの関係を学
習した学習モデルを生成し、生成した学習モデルに基づいて、地図上の任意の2地点間の
コストを提供するサーバ装置が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、各ルートのコストが予測できたとしても、選び得るルートの組み合わせ
が多くなると、組み合わせを最適化するために多大な演算量が必要となる。このような組
み合わせ爆発による演算量の増大は、ルート最適化の場合だけでなく、一般の最適化問題
においても生じる。
【0006】
そのため、機械学習によって最適化問題のパラメータが予測できたとしても、その問題
の解を得ることが困難な場合があった。
【0007】
そこで、本発明は、状況に応じて変化するパラメータを含む最適化問題の解を効率良く
求めることができる情報処理装置、情報処理方法及び情報処理プログラムを提供する。
【課題を解決するための手段】
【0008】
本発明の一態様に係る情報処理装置は、機械学習により生成した予測モデルによって、
最適化問題のパラメータを予測する予測部と、パラメータを、目的関数及び制約条件を表
す関数の少なくともいずれかに代入して、目的関数及び制約条件を表す関数を含むハミル
トニアンを、アニーリングマシンに設定する設定部と、アニーリングマシンにより算出さ
れたハミルトニアンの基底状態を、アニーリングマシンから取得する取得部と、基底状態
に基づいて、最適化問題の解候補を算出する算出部と、を備える。
【0009】
この態様によれば、状況に応じて変化する最適化問題のパラメータを予測モデルによっ
て予測し、そのパラメータを含む最適化問題の解をアニーリングマシンによって効率良く
求めることができる。
【0010】
上記態様において、設定部は、複数の最適化問題のうちユーザにより指定された最適化
問題に対応する目的関数を含むハミルトニアンを、アニーリングマシンに設定してもよい
。
【0011】
この態様によれば、ユーザが、複数の最適化問題から1つの最適化問題を選択する形式
とすることで、複数の最適化問題について予め用意した目的関数のいずれかをアニーリン
グマシンに設定することができ、ユーザがアニーリングマシンを設定する負担を軽減する
ことができる。
【0012】
上記態様において、設定部は、複数の制約条件のうちユーザにより指定された制約条件
を表す関数を含むハミルトニアンを、アニーリングマシンに設定してもよい。
【0013】
この態様によれば、ユーザが、複数の制約条件から所望の制約条件を選択する形式とす
ることで、予め用意した複数の制約条件を表す関数をアニーリングマシンに設定すること
ができ、ユーザがアニーリングマシンを設定する負担を軽減することができる。
【0014】
上記態様において、最適化問題は、複数のルートに関する組合せ最適化問題であっても
よい。
【0015】
上記態様において、最適化問題は、複数の拠点を巡回するルート最適化問題であり、パ
ラメータは、複数の拠点の間の移動に要する所要時間、複数の拠点の間の距離及び複数の
拠点の間の移動に要する金額の少なくともいずれかを含み、目的関数は、複数の拠点を巡
回するのに要する総所要時間、複数の拠点を巡回するのに要する総移動距離及び複数の拠
点を巡回するのに要する合計金額のいずれかを表してもよい。
【0016】
この態様によれば、拠点間の移動時間、拠点間の距離及び拠点間の移動に要する金額の
いずれかを予測し、予測値をパラメータとする目的関数を最小化することで、交通状況の
変化に合わせた最適な巡回ルートを算出することができる。
【0017】
上記態様において、パラメータは、複数の候補拠点から複数の拠点を抽出するためのデ
ータを含んでもよい。
【0018】
この態様によれば、訪問する拠点を絞り込んだ上で、訪問順を最適化することができる
。
【0019】
上記態様において、制約条件は、複数の拠点に到着する時刻に関する条件を含んでもよ
い。
【0020】
この態様によれば、予定した到着目標時間に各拠点を訪問できるように経路を最適化す
ることができる。
【0021】
上記態様において、最適化問題は、人的資源又は物的資源のスケジューリングに関する
組合せ最適化問題であってもよい。
【0022】
上記態様において、最適化問題は、店舗に配置するスタッフのシフト最適化問題であり
、パラメータは、店舗の来店者数を含み、目的関数は、来店者数に基づいて定められるス
タッフの人数及びスタッフの人件費の少なくともいずれかを表してもよい。
【0023】
この態様によれば、店舗の来店者数を予測し、予測値をパラメータとする目的関数を最
小化することで、来店状況の変化に合わせた最適なスタッフのシフトを算出することがで
きる。
【0024】
上記態様において、制約条件は、スタッフの希望休暇に関する条件及びスタッフの勤務
グループに関する条件の少なくともいずれかを含んでもよい。
【0025】
この態様によれば、店舗の来店客数に対してスタッフの配置を最適化するだけでなく、
スタッフの勤務に関する希望を叶えるようにシフトを最適化することができる。
【0026】
上記態様において、制約条件は、スタッフの勤務間隔に関する条件を含んでもよい。
【0027】
この態様によれば、店舗の来店客数に対してスタッフの配置を最適化するだけでなく、
スタッフの勤務に関する希望を叶えるようにシフトを最適化することができる。
【0028】
上記態様において、最適化問題は、容量を有する有形又は無形の対象の詰込みに関する
組み合わせ最適化問題であってもよい。
【0029】
上記態様において、最適化問題は、複数の荷物を複数のコンテナに積むパッキング最適
化問題であり、パラメータは、複数の荷物の量を含み、目的関数は、複数の荷物を複数の
コンテナのいずれに積むかの割り当て及び複数の荷物の間の距離の少なくともいずれかを
表してもよい。
【0030】
この態様によれば、荷物の量を予測し、予測値をパラメータとする目的関数を最小化す
ることで、運ぶべき荷物の量の変化に合わせて最適なパッキングを算出することができる
。
【0031】
上記態様において、制約条件は、複数のコンテナそれぞれの容量に関する条件及び複数
のコンテナそれぞれのコストに関する条件の少なくともいずれかを含んでもよい。
【0032】
この態様によれば、過積載を防止し、コンテナのコストを小さくするようにして荷物の
パッキングを最適化することができる。
【0033】
上記態様において、制約条件は、複数の荷物の間の距離に関する条件を含んでもよい。
【0034】
この態様によれば、互いに近くに置かれている複数の荷物が1つのコンテナに積まれる
ように最適化され、荷物をコンテナに運ぶ運搬コストが少なくなる。
【0035】
本発明の他の態様に係る情報処理方法は、情報処理装置に備えられたプロセッサによっ
て、機械学習により生成した予測モデルによって、最適化問題のパラメータを予測するこ
とと、パラメータを、目的関数及び制約条件を表す関数の少なくともいずれかに代入して
、目的関数及び制約条件を表す関数を含むハミルトニアンを、アニーリングマシンに設定
することと、アニーリングマシンにより算出されたハミルトニアンの基底状態を、アニー
リングマシンから取得することと、基底状態に基づいて、最適化問題の解候補を算出する
ことと、を実行する。
【0036】
この態様によれば、状況に応じて変化する最適化問題のパラメータを予測モデルによっ
て予測し、そのパラメータを含む最適化問題の解をアニーリングマシンによって効率良く
求めることができる。
【0037】
本発明の他の態様に係る情報処理プログラムは、情報処理装置に備えられたプロセッサ
を、機械学習により生成した予測モデルによって、最適化問題のパラメータを予測する予
測部、パラメータを、目的関数及び制約条件を表す関数の少なくともいずれかに代入して
、目的関数及び制約条件を表す関数を含むハミルトニアンを、アニーリングマシンに設定
する設定部、アニーリングマシンにより算出されたハミルトニアンの基底状態を、アニー
リングマシンから取得する取得部、及び基底状態に基づいて、最適化問題の解候補を算出
する算出部、として機能させる。
【0038】
この態様によれば、状況に応じて変化する最適化問題のパラメータを予測モデルによっ
て予測し、そのパラメータを含む最適化問題の解をアニーリングマシンによって効率良く
求めることができる。
【発明の効果】
【0039】
本発明によれば、状況に応じて変化するパラメータを含む最適化問題の解を効率良く求
めることができる情報処理装置、情報処理方法及び情報処理プログラムを提供することが
できる。
【図面の簡単な説明】
【0040】
【
図1】本発明の第1実施形態に係る情報処理装置の機能ブロックを示す図である。
【
図2】第1実施形態に係る情報処理装置の物理的構成を示す図である。
【
図3】第1実施形態に係る情報処理装置によりアニーリングマシンに設定される量子ビットの対応関係を示す図である。
【
図4】第1実施形態に係る情報処理装置により予測される拠点間の移動時間を示す図である。
【
図5】第1実施形態に係る情報処理装置により設定される訪問時間に関する制約条件を示す図である。
【
図6】第1実施形態に係る情報処理装置により実効されるルート最適化処理のフローチャートである。
【
図7】本発明の第2実施形態に係る情報処理装置によりアニーリングマシンに設定される量子ビットの対応関係を示す図である。
【
図8】第2実施形態に係る情報処理装置により設定されるスタッフの希望休暇に関する制約条件を示す図である。
【
図9】第2実施形態に係る情報処理装置によりアニーリングマシンに設定される量子ビットの対応関係を示す図である。
【
図10】第2実施形態に係る情報処理装置により実効されるシフト最適化処理のフローチャートである。
【
図11】本発明の第3実施形態に係る情報処理装置によりアニーリングマシンに設定される量子ビットの対応関係を示す図である。
【
図12】第3実施形態に係る情報処理装置によりアニーリングマシンに設定される量子ビットの対応関係を示す図である。
【
図13】第3実施形態に係る情報処理装置によりアニーリングマシンに設定される量子ビットの対応関係を示す図である。
【
図14】第3実施形態に係る情報処理装置により設定される荷物間の距離を示す図である。
【
図15】第3実施形態に係る情報処理装置により実効されるパッキング最適化処理のフローチャートである。
【発明を実施するための形態】
【0041】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一
の符号を付したものは、同一又は同様の構成を有する。
【0042】
[第1実施形態]
図1は、本発明の第1実施形態に係る情報処理装置10の機能ブロックを示す図である
。情報処理装置10は、指定取得部11、予測部12、設定部13、取得部14及び算出
部15を備える。情報処理装置10は、汎用のコンピュータで構成される。情報処理装置
10は、インターネット等の通信ネットワークを介して、ユーザ端末20及びアニーリン
グマシン30と接続される。ユーザ端末20は、汎用のコンピュータで構成され、パーソ
ナルコンピュータやスマートフォンであってよい。アニーリングマシン30は、設定され
たイジングモデルのハミルトニアンについて、その基底状態を算出するコンピュータであ
り、例えば量子アニーリングによりハミルトニアンの基底状態を算出する量子アニーリン
グマシンであってよい。また、アニーリングマシン30は、量子ゲートを量子ビットに作
用させてハミルトニアンの基底状態を算出する量子コンピュータに置き換えてもよい。も
っとも、アニーリングマシン30は、量子アニーリングマシンでなくてもよく、古典コン
ピュータを含む任意の方式のコンピュータで構成されていてもよい。また、情報処理装置
10は、量子アニーリングマシン等のアニーリングマシン30及び汎用の古典コンピュー
タで構成されるハイブリッドコンピュータと接続され、ハイブリッドコンピュータにイジ
ングモデルのハミルトニアンを設定し、その基底状態を算出させてもよい。
【0043】
指定取得部11は、ユーザ端末20から、情報処理装置10によって解く最適化問題の
種類の指定を取得する。指定取得部11は、複数の最適化問題の中から、ユーザ端末20
により選択された最適化問題の種類の指定を取得してよい。また、指定取得部11は、最
適化問題を解く際に満たすべき拘束条件の指定を取得する。指定取得部11は、複数の制
約条件の中から、ユーザ端末20により選択された制約条件の指定を取得してよい。
【0044】
予測部12は、機械学習により生成した予測モデル12aによって、最適化問題のパラ
メータを予測する。予測モデル12aは、例えば、教師あり学習によって生成した回帰モ
デルや分類モデルや、ディープラーニングの手法により生成した回帰モデルや分類モデル
を含む。予測モデル12aに入力するデータは、数値データ、画像データ、音声データ又
はテキストデータであってよく、予測モデル12aによって出力されるデータは、最適化
問題のパラメータとなる数値データである。
【0045】
設定部13は、予測されたパラメータを、目的関数及び制約条件を表す関数の少なくと
もいずれかに代入して、目的関数及び制約条件を表す関数を含むハミルトニアンを、アニ
ーリングマシン30に設定する。ここで、目的関数は、最適化問題において最小化(又は
最大化)すべき関数であり、制約条件を表す関数は、制約条件を満たす場合に0又は負の
値となり、制約条件を満たさない場合に正の値となる関数であってよい。設定部13は、
最適化問題をイジングモデルとして表したハミルトニアンを、アニーリングマシン30に
設定する。
【0046】
取得部14は、アニーリングマシン30により算出されたハミルトニアンの基底状態を
、アニーリングマシン30から取得する。イジングモデルのハミルトニアンの基底状態は
、複数のスピンの値の組み合わせのうち、最小エネルギーとなる組み合わせである。なお
、取得部14は、アニーリングマシン30により算出されたハミルトニアンの基底状態の
みならず、第1励起状態や第2励起状態等の比較的低エネルギーな状態を含む複数の状態
をアニーリングマシン30から取得してもよい。
【0047】
算出部15は、アニーリングマシン30によって算出されたハミルトニアンの基底状態
に基づいて、最適化問題の解候補を算出する。算出部15は、スピンの値で表されたハミ
ルトニアンの基底状態を、最適化問題の解候補に変換する。
【0048】
本実施形態に係る情報処理装置10によれば、状況に応じて変化する最適化問題のパラ
メータを予測モデル12aによって予測し、そのパラメータを含む最適化問題の解をアニ
ーリングマシン30によって効率良く求めることができる。
【0049】
設定部13は、複数の最適化問題のうちユーザにより指定された最適化問題に対応する
目的関数を含むハミルトニアンを、アニーリングマシン30に設定する。設定部13は、
ユーザ端末20を用いてユーザにより指定された最適化問題に対応する目的関数を含むハ
ミルトニアンを、アニーリングマシン30に設定する。ユーザが、複数の最適化問題から
1つの最適化問題を選択する形式とすることで、複数の最適化問題について予め用意した
目的関数のいずれかをアニーリングマシン30に設定することができ、ユーザがアニーリ
ングマシン30を設定する負担を軽減することができる。
【0050】
設定部13は、複数の制約条件のうちユーザにより指定された制約条件を表す関数を含
むハミルトニアンを、アニーリングマシン30に設定する。設定部13は、指定された最
適化問題について予め用意された1又は複数の制約条件をユーザに提示し、ユーザ端末2
0を用いてユーザにより指定された制約条件を表す関数を含むハミルトニアンを、アニー
リングマシン30に設定する。ユーザが、複数の制約条件から所望の制約条件を選択する
形式とすることで、予め用意した複数の制約条件を表す関数をアニーリングマシン30に
設定することができ、ユーザがアニーリングマシン30を設定する負担を軽減することが
できる。
【0051】
図2は、本実施形態に係る情報処理装置10の物理的構成を示す図である。情報処理装
置10は、演算部に相当するCPU(Central Processing Unit)10aと、記憶部に相
当するRAM(Random Access Memory)10bと、記憶部に相当するROM(Read only
Memory)10cと、通信部10dと、入力部10eと、表示部10fと、を有する。これ
らの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例では情報
処理装置10が一台のコンピュータで構成される場合について説明するが、情報処理装置
10は、複数のコンピュータが組み合わされて実現されてもよい。また、
図2で示す構成
は一例であり、情報処理装置10はこれら以外の構成を有してもよいし、これらの構成の
うち一部を有さなくてもよい。
【0052】
CPU10aは、RAM10b又はROM10cに記憶されたプログラムの実行に関す
る制御やデータの演算、加工を行う制御部である。CPU10aは、機械学習による予測
とアニーリングマシンを用いて最適化問題を解くプログラム(情報処理プログラム)を実
行する演算部である。CPU10aは、入力部10eや通信部10dから種々のデータを
受け取り、データの演算結果を表示部10fに表示したり、RAM10bに格納したりす
る。
【0053】
RAM10bは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記
憶素子で構成されてよい。RAM10bは、CPU10aが実行するプログラム、予測さ
れた最適化問題のパラメータといったデータを記憶してよい。なお、これらは例示であっ
て、RAM10bには、これら以外のデータが記憶されていてもよいし、これらの一部が
記憶されていなくてもよい。
【0054】
ROM10cは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記
憶素子で構成されてよい。ROM10cは、例えば情報処理プログラムや、書き換えが行
われないデータを記憶してよい。
【0055】
通信部10dは、情報処理装置10を他の機器に接続するインターフェースである。通
信部10dは、インターネット等の通信ネットワークに接続されてよい。
【0056】
入力部10eは、ユーザからデータの入力を受け付けるものであり、例えば、キーボー
ド及びタッチパネルを含んでよい。
【0057】
表示部10fは、CPU10aによる演算結果を視覚的に表示するものであり、例えば
、LCD(Liquid Crystal Display)により構成されてよい。表示部10fは、最適化問
題の解候補を表示してよい。
【0058】
情報処理プログラムは、RAM10bやROM10c等のコンピュータによって読み取
り可能な記憶媒体に記憶されて提供されてもよいし、通信部10dにより接続される通信
ネットワークを介して提供されてもよい。情報処理装置10では、CPU10aが情報処
理プログラムを実行することにより、
図2を用いて説明した様々な動作が実現される。な
お、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例え
ば、情報処理装置10は、CPU10aとRAM10bやROM10cが一体化したLS
I(Large-Scale Integration)を備えていてもよい。また、情報処理装置10は、CP
U10aに換えて、又は、CPU10aに加えて、GPU(Graphical Processing Unit
)を備えたり、ASIC(Application Specific Integrated Circuit)を備えたり、F
PGA(Field-Programmable Gate Array)を備えたりしてもよい。
【0059】
図3は、第1実施形態に係る情報処理装置10によりアニーリングマシン30に設定さ
れる量子ビットの対応関係T1を示す図である。第1実施形態に係る情報処理装置10は
、複数の拠点を巡回するルート最適化問題の解候補を算出する。本例では、複数の拠点は
l=1~3で表される3つの拠点であるが、一般には拠点数は4以上であってもよい。
【0060】
本実施形態では、複数の拠点を巡回するルート最適化問題の解候補を算出する例につい
て説明するが、一般に、最適化問題は、複数のルートに関する組合せ最適化問題であって
よい。このような最適化問題には、搬送経路最適化問題や巡回セールスマン問題が含まれ
、具体的には、複数のバス停の乗客数を予測し、複数のバス停をどのようなルートで通る
のが最適であるか求める問題や、複数の仕事に関する仕事量を予測し、複数の仕事をどの
順番で実行するのが最適であるか求める問題が含まれる。以下では、複数の拠点を巡回す
るルート最適化問題の場合について説明するが、量子ビットの割り当て、目的関数及び拘
束条件を表す関数を適宜読み替えることで、情報処理装置10を他の組合せ最適化問題に
適用することができる。
【0061】
情報処理装置10は、拠点lと訪問順nとの全ての組み合わせを表すことができるよう
に、アニーリングマシン30に量子ビットを設定する。本例では、拠点数が3つであるた
め、9つの量子ビットを設定し、量子ビットの値によって訪問順を表す。例えば、l=0
の拠点を2番目に訪問し、l=1の拠点を1番目に訪問し、l=2の拠点を3番目に訪問
する場合は、xq=3=1、xq=1=1、xq=8=1、その他の量子ビットは0という値によ
って表される。
【0062】
各拠点を一回だけ訪問する解を求める場合、ある拠点lに関する量子ビットの集合をQ
lと表し、以下の数式(1)で表される拘束条件を表す関数f1(l)をハミルトニアンに
加える。
【0063】
【0064】
また、ある訪問順mに関する量子ビットの集合をQmと表すとき、一度に2つ以上の拠
点を訪問する解を排除するため、以下の数式(2)で表される拘束条件を表す関数f2(
n)をハミルトニアンに加える。
【0065】
【0066】
そして、ある訪問順mに関する量子ビットの集合をQmと表すとき、目的関数f3(m)
は、以下の数式(3)で表さる。ここで、cost_timeは、2つの拠点の間の移動
に要する所要時間を表す。
【0067】
【0068】
情報処理装置10は、数式(1)及び(2)の拘束条件を表す関数と、数式(3)の目
的関数とを含むハミルトニアンをアニーリングマシン30に設定する。具体的には、本実
施形態に係る情報処理装置10によりアニーリングマシン30に設定されるハミルトニア
ンは、以下の数式(4)で表される。
【0069】
【0070】
ルート最適化問題に対応する目的関数は、複数の拠点を巡回するのに要する総所要時間
、複数の拠点を巡回するのに要する総移動距離及び複数の拠点を巡回するのに要する合計
金額のいずれかを表す。本例の場合、目的関数は、複数の拠点を巡回するのに要する総所
要時間を表す。
【0071】
図4は、第1実施形態に係る情報処理装置10により予測される拠点間の移動時間T2
を示す図である。拠点間の移動時間は、数式(3)のcost_timeの例であり、目
的関数のパラメータである。最適化問題がルート最適化問題である場合、パラメータは、
複数の拠点の間の移動に要する所要時間、複数の拠点の間の距離及び複数の拠点の間の移
動に要する金額のいずれかを含む。
図4では、拠点間の移動時間を示しているが、複数の
拠点の間の移動に要する金額及び複数の拠点の間の移動に要する金額がパラメータとなる
場合も、同様に表される。
【0072】
本例の場合、拠点l=0とl=1の間の移動時間は2であり、拠点l=0とl=2の間
の移動時間は3であり、拠点l=1とl=2の間の移動時間は4である。これらの値は、
予測モデル12aによって予測された予測値である。情報処理装置10は、拠点間の移動
時間を予測し、予測値をパラメータとする目的関数を最小化することで、交通状況の変化
に合わせた最適な巡回ルートを算出することができる。
【0073】
目的関数を複数の拠点を巡回するのに要する総所要時間ではなく、複数の拠点を巡回す
るのに要する総移動距離とする場合、目的関数f3(m)は、以下の数式(5)で表さる
。ここで、distanceは、2つの拠点の間の距離を表す。この場合も、ハミルトニ
アンは数式(4)で表される。
【0074】
【0075】
また、目的関数を複数の拠点を巡回するのに要する総所要時間ではなく、複数の拠点を
巡回するのに要する合計金額とする場合、目的関数f3(m)は、以下の数式(6)で表
さる。ここで、costは、2つの拠点を巡回するのに要する金額を表す。なお、2つの
拠点を巡回するのに要する金額は、2つの拠点を巡回するのに要する時間を所定数倍した
値で近似してもよい。この場合も、ハミルトニアンは数式(4)で表される。
【0076】
【0077】
このように、本実施形態に係る情報処理装置10によれば、拠点間の移動時間、拠点間
の距離及び拠点間の移動に要する金額のいずれかを予測し、予測値をパラメータとする目
的関数を最小化することで、交通状況の変化に合わせた最適な巡回ルートを算出すること
ができる。
【0078】
情報処理装置10は、訪問すべき拠点を予測してもよい。その場合、パラメータは、複
数の候補拠点から訪問する複数の拠点を抽出するためのデータを含む。本例では、3つの
拠点を訪問する場合について説明しているが、例えば、5つの拠点のうち訪問する拠点を
絞り込んで3つとして、その3つの拠点について訪問順を最適化することとしてもよい。
このようにして、訪問する拠点を絞り込んだ上で、訪問順を最適化することができる。
【0079】
図5は、第1実施形態に係る情報処理装置10により設定される訪問時間に関する制約
条件T3を示す図である。制約条件は、複数の拠点に到着する時刻に関する条件を含んで
よい。同図では、拠点l=0~2について、到着目標時間を示している。
【0080】
また、ある訪問順kに関する量子ビットの集合をQ
kと表すとき、複数の拠点に到着す
る時刻に関する条件を満たす必要がある場合、以下の数式(7)で表される拘束条件を表
す関数f
6(m)を用いて、Σ
m=0
2f
6(m)をハミルトニアンに加える。ここで、lim
it_timeは、
図5で示される到着目標時間である。
【0081】
【0082】
このようにして、予定した到着目標時間に各拠点を訪問できるように経路を最適化する
ことができる。
【0083】
図6は、第1実施形態に係る情報処理装置10により実効されるルート最適化処理のフ
ローチャートである。はじめに、情報処理装置10は、ユーザ端末20を用いるユーザか
らルート最適化問題の指定を受け付ける(S10)。
【0084】
また、情報処理装置10は、ユーザから制約条件の指定を受け付ける(S11)。制約
条件には、必須の条件と任意の条件とがあるため、情報処理装置10は、ユーザから任意
の条件のうちいずれかを指定するか否かの選択を受け付けてよい。本実施形態の場合、数
式(1)及び(2)で表される拘束条件は必須であるが、数式(7)で表される拘束条件
は任意であるので、情報処理装置10は、数式(7)で表される拘束条件を指定するか否
かの選択を受け付けてよい。
【0085】
次に、情報処理装置10は、予測モデル12aによって、訪問すべき拠点、拠点間の移
動に要する時間を予測する(S12)。なお、情報処理装置10は、予測モデル12aに
よって、拠点間の距離を予測したり、拠点間の移動に要する金額を予測したりしてもよい
。
【0086】
その後、情報処理装置10は、予測値を目的関数に代入して、目的関数及び制約条件を
表す関数を含むハミルトニアンを、アニーリングマシン30に設定する(S13)。そし
て、情報処理装置10は、アニーリングマシン30にハミルトニアンの基底状態を算出さ
せる指示を送り、アニーリングマシン30からハミルトニアンの基底状態を取得する(S
14)。
【0087】
最後に、情報処理装置10は、基底状態に基づいて、最適化問題の解候補を算出する(
S15)。このようにして、ルート最適化問題の解候補が得られる。
【0088】
[第2実施形態]
【0089】
図7は、本発明の第2実施形態に係る情報処理装置10によりアニーリングマシン30
に設定される量子ビットの対応関係T4を示す図である。第2実施形態に係る情報処理装
置10は、店舗に配置するスタッフのシフト最適化問題の解候補を算出する。
【0090】
本実施形態では、店舗に配置するスタッフのシフト最適化問題の解候補を算出する例に
ついて説明するが、一般に、最適化問題は、人的資源又は物的資源のスケジューリングに
関する組合せ最適化問題であってよい。このような最適化問題には、ジョブショップ・ス
ケジューリング問題が含まれ、具体的には、コールセンターの入電数を予測し、コールセ
ンタースタッフのシフトを最適化する問題や、製造機械やコピー機等の機械により実行す
るジョブの繁忙度を予測し、ジョブのスケジューリングを最適化する問題が含まれる。以
下では、店舗に配置するスタッフのシフト最適化問題の場合について説明するが、量子ビ
ットの割り当て、目的関数及び拘束条件を表す関数を適宜読み替えることで、情報処理装
置10を他の組合せ最適化問題に適用することができる。
【0091】
本例では、グループ(set)s=0に配置される複数のスタッフ(worker)が
w=0,1で表される2名おり、グループs=1に配置される複数のスタッフがw=1,
2で表される2名いる。ここで、グループは、例えば、飲食店の厨房グループ、レジグル
ープ、給仕グループといった役割別のグループである。また、本例では、日にち(day
)がd=0~2の3日間設定されている。
【0092】
情報処理装置10は、複数のスタッフと勤務日との全ての組み合わせを表すことができ
るように、アニーリングマシン30に量子ビットを設定する。本例では、日にちが3日間
、2つのグループに最大で2人のスタッフが配置されるため、12の量子ビットを設定し
、量子ビットの値によって各スタッフの所属グループと勤務日を表す。例えば、day=
0においてset=0にw=1のスタッフ、set=1にw=2のスタッフを配置し、d
ay=1においてset=0にw=0のスタッフ、set=1にw=1のスタッフを配置
し、day=2においてset=0にw=0のスタッフ、set=1にw=2のスタッフ
を配置する場合は、xq=3=1、xq=9=1、xq=1=1、xq=7=1、xq=2=1、xq=11
=1、その他の量子ビットは0という値によって表される。
【0093】
ある日のあるグループについて配置人数を設定する場合、グループs及び日にちdに関
する量子ビットの集合をQs,dと表し、以下の数式(8)で表される目的関数f1(s,d
)をハミルトニアンに加える。ここで、max_assign_numは、グループs及
び日にちdに関する最大配置人数である。
【0094】
【0095】
本実施形態に係る情報処理装置10は、予測モデル12aによって、店舗の来店者数を
予測する。すなわち、本実施形態では、パラメータは、店舗の来店者数を含み、目的関数
は、来店者数に基づいて定められるスタッフの人数及びスタッフの人件費の少なくともい
ずれかを表す。例えば、情報処理装置10は、店舗の来店者数の予測に基づいてmax_
assign_numを設定し、数式(1)のように目的関数を設定する。
【0096】
また、一人のスタッフが複数のグループに配置される解を排除するための拘束条件を設
定する場合、スタッフw及び日にちdに関する量子ビットの集合をQw,dと表し、以下の
数式(9)で表される拘束条件を表す関数f2(w,d)をハミルトニアンに加える。
【0097】
【0098】
図8は、第2実施形態に係る情報処理装置10により設定されるスタッフの希望休暇に
関する制約条件T5を示す図である。同図では、スタッフ(worker)が休暇を希望
している日にち(day)が1で示され、それ以外の日が空白で示されている。
【0099】
情報処理装置10は、スタッフの希望休暇に関する拘束条件を設定する場合、希望休暇
が設定されているスタッフ及び日にちに関する量子ビットの集合をQNと表し、以下の数
式(10)で表される拘束条件を表す関数f3をハミルトニアンに加える。
【0100】
【0101】
情報処理装置10は、数式(9)及び(10)の拘束条件を表す関数と、数式(8)の
目的関数とを含むハミルトニアンをアニーリングマシン30に設定する。具体的には、本
実施形態に係る情報処理装置10によりアニーリングマシン30に設定されるハミルトニ
アンは、以下の数式(11)で表される。
【0102】
【0103】
本実施形態に係る情報処理装置10によれば、店舗の来店者数を予測し、予測値をパラ
メータとする目的関数を最小化することで、来店状況の変化に合わせた最適なスタッフの
シフトを算出することができる。
【0104】
情報処理装置10は、スタッフの標準休暇日数に関する拘束条件を設定する場合、スタ
ッフwに関する量子ビットの集合をQwと表し、以下の数式(12)で表される拘束条件
を表す関数f4(w)を用いて、Σw=0
2f4(w)をハミルトニアンに加える。ここで、s
tandard_workdayは、スタッフの標準の勤務日数を表す。
【0105】
【0106】
情報処理装置10は、スタッフの人件費を目的関数として設定する場合、スタッフwに
関する量子ビットの集合をQwと表し、以下の数式(13)で表される目的関数f5(w)
を用いて、Σw=0
2f5(w)をハミルトニアンに加える。ここで、costは、スタッフ
の人件費を表し、group_numは、スタッフが配置され得るグループの数を表す。
例えば、スタッフw=1は、set=0,1に配置され得るので、group_num(
w=1)=2である。
【0107】
【0108】
情報処理装置10は、スタッフの人件費を目的関数として設定する場合、スタッフwに
関する量子ビットの集合をQwと表し、以下の数式(14)で表される目的関数f6(w)
を用いて、Σw=0
2f5(w)をハミルトニアンに加えてもよい。ここで、groupe_
costは、グループ毎の人件費を表す。例えば、グループs=0の人件費を2、グルー
プs=1の人件費を1のように設定される。
【0109】
【0110】
情報処理装置10は、スタッフw、日にちd及びグループsに関する量子ビットの集合
をQw,d,sと表し、以下の数式(15)で表される拘束条件を表す関数f7(w,d,s)
を用いて、Σw=0
2Σd=0
2Σs=0
1f7(w,d,s)をハミルトニアンに加えてもよい。関
数f7(w,d,s)は、同一のスタッフが連続する2日間に異なるグループに配置され
る場合に正の値となる。そのため、Σw=0
2Σd=0
2Σs=0
1f7(w,d,s)をハミルトニ
アンに加えることで、同一のスタッフが連続2日勤務する場合、同じグループに配置され
るようにシフトが最適化される。
【0111】
【0112】
このように、制約条件は、スタッフの希望休暇に関する条件及びスタッフの勤務グルー
プに関する条件の少なくともいずれかを含んでよい。このような制約条件によって、店舗
の来店客数に対してスタッフの配置を最適化するだけでなく、スタッフの勤務に関する希
望を叶えるようにシフトを最適化することができる。
【0113】
また、制約条件は、スタッフの勤務間隔に関する条件を含んでよい。このような制約条
件によっても、店舗の来店客数に対してスタッフの配置を最適化するだけでなく、スタッ
フの勤務に関する希望を叶えるようにシフトを最適化することができる。
【0114】
図9は、第2実施形態に係る情報処理装置10によりアニーリングマシンに設定される
量子ビットの対応関係T6を示す図である。対応関係T6は、特定の日(本例ではday
=1)及び特定のグループ(本例ではset=0)について、時刻(time)t=0~
2についてスタッフw=0~1の配置に関する全ての組み合わせを表すことができるよう
に、アニーリングマシン30に量子ビットを設定する。
【0115】
本例では、時刻がt=0,1,2の3つ、スタッフがw=0,1の2人であるため、5
つの量子ビットを設定し、量子ビットの値によって各スタッフの勤務時間を表す。例えば
、time=0においてw=1のスタッフ、time=1にw=1のスタッフ、time
=2にw=0及びw=1のスタッフを配置する場合は、xq=3=1、xq=4=1、xq=2=
1、xq=5=1、その他の量子ビットは0という値によって表される。
【0116】
ある時間について配置人数を設定する場合、時間tに関する量子ビットの集合をQtと
表し、以下の数式(16)で表される目的関数f1(t)をハミルトニアンに加える。こ
こで、assign_numは、時間tに関する配置人数である。
【0117】
【0118】
本実施形態に係る情報処理装置10は、予測モデル12aによって、店舗の来店者数を
予測する。すなわち、本実施形態では、パラメータは、店舗の来店者数を含み、目的関数
は、来店者数に基づいて定められるスタッフの人数及びスタッフの人件費の少なくともい
ずれかを表す。例えば、情報処理装置10は、店舗の来店者数の予測に基づいて時間tに
関する配置人数assign_numを設定し、数式(16)のように目的関数を設定す
る。
【0119】
情報処理装置10は、制約条件として、スタッフの勤務時間が飛び飛びとならないよう
にする条件を設定してよい。情報処理装置10は、スタッフwに関する量子ビットの集合
をQwと表し、スタッフw及び時間tに関する量子ビットの集合をQw,tと表し、以下の数
式(17)で表される拘束条件を表す関数f2(w)をハミルトニアンに加えてよい。
【0120】
【0121】
情報処理装置10は、数式(17)の拘束条件を表す関数と、数式(16)の目的関数
とを含むハミルトニアンをアニーリングマシン30に設定する。具体的には、本実施形態
に係る情報処理装置10によりアニーリングマシン30に設定されるハミルトニアンは、
以下の数式(18)で表される。
【0122】
【0123】
本実施形態に係る情報処理装置10によれば、時間帯毎の店舗の来店者数を予測し、予
測値をパラメータとする目的関数を最小化することで、来店状況の変化に合わせた最適な
スタッフのシフトを算出することができる。
【0124】
情報処理装置10は、スタッフの人件費を目的関数として設定する場合、スタッフwに
関する量子ビットの集合をQwと表し、以下の数式(19)又は数式(20)で表される
目的関数f3(w)を用いて、Σw=0
1f3(w)をハミルトニアンに加える。ここで、co
stは、スタッフの人件費を表す。また、group_costは、グループ毎の人件費
を表す。例えば、グループs=0の人件費を2、グループs=1の人件費を1のように設
定される。
【0125】
【0126】
【0127】
図10は、第2実施形態に係る情報処理装置10により実効されるシフト最適化処理の
フローチャートである。はじめに、情報処理装置10は、ユーザ端末20を用いるユーザ
からシフト最適化問題の指定を受け付ける(S20)。
【0128】
また、情報処理装置10は、ユーザから制約条件の指定を受け付ける(S21)。制約
条件には、必須の条件と任意の条件とがあるため、情報処理装置10は、ユーザから任意
の条件のうちいずれかを指定するか否かの選択を受け付けてよい。本実施形態の場合、数
式(9)で表される拘束条件は必須であるが、数式(10)、(12)、(15)及び(
17)で表される拘束条件は任意であるので、情報処理装置10は、数式(10)、(1
2)、(15)及び(17)で表される拘束条件を指定するか否かの選択をそれぞれ受け
付けてよい。
【0129】
次に、情報処理装置10は、予測モデル12aによって、店舗の来店者数を予測する(
S22)。なお、情報処理装置10は、予測モデル12aによって、拠点間の距離を予測
したり、拠点間の移動に要する金額を予測したりしてもよい。
【0130】
その後、情報処理装置10は、予測値を目的関数に代入して、目的関数及び制約条件を
表す関数を含むハミルトニアンを、アニーリングマシン30に設定する(S23)。そし
て、情報処理装置10は、アニーリングマシン30にハミルトニアンの基底状態を算出さ
せる指示を送り、アニーリングマシン30からハミルトニアンの基底状態を取得する(S
24)。
【0131】
最後に、情報処理装置10は、基底状態に基づいて、最適化問題の解候補を算出する(
S25)。このようにして、ルート最適化問題の解候補が得られる。
【0132】
[第3実施形態]
図11は、本発明の第3実施形態に係る情報処理装置10によりアニーリングマシンに
設定される量子ビットの対応関係T7を示す図である。第3実施形態に係る情報処理装置
10は、荷物をコンテナに詰めるパッキング最適化問題の解候補を算出する。
【0133】
本実施形態では、荷物をコンテナに詰めるパッキング最適化問題の解候補を算出する例
について説明するが、一般に、最適化問題は、容量を有する有形又は無形の対象の詰込み
に関する組み合わせ最適化問題であってよい。このような最適化問題には、ビンパッキン
グ問題やナップサック問題が含まれ、具体的には、複数の仕事の仕事量と仕事を行う者の
スキルを予測し、複数の仕事を誰に割当てるのが最適であるか求める問題、複数の商品の
需要と棚の目につきやすさを予測し、複数の商品をどの棚に陳列するのが最適であるか求
める問題、複数の広告をどの時間帯に放映するのが最適であるか求める問題が含まれる。
以下では、荷物をコンテナに詰めるパッキング最適化問題の場合について説明するが、量
子ビットの割り当て、目的関数及び拘束条件を表す関数を適宜読み替えることで、情報処
理装置10を他の組合せ最適化問題に適用することができる。
【0134】
本例では、コンテナ番号(container_no)がt=0~2で表される3種類
あり、アイテム番号(item_no)がi=0~2で表される3種類ある。
【0135】
図12は、第3実施形態に係る情報処理装置10によりアニーリングマシンに設定され
る量子ビットの対応関係T8を示す図である。本例では、コンテナ番号(contain
er_no)t=0~2それぞれについて容量(capacity)がc=0,1で表さ
れる2種類あり、アイテム番号(item_no)i=0~2それぞれについてブロック
(block)がb=0,1で表される2種類ある。
【0136】
図13は、第3実施形態に係る情報処理装置10によりアニーリングマシンに設定され
る量子ビットの対応関係T9を示す図である。本例では、アイテム番号(item_no
)i=0~2それぞれについてコンテナ(container)t=0~2のそれぞれに
ついて番号num=0~4が割り振られている。
【0137】
情報処理装置10は、複数のアイテムを複数のコンテナに積む全ての組み合わせを表す
ことができるように、アニーリングマシン30に量子ビットを設定する。本例では、i=
1,2のアイテムについてブロックが1つ、i=0のアイテムについてブロックが2つあ
り、t=0,2のコンテナは容量が2単位、t=1のコンテナは容量が1単位ある。例え
ば、i=0のアイテムのb=0のブロックをt=0のコンテナのc=0の容量を用いて詰
め、i=0のアイテムのb=1のブロックをt=0のコンテナのc=1の容量を用いて詰
め、i=1のアイテムのb=0のブロックをt=1のコンテナのc=0の容量を用いて詰
め、i=2のアイテムのb=0のブロックをt=2のコンテナのc=0の容量を用いて詰
める場合は、zp=7=1、zp=13=1、zp=19=1、zp=22=1、その他の量子ビットは
0という値によって表される。なお、対応関係T7により設定される量子ビットxq及び
対応関係T9により設定される量子ビットyoは、対応関係T8により設定される量子ビ
ットzpに対する補助量子ビットとして用いられる。
【0138】
全てのアイテムをいずれかのコンテナに詰める場合、アイテムi及びブロックbに関す
る量子ビットの集合をPi,bと表し、以下の数式(21)で表される目的関数f1(i,b
)をハミルトニアンに加える。
【0139】
【0140】
本実施形態に係る情報処理装置10は、予測モデル12aによって、複数の荷物の量を
予測する。すなわち、本実施形態では、パラメータは、複数の荷物の量を含み、目的関数
は、複数の荷物を複数のコンテナのいずれに積むかの割り当て及び複数の荷物の間の距離
の少なくともいずれかを表す。例えば、情報処理装置10は、複数の荷物の量の予測に基
づいて各アイテム(荷物)についてブロックの数を設定し、数式(21)のように目的関
数を設定する。
【0141】
また、各コンテナについて容量制限を超えないように荷物を割り当てる拘束条件を設定
する場合、アイテムi及びコンテナtに関する量子ビットの集合をOi,tと表し、以下の
数式(22)で表される拘束条件を表す関数f2(i,t)をハミルトニアンに加える。
【0142】
【0143】
量子ビットyoは、補助量子ビットであり、荷物のコンテナへの割り当てを直接表す量
子ビットzpと関連付けるため、以下の数式(23)で表される拘束条件を表す関数f3(
i,t)と、数式(24)で表される拘束条件を表す関数f4(i,t)とをハミルトニ
アンに加える。
【0144】
【0145】
【0146】
また、各コンテナの単位容量には1つの荷物が割り当てられるようにする拘束条件を設
定する場合、コンテナt及び容量cに関する量子ビットの集合をPt,cと表し、以下の数
式(25)で表される拘束条件を表す関数f5(t,c)をハミルトニアンに加える。
【0147】
【0148】
情報処理装置10は、数式(22)から(25)の拘束条件を表す関数と、数式(21
)の目的関数とを含むハミルトニアンをアニーリングマシン30に設定する。具体的には
、本実施形態に係る情報処理装置10によりアニーリングマシン30に設定されるハミル
トニアンは、以下の数式(26)で表される。
【0149】
【0150】
本実施形態に係る情報処理装置10によれば、荷物の量を予測し、予測値をパラメータ
とする目的関数を最小化することで、運ぶべき荷物の量の変化に合わせて最適なパッキン
グを算出することができる。
【0151】
補助量子ビットxqを用いて制約条件を設定する場合、アイテムi、コンテナt及び番
号nに関する量子ビットの集合をOi,t,nと表し、以下の数式(27)で表される拘束条
件を表す関数f6(i,t)を用いて、Σi=0
2Σt=0
2f6(i,t)をハミルトニアンに加
える。
【0152】
【0153】
情報処理装置10は、コンテナのコストを小さくする制約条件を設定する場合、対応関
係T7に表されている量子ビットの集合をQと表し、以下の数式(28)で表される拘束
条件を表す関数f7をハミルトニアンに加えてもよい。ここで、container_c
ostは、予め定められたコンテナのコストである。
【0154】
【0155】
このように、制約条件は、複数のコンテナそれぞれの容量に関する条件及び複数のコン
テナそれぞれのコストに関する条件の少なくともいずれかを含んでよい。これにより、過
積載を防止し、コンテナのコストを小さくするようにして荷物のパッキングを最適化する
ことができる。
【0156】
図14は、第3実施形態に係る情報処理装置10により設定される荷物間の距離T10
を示す図である。同図では、i=0の荷物とi=1の荷物との間の距離が2であり、i=
0の荷物とi=2の荷物との間の距離が3であり、i=1の荷物とi=2の荷物との間の
距離が4であることが示されている。複数の荷物をコンテナに積む場合、1つのコンテナ
に積む複数の荷物が互いに近くに置かれている方が、運搬コストが少なくなり望ましい。
【0157】
情報処理装置10は、1つのコンテナにできるだけ近くに置かれた荷物を積むようにす
る制約条件を設定する場合、コンテナtに関する量子ビットの集合をQ
tと表し、以下の
数式(29)で表される拘束条件を表す関数f
8(t)を用いて、Σ
t=0
2f
8(t)をハミ
ルトニアンに加えてもよい。ここで、distanceは、
図14に示されている荷物間
の距離である。
【0158】
【0159】
このように、制約条件は、複数の荷物の間の距離に関する条件を含んでもよい。これに
より、互いに近くに置かれている複数の荷物が1つのコンテナに積まれるように最適化さ
れ、荷物をコンテナに運ぶ運搬コストが少なくなる。
【0160】
情報処理装置10は、1種類の荷物をできるだけ同じコンテナに積むようにする制約条
件を設定する場合、アイテムiに関する量子ビットの集合をQiと表し、以下の数式(3
0)で表される拘束条件を表す関数f9(i)を用いて、Σi=0
2f9(i)をハミルトニア
ンに加えてもよい。
【0161】
【0162】
情報処理装置10は、荷物毎に1つのコンテナを割り当てるようにする制約条件を設定
する場合、アイテムiに関する量子ビットの集合をQiと表し、以下の数式(31)で表
される拘束条件を表す関数f10(i)を用いて、Σi=0
2f10(i)をハミルトニアンに加
えてもよい。
【0163】
【0164】
図15は、第3実施形態に係る情報処理装置10により実効されるパッキング最適化処
理のフローチャートである。はじめに、情報処理装置10は、ユーザ端末20を用いるユ
ーザからパッキング最適化問題の指定を受け付ける(S30)。
【0165】
また、情報処理装置10は、ユーザから制約条件の指定を受け付ける(S31)。制約
条件には、必須の条件と任意の条件とがあるため、情報処理装置10は、ユーザから任意
の条件のうちいずれかを指定するか否かの選択を受け付けてよい。本実施形態の場合、数
式(22)、(23)、(24)及び(25)で表される拘束条件は必須であるが、数式
(27)、(28)、(29)、(30)及び(31)で表される拘束条件は任意である
ので、情報処理装置10は、数式(27)、(28)、(29)、(30)及び(31)
で表される拘束条件を指定するか否かの選択をそれぞれ受け付けてよい。
【0166】
次に、情報処理装置10は、予測モデル12aによって、荷物の量を予測する(S32
)。
【0167】
その後、情報処理装置10は、予測値を目的関数に代入して、目的関数及び制約条件を
表す関数を含むハミルトニアンを、アニーリングマシン30に設定する(S33)。そし
て、情報処理装置10は、アニーリングマシン30にハミルトニアンの基底状態を算出さ
せる指示を送り、アニーリングマシン30からハミルトニアンの基底状態を取得する(S
34)。
【0168】
最後に、情報処理装置10は、基底状態に基づいて、最適化問題の解候補を算出する(
S35)。このようにして、パッキング最適化問題の解候補が得られる。
【0169】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定
して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件
、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができ
る。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可
能である。
【符号の説明】
【0170】
10…情報処理装置、10a…CPU、10b…RAM、10c…ROM、10d…通
信部、10e…入力部、10f…表示部、11…指定取得部、12…予測部、12a…予
測モデル、13…設定部、14…取得部、15…算出部、20…ユーザ端末、30…アニ
ーリングマシン