(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】情報処理システム、情報処理サーバ、情報処理方法、及びプログラム
(51)【国際特許分類】
G06Q 10/083 20240101AFI20240409BHJP
G06Q 10/047 20230101ALI20240409BHJP
【FI】
G06Q10/083
G06Q10/047
(21)【出願番号】P 2023190938
(22)【出願日】2023-11-08
(62)【分割の表示】P 2023183214の分割
【原出願日】2023-10-25
【審査請求日】2023-11-08
(31)【優先権主張番号】P 2023010938
(32)【優先日】2023-01-27
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】000003193
【氏名又は名称】TOPPANホールディングス株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100139686
【氏名又は名称】鈴木 史朗
(74)【代理人】
【識別番号】100169764
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100147267
【氏名又は名称】大槻 真紀子
(72)【発明者】
【氏名】中川 理夢
(72)【発明者】
【氏名】北澤 優也
(72)【発明者】
【氏名】小山 玲子
(72)【発明者】
【氏名】▲瀬▼川 暉
【審査官】塩田 徳彦
(56)【参考文献】
【文献】特開2002-269192(JP,A)
【文献】特開2020-065368(JP,A)
【文献】特開2022-033649(JP,A)
【文献】特開2022-182286(JP,A)
【文献】米国特許出願公開第2011/0125470(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
1または2以上の運搬場所に1または2以上の被運搬物を1または2以上の運搬体が運搬する計画である運搬計画を生成する第1のサーバと、最適化計算機と、を備え、
前記第1のサーバは、
制約条件及び目的関数を取得する取得部と、
前記取得部によって取得された前記制約条件及び前記目的関数を、前記制約条件の下で前記目的関数を最適化する問題として定式化する定式化部と、
前記定式化部によって定式化された問題を、前記最適化計算機が利用可能なモデルに変換するモデル変換部と、
前記モデル変換部によって変換された前記モデルを、前記最適化計算機に出力するモデル出力部と、
前記最適化計算機によって導出された前記モデルに対する解を採用しない場合、前記制約条件及び前記目的関数のうち少なくとも一方を変更する解判定部と、
を備
え、
前記最適化計算機は、前記解を複数導出し、
前記解判定部は、複数の前記解のそれぞれの前記制約条件を満たす度合に応じて前記解を採用するか否かを判定する、
情報処理システム。
【請求項2】
前記第1のサーバに前記運搬計画を生成するように依頼する通知を送信し、前記第1のサーバから前記最適化計算機によって導出された前記解を受信する第2のサーバを備え、
前記第2のサーバは、前記解を表示し、前記解を前記運搬計画として採用するか否かを示す情報を受け付ける処理をし、
前記解判定部は、前記第2のサーバが前記解を前記運搬計画として採用しないことを示す情報を受け付けた場合に、前記制約条件及び前記目的関数の少なくとも一方を変更し、変更後の前記制約条件及び前記目的関数の組合せを前記取得部に出力する、
請求項1に記載の情報処理システム。
【請求項3】
前記最適化計算機は、アニーリング型の量子コンピュータ、疑似量子コンピュータを含むイジングマシン、及びゲート型の量子コンピュータのうち何れかである、
請求項1に記載の情報処理システム。
【請求項4】
前記モデル変換部は、前記最適化計算機がアニーリング型の量子コンピュータである場合、前記定式化部によって定式化された問題を、イジングモデルまたはQUBOに変換する、
請求項1に記載の情報処理システム。
【請求項5】
前記制約条件には、物流業務における配送経路、配送車両、配送物、及び前記配送車両を運転するドライバのうち、少なくとも何れか1つに関する制約が含まれ、
前記目的関数は、前記配送車両の数が最小であり、且つ前記配送車両が走行する距離が最小となる場合に最適となる関数である、
請求項1に記載の情報処理システム。
【請求項6】
最適化計算機と通信可能に接続され、
取得部と、定式化部と、モデル変換部と、モデル出力部と、解判定部と、を備え、
前記取得部が、制約条件及び目的関数を取得し、
前記定式化部が、前記取得部によって取得された前記制約条件及び前記目的関数を、前記制約条件を満たし、且つ前記目的関数を最適化する問題として定式化し、
前記モデル変換部が、前記定式化部によって定式化された問題を、前記最適化計算機が利用可能なモデルに変換し、
前記モデル出力部が、前記モデル変換部によって変換された前記モデルを、前記最適化計算機に出力し、
前記最適化計算機によって導出された前記モデルに対する解を採用しない場合、前記解判定部が、前記制約条件及び前記目的関数のうち少なくとも一方を変更
し、
前記最適化計算機は、前記解を複数導出し、
前記解判定部は、複数の前記解のそれぞれの前記制約条件を満たす度合に応じて前記解を採用するか否かを判定する、
情報処理サーバ。
【請求項7】
コンピュータが行う情報処理方法であって、
制約条件及び目的関数を取得し、
取得された前記制約条件及び前記目的関数を、前記制約条件を満たし、且つ前記目的関数を最適化する問題として定式化し、
定式化された前記問題を、最適化計算機が利用可能なモデルに変換し、
変換された前記モデルを、前記最適化計算機に出力し、
前記最適化計算機によって導出された前記モデルに対する解を採用しない場合、前記制約条件及び前記目的関数のうち少なくとも一方を変更
し、
前記最適化計算機が導出した複数の前記解のそれぞれの前記制約条件を満たす度合に応じて前記解を採用するか否かを判定する、
情報処理方法。
【請求項8】
コンピュータに、
制約条件及び目的関数を取得させ、
前記制約条件及び前記目的関数を、前記制約条件を満たし、且つ前記目的関数を最適化する問題として定式化させ、
前記定式化された問題を、最適化計算機が利用可能なモデルに変換させ、
前記変換された前記モデルを、前記最適化計算機に出力させ、
前記最適化計算機によって導出された前記モデルに対する解を採用しない場合、前記制約条件及び前記目的関数のうち少なくとも一方を変更
させ、
前記最適化計算機が導出した複数の前記解のそれぞれの前記制約条件を満たす度合に応じて前記解を採用するか否かを判定させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理サーバ、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
物流業務における配送計画を策定する技術がある。例えば、特許文献1には、異種多品目から構成され、かつ出荷時の梱包荷姿が様々な形状やサイズに亘る荷物の配送において、配送計画を生成する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、配送計画を生成する場合において多様な制約条件が課されることが多く、配送計画を生成するために要する時間が膨大となる場合がある。例えば、配送計画を生成するには、各種の制約条件、例えば、配送すべき荷物の形状や個数、配送に使用可能な車両及び車両を運転するドライバを確保できる時間や数等、を充足しつつ、かつ、目的関数、例えば、配送に使用する車両の総台数を最小にするような最適化問題の解を導出しなければならない。このような最適化問題では、目的関数の要素の数が増えるほど、パラメータの組み合わせが膨大となるため、最適解を導出するまでに膨大な時間を要する。
【0005】
しかも、物流業務においては、配送当日にシフト変更が発生したり、急ぎで集配しなければならない荷物が追加されたりすることがある。このような急な変更に対応できる時間で最適解を導出することは現実的ではなかった。
【0006】
本発明は、このような状況に鑑みてなされたものであり、最適化問題における解を導出するために要する時間を短縮させることが可能な情報処理システム、情報処理サーバ、情報処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の情報処理システムは、1または2以上の運搬場所に1または2以上の被運搬物を1または2以上の運搬体が運搬する計画である運搬計画を生成する第1のサーバと、最適化計算機と、を備え、前記第1のサーバは、制約条件及び目的関数を取得する取得部と、前記取得部によって取得された前記制約条件及び前記目的関数を、前記制約条件を満たし、且つ前記目的関数を最適化する問題として定式化する定式化部と、前記定式化部によって定式化された問題を、最適化計算機が利用可能なモデルに変換するモデル変換部と、前記モデル変換部によって変換された前記モデルを、前記最適化計算機に出力するモデル出力部と、前記最適化計算機によって導出された前記モデルに対する解を採用しない場合、前記制約条件及び前記目的関数のうち少なくとも一方を変更する解判定部と、を備え、前記最適化計算機は、前記解を複数導出し、前記解判定部は、複数の前記解のそれぞれの前記制約条件を満たす度合に応じて前記解を採用するか否かを判定する。
本発明の情報処理サーバは、最適化計算機と通信可能に接続され、取得部と、定式化部と、モデル変換部と、モデル出力部と、解判定部と、を備え、前記取得部が、制約条件及び目的関数を取得し、前記定式化部が、前記取得部によって取得された前記制約条件及び前記目的関数を、前記制約条件を満たし、且つ前記目的関数を最適化する問題として定式化し、前記モデル変換部が、前記定式化部によって定式化された問題を、前記最適化計算機が利用可能なモデルに変換し、前記モデル出力部が、前記モデル変換部によって変換された前記モデルを、前記最適化計算機に出力し、前記最適化計算機によって導出された前記モデルに対する解を採用しない場合、前記解判定部が、前記制約条件及び前記目的関数のうち少なくとも一方を変更し、前記最適化計算機は、前記解を複数導出し、前記解判定部は、複数の前記解のそれぞれの前記制約条件を満たす度合に応じて前記解を採用するか否かを判定する。
【0008】
本発明の、情報処理方法は、コンピュータが行う情報処理方法であって、制約条件及び目的関数を取得し、取得された前記制約条件及び前記目的関数を、前記制約条件を満たし、且つ前記目的関数を最適化する問題として定式化し、定式化された問題を、最適化計算機が利用可能なモデルに変換し、変換された前記モデルを、前記最適化計算機に出力し、前記最適化計算機によって導出された前記モデルに対する解を採用しない場合、前記制約条件及び前記目的関数のうち少なくとも一方を変更し、前記最適化計算機が導出した複数の前記解のそれぞれの前記制約条件を満たす度合に応じて前記解を採用するか否かを判定する。
【0009】
本発明の、プログラムは、コンピュータに、制約条件及び目的関数を取得させ、前記制約条件及び前記目的関数を、前記制約条件を満たし、且つ前記目的関数を最適化する問題として定式化させ、前記定式化された問題を、最適化計算機が利用可能なモデルに変換させ、前記変換された前記モデルを、前記最適化計算機に出力させ、前記最適化計算機によって導出された前記モデルに対する解を採用しない場合、前記制約条件及び前記目的関数のうち少なくとも一方を変更させ、前記最適化計算機が導出した複数の前記解のそれぞれの前記制約条件を満たす度合に応じて前記解を採用するか否かを判定させる、プログラムである。
【発明の効果】
【0010】
本発明によれば、最適化問題における解を導出するために要する時間を短縮させることが可能となる。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態における情報処理システム1の構成例を示すブロック図である。
【
図2】第1実施形態の情報処理システム1が行う処理の流れを示すシーケンス図である。
【
図3】第1実施形態の情報処理サーバ10の構成例を示すブロック図である。
【
図4】第1実施形態の配送DB120の例を示す図である。
【
図5】第1実施形態の情報処理サーバ10が行う処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について、図面を参照して説明する。以下の説明では、情報処理システム1を用いて物流業務における配送計画を生成する場合を例に説明する。例えば、情報処理システム1は、積荷、使用可能な車両及びドライバなどの状況に応じて、配送経路及び配送車両とその積荷及びドライバの割り当てなどを最適化した配送計画を生成する。
【0013】
なお、これに限定されることはなく、工場や倉庫における無人搬送車の走行経路を最適化したり、製造工程における担当者の割当てを最適化したりする場合など、経路や割当てを最適化する任意の事例に適用することが可能である。
また、最適化問題では、目的関数の要素の数が増えるほど、パラメータの組み合わせが膨大となるため、最適解を導出するまでに膨大な時間を要する。パラメータの組み合わせが膨大となると、厳密な最適解を求めることが困難なため、ある程度最適な解が求まれば良いとする近似解法を用いて解くことが一般的に行われている。このような事情から、本実施形態において、「最適化する」とは、唯一の「最も適した解」を導出することに限定されることはなく、ある程度最適な解を複数導出することを含むものとする。
【0014】
(情報処理システム1の構成について)
情報処理システム1は、物流業務における配送計画を生成するためのシステムである。
図1は、第1実施形態による情報処理システム1の構成例を示すブロック図である。情報処理システム1は、例えば、情報処理サーバ10と、最適化計算機20と、配送業者サーバ30と、ドライバ端末40と、荷主端末50とを備える。この図の例では、情報処理サーバ10と、最適化計算機20との間に、ネットワークNWが配置されているが、これに限定されることはない。情報処理サーバ10と、最適化計算機20との間にネットワークNWが配置されていなくともよい。また、情報処理サーバ10と、配送業者サーバ30との間に汎用の通信ネットワークが配置されていてもよい。この場合、情報処理サーバ10と、最適化計算機20との間にネットワークNWと、配送業者サーバ30との間に汎用の通信ネットワークとが、同一のネットワークであってもよいし、異なるネットワークであってもよい。
【0015】
情報処理サーバ10は、物流業者などからの依頼に応じて配送計画を生成するコンピュータである。情報処理サーバ10は、配送業者サーバ30から配送計画の生成を依頼する旨の通知を受信する。情報処理サーバ10は、配送計画を生成するために必要な制約条件及び目的関数に基づいて、制約条件を満たし、且つ目的関数を最適化する問題として定式化する。
【0016】
制約条件は、配送計画を生成する場合において制約される条件であって、例えば、配送する荷物、車両、ドライバ、配送経路などに関する制約である。例えば、配送する荷物についての制約条件には、配送すべき荷物の総数や、個々の荷物の配送先、配送時間、荷姿、容量、重量などが含まれる。車両についての制約条件には、使用可能な車両の総数や、個々の車両の車種、積載容量、特殊な荷物(チルドや冷凍品、大型の荷物など)の対応可否などが含まれる。ドライバについての制約条件には、割当て可能なドライバの総数や、個々のドライバの保有免許、経験年数、荷下ろしへの対応可否、就労時間、及び就労時間内に確保すべき休憩時間などが含まれる。配送経路についての制約条件には、配送拠点を結ぶ経路の混み具合、配送経路を走行可能な車種などが含まれる。
【0017】
目的関数は、配送計画を生成する場合において目的を表す関数であって、例えば、なるべく少ないコストで配送を完了させたい場合、車両一台にかかる運行費に車両台数を乗算した値と、ドライバ1人にかかる人件費に人数を乗算した値の和が目的関数となる。そして、制約条件を充足する目的関数における変数の組合せ、例えば、車両台数とドライバ人数の組合せのうち、目的関数の値が最小となる組合せが、制約条件を充足しつつ最も少ないコストで配送を完了させることが可能な最適な組合せである。
【0018】
情報処理サーバ10は、定式化した制約条件及び目的関数を、最適化計算機20が利用できる計算モデル(後述するイジングモデル)に変換する。情報処理サーバ10は、イジングモデルを最適化計算機20に出力し、最適化計算機20からイジングモデルに対する解を取得する。情報処理サーバ10は、最適化計算機20から取得した解を用いて配送計画を生成し、生成した配送計画を配送業者サーバ30に出力する。
【0019】
最適化計算機20は、最適化問題を解くための量子コンピュータである。量子コンピュータは、逆過程(ユニタリー演算)を通して計算を実行する。このため、量子コンピュータではない従来型のコンピュータ(以下、古典コンピュータという)と違って、エントロピーの増大が生じない。このため、量子コンピュータは、量子力学的な重ね合わせの原理を用いた並列計算によって、古典コンピュータより指数関数的に高速な計算が可能になる。
【0020】
例えば、最適化計算機20は、量子アニーリング方式の量子コンピュータである。最適化計算機20は、ゲート方式の量子コンピュータであってもよい。最適化計算機20は、疑似量子コンピュータを含むイジングマシンであってもよい。例えば、商用に公開されている量子コンピュータを、ネットワークNWを経由してAPIを呼び出すことにより、最適化計算機20として利用することができる。
最適化計算機20は、論理上、古典コンピュータより指数関数的に高速な計算が可能ではあるが、現状では、いくつかの技術的な問題がネックとなって、それほどの高速性が期待できない場合がある。このため、本実施形態では、最適化計算機20を、ネットワークNWを介してクラウド上に配置し、定式化及びイジングモデルへの変換を、古典コンピュータである情報処理サーバ10で行い、イジングモデルから解を求める計算を最適化計算機20が行うようにして、最適化計算機20が行う処理の負荷が増大しないようにしている。これにより、配送計画を生成するために要するトータルの所要時間が増大しないように抑制することができる。
【0021】
ただし、情報処理サーバ10と最適化計算機20との間に、ネットワークNWがあってもよいが、なくてもよい。例えば、量子コンピュータと物理的に接続された古典コンピュータが今後開発される可能性もある。このため、本実施形態では、最適化計算機20がネットワークNWを介してクラウド上に配置されている場合を例に説明するが、これに限定されない。例えば、最適化計算機20と情報処理サーバ10とがオンプレミスに配置されていてもよい。
【0022】
最適化計算機20は、情報処理サーバ10から取得したイジングモデルにおける最適解を導出する。最適化計算機20は、イジングモデルにおける目的関数が最小となる変数の組合せを求めることにより最適解を導出する。最適化計算機20は、導出した最適解をイジングモデルの解として情報処理サーバ10に出力する。
【0023】
最適化計算機20は、制約条件及び目的関数に沿った複数の解を導出してもよい。この場合、最適化計算機20は、導出した複数の解を情報処理サーバ10に出力する。
【0024】
配送業者サーバ30は、配送業者が管理するコンピュータである。配送業者サーバ30は、荷主端末50から荷物の配送を受注する。配送業者サーバ30は、定期的に、或いは配送を受注する毎に、配送に関する情報を情報処理サーバ10に送信する。配送に関する情報は、例えば、受注した荷物、車両及びドライバ等に関する情報である。配送業者サーバ30が通知した配送に関する情報は、例えば、情報処理サーバ10のデータベース(後述する配送DB120)に記憶される。
【0025】
配送業者サーバ30は、配送計画を生成したい対象日などを指定して配送計画を生成するように依頼する通知を情報処理サーバ10に送信する。配送業者サーバ30は、依頼に対する応答として、情報処理サーバ10から配送計画を受信する。配送業者サーバ30は、情報処理サーバ10から受信した配送計画に基づいて、ドライバ端末40に配送指示を通知する。
【0026】
ドライバ端末40は、ドライバが使用するコンピュータであり、例えばドライバが携帯する端末装置である。ドライバ端末40は、例えば、配送業者サーバ30から通知された配送指示を表示する。ドライバは、ドライバ端末40に表示された配送指示に従って集配作業を行う。
【0027】
荷主端末50は、荷主が使用するコンピュータであり、例えば荷主が携帯するPC(Personal Computer)、又は端末装置である。荷主端末50は、荷物に関する情報、例えば、荷物の数、荷姿、重量、容量、配送先住所及び配送希望日時などを配送業者サーバ30に送信することにより荷物の配送を依頼する通知を行う。
【0028】
(情報処理システム1の処理について)
ここで、
図2を用いて、情報処理システム1が行う処理について説明する。図は、情報処理システム1が行う処理の流れを示すシーケンス図である。
【0029】
まず、荷主端末50は、荷物に関する情報を配送業者サーバ30に送信することにより荷物の配送を依頼する通知(注文)を行う(ステップS10)。配送業者サーバ30は、注文情報、車両及びドライバ情報など、配送に関する情報を情報処理サーバ10に送信する(ステップS11)。注文情報は受注した荷物に関する情報である。車両及びドライバ情報は、日付或いは時間帯ごとに使用可能な車両のリスト、及び日付或いは時間帯ごとに就労可能なドライバのリスト等である。
【0030】
配送業者サーバ30は、配送計画を生成したい対象日などを指定して、配送に関する情報(データ)を参照する(ステップS12)。例えば、配送業者サーバ30は、配送業者サーバ30の配送DB120にアクセスすることにより配送に関する情報(データ)を参照する。情報処理サーバ10は、配送業者サーバ30からのアクセスに応じて、配送DB120に記憶されている配送に関する情報(データ)を配送業者サーバ30に出力する(ステップS13)。配送業者サーバ30は、情報処理サーバ10から取得した配送に関する情報(データ)に基づいて、配送計画を生成したい対象日における、配送すべき荷物、使用可能な車両、就労可能なドライバの数及び内訳などの制約条件を確定させ、確定させた条件を情報処理サーバ10に出力する(ステップS14)。これにより、配送業者サーバ30は、配送計画の生成を情報処理サーバ10に依頼する。
【0031】
情報処理サーバ10は、配送業者サーバ30から通知された制約条件に基づいて生成したイジングモデルを最適化計算機20に出力する(ステップS15)。情報処理サーバ10は、制約条件及び目的関数に基づいて、制約条件を満たし、且つ目的関数を最適化する問題として定式化する。情報処理サーバ10は、定式化した制約条件及び目的関数を、最適化計算機20が利用できるイジングモデルに変換する。情報処理サーバ10は、イジングモデルを最適化計算機20に出力する。
【0032】
最適化計算機20は、情報処理サーバ10から取得したイジングモデルにおける最適解を導出し、最適解をイジングモデルの解として情報処理サーバ10に出力する(ステップS16)。
【0033】
情報処理サーバ10は、最適化計算機20から取得した解に基づく配送計画の候補を配送業者サーバ30に出力する(ステップS17)。情報処理サーバ10は、最適化計算機20から取得した解を用いて、例えば、配送に使用する車両毎に、積載する荷物、配送ルート、配送時間、ドライバなどの組合せ、及び配送にかかるコストなどを対応づけた配送計画を生成し、生成した配送計画を、配送計画の候補として配送業者サーバ30に出力する。
【0034】
配送業者サーバ30は、情報処理サーバ10から取得した配送計画の候補から、配送計画を決定する。例えば、配送業者サーバ30は、配送計画の候補のうち、配送にかかるコストが最小となるものを、対象日の配送計画として決定する。或いは、配送業者サーバ30は、ステップS14において、情報処理サーバ10に伝えきれなかった制約条件、例えば、配送先の顧客によっては、その顧客に荷物を配送するドライバを特定のドライバに割当てる方がよいなどの事情に基づいて、配送計画の候補から対象日の配送計画として決定するようにしてもよい。
【0035】
配送業者サーバ30は、決定した配送計画に基づいて、対象日に配達させるドライバのドライバ端末40に、例えば、ドライバが担当する車両、配送すべき荷物、配送ルート、配送時間などを示す配送指示を通知する。
【0036】
なお、ステップS18において、配送計画の候補に、対象日の配送計画として適切なものがないと判定した場合、配送業者サーバ30は、制約条件及び目的関数の少なくとも一方を見直し、ステップS14に戻って見直した制約条件を情報処理サーバ10に出力する。このようにして、配送業者サーバ30は、制約条件を見直しながら、対象日の配送計画として適切なものが得られるまで、情報処理サーバ10に配送計画の生成する依頼を繰り返し行う。
【0037】
(情報処理サーバ10の構成について)
ここで、情報処理サーバ10の構成について、
図3を用いて説明する。
図3は、第1実施形態による情報処理サーバ10の構成例を示すブロック図である。情報処理サーバ10は、例えば、クラウド装置、サーバ装置、PCなどにより実現される。
【0038】
情報処理サーバ10は、例えば、通信部11と、記憶部12と、演算部13と、解表示部14を備える。通信部11は、最適化計算機20及び配送業者サーバ30と通信を行う。
【0039】
記憶部12は、HDD(Hard Disk Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、RAM(Random Access read/write Memory)、ROM(Read Only Memory)などの記憶媒体、あるいはこれらの組合せによって構成される。記憶部12は、情報処理サーバ10の各種処理を実行するためのプログラム、及び各種処理を行う際に利用される一時的なデータを記憶する。
【0040】
演算部13及び解表示部14は、情報処理サーバ10がハードウェアとして備えるCPU(Central Processing Unit)にプログラムを実行させることによって実現される。
【0041】
演算部13は、例えば、制約条件・目的関数取得部130と、定式化部131と、イジングモデル変換部132と、イジングモデル出力部133とを備える。制約条件・目的関数取得部130は、生成すべき配送計画に対応する制約条件及び目的関数を取得する。
【0042】
定式化部131は、制約条件・目的関数取得部130によって取得された制約条件及び目的関数を、制約条件を満たし、且つ目的関数を最適化する問題として定式化する。
【0043】
イジングモデル変換部132は、定式化部131によって定式化された問題を、最適化計算機20が利用可能なイジングモデルに変換する。例えば、アニーリング方式を用いる場合、イジングモデル変換部132は、定式化部131によって定式化された問題を、イジングモデル、またはQUBO(Quadratic Unconstrained Binary Optimization、制限なし二次形式二値変数最適化形式)に変換する。イジングモデル及びQUBOは、二値変数の二次多項式である。イジングモデルは、二値変数として、-1又は1が用いられる。QUBOは、二値変数として、0又は1が用いられる。
【0044】
イジングモデル出力部133は、イジングモデル変換部132によって変換されたイジングモデルを、最適化計算機20に出力する。
【0045】
解表示部14は、例えば、解取得部140と、経路表示部141と、シフト表示部142と、解判定部143とを備える。解取得部140は、最適化計算機20によって導出されたイジングモデルに対する解を取得する。
経路表示部141は、解取得部140によって取得された解に基づく配送経路を表示する。経路表示部141に表示される配送経路には、例えば、ある配送先から別の配送先まで移動するための経路が地図上に示され、ある配送先を出発する時間と、別の配送先に到着する時間、別の配送先に移動する際に積載すべき荷物などが示されている。シフト表示部142は、解取得部140によって取得された解に基づく車両及びドライバの配置(シフト)を表示する。シフト表示部142に表示されるシフトには、例えば、ドライバが、どの車両を使用して、何時ごろ、どのような荷物を配送するか等が、ドライバ毎に示されている。
【0046】
解判定部143は、解取得部140によって複数の解が取得された場合、経路表示部141及びシフト表示部142に表示させる解を選択する。例えば、解判定部143は、解が制約条件を満たす度合、及び目的関数の値に応じて、複数の解から、経路表示部141及びシフト表示部142に表示させる解を選択する。例えば、解判定部143は、制約条件を満たす度合が高い解を幾つか選択し、選択した解を経路表示部141及びシフト表示部142に表示させる解とする。また、解判定部143は、目的関数が小さい解を幾つか選択し、選択した解を、経路表示部141及びシフト表示部142に表示させる解とする。
【0047】
また、解取得部140によって取得された解を、配送計画として採用するか否かを判定する。例えば、解判定部143は、ユーザの指示に応じて、解を配送計画として採用するか否かを判定する。ユーザは、例えば、配送計画の生成を依頼した配送業者の担当者等である。
【0048】
例えば、情報処理サーバ10は、最適化計算機20から得られた解に基づく配送経路、及びシフトを配送業者サーバ30に出力する。配送業者サーバ30は、情報処理サーバ10から取得した配送経路及びシフトを表示する。配送業者の担当者は、配送業者サーバ30に表示された配送経路及びシフトを視認して対象日における配送計画として採用するか否かを判断する。担当者は、配送業者サーバ30に接続されたキーボードなどを操作することにより、配送計画として採用するか否かを示す情報を入力する。配送業者サーバ30は、担当者によって入力された情報を取得し、取得した情報を情報処理サーバ10に送信する。情報処理サーバ10は、配送業者サーバ30から通知された情報に基づいて、解を配送計画として採用するか否かを判定する。具体的に、解判定部143は、担当者が配送計画を採用すると判断した場合には解を配送計画として採用すると判定する。担当者が配送計画を採用しないと判断した場合には解を配送計画として採用しないと判定する。
【0049】
解判定部143は、解を採用しないと判定した場合、制約条件及び目的関数のうち少なくとも一方を変更する。例えば、解判定部143は、ユーザの指示に応じて、制約条件及び目的関数のうち少なくとも一方を変更する。
【0050】
例えば、担当者は、配送計画として採用しない旨を示す情報を入力する場合、採用しない旨を示す情報と共に、制約条件及び目的関数のうち少なくとも一方を変更する情報を入力する。例えば、対象日に対応できるドライバの人数を増やせる場合には、制約条件としてのドライバ人数の上限を増やす設定を行う事により、制約条件を緩和する。また、ガソリンの値上がりや人件費の高騰などに対応して、配送コストを算出する式に変更が必要な場合には、目的関数としての配送コストを表す関数を変更する。或いは、配送コストよりも労働時間の平準化を優先させる場合には、目的関数を、各ドライバの労働時間のばらつき度合などを表す式に変更するようにしてもよい。配送業者サーバ30は、担当者によって入力された情報を取得し、取得した情報を情報処理サーバ10に送信する。情報処理サーバ10は、配送業者サーバ30から通知された情報に基づいて、制約条件及び目的関数のうち少なくとも一方を変更する。
【0051】
解判定部143は、変更後における制約条件及び目的関数の組合せを制約条件・目的関数取得部130に出力する。これにより、情報処理サーバ10は、変更後の制約条件及び目的関数の組合せに応じた解を得ることが可能となる。
【0052】
ここで、解判定部143は、最適化計算機20から複数の解が得られた場合において、複数の解のうち、何れの解を採用するかを、制約条件を満たす度合に応じて判定するようにしてもよい。例えば、解判定部143は、最適化計算機20から複数の解が得られた場合において、複数の解のうち、配送業者サーバ30に表示させる配送計画に対応させる解を選択するようにしてもよい。例えば、解判定部143は、複数の解のそれぞれについて、制約条件を充足する度合、及び目的関数を最小にする度合に基づいて、解を選択する。例えば、解判定部143は、制約条件のうちの厳守すべき条件を満たしていない解、例えば、使用できる車両台数の上限を超えているものなどを、配送業者サーバ30に表示させる配送計画としては採用しない解とする。制約条件のうちの厳守すべき条件は、配送業者サーバ30から予め通知されてもよいし、情報処理サーバ10が予め設定したものであってもよい。解判定部143は、配送業者サーバ30に表示させる配送計画として採用しない解を除外して残った解を、配送業者サーバ30に表示させる配送計画に対応させる解とする。
【0053】
図4は、第1実施形態の配送DB120の例を示す図である。配送DB120は、配送業者サーバ30から通知される配送に関する情報により構成される。例えば、配送DB120は、地図データ、荷物データ、車両データ、及びドライバデータの各項目に対応する情報を記憶する。
【0054】
地図データは、配送経路を含む地図の情報であり、例えば、オープンデータとして開示されている地図データを利用することが可能である。なお、オープンデータとして開示されている地図データに、配送業者による独自の情報、例えば、朝の混雑度合を示す情報などが付加されていてもよい。
荷物データは、配送する荷物の配送先、荷姿、重量、容積などを示す情報である。
車両データは、車種、積載容量、特殊免許の有無などを示す情報である。
ドライバデータは、免許、荷下ろしへの対応の可否、担当顧客などが決まっている場合にはその顧客名などを示す情報である。
【0055】
(情報処理サーバ10が行う処理について)
ここで、情報処理サーバ10が行う処理について、
図5を用いて説明する。
図5は、実施形態の情報処理サーバ10が行う処理の流れを示すフローチャートである。
【0056】
まず、情報処理サーバ10は、制約条件及び目的関数を取得する(ステップS101)。情報処理サーバ10は、目的関数及び制約条件を定式化し、定式化した問題をイジングモデルに変換する(ステップS102)。情報処理サーバ10は、イジングモデルを、最適化計算機20に送信する(ステップS103)。情報処理サーバ10は、最適化計算機20から、イジングモデルに対する解を受信する(ステップS104)。ここで、情報処理サーバ10は、例えば、最適化計算機20から、イジングモデルに対する解を複数受信する。
【0057】
情報処理サーバ10は、最適化計算機20から得られた解が制約条件を満たす度合、及び目的関数の値に応じて選択した複数の解を、配送計画の候補として配送業者サーバ30に表示する(ステップS105)。
情報処理サーバ10は、表示した配送計画の候補から、配送計画が決定されたか否かを判定する(ステップS106)。情報処理サーバ10は、配送業者サーバ30から配送計画として採用する旨の通知を受信した場合、配送計画が決定されたと判定する。一方、情報処理サーバ10は、配送業者サーバ30から配送計画として採用できない旨の通知を受信した場合、配送計画が決定されなかったと判定する。
【0058】
配送計画が決定されなかった場合、情報処理サーバ10は、目的関数及び制約条件のうち少なくとも一方を変更する(ステップS107)。情報処理サーバ10は、例えば、配送業者サーバ30から配送計画として採用できない旨の通知と共に、目的関数及び制約条件のうち少なくとも一方を変更する内容を受信し、受信した内容に応じて目的関数及び制約条件のうち少なくとも一方を変更する。情報処理サーバ10は、ステップS101に戻り、変更後の目的関数及び制約条件に対応する解を出力するための処理を実行する。
【0059】
以上説明したように、第1実施形態の情報処理システム1は、制約条件・目的関数取得部130と、定式化部131と、イジングモデル変換部132と、イジングモデル出力部133と、解表示部14とを備える。制約条件・目的関数取得部130は制約条件及び目的関数を取得する。定式化部131は、制約条件を満たし、且つ、目的関数を最適化する問題として制約条件及び目的関数を定式化する。イジングモデル変換部132は、定式化された問題を、最適化計算機20が利用可能なイジングモデルに変換する。イジングモデル出力部133は、イジングモデルを、最適化計算機20に出力する。解表示部14は、最適化計算機20によって導出された、イジングモデルに対する解を表示する。
【0060】
これにより、第1実施形態の情報処理システム1では、最適化計算機20に最適化問題の解を導出させることができる。最適化計算機20は古典コンピュータより指数関数的に高速な計算を実行することできる。したがって、最適化問題における解を導出するために要する時間を短縮させることが可能となる。
【0061】
また、第1実施形態の情報処理システム1では、最適化計算機20は、アニーリング型の量子コンピュータ、疑似量子コンピュータを含むイジングマシン及びゲート型の量子コンピュータのうち何れかである。これにより、第1実施形態の情報処理システム1では、上述した効果と同様の効果を奏することができる。
【0062】
また、第1実施形態の情報処理システム1では、最適化計算機は、クラウド上に配置される。これにより、第1実施形態の情報処理システム1では、クラウド上に配置される商用の量子コンピュータなどを利用することができる。
【0063】
また、第1実施形態の情報処理システム1では、制約条件には、物流業務における配送経路、配送車両、配送物、及び配送車両を運転するドライバのうち、少なくとも何れか1つに関する制約が含まれ、目的関数は、配送車両の数が最小であり、且つ、配送車両が走行する距離が最小である場合に、最適となる関数である。これにより、第1実施形態の情報処理システム1では、最適化問題の解を物流業務に適用することができる。
【0064】
また、第1実施形態の情報処理システム1では、解判定部143を更に備える。解判定部143は、解を採用するか否かを判定し、解を採用しない場合、制約条件及び目的関数のうち少なくとも一方を変更する。これにより、第1実施形態の情報処理システム1では、解を採用しない場合に制約条件及び目的関数のうち少なくとも一方を変更することができる。
【0065】
また、第1実施形態の情報処理システム1では、最適化計算機20は、解を複数導出する。解判定部143は、複数の解のそれぞれの制約条件を満たす度合に応じて、解を採用するか否かを判定する。これにより、第1実施形態の情報処理サーバ10では、最適化計算機20によって導出された複数の解のうち、適切な解を選択して配送業者サーバ30に提示することが可能となる。
【0066】
(第2実施形態)
ここで、第2実施形態について説明する。本実施形態では、無人搬送車(以下、AGV(Automatic Guided Vehicle)という)を走行させる走行経路の最適化に、情報処理システム1を適用する。以下では、工場などに設けられた資材置き場から製造ラインの各工程まで必要な資材を搬送するAGVの走行計画を生成する場合を例に説明する。
【0067】
本実施形態において、情報処理システム1は、AGVの走行計画を生成するシステムである。情報処理サーバ10は、最適化計算機20を用いて走行計画を生成する。情報処理サーバ10は、走行計画において設定された制約条件及び目的関数に基づいて、制約条件を満たし、且つ、目的関数を最適化する問題として定式化し、定式化した制約条件及び目的関数を最適化計算機20が利用できる計算モデルに変換する。最適化計算機20は、計算モデルにおける最適解を導出する。配送業者サーバ30は、AGVによる資材の搬送を管理する業者が使用するAGV管理サーバであり、荷主端末50から依頼された資材を搬送するためのAGVの走行計画の生成を情報処理サーバ10に依頼する。ドライバ端末40は、AGVに搭載されるAGV制御装置であり、AGV管理サーバからの指示に従いAGVを走行させる。荷主端末50は、工場の管理者が使用する管理者端末であり、AGVによる資材の搬送をAGV管理サーバに指示する。
【0068】
本実施形態において、制約条件は、走行計画を生成する際に設けられる制約条件であって、例えば、資材、AGV、経路、及び作業員などに関する制約条件である。
ここでの資材とは、AGVに搬送させる資材である。資材に関する制約条件として、資材の総数、各資材の大きさ、AGVに搬送させる順序(優先順位)、搬送する際の取り扱いの注意事項(衝撃に弱い、傾けられない等)、搬送元となる資材置き場の位置、及び、搬送先となる製造ラインの各工程に対応する作業場所の位置などの制約条件が含まれる。
ここでのAGVとは、資材を搬送する車両である。AGVに関する制約条件として、資材の搬送に利用可能なAGVの総数、各AGVのキャパシティ(積載可能な資材の重量及び容量の上限)、各AGVを稼働させることが可能な時間(バッテリ残量)などの制約条件が含まれる。
ここでの経路とは、AGVを走行させる経路である。経路に関する制約条件として、通路におけるAGVによる走行不可を示す制約条件、例えば、工場内に設けられた通路においてAGVが走行するには幅が狭すぎる通路、AGVが走行することが困難となる傾斜、又は障害物がある通路に、AGVを走行させないようにするという制約条件がある。また、経路に関する制約条件として、混雑や事故などを回避するための制約条件、例えば、衝突を回避するため複数のAGVが同時に同じ経路を走行することを禁止するという制約条件などが含まれる。
ここでの作業員とはAGVを管理する作業員である。作業員に関する制約条件として、作業員の総数、各作業員のスケジュール(勤務可能時間帯)などの制約条件が含まれる。
【0069】
目的関数は、走行計画における目的を表す関数である。例えば、なるべく少ない時間に抑えることを目的とする場合、搬送を開始してから全ての資材の搬送を完了するまでに要する総時間を目的関数とする。上記の制約条件を充足する変数(本実施形態では、資材、AGV、経路、及び作業員)の組合せのうち、目的関数の値が最小となる組合せが、少ない時間で資材を搬送するという目的を達成する最適な組合せである。
また、AGVと作業員が連携して運搬作業を行う、例えば、AGVが最寄りの通路まで搬送し、その後、作業員が製造ラインの所定の位置まで資材を運ぶような作業を行う場合、作業員の負担をなるべく少なくすることを目的として、作業員が作業のために移動する距離を目的関数としてもよい。この場合、上記の制約条件を充足する変数の組合せのうち、目的関数の値が最小となる組合せが、作業員の移動距離を最小限にして資材を運搬するという目的を達成する最適な組合せである。
さらに、上記にて説明した2つの目的関数の和、すなわち、資材の搬送を完了するまでに要した総時間と、作業員が作業のために移動する距離と、の和を、目的関数とすることも可能である。この場合、上記の制約条件を充足する変数の組合せのうち、目的関数の値が最小となる組合せが、少ない時間で作業員の負担を抑えながら資材を搬送するという目的を達成する最適な組合せである。
また、なるべく少ない費用に抑えることを目的とする場合、AGVが走行する総走行距離、走行に要する総エネルギー消費(電力)、走行させるAGVの総数、及びこれらの組合せた値の何れかを目的関数とする。上記の制約条件を充足する変数の組合せのうち、目的関数の値が最小となる組合せが、少ない費用で資材を運搬するという目的を達成する最適な組合せである。
【0070】
以上説明したように、第2実施形態の情報処理システム1では、AGVによる資材の運搬業務に係る走行計画を、最適化計算機20を用いて生成することができる。これにより、AGVによる資材の搬送業務に係る、資材、AGV、経路、及び作業員などの制約を考慮しつつ、時間や費用などの目的を達成することが可能な走行計画を生成することが可能となる。
【0071】
(第3実施形態)
ここで、第3実施形態について説明する。本実施形態では、廃棄物を回収して処理場まで搬送する回収経路の最適化に、情報処理システム1を適用する。
【0072】
本実施形態において、情報処理システム1は、廃棄物の回収計画を生成するシステムである。情報処理サーバ10は、最適化計算機20を用いて回収計画を生成する。情報処理サーバ10は、走行計画において設定された制約条件及び目的関数に基づいて、制約条件を満たし、且つ、目的関数を最適化する問題として定式化し、定式化した制約条件及び目的関数を最適化計算機20が利用できる計算モデルに変換する。最適化計算機20は、計算モデルにおける最適解を導出する。配送業者サーバ30は、廃棄物の回収を行う業者が管理する廃棄物回収管理サーバである。廃棄物回収管理サーバは、廃棄物を回収するための回収計画の生成を情報処理サーバ10に依頼する。ドライバ端末40は、廃棄物の回収を行う回収車両のドライバが携帯する端末装置であり、廃棄物回収管理サーバからの指示に従って回収車両を走行させ、廃棄物の回収と搬送を行う。荷主端末50は、廃棄物の回収を廃棄物回収管理サーバに依頼する利用者が使用する端末である。
【0073】
本実施形態において、制約条件は、回収計画を生成する際に設けられる制約条件であって、例えば、廃棄物、処理場、回収車両、ドライバ、及び経路などに関する制約条件である。
廃棄物に関する制約条件として、廃棄物の種類(例えば、有害廃棄物、リサイクル可能な廃棄物、及び一般廃棄物等の種類)、回収車両に他の廃棄物と混載してよいか否か、廃棄物の大きさ及び重量、及び、定められた回収の曜日及び日時などの制約条件が含まれる。
処理場に関する制約条件として、処理場における処理能力(例えば、1日に処理できる廃棄物の量)、処理場において処理することができる廃棄物の種類、処理場において廃棄物を受入ることが可能な時間帯などの制約条件含まれる。
ドライバに関する制約として、回収業務に対応可能なドライバの総人数、各ドライバが対応可能なスケジュール(例えば、各ドライバが勤務することが可能な時間帯など)、各ドライバが保有する資格(例えば、安全管理などに関する講習を受講済みであるか否かなど)の制約条件がある。
経路に関する制約として、廃棄物を回収して処理場まで搬送する回収経路に関する制約、例えば、道路の混み具合、回収車両が通行できるか否かなどの制約条件がある。
【0074】
目的関数は、回収計画における目的を表す関数である。例えば、なるべく少ない時間に抑えることを目的とする場合、回収車両の走行開始から処理場への搬送が完了するまでに要する総時間を目的関数とする。上記の制約条件を充足する変数(本実施形態では、廃棄物、処理場、車両、ドライバ、及び経路)の組合せのうち、目的関数の値が最小となる組合せが、少ない時間で、廃棄物を回収して処理場まで搬送するという目的を達成する最適な組合せである。
また、なるべく多くの廃棄物を回収して処理場まで搬送することを目的とする場合、処理場に搬送される廃棄物の総量を目的関数としてもよい。この場合、上記の制約条件を充足する変数の組合せのうち、目的関数の値が最大となる組合せが、多くの廃棄物を回収して処理場まで搬送するという目的を達成する最適な組合せである。
なお、最適化問題を解く上では目的関数を最小化することを目指すことを前提とすることが多い。情報処理サーバ10は、目的に対応する値(ここでは、処理場に搬送される廃棄物の総量)を最大化することによって最適化する場合、目的関数として、目的に対応する値にマイナスを乗算した関数を用いる。すなわち、情報処理サーバ10は、どのような目的を設定したかに関わらず、目的関数を最小化することによって最適化されるように定式化を実行する。
これにより、情報処理システム1では、最適化計算機20の処理負荷が増大しないように抑制することができる。最適化計算機20に、目的関数を最大化することによって最適化するのか、或いは目的関数を最小化することによって最適化するのか、といった判断や場合分けをするような複雑な処理を行わせる必要がなくなるためである。これにより、回収計画を生成するために要するトータルの所要時間が増大しないように抑制することができる。
さらに、上記にて説明した2つの目的関数の和、すなわち、処理場への搬送が完了するまでに要する総時間と、処理場に搬送される廃棄物の総量(にマイナスを乗じた値)と、の和を、目的関数とすることも可能である。この場合、上記の制約条件を充足する変数の組合せのうち、目的関数の値が最小となる組合せが、少ない時間で、より多くの廃棄物を回収して処理場まで搬送するという目的を達成する最適な組合せである。
また、なるべく少ない費用に抑えることを目的とする場合、回収車両が走行する総走行距離、走行に要する燃料費、ドライバの人件費、及びこれらの組合せのいずれかに対応する回収業務に関る費用を目的関数とする。この場合、上記の制約条件を充足する変数の組合せのうち、目的関数の値が最小となる組合せが、少ない費用で、廃棄物を回収して処理場まで搬送するという目的を達成する最適な組合せである。
また、なるべく環境への影響を抑えることを目的とする場合、回収車両を走行させることによって排出される温室効果ガスの排出量を目的関数とする。この場合、上記の制約条件を充足する変数の組合せのうち、目的関数の値が最小となる組合せが、環境への影響を抑えながら廃棄物を回収して処理場まで搬送するという目的を達成する最適な組合せである。
【0075】
以上説明したように、第3実施形態の情報処理システム1では、廃棄物の回収業務と処理場への搬送業務に係る回収計画を、最適化計算機20を用いて生成することができる。これにより、回収業務及び搬送業務に係る、廃棄物、処理場、回収車両、ドライバ、及び経路などの制約を考慮しつつ、時間や費用、及び環境への影響などの目的を達成することが可能な回収計画を生成することが可能となる。
【0076】
(第4実施形態)
ここで、第4実施形態について説明する。本実施形態では、車両のレンタルサービスに情報処理システム1を適用する。レンタルサービスでは、レンタル車両(例えば、レンタカー、及び/又はレンタサイクル)が、複数の拠点、例えば、レンタカーであれば駐車場、レンタサイクルスであれば自転車ステーションなどに配置される。利用者は利用し易い場所にある拠点からレンタル車両をレンタルし、返却し易い場所にある拠点にレンタル車両を返却する。以下では、レンタルサービスのスタッフが、利用者から返却されたレンタル車両を、回送車両として複数ある拠点のうちいずれかの拠点に回送する回送計画を生成する場合を例に説明する。
【0077】
本実施形態において、情報処理システム1は、レンタル車両の回送計画を生成するシステムである。情報処理サーバ10は、最適化計算機20を用いて回送計画を生成する。情報処理サーバ10は、回送計画において設定された制約条件及び目的関数に基づいて、制約条件を満たし、且つ、目的関数を最適化する問題として定式化し、定式化した制約条件及び目的関数を最適化計算機20が利用できる計算モデルに変換する。最適化計算機20は、計算モデルにおける最適解を導出する。配送業者サーバ30は、レンタルサービスを提供する業者が使用するレンタル車両管理サーバである。レンタル車両管理サーバは、レンタル車両の回送計画の生成を情報処理サーバ10に依頼する。ドライバ端末40は、レンタル車両を回送するスタッフが携帯する端末装置であり、レンタル車両管理サーバからの指示に従い、レンタル車両を自ら運転したり、配送車にレンタル車両を搭載して配送したりして、指定された拠点にレンタル車両を回送する。荷主端末50は、レンタル車両をレンタルする利用者が使用する端末装置である。
【0078】
本実施形態において、制約条件は、回送計画を生成する際に設けられる制約条件であって、例えば、レンタル車両、利用者、拠点(駐車場や自転車ステーション)、道路状況、及びスタッフなどに関する制約条件である。
レンタル車両に関する制約条件として、レンタル車両として利用可能な車両の総台数、各車両の燃料(またはバッテリー)残量、各車両をレンタル車両として稼働させることが可能な時間、各車両の保守スケジュール、車種、キャパシティ(何人乗りか)などがある。
利用者に関する制約条件として、利用者によって予約されたレンタル日時及びレンタル時間、返却場所、及び利用者の数などの制約条件がある。
拠点に関する制約条件として、拠点に収容することができるレンタル車両の数、特定の時間帯における利用制限、例えば、深夜の利用禁止の有無などの制約条件がある。
道路状況に関する制約条件として、拠点までの経路にある道路における通行制限、例えば、工事中による通行止め、一方通行、渋滞等、速度制限などの制約条件がある。また、道路の種類、たとば、高速道路か一般道かなどの種類に応じた制約条件などがある。
スタッフに関する制約条件としては、レンタル車両の回送を担当することができるスタッフの総人数、各スタッフのスケジュール、例えば、各スタッフが勤務することが可能な時間帯、各スタッフが所有する免許の種類などの制約条件がある。
【0079】
目的関数は、回送計画における目的を表す関数である。例えば、なるべく少ない時間で回送することを目的とする場合、回送を開始してから全てのレンタル車両の回送を完了するまでに要する総時間を目的関数とする。上記の制約条件を充足する変数(本実施形態では、レンタル車両、利用者、拠点、道路状況、及びスタッフ)の組合せのうち、目的関数の値が最小となる組合せが、少ない時間で回送を完了させるという目的を達成する最適な組合せである。また、なるべく少ない回送距離で回送することを目的とする場合、回送車両のそれぞれを回送する距離の和(総距離)を目的関数としてもよい。
また、なるべく少ない費用に抑えることを目的とする場合、回送するレンタル車両のそれぞれの燃料消費の総量、レンタル車両を回送するために要する総人件費、レンタル車両を回送するために使用する配送車の総数など、及びこれらの組合せなど、回送に関する費用を目的関数とする。上記の制約条件を充足する変数(本実施形態では、レンタル車両、利用者、拠点、道路状況、及びスタッフ)の組合せのうち、目的関数の値が最小となる組合せが、少ない費用で回送を完了させるという目的を達成する最適な組合せである。
また、利用者の満足度を最大化することを目的とする場合、利用者が予約したレンタル車両が、確実に利用できるようにするために、予約された拠点に予約されたレンタル車両が配置される確率に基づく値(例えば、確率が大きいほど値が小さくなる関数)を目的関数とする。上記の制約条件を充足する変数の組合せのうち、目的関数の値が最小となる組合せが、利用者の満足度を最大化するという目的を達成する最適な組合せである。
また、レンタル車両の利用率を最大化することを目的とする場合、レンタル車両のそれぞれがレンタルされていない空時間の総和を目的関数とする。上記の制約条件を充足する変数の組合せのうち、目的関数の値が最小となる組合せが、レンタル車両の利用率を最大化するという目的を達成する最適な組合せである。
【0080】
以上説明したように、第4実施形態の情報処理システム1では、レンタル車両の回送業務に係る回送計画を、最適化計算機20を用いて生成することができる。これにより、回送業務に係る、レンタル車両、利用者、拠点、道路状況、及びスタッフなどの制約を考慮しつつ、時間や費用、及び利用者の満足度などの目的を達成することが可能な回収計画を生成することが可能となる。
【0081】
(第5実施形態)
ここで、第5実施形態について説明する。本実施形態では、食品の配達サービスに情報処理システム1を適用する。配達サービスでは、複数の利用者と、複数の配達員が登録されており、利用者が飲食店などの持ち帰り可能なメニューなどの食品を指定して配達を依頼すると、配達員による、飲食店での食品の受け取りと利用者への配達が行われる。以下では、配達サービスのスタッフが、配達員に対してどのような経路で食品の受け取りと利用者への配達を実行させるかを示す配達計画を生成する場合を例に説明する。
【0082】
本実施形態において、情報処理システム1は、配達計画を生成するシステムである。情報処理サーバ10は、最適化計算機20を用いて配達計画を生成する。情報処理サーバ10は、配達計画において設定された制約条件及び目的関数に基づいて、制約条件を満たし、且つ、目的関数を最適化する問題として定式化し、定式化した制約条件及び目的関数を最適化計算機20が利用できる計算モデルに変換する。最適化計算機20は、計算モデルにおける最適解を導出する。配送業者サーバ30は、配達サービスを提供する業者が使用する配達管理サーバである。配達管理サーバは、配達計画の生成を情報処理サーバ10に依頼する。ドライバ端末40は、配達員が携帯する端末装置であり、配達管理サーバからの指示に従い、飲食店で食品を受け取ったり、受け取った食品を利用者の自宅或いは指定された場所まで配達したりする。荷主端末50は、利用者が使用する端末装置である。
【0083】
本実施形態において、制約条件は、配達計画を生成する際に設けられる制約条件であって、例えば、配達員、利用者、飲食店、食品、道路状況などに関する制約条件である。
配達員に関する制約条件として、配達員の総人数、各配達員が配達業務に対応できる時間帯、配達員が配達に使用する輸送手段、例えば、自転車、バイク、車等など、各配達員が1回の配達で配達することができるキャパシティ(最大の荷物量)などの制約条件がある。
利用者に関する制約条件として、利用者からの依頼を受けた時間、利用者が希望する配達時間、配達先の住所などの制約条件がある。
飲食店に関する制約条件として、飲食店の場所、営業時間、注文を受けてから食品を準備するまでに要する時間、配達用の食品として飲食店が提供できる料理の種類や数量などの制約条件がある。
食品に関する制約条件として、食品の大きさ(重量および容量)、配送時における食品の温度、食品の品質を保持できる時間、例えば、一定時間以上が経過すると品質が低下する可能性がある食品であるか否かなどの制約条件がある。
道路状況に関する制約条件として、配達に利用される道路における通行制限、例えば、工事中による通行止め、一方通行、渋滞等、速度制限などの制約条件がある。また、道路の種類、たとば、高速道路か一般道かなどの種類に応じた制約条件などがある。
【0084】
目的関数は、配達計画における目的を表す関数である。例えば、なるべく少ない時間で配達することを目的とする場合、各配達員が配達を開始してから配達が完了するまでに要する時間の総和を目的関数とする。上記の制約条件を充足する変数(本実施形態では、配達員、利用者、飲食店、食品、道路状況)の組合せのうち、目的関数の値が最小となる組合せが、少ない時間で配達を完了させるという目的を達成する最適な組合せである。
或いは、配達に係る距離をなるべく少なくすることを目的とする場合、各配達員が配達のために移動する距離の総和を目的関数とする。また、配達に要する時間をなるべく少なく、且つ配達に係る距離をなるべく少なくすることを目的とする場合、これらの目的関数の和、つまり、配達が完了するまでに要する時間の総和と配達のために移動する距離の総和との和を、目的関数としてもよい。
また、利用者の満足度を最大化することを目的とする場合、利用者の待ち時間として、例えば、各配達が完了する時間と利用者が希望する配達時間との差を目的関数とする。上記の制約条件を充足する変数の組合せのうち、目的関数の値が最小となる組合せが、利用者の待ち時間が最小となり、利用者の満足度を最大化するという目的を達成する最適な組合せである。
【0085】
以上説明したように、第5実施形態の情報処理システム1では、食品の配達業務に係る配達計画を、最適化計算機20を用いて生成することができる。これにより、配達業務に係る、配達員、利用者、飲食店、食品、道路状況などの制約を考慮しつつ、時間や費用、及び利用者の満足度などの目的を達成することが可能な回収計画を生成することが可能となる。
【0086】
以上説明したように、実施形態の情報処理システム1では、物品を運ぶ業務に係る制約に係る業務計画を、最適化計算機20を用いて生成することができる。これにより、物品を運ぶ業務に係る制約を考慮しつつ、物品を運ぶ業務に係る時間や費用などの目的を達成することが可能な業務計画を生成することが可能となる。
【0087】
上述した実施形態における情報処理システム1及び情報処理サーバ10の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0088】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0089】
1…情報処理システム
10…情報処理サーバ
130…制約条件・目的関数取得部(取得部)
131…定式化部
132…イジングモデル変換部(モデル変換部)
133…イジングモデル出力部(モデル出力部)
14…解表示部
140…解取得部
141…経路表示部
142…シフト表示部
143…解判定部
20…最適化計算機
30…配送業者サーバ
40…ドライバ端末
50…荷主端末
【要約】
【課題】最適化問題における解を導出するために要する時間を短縮させる。
【解決手段】制約条件及び目的関数を取得する取得部と、前記取得部によって取得された前記制約条件及び前記目的関数を、前記制約条件を満たし、且つ前記目的関数を最適化する問題として定式化する定式化部と、前記定式化部によって定式化された問題を、最適化計算機が利用可能なモデルに変換するモデル変換部と、前記モデル変換部によって変換された前記モデルを、前記最適化計算機に出力するモデル出力部と、前記最適化計算機によって導出された前記モデルに対する解を採用しない場合、前記制約条件及び前記目的関数のうち少なくとも一方を変更する解判定部と、を備える。
【選択図】
図3