(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
G06Q 10/04 20230101AFI20241210BHJP
【FI】
G06Q10/04
(21)【出願番号】P 2023564305
(86)(22)【出願日】2021-11-30
(86)【国際出願番号】 JP2021043879
(87)【国際公開番号】W WO2023100248
(87)【国際公開日】2023-06-08
【審査請求日】2024-05-21
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】井村 大夢
(72)【発明者】
【氏名】中台 慎二
【審査官】樋口 龍弥
(56)【参考文献】
【文献】国際公開第2021/001978(WO,A1)
【文献】国際公開第2021/038626(WO,A1)
【文献】特開2005-209025(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件であって、配送先毎に規定される操作変数を用いて表される制約条件を含む配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先を決定する決定手段と、
前記決定手段が決定した配送先への交渉内容を含む情報を出力する出力手段と
を備えている情報処理装置。
【請求項2】
前記決定手段は、前記複数の配送先から、前記配送先毎に規定される操作変数を用いて表される制約条件の少なくとも何れかに関連付けられた配送先を、前記交渉対象の配送先として決定する
請求項1に記載の情報処理装置。
【請求項3】
前記決定手段が解く配送計画問題には、前記複数の配送先の少なくとも何れかに関連した情報であって、前記容量及び時間窓以外の情報を含む評価関数または制約条件が含まれる
請求項1または2に記載の情報処理装置。
【請求項4】
前記制約条件又は前記評価関数には、交渉対象との交渉が成功する確率に関する制約が含まれる
請求項3に記載の情報処理装置。
【請求項5】
前記制約条件又は前記評価関数には、交渉対象との交渉に要する時間に関する制約が含まれる
請求項3または4に記載の情報処理装置。
【請求項6】
前記1又は複数の制約条件には、容量及び時間窓のうち、容量に関する制約条件のみが含まれる
請求項1~5のいずれか1項に記載の情報処理装置。
【請求項7】
前記交渉対象の配送先との交渉結果を取得する取得部を備え、
前記決定手段は、前記交渉結果を参照して、当該交渉結果に対応する制約条件を更新する請求項1~6のいずれか1項に記載の情報処理装置。
【請求項8】
前記出力手段は、前記交渉対象の配送先に対する前記交渉内容を含む出力データを生成し、生成した出力データを当該前記交渉対象の配送先に提示する
請求項1から4の何れか1項に記載の情報処理装置。
【請求項9】
1又は複数のプロセッサが、容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件であって、配送先毎に規定される操作変数を用いて表される制約条件を含む配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先を決定すること、
1又は複数のプロセッサが、前記決定した配送先への交渉内容を含む情報を出力すること
を含む情報処理方法。
【請求項10】
コンピュータを、
容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件であって、配送先毎に規定される操作変数を用いて表される制約条件を含む配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先を決定する決定手段と、
前記決定手段が決定した配送先への交渉内容を含む情報を出力する出力手段とを備えている情報処理装置
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、柔軟な交渉を行ってより効率的な配送計画を作成できる情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
複数の車両を用いて、全ての客を訪れる経路の中で、最もコストが小さくなる経路を求める最適化技術としてVehicle Routing Problem(VRP)が知られている。
【0003】
VRPを解くことにより作成される配送計画は、顧客が指定した時間窓や積み荷容量が定数として考慮されているが、時間窓や積み荷容量を変数として考慮し、制約を緩めることでより効率的な配送計画を作成し得る。
【0004】
ただし、顧客が指定した時間窓や積み荷容量を変更するためには、当然、顧客との交渉が必要となる。どの顧客にどう交渉すれば、より効率的な配送計画を作成できるかを簡単に提示できる技術が求められていた。
【0005】
特許文献1では、売り条件、買い条件の中から変更すべき条件の候補である変更条件候補を決定する技術が提案されている。
【先行技術文献】
【特許文献】
【0006】
【文献】国際特許出願 WO2021/001978A1
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1では、交渉相手に係らず同じ交渉条件が提示されており、例えば、時間窓を変更する交渉を行う場合、交渉不成立となる可能性が高い。このため、さらに柔軟な交渉を行ってより効率的な配送計画を作成できる技術が求められている。
【0008】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、柔軟な交渉を行ってより効率的な配送計画を作成できる技術を提供することである。
【課題を解決するための手段】
【0009】
本発明の一側面に係る情報処理装置は、容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件であって、配送先毎に規定される操作変数を用いて表される制約条件を含む配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先を決定する決定手段と、前記決定手段が決定した配送先への交渉内容を含む情報を出力する出力手段とを備えている。
【0010】
本発明の一側面に係る情報処理方法は、容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件であって、配送先毎に規定される操作変数を用いて表される制約条件を含む配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先を決定すること、前記決定した配送先への交渉内容を含む情報を出力することを含む。
【0011】
本発明の一側面に係るプログラムは、コンピュータを、容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件であって、配送先毎に規定される操作変数を用いて表される制約条件を含む配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先を決定する決定手段と、前記決定手段が決定した配送先への交渉内容を含む情報を出力する出力手段とを備えている情報処理装置として機能させる。
【発明の効果】
【0012】
本発明の一態様によれば、柔軟な交渉を行ってより効率的な配送計画を作成できる。
【図面の簡単な説明】
【0013】
【
図1】本発明の例示的実施形態1に係る情報処理装置の構成例を示すブロック図である。
【
図2】本発明の例示的実施形態1に係る情報処理方法の流れを示すフローチャートである。
【
図3】本発明の例示的実施形態2に係る配送計画作成装置40の構成例を示すブロック図である。
【
図5】配送計画の指定時間窓の制約条件を緩和して作成された配送計画の例を説明する図である。
【
図6】交渉結果を反映して作成された配送計画の例を説明する図である。
【
図7】配送計画の指定時間窓の制約条件を緩和して作成された別の配送計画の例を説明する図である。
【
図8】交渉結果を反映して作成された配送計画の例を説明する図である。
【
図10】
図9の配送計画を更新して得られた配送計画の例を示す図である。
【
図11】更新前の配送計画の別の例を示す図である。
【
図12】
図11の配送計画を更新して得られた配送計画の例を示す図である。
【
図13】更新前の配送計画のさらに別の例を示す図である。
【
図14】
図13の配送計画を更新して得られた配送計画の例を示す図である。
【
図15】
図13の配送計画を更新して得られた配送計画の別の例を示す図である。
【
図16】
図13の配送計画を更新して得られた配送計画のさらに別の例を示す図である。
【
図17】更新前の配送計画のさらに別の例を示す図である。
【
図18】
図17の配送計画を更新して得られた配送計画の例を示す図である。
【
図19】新たな指定時間窓を特定して提示する方式の例を説明する図である。
【
図20】新たな指定時間窓を特定して提示する方式の例を説明する図である。
【
図21】新たな指定時間窓を交渉相手に選択させる方式の例を説明する図である。
【
図22】新たな指定時間窓を交渉相手に選択させる方式の例を説明する図である。
【
図23】配送計画作成処理の流れを説明するフローチャートである。
【
図24】各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータの構成例を示す図である。
【発明を実施するための形態】
【0014】
〔例示的実施形態1〕
本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0015】
<情報処理装置20の概要>
本例示的実施形態に係る情報処理装置20は、概略的に言えば、配送計画をより効率的なものとするために、交渉すべき配送先を決定し、交渉すべき配送先と交渉内容とを出力する装置である。
【0016】
より具体的に言えば、情報処理装置20は、一例として、
複数の配送先を含む配送計画問題であって、容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件を配送先毎に規定されるパラメータを用いて緩和して得られる緩和後の制約条件が付随する配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先を決定する決定手段と、
決定手段が決定した配送先への交渉内容を含む情報を出力する出力手段とを備える。
【0017】
<情報処理装置20の構成>
本例示的実施形態に係る情報処理装置20の構成について、
図1を参照して説明する。
図1は、情報処理装置20の構成例を示すブロック図である。
【0018】
図1に示すように、情報処理装置20は、決定部21および出力部22を備える。決定部21は、本例示的実施形態において決定手段を実現する構成である。出力部22は、本例示的実施形態において出力手段を実現する構成である。
【0019】
決定部21は、容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件であって、配送先毎に規定される操作変数を用いて表される制約条件を含む配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先を決定する。
【0020】
なお、決定部21は、複数の配送先を含む配送計画問題であって、容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件の少なくとも一部を配送先毎に規定される操作変数を用いて緩和する構成としてもよい。この構成の場合、決定部21は、それらの制約条件が付随する配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先を決定する。ここで、これらの制約条件の一部には、上記のようにして緩和された緩和後の制約条件を含む構成としてもよい。
【0021】
ここで、配送計画問題は、予め与えられた制約条件をもとに、効率的な配送を実現するために解くべき問題である。なお、ここでは、「配送」という語を用いているが、必ずしも荷物などの配送に限定されるものではない。配送計画問題は、容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件を伴う最適化問題であって複数の対象点(地点、顧客、交渉相手など)を巡る最適化問題一般のことを意味する。
【0022】
なお、実際の配送計画では、複数の対象点のそれぞれが荷物の届け先であったり、荷物の集荷先であったりするが、説明を簡単にするため、まとめて「配送先」と称することにする。
【0023】
また、操作変数とは、配送計画問題を解く際に、操作対象となる変数のことを意味している。
【0024】
配送計画は、一例として、複数の車両を用いて、全ての配送先を訪れる経路として、各車両が各配送先に到着する時刻または時間帯が経路とともに示されたものとされる。配送計画は、例えば、配送事業者により作成される。
【0025】
一例として配送計画問題は、VRP(Vehicle Routing Problem)であり、与えられた制約条件のもとで評価関数を最小化する経路を見つける問題である。ただし、評価関数自身が制約条件を含むようにし、当該制約条件が考慮されるようにすることもできる。
【0026】
VRPを解く際には、配送先の指定した配達時間帯、積み荷容量などは、配送計画者が指定できないパラメータとされ、制約条件の中で定数として与えられる。このようなパラメータを指定パラメータと称することにする。なお、配達時間帯は、時間窓とも称される。また、配送先の指定した配達時間帯および積み荷容量は、それぞれ指定時間窓および指定容量と称することにする。
【0027】
例えば、荷物などの配送に必要となる車両台数を、できるだけ少なくすることにより配送業者にとって効率的な配送計画が得られる。
【0028】
決定部21は、容量及び時間窓の少なくとも何れかに関する制約条件を配送先毎に規定される操作変数を用いて緩和する。例えば、指定時間窓、指定容量を変更することで制約条件が緩和される。
【0029】
そして、決定部21は、緩和後の制約条件が付随する配送計画問題を解くことによって、どの配送先の指定時間窓および/または指定容量をどのように変更できれば、車両台数を削減できるかを特定する。ここで、指定時間窓または指定容量を変更すべき配送先が交渉対象として決定される。
【0030】
出力部22は、決定部21が決定した配送先への交渉内容を含む情報を出力する。
【0031】
すなわち、交渉対象の配送先と、その配送先の指定時間窓または指定容量をどう変更すべきかを含む情報が、出力部22によって出力される。なお、出力部22は、交渉対象の配送先に当該情報を提示するようにしてもよい。
【0032】
<情報処理装置20の効果>
本例示的実施形態に係る情報処理装置20によれば、複数の配送先を含む配送計画問題であって、容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件を配送先毎に規定されるパラメータを用いて緩和して得られる緩和後の制約条件が付随する配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先が決定され、決定した配送先への交渉内容を含む情報が出力される。このようにすることで、柔軟な交渉を行ってより効率的な配送計画を作成できる。
【0033】
<情報処理装置20による情報処理方法の流れ>
以上のように構成された情報処理装置20が実行する情報処理方法の流れについて、
図2を参照して説明する。
図2は、情報処理方法の流れを示すフローチャートである。同図に示されるように、情報処理は、ステップS11とステップS12を含んでいる。
【0034】
ステップS11において、決定部21は、容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件であって、配送先毎に規定される操作変数を用いて表される制約条件を含む配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先を決定する。
【0035】
なお、ステップS11において、決定部21は、複数の配送先を含む配送計画問題であって、容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件の少なくとも一部を配送先毎に規定される操作変数を用いて緩和する構成としてもよい。この構成の場合、決定部21は、それらの制約条件が付随する配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先を決定する。ここで、これらの制約条件の一部には、上記のようにして緩和された緩和後の制約条件を含む構成としてもよい。
【0036】
ステップS12において、出力部22は、決定した配送先への交渉内容を含む情報を出力する。
【0037】
<情報処理方法の効果>
本例示的実施形態に係る情報処理方法によれば、複数の配送先を含む配送計画問題であって、容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件を配送先毎に規定される操作変数を用いて緩和して得られる緩和後の制約条件が付随する配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先が決定され、決定した配送先への交渉内容を含む情報が出力される。このようにすることで、柔軟な交渉を行ってより効率的な配送計画を作成できる。
【0038】
〔例示的実施形態2〕
本発明の第2の例示的実施形態について、図面を参照して詳細に説明する。
【0039】
<配送計画作成装置40>
本例示的実施形態に係る配送計画作成装置40の構成について、
図3を参照して説明する。
図3は、配送計画作成装置40の構成例を示すブロック図である。
【0040】
図3に示すように、配送計画作成装置40は、制御部50を有する。制御部50は、交渉管理部51、時間窓交渉相手決定部52、容量交渉相手決定部53、および交渉情報生成部54を含んでいる。
【0041】
なお、交渉管理部51、時間窓交渉相手決定部52、容量交渉相手決定部53は、例示的実施形態1における決定手段に対応する機能ブロックである。交渉情報生成部54は、例示的実施形態1における出力手段に対応する機能ブロックである。
【0042】
また、配送計画作成装置40は、配送情報DB71、配送計画DB72、および通信部73を有し、それぞれが制御部50に接続されている。
【0043】
配送情報DB71および配送計画DB72は、例えば、半導体メモリデバイスなどにより構成され、データを記憶する。
【0044】
通信部73は、配送計画作成装置40を、ネットワークに接続するためのインタフェースである。ネットワークの具体的構成は本例示的実施形態を限定するものではないが、一例として、無線LAN(Local Area Network)、有線LAN、WAN(Wide Area Network)、公衆回線網、モバイルデータ通信網、又は、これらのネットワークの組み合わせを用いることができる。
【0045】
(配送情報DB、配送計画DB)
図3の例において、配送情報DB71には、配送先の住所、指定時間窓、指定容量、送り主、受取人などの情報である配送情報が記憶されている。なお、配送情報は、例えば、同一の時間帯の同一の地域内の配送計画に対応して記憶されている。
【0046】
また、配送情報DB71には、それぞれの配送先との交渉に係る情報が記憶される。
【0047】
例えば、12月1日X地区の配送計画を作成するための配送情報、12月1日Y地区の配送計画を作成するための配送情報、12月2日X地区の配送計画を作成するための配送情報、12月2日Y地区の配送計画を作成するための配送情報、のように配送情報が記憶される。
【0048】
配送計画DB72には、配送情報に対応する配送計画が記憶される。例えば、12月1日X地区の配送計画、12月1日Y地区の配送計画、12月2日X地区の配送計画、12月2日Y地区の配送計画、のように配送計画が記憶される。
【0049】
配送計画は、配送情報DB71に記憶された配送情報を参照してVRPを解くことで作成される。配送計画は、配送計画作成装置40によって作成されるようにしてもよいし、予め作成された配送計画が用いられるようにしてもよい。配送計画作成装置40によって作成される場合、例えば、VRP求解部が設けられるようにしてもよい。
【0050】
VRP求解部は、配送情報DB71に記憶された配送情報を参照してVRPを解くことで配送計画を作成する。すなわち、VRP求解部は、配送情報DB71に記憶されて情報を用いて評価関数および制約条件を生成し、その評価関数を最小にする経路を、演算により導出することで配送計画を作成する。VRP求解部は、作成した配送計画を配送計画DB72に記憶する。
【0051】
また、配送計画は、例えば、配送事業者が計算式を演算するなどして別途用意されるようにしてもよい。
【0052】
なお、VRPは、配送計画問題の一例では、本例示的実施形態が取り扱う配送計画問題を限定するものではない。
【0053】
(交渉管理部)
交渉管理部51は、後述するように、時間窓交渉相手決定部52、容量交渉相手決定部53、および交渉情報生成部54を制御して、それぞれの機能ブロックに所定の処理を実行させる。また、後述するように、交渉管理部51は、時間窓交渉相手決定部52または容量交渉相手決定部53から供給された交渉相手および新たな配送計画を、交渉情報生成部54に供給する。さらに、交渉管理部51は、交渉結果を、通信部73を介して受信し、交渉結果に基づいて配送情報を更新する。
【0054】
(交渉情報生成部)
交渉情報生成部54は、交渉相手に対して提示すべき時間窓または積み荷容量を交渉情報として生成する。一例として、交渉情報は、パーソナルコンピュータやスマートフォンのディスプレイに表示されるGUIとして生成される。
【0055】
(時間窓交渉相手決定部および容量交渉相手決定部)
時間窓交渉相手決定部52および容量交渉相手決定部53は、VRP求解部と同様に、配送情報を参照して評価関数を生成し、その評価関数を最小にする経路を、演算により導出することで配送計画を作成する。ただし、時間窓交渉相手決定部52および容量交渉相手決定部53は、操作変数を用いて制約条件を緩和し、緩和後の制約条件のもとで評価関数を最小にする経路を、演算により導出する。
【0056】
ここで、制約条件の緩和は、配送計画の効率化を目的として行われる。一例として、配送計画の効率化は、配送計画において必要とされる車両台数の削減である。
【0057】
交渉管理部51は、配送計画DB72に記憶されている配送計画および配送情報DB71に記憶されている配送情報を時間窓交渉相手決定部52または容量交渉相手決定部53に提供する。
【0058】
(時間窓交渉相手決定部の処理)
時間窓交渉相手決定部52は、配送計画および配送情報を参照して評価関数および制約条件を生成する。そして、時間窓交渉相手決定部52は、時間窓の変更に係る操作変数を用いて制約条件を緩和し、緩和後の制約条件のもとで評価関数を最小にする経路を、演算により導出し、新たな配送計画を作成する。
【0059】
この際、時間窓交渉相手決定部52は、制約条件を緩和するために時間窓を変更すべき配送先を交渉相手として決定する。
【0060】
一例として、時間窓交渉相手決定部52は、複数の配送先から、配送先毎に規定される操作変数を用いて表される制約条件の少なくとも何れかに関連付けられた配送先を選択し、選択した配送先を交渉対象の配送先として決定する。
【0061】
換言すれば、時間窓交渉相手決定部52は、複数の配送先から、緩和後の制約条件の少なくとも何れかに関連付けられた配送先を、交渉対象の配送先として決定する。
【0062】
時間窓交渉相手決定部52により決定された交渉相手は、新たな配送計画とともに交渉管理部51に供給される。
【0063】
(容量交渉相手決定部の処理)
容量交渉相手決定部53は、配送計画および配送情報を参照して評価関数および制約条件を生成する。そして、容量交渉相手決定部53は、積み荷容量の変更に係る操作変数を用いて制約条件を緩和し、緩和後の制約条件のもとで評価関数を最小にする経路を、演算により導出し、新たな配送計画を作成する。
【0064】
この際、容量交渉相手決定部53は、制約条件を緩和するために積み荷容量を変更すべき配送先を交渉相手として決定する。
【0065】
一例として、容量交渉相手決定部53は、複数の配送先から、配送先毎に規定される操作変数を用いて表される制約条件の少なくとも何れかに関連付けられた配送先を選択し、選択した配送先を交渉対象の配送先として決定する。
【0066】
換言すれば、容量交渉相手決定部53は、複数の配送先から、緩和後の制約条件の少なくとも何れかに関連付けられた配送先を、交渉対象の配送先として決定する。
【0067】
容量交渉相手決定部53により決定された交渉相手は、新たな配送計画とともに交渉管理部51に供給される。
【0068】
(交渉情報)
交渉管理部51は、時間窓交渉相手決定部52または容量交渉相手決定部53から供給された交渉相手および新たな配送計画を、交渉情報生成部54に供給する。交渉情報生成部54は、交渉相手に対して提示すべき時間窓または積み荷容量を交渉情報として生成する。
【0069】
なお、時間窓交渉相手決定部52または容量交渉相手決定部53により決定された交渉相手が複数いる場合、それぞれの交渉相手に対して提示すべき時間窓または積み荷容量が交渉情報として生成される。
【0070】
交渉情報生成部54により生成された交渉情報は、例えば、通信部73を介して配送事業者の交渉担当者に送信される。あるはまた、交渉情報がGUIとして通信部73を介して交渉相手に直接送信されるようにしてもよい。
【0071】
(交渉結果の反映)
交渉情報生成部54により生成された交渉情報に基づいて配送先との交渉が行われる。例えば、交渉情報によって提示された時間窓または積み荷容量を、配送先が受け入れる旨回答した場合、交渉は成功したことになり、配送先が受け入れない旨回答した場合、交渉は失敗したことになる。このような交渉結果が、通信部73を介して交渉管理部51により受信される。
【0072】
交渉管理部51は、受信した交渉結果に基づいて配送情報を更新する。
【0073】
例えば、交渉情報によって提示された時間窓が配送先に受け入れられた場合、交渉管理部51は、配送情報DB71に記憶された指定時間窓を、配送先が受け入れた時間窓に更新する。より具体的には、例えば、12月1日X地区の配送計画を作成するための配送情報のうち、配送先A1の指定時間窓を、「10:00-11:00」から「12:00―13:00」に変更するように配送情報を更新する。
【0074】
また、VRP求解部は、更新された最新の配送情報を参照してVRPを解くことで配送計画を作成し、配送計画DB72に記憶された配送計画を更新する。なお、時間窓交渉相手決定部52によって生成された配送計画によって配送計画DB72に記憶された配送計画が更新されるようにしてもよい。
【0075】
一方、交渉管理部51は、受信した交渉結果が交渉の失敗を表すものであった場合、配送情報および配送計画を更新しない。
【0076】
なお、指定時間窓が更新された場合、制約条件もこれに伴って更新されることになる。
【0077】
また、交渉相手が複数いる場合、例えば、すべての交渉相手との交渉が成功した場合、配送情報および配送計画が更新され、一部の交渉相手との交渉が失敗した場合、配送情報および配送計画が更新されないようにしてもよい。
【0078】
あるいは、交渉相手が複数いる場合、一部の交渉相手との交渉が成功した場合、その交渉相手の指定時間窓のみが更新されるように配送情報が更新され、更新後の配送情報に基づいて配送計画が更新されるようにしてもよい。
【0079】
また、交渉相手が複数いる場合、例えば、1つの交渉相手との交渉が成功する都度、配送情報および配送計画が更新されるようにしてもよい。
【0080】
すなわち、交渉管理部51は、交渉対象の配送先との交渉結果を取得し、交渉結果を参照して、交渉結果に対応する制約条件を更新する。
【0081】
交渉管理部51は、さらに、交渉結果を参照して、例えば、交渉の成功または失敗を表す交渉成否情報を当該配送先毎に配送情報DB71に記憶する。より具体的には、例えば、配送先A1の交渉成否情報として、12月1日X地区の配送計画においての交渉成功または交渉失敗が記憶される。同様に他の配送先A2、A3、・・・の交渉成否情報も記憶される。
【0082】
なお、交渉成否情報には、交渉の成功または失敗だけでなく、交渉に要した時間が含まれるようにしてもよい。さらに、交渉相手に支払った謝礼金などであって、交渉に要した対価などの情報が交渉成否情報に含まれるようにしてもよい。
【0083】
交渉の成功により配送情報DB71の配送情報が更新された場合、交渉管理部51は、更新後の配送情報を時間窓交渉相手決定部52または容量交渉相手決定部53に提供する。
【0084】
時間窓交渉相手決定部52は、更新後の配送情報を参照して評価関数および制約条件を生成する。そして、時間窓交渉相手決定部52は、時間窓の変更に係る操作変数を用いて制約条件をさらに緩和し、緩和後の制約条件のもとで評価関数を最小にする経路を、演算により導出し、新たな配送計画を作成するとともに、新たな交渉相手を決定する。
【0085】
なお、この際、交渉管理部51は、配送情報DB71の配送先との交渉に係る情報を参照して、既に交渉に失敗した配送先が新たな交渉相手とされないように、時間窓交渉相手決定部52を制御する。なお、既に交渉に失敗した配送先であっても、新たな交渉相手とされ得るようにしてもよい。この場合、例えば、新たな交渉においては、既に失敗した交渉において提示される時間窓とは異なる時間窓が提示される。
【0086】
容量交渉相手決定部53も同様に、新たな配送計画を作成するとともに、新たな交渉相手を決定する。この際、容量交渉相手決定部53は、制約条件を緩和するために積み荷容量を変更すべき配送先を新たな交渉相手として決定する。
【0087】
なお、この際、交渉管理部51は、配送情報DB71の配送先との交渉に係る情報を参照して、既に交渉に失敗した配送先が新たな交渉相手とされないように、容量交渉相手決定部53を制御する。なお、既に交渉に失敗した配送先であっても、新たな交渉相手とされ得るようにしてもよい。この場合、例えば、新たな交渉においては、既に失敗した交渉において提示される積み荷容量とは異なる積み荷容量が提示される。
【0088】
時間窓交渉相手決定部52または容量交渉相手決定部53の処理結果に基づき、交渉情報生成部54は、新たな交渉相手に対して提示すべき時間窓または積み荷容量を交渉情報として生成する。
【0089】
交渉管理部51は、時間窓交渉相手決定部52または容量交渉相手決定部53により交渉相手がいないと判定されるまで上述した処理を繰り返す。
【0090】
なお、交渉管理部51により、配送開始時刻に係るチェックが行われるようにしてもよい。例えば、交渉管理部51によって、配送開始時刻の30分前に強制的に処理が終了されるようにしてもよい。
【0091】
VRP求解部は、更新された最新の配送情報を参照してVRPを解くことで最終的な配送計画を作成し、配送計画DB72に記憶された配送計画を更新する。なお、時間窓交渉相手決定部52または容量交渉相手決定部53によって生成された配送計画によって配送計画DB72に記憶された配送計画が更新されるようにしてもよい。
【0092】
(配送計画の作成)
配送計画は、有向グラフG上での順序付けた辺の選択として表現できる。有向グラフは、G=(V,A)で表される。
【0093】
Vは、V=P∪D∪{0,2n+1}で表され、有向グラフG上の全頂点の集合である。
【0094】
P={1,…,n}であり、Pは、荷物を集荷する頂点の集合である。
【0095】
D={n+1,…,2n}であり、Dは、荷物を届ける頂点の集合である。
【0096】
ここで、{0,2n+1}が、配送の始点と終点であり、例えば、車両基地に対応する。なお、複数の車両基地(multi depot)が存在する配送計画であってもよい。
【0097】
Aは、A={(i,j)∈V×V|i≠j}で表され、有向グラフG上の辺の集合である。
【0098】
なお、以下の説明では、
cij((i,j)∈A)は、頂点iから頂点jへの移動コストを意味する。
【0099】
tij((i,j)∈A)は、頂点iから頂点jへの移動時間を意味する。
【0100】
K={1,・・・,|K|}であり、Kは利用可能な車両を意味する。
【0101】
Qkは、車両kの最大積載量(積み荷容量)を意味し、
Lkは、車両kの最大拘束時間を意味する。
【0102】
qiとsiは、積み荷容量とサービス時間に係る指定パラメータを表しいている。
【0103】
qiは、頂点iから頂点n+iに配送する積み荷容量を意味する。
【0104】
ただし、qn+1=-qi,i=1,・・・,n,q0=q2n+1=0
siは、頂点iでのサービス時間を意味する。
【0105】
ただし、s0=s2n+1=0
また、[ai,bi]は、時間窓に係る指定パラメータを表し、頂点iにおける時間窓を意味している。
【0106】
(配送計画問題の定式化)
(時間窓を操作パラメータとする場合)
時間窓交渉相手決定部52における演算に用いられる評価関数を数式M1に示す。
【0107】
【数1】
・・・(数式M1)
また、数式M1を最小化する経路を導出する演算の際に与えられる制約条件を、次に示す。
【0108】
【数2】
上記数式M1および制約条件における各変数の意味を次に示す。
【0109】
【数3】
頂点i,頂点jは、それぞれ配送先に対応する。また、サービス時間は、当該頂点(すなわち、配送先)での荷物の積み下ろしなどに伴う車両の停止時間を意味している。
【0110】
なお、上記の制約条件における
【数4】
または
【数5】
は、いずれか一方のみが用いられるようにしてもよい。
【0111】
また、上記の制約条件における
【数6】
は、交渉相手に関する制約を意味する。ここで、p
iは、頂点iとの交渉が成功する確率を示している。
【0112】
さらに、上記制約条件における
【数7】
は、時間窓に関する1又は複数の制約条件であって、配送先毎に規定される操作変数y
i
a及びy
i
bを含む制約条件である。当該制約条件は、操作変数y
i
a及びy
i
bの項を含まない制約条件
a
i
≦T
ik≦
b
i
に比べて、指定時間窓が緩和された緩和後の制約条件であると表現することもできる。
【0113】
ここで、上記制約条件における左辺、中央辺、及び右辺のうち、左辺における「-wi
ayi
a」の項によって、時間窓の下限をさらに下げ、右辺における「+wi
ayi
a」の項によって時間窓の上限をさらに上げることによって、指定時間窓が緩和されることになる。この緩和後の制約条件のもと、評価関数を最小化する経路を導出する演算が行われる。
【0114】
さらに、上記の制約条件において指定時間窓の変更幅を変数として与えるようにしてもよい。
【0115】
すなわち、制約条件の各変数の意味を次のように定めてもよい。
【0116】
【数8】
このようにすることで、例えば、配送先毎に異なる時間窓を提案して交渉することも可能となる。
【0117】
なお、評価関数に、yiに関する変数を含めるようにしてもよい。すなわち、評価関数自身が制約条件の一部を含むようにし、当該制約条件が考慮されるようにすることもできる。
【0118】
この場合、評価関数は、数式M2のように示される。
【0119】
【数9】
・・・(数式M2)
(積み荷容量を操作パラメータとする場合)
容量交渉相手決定部53における演算に用いられる評価関数を数式M3に示す。
【0120】
【数10】
・・・(数式M3)
また、数式M1を最小化する経路を導出する演算の際に与えられる制約条件を、次に示す。
【0121】
【数11】
上記数式M3および制約条件における各変数の意味を次に示す。
【0122】
【数12】
頂点i,頂点jは、それぞれ配送先に対応する。
【0123】
また、上記の制約条件における
【数13】
は、交渉相手に関する制約を意味する。
【0124】
さらに、上記制約条件における
【数14】
は、積み荷容量に関する1又は複数の制約条件であって、配送先毎に規定される操作変数y
iを含む制約条件である。当該制約条件は、操作変数y
iの項を含まない制約条件に比べて、指定容量が緩和された緩和後の制約条件であると表現することもできる。
【0125】
このように、1又は複数の制約条件には、容量及び時間窓のうち、容量に関する制約条件のみが含まれるようにしてもよい。
【0126】
なお、評価関数に、yiに関する変数を含めるようにしてもよい。すなわち、評価関数自身が制約条件の一部を含むようにし、当該制約条件が考慮されるようにすることもできる。
【0127】
この場合、評価関数は、数式M4のように示される。
【0128】
【数15】
・・・(数式M4)
(交渉相手に関する制約条件を含める場合)
時間窓交渉相手決定部52および容量交渉相手決定部53が解く配送計画問題には、複数の配送先の少なくとも何れかに関連した情報であって、容量及び時間窓以外の情報を含む評価関数または制約条件が含まれるようにしてもよい。
【0129】
例えば、時間窓交渉相手決定部52および容量交渉相手決定部53は、さらに、配送先との交渉が成功(または失敗)する確率を制約条件に含めて評価関数を最小化する演算を行ってもよい。
【0130】
例えば、配送先との交渉が成功する確率を基準値M以上にする制約を課すようにしてもよい。この制約は、頂点iとの交渉が成功する確率をpiとした場合、数式M5で表すことができる。
【0131】
【数16】
・・・(数式M5)
なお、各配送先との交渉が成功する確率は、例えば、配送情報DB71に記憶されている交渉成否情報を参照して求めることができる。
【0132】
このように、制約条件には、交渉対象との交渉が成功する確率に関する制約が含まれるようにしてもよい。また、評価関数自身がこの制約条件を含むようにし、当該制約条件が考慮されるようにすることもできる。この場合、適切に重み係数を与えることで、元の評価関数を最小化しながら、できるだけ交渉成功率が高い交渉相手を見つける演算が行われることになる。
【0133】
あるいはまた、時間窓交渉相手決定部52および容量交渉相手決定部53は、さらに、配送先との交渉に要する時間を制約条件に含めて評価関数を最小化する演算を行ってもよい。
【0134】
例えば、配送先との交渉に要する時間を基準値M以下にする制約を課すようにしてもよい。この制約は、頂点iとのとの交渉が終了するまでにかかると推定される時間をuiとした場合、数式M6で表すことができる。
【0135】
【数17】
・・・(数式M6)
なお、各配送先との交渉が終了するまでにかかると推定される時間は、例えば、配送情報DB71に記憶されている交渉成否情報を参照して求めることができる。この場合、交渉成否情報には、交渉に要した時間も含まれていることとする。
【0136】
このように、制約条件には、交渉対象との交渉に要する時間に関する制約が含まれるようにしてもよい。また、評価関数自身がこの制約条件を含むようにし、当該制約条件が考慮されるようにすることもできる。この場合、適切に重み係数を与えることで、元の評価関数を最小化しながら、できるだけ交渉に要すると推定される時間が短い交渉相手を見つける演算が行われることになる。
【0137】
あるいはまた、時間窓交渉相手決定部52および容量交渉相手決定部53は、さらに、配送先との交渉に要する対価を制約条件に含めて評価関数を最小化する演算を行ってもよい。
【0138】
例えば、配送先との交渉に要する対価を基準値M以下にする制約を課すようにしてもよい。この制約は、頂点iとの交渉が成功した場合に配送事業者が支払うべき対価をsiとした場合、数式M7で表すことができる。
【0139】
【数18】
・・・(数式M7)
なお、各配送先との交渉に要する対価は、例えば、配送情報DB71に記憶されている交渉成否情報を参照して求めることができる。この場合、交渉成否情報には、交渉に要した対価も含まれていることとする。
【0140】
このように、制約条件には、交渉対象との交渉に要する対価に関する制約が含まれるようにしてもよい。また、評価関数自身がこの制約条件を含むようにし、当該制約条件が考慮されるようにすることもできる。この場合、適切に重み係数を与えることで、元の評価関数を最小化しながら、できるだけ交渉に要する対価が少ない交渉相手を見つける演算が行われることになる。
【0141】
(交渉相手を決定する方式)
次に、時間窓交渉相手決定部52および容量交渉相手決定部53が交渉相手を決定する方式について説明する。
【0142】
図4は、配送計画の例を説明する図である。
図4の配送計画は、例えば、VRP求解部により作成された配送計画である。同図において、0~9の数字を円で囲んだものが頂点、すなわち配送先を表している。
【0143】
頂点「0」は、例えば、車両基地に対応し、配送に要する各車両が出発する地点である。頂点「9」は、配送に要する各車両が到着すべき最終地点である。この例では、頂点「0」から頂点「9」に至るまでの経路上に、頂点「1」乃至頂点「8」の8つの配送先が存在している。
【0144】
また、同図において、頂点間を結ぶ矢印は、車両が通過し得る経路を表している。ここで、実線矢印は、配送計画において車両が通過する経路を表しており、点線矢印は、配送計画において車両が通過しない経路を表している。
【0145】
この例では、頂点「0」から同時に4台の車両が出発する。第1番目の車両は、頂点「1」および頂点「5」を経由して頂点「9」に到達する。第2番目の車両は、頂点「2」および頂点「6」を経由して頂点「9」に到達する。第3番目の車両は、頂点「3」および頂点「7」を経由して頂点「9」に到達する。第4番目の車両は、頂点「4」および頂点「8」を経由して頂点「9」に到達する。
【0146】
頂点間を結ぶ矢印に付された数値は、その矢印で示される経路の始点から終点までに要する時間およびその経路のコストを表している。
【0147】
なお、この例では、頂点「0」と頂点「1」乃至頂点「4」との間のそれぞれの矢印、並びに頂点「1」と頂点「2」との間の矢印および頂点「3」と頂点「4」との間の矢印にのみ時間とコストが示されており、それ以外の矢印にはコストのみが示されている。例えば、頂点「0」と頂点「1」との間の矢印に付された「50,1」は、この経路の始点から終点までに要する時間が50であり、この経路のコストが1であることを表している。
【0148】
また、頂点「1」乃至頂点「4」のそれぞれに括弧書きで示された数値は、それぞれの頂点の指定時間窓を表している。例えば、頂点「1」とともに示されている[150,200]は、指定時間窓の下限が時刻150であり、上限が時刻200であることを表している。
【0149】
なお、この例では、説明を簡単にするため、頂点「5」乃至頂点「8」には指定時間窓がないこととしている。
【0150】
VRP求解部は、指定時間窓の制約を満たしつつ、全経路のコストの合計を最小化するように、車両が通過する経路を選択する。
【0151】
図5は、配送計画の指定時間窓の制約条件を緩和して作成された配送計画の例を説明する図である。ここでは、交渉により配送に必要となる車両の台数を削減する場合の例について説明する。
【0152】
上述したように、時間窓交渉相手決定部52は、
図4に示される配送計画の指定時間窓の制約条件を、操作変数を用いて緩和する。また、時間窓交渉相手決定部52は、車両の台数を削減するために、例えば、
図4の配送計画に対して頂点「0」と頂点「9」とを直接結ぶ仮想的経路を追加し、その仮想的経路のコストを最も小さいコストである0とする。
【0153】
この状態で、評価関数を最小化すべき経路として、時間窓交渉相手決定部52は、
図5に示される経路を選択する。
【0154】
図5の例では、第1番目の車両は、頂点「0」から頂点「9」を直接結ぶ仮想的経路を通過する。第2番目の車両は、頂点「0」から、頂点「1」、頂点「2」、頂点「6」、および頂点「5」を経由して頂点「9」に到達する。ただし、頂点「1」の指定時間窓の下限が変更され、頂点「1」の指定時間窓は、[0,200]とされている。第3番目の車両は、頂点「0」から、頂点「3」および頂点「7」を経由して頂点「9」に到達する。第4番目の車両は、頂点「0」から、頂点「4」および頂点「8」を経由して頂点「9」に到達する。
【0155】
この場合、時間窓交渉相手決定部52は、頂点「1」に対応する配送先を交渉相手として決定することになる。
【0156】
ここで、仮想的経路は実在しない経路なので、仮想的経路を通過する車両は必要ないことになる。すなわち、頂点「1」の指定時間窓の下限を時刻0に変更することができれば、
図4の配送計画から、1台車両を削減することが可能となる。
【0157】
これにより、交渉情報生成部54は、頂点「1」に対応する配送先に対して提示すべき時間窓であって、[0,200]を交渉情報として生成する。
【0158】
図6は、交渉結果を反映して作成された配送計画の例を説明する図である。同図に示される配送計画では、配送に必要となる車両は3台となる。
【0159】
図7は、配送計画の指定時間窓の制約条件を緩和して作成された別の配送計画の例を説明する図である。ここでは、
図6に示される配送計画をもとに、交渉により配送に必要となる車両の台数をさらに削減する場合の例について説明する。
【0160】
時間窓交渉相手決定部52は、
図6に示される配送計画の指定時間窓の制約条件を、操作変数を用いて緩和する。また、
図5を参照して上述した場合と同様に、時間窓交渉相手決定部52は、車両の台数を削減するために、例えば、
図6の配送計画に対して頂点「0」と頂点「9」とを直接結ぶ仮想的経路を追加し、その仮想的経路のコストを最も小さいコストである0とする。
【0161】
この状態で、評価関数を最小化すべき経路として、時間窓交渉相手決定部52は、
図7に示される経路を選択する。
【0162】
図7の例では、第1番目の車両は、頂点「0」から、頂点「1」、頂点「2」、頂点「6」、および頂点「5」を経由して頂点「9」に到達する。第2番目の車両は、頂点「0」から、頂点「3」、頂点「4」、頂点「7」および頂点「8」を経由して頂点「9」に到達する。ただし、頂点「3」の指定時間窓の下限が変更され、頂点「
3」の指定時間窓は、[0,200]とされている。なお、この場合もやはり図示せぬ仮想的経路を通過する車両は必要ないことになる。
【0163】
この場合、時間窓交渉相手決定部52は、頂点「3」に対応する配送先を交渉相手として決定することになる。
【0164】
すなわち、頂点「3」の指定時間窓の下限を時刻0に変更することができれば、
図6の配送計画から、さらに1台車両を削減することが可能となる。
【0165】
これにより、交渉情報生成部54は、頂点「3」に対応する配送先に対して提示すべき時間窓であって、[0,200]を交渉情報として生成する。
【0166】
図8は、交渉結果を反映して作成された配送計画の例を説明する図である。同図に示される配送計画では、配送に必要となる車両は2台となる。
【0167】
図8に示される配送計画の指定時間窓の制約条件を緩和しても、これ以上車両台数を削減するこができないため、時間窓交渉相手決定部52は、交渉相手を決定することができない。従って、
図8に示される配送計画が最終的な配送計画とされる。
【0168】
(配送計画の更新)
図9乃至
図18は、配送計画の更新の例を説明する図である。
【0169】
図9は、更新前の配送計画の例を示す図である。この例では、配送先A1乃至配送先A4を車両T1の乗務員が訪問し、車両基地S0に帰着する。また、配送先B1乃至配送先B4を車両T2の乗務員が訪問し、車両基地S0に帰着する。さらに、配送先C1および配送先C2を車両T3の乗務員が訪問し、車両基地S0に帰着する。
【0170】
いま、配送先B4の指定時間窓は、下限が16:00であり、上限が17:00とされている。この例では、車両台数を削減するため、交渉情報生成部54により生成された交渉情報をもとに、配送先B4との交渉が行われる。
【0171】
図10は、
図9の配送計画を更新して得られた配送計画の例を示す図である。この例ででは、配送先B4との交渉が成功し、配送先B4の指定時間窓は、下限が10:00に、上限が11:00に変更されている。これにより、配送計画に必要となる車両は1台削減され、2台となる。
【0172】
図11は、更新前の配送計画の別の例を示す図である。この例では、配送先A1乃至配送先A4を車両T1の乗務員が訪問し、車両基地S0に帰着する。また、配送先B1乃至配送先B6を車両T2の乗務員が訪問し、車両基地S0に帰着する。なお、配送先B6はあらたに追加された配送先である。
【0173】
通常、各車両の乗務員の拘束時間は8時間以内となるように配送計画が作成される。しかし、
図11の例では、配送先B6が追加されたため、車両T2の乗務員の拘束時間が9時間になっている。
【0174】
いま、配送先B5の指定時間窓は、下限が16:00であり、上限が17:00とされている。この例では、車両T2の乗務員の拘束時間を削減するため、交渉情報生成部54により生成された交渉情報をもとに、配送先B5との交渉が行われる。
【0175】
図12は、
図11の配送計画を更新して得られた配送計画の例を示す図である。この例ででは、配送先B5との交渉が成功し、配送先B5の指定時間窓は、下限が10:00に、上限が11:00に変更されている。これにより、車両T2の乗務員の拘束時間が削減され、8時間になる。
【0176】
図13は、更新前の配送計画のさらに別の例を示す図である。この例では、配送先A1乃至配送先A4を車両T1の乗務員が訪問し、車両基地S0に帰着する。また、配送先B1乃至配送先B4を車両T2の乗務員が訪問し、車両基地S0に帰着する。さらに、配送先C1および配送先C2を車両T3の乗務員が訪問し、車両基地S0に帰着する。
【0177】
いま、配送先B4の指定時間窓は、下限が16:00であり、上限が17:00とされている。配送先C1の指定時間窓は、下限が10:00であり、上限が11:00とされている。この例では、車両台数を削減するため、交渉情報生成部54により生成された交渉情報をもとに、配送先B4および配送先C1との交渉が行われる。
【0178】
図14は、
図13の配送計画を更新して得られた配送計画の例を示す図である。この例ででは、配送先B4との交渉が成功し、配送先B4の指定時間窓は、下限が10:00に、上限が17:00に変更されている。また、配送先C1との交渉が成功し、配送先C1の指定時間窓の下限が10:00に変更されている。これにより、配送計画に必要となる車両は1台削減され、2台となる。
【0179】
このように、複数の配送先との交渉を同時に行い、それらの交渉が全て成功した場合、配送計画が更新されるようにしてもよい。
【0180】
なお、
図10の例では、配送先B4のもとの指定時間窓が1時間であり、変更後の指定時間窓も1時間である。一方で、
図14の例では、配送先B4のもとの指定時間窓が1時間であるが、変更後の指定時間窓は5時間である。このように、交渉において配送先に提示する指定時間窓は、必ず元の指定時間窓を含むように時間帯を拡大した時間窓であってもよい。このようにすることで、例えば、全く異なる時間窓を提示する場合と比較して、配送先との交渉が成立する可能性が高くなることが見込まれる。
【0181】
あるいはまた、交渉において配送先に提示する指定時間窓は、必ず元の指定時間窓に含まれるように時間帯を縮小した時間窓であってもよい。例えば、配送先B4に対して下限が16:00で上限が16:40である時間窓を提示する場合が、必ず元の指定時間窓に含まれるように時間帯を縮小した時間窓を提示することに該当する。
【0182】
また、
図10、
図12、および
図14の例では、もとの指定時間窓の下限および/または上限を変更した新たな時間窓を提示することで配送先との交渉を行う例について説明した。しかし、配送先に複数の時間窓を提示して交渉が行われるようにしてもよい。
【0183】
図15は、
図13の配送計画を更新して得られた配送計画の別の例を示す図である。
図15の場合、
図14の例とは異なり、配送先C1の指定時間窓は、下限が8:00で上限9:00の時間窓または下限が10:00で上限が11:00の時間窓とされている。これにより、やはり配送計画に必要となる車両は1台削減され、2台となる。
【0184】
図16は、
図13の配送計画を更新して得られた配送計画のさらに別の例を示す図である。
図16の場合、
図15の例とは異なり、配送先B4との交渉に失敗しており、配送先B4の指定時間窓は、下限が16:00、上限が17:00のままとされている。一方、配送先C1との交渉は成功し、配送先C1の指定時間窓は、下限が
10:00で上限
11:00の時間窓または下限が
11:00で上限が
12:00の時間窓とされている。
【0185】
このような場合、配送先C1の指定時間窓だけを変更して配送計画を更新してもよい。いまの場合、配送計画に必要となる車両は削減できないが、交渉により変更された指定時間窓をさらに変更する必要はないからである。
【0186】
図17は、更新前の配送計画のさらに別の例を示す図である。この例では、車両基地S0から配送先A11に車両T11で積み荷の集荷に向かい、車両基地S0から配送先B11に車両T12で積み荷の集荷に向かう。車両T11および車両T12の最大積載量は荷物3個であるものとする。
【0187】
いま、配送先A11は、積み荷2個の集荷を依頼しており、配送先A11の指定容量は2個となる。また、配送先B11も、積み荷2個の集荷を依頼しており、配送先B11の指定容量も2個となる。
【0188】
この例では、車両台数を削減するため、交渉情報生成部54により生成された交渉情報をもとに、配送先A11との交渉が行われる。
【0189】
図18は、
図17の配送計画を更新して得られた配送計画の例を示す図である。この例ででは、配送先A11との交渉が成功し、配送先A11の指定容量は1個に変更されている。これにより、配送計画に必要となる車両は1台削減され、1台となる。
【0190】
〔例示的実施形態3〕
次に、交渉情報の提示方式の例について説明する。
【0191】
図19および
図20は、新たな指定時間窓を特定して提示する方式の例を説明する図である。ここでは、交渉情報が、スマートフォンのディスプレイに表示されるGUIとして生成される場合の例について説明する。この場合、交渉情報生成部54は、スマートフォン上で実行されるアプリケーションに、例えば、
図19乃至
図22を参照して後述するような画像を表示させるコマンド等を生成する。生成されたコマンド等は、通信部73を介して交渉相手のスマートフォンに送信される。
【0192】
なお、ここでは、スマートフォンのディスプレイに表示されるGUIを例として説明しているが、タブレット端末やパーソナルコンピュータなどに同様のGUIを表示させてもよい。
【0193】
図19は、交渉情報において提示する指定時間窓の時間帯が1時間単位に限定されている場合の例を説明する図である。
【0194】
図19は、交渉情報が交渉相手のスマートフォンのディスプレイ101に表示される例を示している。この例では、交渉メッセージ102に、変更後の時間窓「12:00-14:00」が表示されている。交渉相手は、変更後の時間窓が受け入れ可能である場合、OKボタン103を押下し、変更後の時間窓が受け入れ可能
でない場合、NGボタン104を押下する。これにより、交渉結果が送信され、通信部73を介して交渉管理部51により受信される。
【0195】
これに対して、
図20は、交渉情報において提示する指定時間窓の時間帯も交渉相手毎に変更できる場合の例を説明する図である。
【0196】
この例では、交渉メッセージ102に、変更後の時間窓「12:40-14:00」が表示されている。
【0197】
図19の例のように、変更後の指定時間窓の時間帯が決められているようにしてもよいし、
図20の例のように、変更後の指定時間窓の時間帯を変更できるようにしてもよい。
【0198】
図21および
図22は、新たな指定時間窓を交渉相手に選択させる方式の例を説明する図である。
【0199】
図21は、交渉情報が交渉相手のスマートフォンのディスプレイ101に表示される例を示している。この例では、交渉メッセージ102に、交渉相手が希望する時間窓として選択可能な時間窓が複数表示されている。なお、表示される時間窓は、配送業者が配送先に受け入れて欲しい時間窓のみである。
【0200】
交渉相手は、受け入れ可能な時間窓をチェックしてOKボタン103を押下する。一方、いずれの時間窓も受け入れられない場合、交渉相手は、NGボタン104を押下する。これにより、交渉結果が送信され、通信部73を介して交渉管理部51により受信される。このように、交渉情報は、複数の時間窓または容量の候補を提示し、交渉対象の配送先に、受け入れ可能な候補の回答を促すものであってよい。
【0201】
これに対して
図22は、交渉メッセージ102に、交渉相手が希望しない時間窓として選択可能な時間窓が複数表示されている。
【0202】
交渉相手は、受け入れられない時間窓をチェックしてOKボタン103を押下する。一方、いずれの時間窓も受け入れられる場合、交渉相手は、NGボタン104を押下する。このように、交渉情報は、複数の時間窓または容量の候補を提示し、交渉対象の配送先に、受け入れ不可能な候補の回答を促すものであってよい。
【0203】
例えば、希望する時間窓として選択される時間窓の数が少ないと見込まれる配送先には、
図21のように交渉情報を提示するとよい。また、例えば、希望する時間窓がとして選択される時間窓の数が多いと見込まれる配送先には、
図22のように交渉情報を提示するとよい。
【0204】
一例として、交渉情報生成部54は、過去の交渉結果を参照して、交渉相手によって「選択されるであろう時間窓」の数を予測し、予測した数が所定の閾値未満であれば
図21のような交渉情報を提示し、所定の閾値以上であれば
図22のような交渉情報を提示する。
【0205】
<配送計画作成処理の流れ>
次に、
図23のフローチャートを参照して、配送計画作成装置40による配送計画作成処理の例について説明する。
【0206】
ステップS31において、交渉管理部51は、配送計画DB72に記憶されている配送計画および配送情報DB71に記憶されている配送情報を読み出す。読み出された配送計画および配送情報は、時間窓交渉相手決定部52または容量交渉相手決定部53に提供される。
【0207】
ステップS32において、時間窓交渉相手決定部52または容量交渉相手決定部53は、配送計画および配送情報を参照して評価関数および制約条件を生成する。そして、時間窓交渉相手決定部52または容量交渉相手決定部53は、時間窓の変更に係る操作変数を用いて制約条件を緩和し、緩和後の制約条件のもとで評価関数を最小にする経路を、演算により導出し、新たな配送計画を作成する。
【0208】
ステップS33において、時間窓交渉相手決定部52または容量交渉相手決定部53は、制約条件を緩和するために指定時間窓または指定容量を変更すべき配送先を交渉相手として決定する。ここで決定された交渉相手は、新たな配送計画とともに交渉管理部51に供給される。
【0209】
ステップS34において、交渉管理部51は、交渉相手が存在するか否かを判定し、交渉相手が存在すると判定された場合、処理は、ステップS35に進む。一方、交渉相手が存在しないと判定された場合、処理は、終了する。
【0210】
ステップS35において、交渉情報生成部54は、交渉管理部51から提供された交渉相手と配送計画とを参照して交渉相手に対して提示すべき時間窓または積み荷容量を交渉情報として生成する。一例として、交渉情報は、パーソナルコンピュータやスマートフォンのディスプレイに表示されるGUIとして生成される。例えば、
図19乃至
図22を参照して上述したGUIとして生成される。
【0211】
なお、時間窓交渉相手決定部52または容量交渉相手決定部53により決定された交渉相手が複数いる場合、それぞれの交渉相手に対して提示すべき時間窓または積み荷容量が交渉情報として生成される。
【0212】
ステップS36において、交渉管理部51は、ステップS35で生成された交渉情報に対する交渉相手からの回答である交渉結果を取得する。交渉結果は、例えば、通信部73を介して交渉管理部51により受信される。
【0213】
ステップS37において、交渉管理部51は、ステップS36で取得した交渉結果を参照して交渉が成功したか否かを判定する。
【0214】
ステップS37において、交渉が成功したと判定された場合、処理は、ステップS38に進み、交渉管理部51およびVRP求解部は、配送情報および配送計画を更新する。
【0215】
一方、ステップS37において、交渉が成功しなかったと判定された場合、ステップS38の処理はスキップされる。
【0216】
ステップS39において、交渉管理部51は、交渉成否情報を記憶する。
【0217】
ステップS39の処理の後、処理は、ステップS31に戻り、それ以降の処理が繰り返し実行される。すなわち、ステップS34において、交渉相手が存在しないと判定されるまで、繰り返し実行される。
【0218】
なお、ステップS34において、交渉相手が存在しないと判定された場合、数式M5乃至数式M6に示される制約が緩和されて、ステップS31にもどるようにしてもよい。この場合、例えば、数式M5乃至数式M6における「M」の値をより大きく、または、より小さくするように変更することで、制約が緩和されるようにすればよい。
【0219】
なお、交渉管理部51により、配送開始時刻に係るチェックが行われる場合、例えば、配送開始時刻の30分前に強制的に処理が終了されるようにしてもよい。
【0220】
このようにして、配送計画作成処理が実行される。
【0221】
〔変形例〕
以上においては、時間窓交渉相手決定部52と、容量交渉相手決定部53とがそれぞれ別々に交渉相手を決定する例について説明した。すなわち、時間窓交渉相手決定部52は、時間窓の変更に係る操作変数を用いて制約条件を緩和し、容量交渉相手決定部53は、積み荷容量の変更に係る操作変数を用いて制約条件を緩和する例について説明した。
【0222】
しかし、時間窓交渉相手決定部52と、容量交渉相手決定部53とを1つの交渉相手決定部としてもよい。この場合、1つの交渉相手決定部が、時間窓の変更に係る操作変数および積み荷容量の変更に係る操作変数の両方を用いて緩和後の制約条件のもとで評価関数を最小にする経路を、演算により導出し、新たな配送計画を作成する。
【0223】
このように、指定時間窓の変更および指定容量の変更に係る交渉が同時に行われるようにしてもよい。
【0224】
〔ソフトウェアによる実現例〕
情報処理装置20および配送計画作成装置40の一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0225】
後者の場合、情報処理装置20および配送計画作成装置40は、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を
図24に示す。
【0226】
コンピュータCは、少なくとも1つのプロセッサC101と、少なくとも1つのメモリC102と、を備えている。メモリC102には、コンピュータCを情報処理装置20または配送計画作成装置40として動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC101は、プログラムPをメモリC102から読み取って実行することにより、情報処理装置20または配送計画作成装置40の各機能が実現される。
【0227】
プロセッサC101としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。メモリC102としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせなどを用いることができる。
【0228】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インタフェースを更に備えていてもよい。
【0229】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0230】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0231】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
【0232】
(付記1)
容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件であって、配送先毎に規定される操作変数を用いて表される制約条件を含む配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先を決定する決定手段と、
前記決定手段が決定した配送先への交渉内容を含む情報を出力する出力手段と
を備えている情報処理装置。
【0233】
(付記2)
前記決定手段は、前記複数の配送先から、前記配送先毎に規定される操作変数を用いて表される制約条件の少なくとも何れかに関連付けられた配送先を、前記交渉対象の配送先として決定する
付記1に記載の情報処理装置。
【0234】
(付記3)
前記決定手段が解く配送計画問題には、前記複数の配送先の少なくとも何れかに関連した情報であって、前記容量及び時間窓以外の情報を含む評価関数または制約条件が含まれる
付記1または2に記載の情報処理装置。
【0235】
(付記4)
前記制約条件又は前記評価関数には、交渉対象との交渉が成功する確率に関する制約が含まれる
付記3に記載の情報処理装置。
【0236】
(付記5)
前記制約条件又は前記評価関数には、交渉対象との交渉に要する時間に関する制約が含まれる
付記3または4に記載の情報処理装置。
【0237】
(付記6)
前記制約条件又は前記評価関数には、交渉対象との交渉に要する対価に関する制約が含まれる
付記3~5のいずれか1項に記載の情報処理装置。
【0238】
(付記7)
前記1又は複数の制約条件には、容量及び時間窓のうち、容量に関する制約条件のみが含まれる
付記1~6のいずれか1項に記載の情報処理装置。
【0239】
(付記8)
前記交渉対象の配送先との交渉結果を取得する取得部を備え、
前記決定手段は、前記交渉結果を参照して、当該交渉結果に対応する制約条件を更新する
付記1~7のいずれか1項に記載の情報処理装置。
【0240】
(付記9)
前記取得部は、前記交渉結果を参照して交渉の成功または失敗を表す交渉成否情報を交渉対象毎に記憶する
付記8に記載の情報処理装置。
【0241】
(付記10)
前記出力手段は、前記交渉対象の配送先に対する前記交渉内容を含む出力データを生成し、生成した出力データを当該前記交渉対象の配送先に提示する
付記1から4の何れか1項に記載の情報処理装置。
【0242】
(付記11)
前記交渉内容は、複数の時間窓または容量の候補を提示し、前記交渉対象の配送先に、受け入れ可能な候補の回答を促すものである
付記10に記載の情報処理装置。
【0243】
(付記12)
前記交渉内容は、複数の時間窓または容量の候補を提示し、前記交渉対象の配送先に、受け入れ不可能な候補の回答を促すものである
付記10に記載の情報処理装置。
【0244】
(付記13)
容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件であって、配送先毎に規定される操作変数を用いて表される制約条件を含む配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先を決定すること、
前記決定した配送先への交渉内容を含む情報を出力すること
を含む情報処理方法。
【0245】
(付記14)
コンピュータを、
容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件であって、配送先毎に規定される操作変数を用いて表される制約条件を含む配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先を決定する決定手段と、
前記決定手段が決定した配送先への交渉内容を含む情報を出力する出力手段とを備えている情報処理装置
として機能させるプログラム。
【0246】
〔付記事項3〕
上述した実施形態の一部又は全部は、更に、以下のように表現することもできる。
【0247】
少なくとも1つのプロセッサを備え、前記プロセッサは、
容量及び時間窓の少なくとも何れかに関する1又は複数の制約条件であって、配送先毎に規定される操作変数を用いて表される制約条件を含む配送計画問題を解くことによって、複数の配送先から、交渉対象の配送先を決定する決定処理と、
前記決定処理で決定した配送先への交渉内容を含む情報を出力する出力処理とを実行する
情報処理装置。
【0248】
なお、この情報処理装置は、更にメモリを備えていてもよく、このメモリには、前記決定処理と、前記出力処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0249】
20 情報処理装置
21 決定部
22 出力部
40 配送計画作成装置
50 制御部
51 交渉管理部
52 時間窓交渉相手決定部
53 容量交渉相手決定部
54 交渉情報生成部
71 配送情報DB
72 配送計画DB
73 通信部