(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-30
(45)【発行日】2024-10-08
(54)【発明の名称】集配計画最適化装置、集配計画最適化方法およびプログラム
(51)【国際特許分類】
B65G 61/00 20060101AFI20241001BHJP
G01C 21/34 20060101ALI20241001BHJP
G06Q 10/04 20230101ALI20241001BHJP
G06Q 10/08 20240101ALI20241001BHJP
【FI】
B65G61/00 542
G01C21/34
G06Q10/04
G06Q10/08
(21)【出願番号】P 2020136717
(22)【出願日】2020-08-13
【審査請求日】2023-07-07
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】鈴木 夏子
(72)【発明者】
【氏名】中村 暢達
【審査官】中野 修平
(56)【参考文献】
【文献】特開2007-241340(JP,A)
【文献】特開2004-062363(JP,A)
【文献】特開2010-111452(JP,A)
【文献】特開2010-155717(JP,A)
【文献】特開2001-188984(JP,A)
【文献】米国特許出願公開第2017/0278064(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B65G 61/00
G01C 21/34
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
振り分け対象の複数の集配先地点を、振り分け先の複数のグループに振り分ける地点分割部と、
前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を巡回する最短の巡回経路を、アニーリングを用いることによって算出するアニーリング処理部と、
前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を前記アニーリング処理部によって算出された巡回経路で巡回するときに要する時間である巡回所要時間を、前記振り分け先の複数のグループのそれぞれについて算出し、前記振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まっているか否かを判定する巡回経路探索部とを備え、
前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まっていると前記巡回経路探索部によって判定された場合には、前記振り分け先の複数のグループの数が減少させられて、前記地点分割部による前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理部による最短の巡回経路の算出、および、前記巡回経路探索部による巡回所要時間の算出が繰り返され、
前記振り分け先の複数のグループのいずれかの巡回所要時間が前記シフト時間内に収まっていないと前記巡回経路探索部によって判定された場合には、前記振り分け先の複数のグループの数が増加させられて、前記地点分割部による前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理部による最短の巡回経路の算出、および、前記巡回経路探索部による巡回所要時間の算出が繰り返され、
前記巡回経路探索部は、
前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まる場合であって、前記振り分け先の複数のグループの数が最小になる場合に、前記アニーリング処理部によって算出される最短の巡回経路を、最適巡回経路として決定する、
集配計画最適化装置。
【請求項2】
前記アニーリング処理部によって用いられるアニーリングは、量子計算機において実行される量子アニーリング、または、古典計算機において実行されるシミュレーティッドアニーリングである、
請求項1に記載の集配計画最適化装置。
【請求項3】
前記地点分割部は、
前記振り分け対象の複数の集配先地点のすべてを複数の候補地点とし、
前記振り分け先の複数のグループのうちの1つの候補として、新規グループを作成し、
前記複数の候補地点のうちの集配拠点から最も遠い地点である最遠地点を前記新規グループに含め、前記最遠地点を前記複数の候補地点から除外し、
前記最遠地点が除外された後の前記複数の候補地点のうちの前記最遠地点に最も近い地点である最近地点を前記新規グループに仮に含め、
前記最近地点が仮に含められた後の前記新規グループに含まれる複数の集配先地点に対する集配を行うときに要する時間である集配所要時間が第1閾値以内であるか否かを判定する、
請求項1に記載の集配計画最適化装置。
【請求項4】
前記地点分割部は、
前記最近地点が仮に含められた後の前記新規グループに含まれる複数の集配先地点に対する集配を行うときの前記集配所要時間が前記第1閾値以内である場合に、前記最近地点を前記新規グループに含める、
請求項3に記載の集配計画最適化装置。
【請求項5】
前記地点分割部は、
前記最近地点が仮に含められた後の前記新規グループに含まれる複数の集配先地点に対する集配を行うときの前記集配所要時間が前記第1閾値以内ではない場合に、前記最近地点が仮に含められる前の状態の前記新規グループを、前記振り分け先の複数のグループのうちの1つとして保存する、
請求項3に記載の集配計画最適化装置。
【請求項6】
前記アニーリング処理部は、
前記地点分割部によって振り分けられた前記振り分け先の複数のグループのいずれかについてハミルトニアン定式化を実施し、アニーリングを行って最適解を算出し、
アニーリングを行って算出した前記最適解について有効解が求まったか否かを判定し、
前記有効解が求まっていない場合には、アニーリングを行って最適解を算出する処理を繰り返す、
請求項1に記載の集配計画最適化装置。
【請求項7】
前記アニーリング処理部は、
前記地点分割部によって振り分けられた前記振り分け先の複数のグループのすべてについて前記有効解が求まるまで、前記ハミルトニアン定式化の実施、前記最適解の算出、および、前記有効解が求まったか否かの判定を繰り返す、
請求項6に記載の集配計画最適化装置。
【請求項8】
前記巡回経路探索部によって行われる前記振り分け先の複数のグループのそれぞれの巡回所要時間の判定に用いられる前記シフト時間が、第2閾値以下であるか否かの判定を行うグループ数最適化部を備え、
前記グループ数最適化部は、
前記シフト時間が前記第2閾値以下である場合に、前記振り分け先の複数のグループの結合を行うことによって前記振り分け先の複数のグループの数を減少させ、
前記シフト時間が前記第2閾値以下ではない場合に、前記振り分け先の複数のグループの分割を行うことによって前記振り分け先の複数のグループの数を増加させる、
請求項1に記載の集配計画最適化装置。
【請求項9】
コンピュータが、振り分け対象の複数の集配先地点を、振り分け先の複数のグループに振り分ける地点分割ステップと、
前記コンピュータが、前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を巡回する最短の巡回経路を、アニーリングを用いることによって算出するアニーリング処理ステップと、
前記コンピュータが、前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を前記アニーリング処理ステップにおいて算出された巡回経路で巡回するときに要する時間である巡回所要時間を、前記振り分け先の複数のグループのそれぞれについて算出し、前記振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まっているか否かを判定する巡回経路探索ステップとを備え、
前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まっていると前記巡回経路探索ステップにおいて判定された場合には、前記振り分け先の複数のグループの数が減少させられて、前記地点分割ステップにおける前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理ステップにおける最短の巡回経路の算出、および、前記巡回経路探索ステップにおける巡回所要時間の算出が繰り返され、
前記振り分け先の複数のグループのいずれかの巡回所要時間が前記シフト時間内に収まっていないと前記巡回経路探索ステップにおいて判定された場合には、前記振り分け先の複数のグループの数が増加させられて、前記地点分割ステップにおける前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理ステップにおける最短の巡回経路の算出、および、前記巡回経路探索ステップにおける巡回所要時間の算出が繰り返され、
前記巡回経路探索ステップでは、
前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まる場合であって、前記振り分け先の複数のグループの数が最小になる場合に、前記アニーリング処理ステップにおいて算出される最短の巡回経路が、最適巡回経路として決定される、
集配計画最適化方法。
【請求項10】
コンピュータに、
振り分け対象の複数の集配先地点を、振り分け先の複数のグループに振り分ける地点分割ステップと、
前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を巡回する最短の巡回経路を、アニーリングを用いることによって算出するアニーリング処理ステップと、
前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を前記アニーリング処理ステップにおいて算出された巡回経路で巡回するときに要する時間である巡回所要時間を、前記振り分け先の複数のグループのそれぞれについて算出し、前記振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まっているか否かを判定する巡回経路探索ステップとを実行させるためのプログラムであって、
前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まっていると前記巡回経路探索ステップにおいて判定された場合には、前記振り分け先の複数のグループの数が減少させられて、前記地点分割ステップにおける前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理ステップにおける最短の巡回経路の算出、および、前記巡回経路探索ステップにおける巡回所要時間の算出が繰り返され、
前記振り分け先の複数のグループのいずれかの巡回所要時間が前記シフト時間内に収まっていないと前記巡回経路探索ステップにおいて判定された場合には、前記振り分け先の複数のグループの数が増加させられて、前記地点分割ステップにおける前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理ステップにおける最短の巡回経路の算出、および、前記巡回経路探索ステップにおける巡回所要時間の算出が繰り返され、
前記巡回経路探索ステップでは、
前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まる場合であって、前記振り分け先の複数のグループの数が最小になる場合に、前記アニーリング処理ステップにおいて算出される最短の巡回経路が、最適巡回経路として決定される、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、集配計画最適化装置、集配計画最適化方法およびプログラムに関する。
【背景技術】
【0002】
特許文献1には、配送計画における最適ブロック分割方式について記載されている。特許文献1に記載された技術では、配送領域が複数のブロック領域にあらかじめ分割され、各ブロック内での配送計画を基に全体の配送計画が立案される。
【0003】
特許文献2には、複数地点に設けられた設備を巡回する際の巡回経路を生成する巡回経路生成装置について記載されている。特許文献2に記載された技術では、複数のルートマンの総移動距離がなるべく短く、かつ、メンテナンスの緊急度が高い自動販売機をなるべく優先的に巡回するようなルートマンの巡回経路が生成される。
【先行技術文献】
【特許文献】
【0004】
【文献】特開平9-311702号公報
【文献】特開2019-096100号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、特許文献1に記載された技術では、配送に用いられる車両の数を最小にしようとしていない。そのため、特許文献1に記載された技術によっては、最適な配送計画を作成することができない。
また、特許文献2に記載された技術では、複数の自動販売機を巡回するルートマンの数を最小にしようとしていない。そのため、特許文献2に記載された技術によっては、最適な巡回計画を作成することができない。
ここでの「最適」とは、一定の時間内で、できるだけ少ない人数、車両台数で配送することを意味する。
【0006】
そこでこの発明の目的は、上述した課題を解決する集配計画最適化装置、集配計画最適化方法およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【0007】
本発明の第1の態様によれば、振り分け対象の複数の集配先地点を、振り分け先の複数のグループに振り分ける地点分割部と、前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を巡回する最短の巡回経路を、アニーリングを用いることによって算出するアニーリング処理部と、前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を前記アニーリング処理部によって算出された巡回経路で巡回するときに要する時間である巡回所要時間を、前記振り分け先の複数のグループのそれぞれについて算出し、前記振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まっているか否かを判定する巡回経路探索部とを備える集配計画最適化装置では、前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まっていると前記巡回経路探索部によって判定された場合には、前記振り分け先の複数のグループの数が減少させられて、前記地点分割部による前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理部による最短の巡回経路の算出、および、前記巡回経路探索部による巡回所要時間の算出が繰り返され、前記振り分け先の複数のグループのいずれかの巡回所要時間が前記シフト時間内に収まっていないと前記巡回経路探索部によって判定された場合には、前記振り分け先の複数のグループの数が増加させられて、前記地点分割部による前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理部による最短の巡回経路の算出、および、前記巡回経路探索部による巡回所要時間の算出が繰り返され、前記巡回経路探索部は、前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まる場合であって、前記振り分け先の複数のグループの数が最小になる場合に、前記アニーリング処理部によって算出される最短の巡回経路を、最適巡回経路として決定する。
【0008】
本発明の第2の態様によれば、振り分け対象の複数の集配先地点を、振り分け先の複数のグループに振り分ける地点分割ステップと、前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を巡回する最短の巡回経路を、アニーリングを用いることによって算出するアニーリング処理ステップと、前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を前記アニーリング処理ステップにおいて算出された巡回経路で巡回するときに要する時間である巡回所要時間を、前記振り分け先の複数のグループのそれぞれについて算出し、前記振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まっているか否かを判定する巡回経路探索ステップとを備える集配計画最適化方法では、前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まっていると前記巡回経路探索ステップにおいて判定された場合には、前記振り分け先の複数のグループの数が減少させられて、前記地点分割ステップにおける前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理ステップにおける最短の巡回経路の算出、および、前記巡回経路探索ステップにおける巡回所要時間の算出が繰り返され、前記振り分け先の複数のグループのいずれかの巡回所要時間が前記シフト時間内に収まっていないと前記巡回経路探索ステップにおいて判定された場合には、前記振り分け先の複数のグループの数が増加させられて、前記地点分割ステップにおける前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理ステップにおける最短の巡回経路の算出、および、前記巡回経路探索ステップにおける巡回所要時間の算出が繰り返され、前記巡回経路探索ステップでは、前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まる場合であって、前記振り分け先の複数のグループの数が最小になる場合に、前記アニーリング処理ステップにおいて算出される最短の巡回経路が、最適巡回経路として決定される。
【0009】
本発明の第3の態様によれば、コンピュータに、振り分け対象の複数の集配先地点を、振り分け先の複数のグループに振り分ける地点分割ステップと、前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を巡回する最短の巡回経路を、アニーリングを用いることによって算出するアニーリング処理ステップと、前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を前記アニーリング処理ステップにおいて算出された巡回経路で巡回するときに要する時間である巡回所要時間を、前記振り分け先の複数のグループのそれぞれについて算出し、前記振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まっているか否かを判定する巡回経路探索ステップとを実行させるためのプログラムでは、前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まっていると前記巡回経路探索ステップにおいて判定された場合には、前記振り分け先の複数のグループの数が減少させられて、前記地点分割ステップにおける前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理ステップにおける最短の巡回経路の算出、および、前記巡回経路探索ステップにおける巡回所要時間の算出が繰り返され、前記振り分け先の複数のグループのいずれかの巡回所要時間が前記シフト時間内に収まっていないと前記巡回経路探索ステップにおいて判定された場合には、前記振り分け先の複数のグループの数が増加させられて、前記地点分割ステップにおける前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理ステップにおける最短の巡回経路の算出、および、前記巡回経路探索ステップにおける巡回所要時間の算出が繰り返され、前記巡回経路探索ステップでは、前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まる場合であって、前記振り分け先の複数のグループの数が最小になる場合に、前記アニーリング処理ステップにおいて算出される最短の巡回経路が、最適巡回経路として決定される。
【発明の効果】
【0010】
本発明によれば、最適な集配計画を作成することができる集配計画最適化装置、集配計画最適化方法およびプログラムを提供することができる。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態の集配計画最適化装置によって算出される巡回経路などの一例を示す図である。
【
図2】第1実施形態の集配計画最適化装置の構成の一例を示す図である。
【
図3】巡回経路探索部によって実行される処理の一例を示すフローチャートである。
【
図4】地点分割部によって実行される具体的な処理の一例を示すフローチャートである。
【
図5】アニーリング処理部によって実行される具体的な処理の一例を示すフローチャートである。
【
図6】第2実施形態の集配計画最適化装置の構成の一例を示す図である。
【
図7】グループ数最適化部によって実行される処理の一例を示すフローチャートである。
【
図8】第3実施形態の集配計画最適化装置の構成の一例を示す図である。
【
図9】第4実施形態の集配計画最適化装置の構成の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の集配計画最適化装置、集配計画最適化方法およびプログラムの実施形態について、図面を参照して説明する。
【0013】
<第1実施形態>
図1は第1実施形態の集配計画最適化装置101によって算出される巡回経路R01、R02、R03などの一例を示す図である。詳細には、
図1(A)は比較例の集配計画最適化装置によって算出される巡回経路R11、R12、R13を示しており、
図1(B)は第1実施形態の集配計画最適化装置101によって算出される巡回経路R01、R02、R03の一例を示している。
【0014】
図1(A)に示す例では、予め定められたシフトと巡回経路R11、R12、R13とで集配拠点BSから集配先地点P1~P11への荷物の集配送が行われる。
集配先地点P1、P2、P3、P8が第1車両によって集配が行われる第1グループに振り分けられ、集配先地点P4、P5、P6が第2車両によって集配が行われる第2グループに振り分けられ、集配先地点P7、P9、P10、P11が第3車両によって集配が行われる第3グループに振り分けられている。
第1車両は、集配拠点BS→集配先地点P1→集配先地点P8→集配先地点P2→集配先地点P3→集配拠点BSの巡回経路R11で荷物を集配送行う。巡回経路R11では、集配拠点BS→集配先地点P1の経路と、集配先地点P8→集配先地点P2の経路とが交差するため、巡回経路R11が非効率な巡回経路になってしまっている。
第2車両は、集配拠点BS→集配先地点P5→集配先地点P6→集配先地点P4→集配拠点BSの巡回経路R12で荷物を集配送行う。巡回経路R12では、集配先地点P6→集配先地点P4の経路に悪路が含まれるため、巡回経路R12が非効率な巡回経路になってしまっている。
第3車両は、集配拠点BS→集配先地点P7→集配先地点P9→集配先地点P10→集配先地点P11→集配拠点BSの巡回経路R13で荷物を集配送行う。巡回経路R13では、集配先地点P7→集配先地点P9の経路と、集配先地点P10→集配先地点P11の経路とが交差するため、巡回経路R13が非効率な巡回経路になってしまっている。
【0015】
図1(B)に示す例では、予め定められたシフトと第1実施形態の集配計画最適化装置101によって算出された巡回経路R01、R02、R03とで集配拠点BSから集配先地点P1~P11への荷物の集配送が行われる。
集配先地点P1、P2、P3、P4が第1車両によって集配が行われる第1グループに振り分けられ、集配先地点P5、P6、P7が第2車両によって集配が行われる第2グループに振り分けられ、集配先地点P8、P9、P10、P11が第3車両によって集配が行われる第3グループに振り分けられている。
第1車両は、集配拠点BS→集配先地点P1→集配先地点P2→集配先地点P3→集配先地点P4→集配拠点BSの巡回経路R01で荷物を集配送行う。巡回経路R01には、複数の経路が交差する箇所が存在しないため、巡回経路R01は巡回経路R11よりも効率的な巡回経路であると言える。
第2車両は、集配拠点BS→集配先地点P5→集配先地点P6→集配先地点P7→集配拠点BSの巡回経路R02で荷物を集配送行う。巡回経路R02には、悪路が含まれないため、巡回経路R02は巡回経路R12よりも効率的な巡回経路であると言える。
第3車両は、集配拠点BS→集配先地点P8→集配先地点P9→集配先地点P10→集配先地点P11→集配拠点BSの巡回経路R03で荷物を集配送行う。巡回経路R03には、複数の経路が交差する箇所が存在しないため、巡回経路R03は巡回経路R13よりも効率的な巡回経路であると言える。
【0016】
図1に示す例では、集配拠点BS、集配先地点P1~P11、集配される荷物の情報が予め与えられており、例えば1日の限られたシフト時間の中で集配拠点BSから全ての集配先地点P1~P11への荷物の集配送を行うことができるように、集配者(車両)の数や巡回経路が策定される。また、集配シフト(シフト時間)は各集配者(各車両)でなるべく均等である必要がある。
近年労働者人口の減少や働き方改革・コスト削減の必要性から、より少ない集配者(車両)の数で集配を行うことができるような効率的な集配計画作成が求められている。
【0017】
図2は第1実施形態の集配計画最適化装置101の構成の一例を示す図である。
図2に示す例では、集配計画最適化装置101が、制御部102と、表示部103と、操作・入力部105と、地図データ記憶部106と、集配データ記憶部107と、道路ネットワークデータベース108と、ガイダンスデータベース109と、巡回経路探索部110と、経路探索部121とを備えている。
制御部102は、集配計画最適化装置101に含まれる他の構成要素の動作(例えばデータの読み出し、書き込み、表示など)の制御を行う。表示部103は、例えば巡回経路探索部110によって算出された巡回経路(例えば巡回経路R01、R02、R03(
図1(B)参照))の表示などを行う。操作・入力部105は、例えば集配計画最適化装置101の利用者などによる入力操作を受け付ける。
地図データ記憶部106は、例えば巡回経路探索部110によって算出された巡回経路R01、R02、R03等と共に表示部103によって表示される地図に関する情報である地図データを格納している。
集配データ記憶部107は、例えば集配先地点P1~P11(
図1(B)参照)における荷物の数、集配先地点P1~P11において要する集配時間など、集配に関する情報である集配データを格納している。
【0018】
地図データ記憶部106に格納されている地図データでは、地図に含まれる道路(経路)の結節点、屈曲点がノードとして扱われ、各ノードを結ぶ経路がリンクとして扱われる。
道路ネットワークデータベース108は、全てのリンクのコスト情報(例えば距離、所要時間、エネルギー消費量など)等を道路ネットワークデータとして格納している。また、道路ネットワークデータベース108は、時間帯、天気別、イベント発生(工事等)などによって時々刻々と変化するコストへの重み情報も格納している。
ガイダンスデータベース109は、交差点などにおける進行方向案内のための音声データ、案内表示画像データなどを格納している。
巡回経路探索部110は、例えば巡回経路R01、R02、R03(
図1(B)参照)等のような最適な巡回経路を算出する。詳細には、巡回経路探索部110は、地図データ記憶部106、集配データ記憶部107および道路ネットワークデータベース108を参照して最適な巡回経路を探索する。
経路探索部121は、巡回経路探索部110によって最適な巡回経路が算出された後、道路ネットワークデータベース108に格納されている道路ネットワークデータを参照することによって、通常の経路探索を行う。
【0019】
巡回経路探索部110は、地点分割部111と、アニーリング処理部112とを備えている。
地点分割部111は、振り分け対象の複数の集配先地点(
図1(B)に示す例では、集配先地点P1~P11)を、振り分け先の複数のグループ(
図1(B)に示す例では、第1車両によって集配が行われる第1グループ、第2車両によって集配が行われる第2グループ、第3車両によって集配が行われる第3グループ)に振り分ける。
アニーリング処理部112は、地点分割部111によって振り分けられた振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を巡回する最短の巡回経路を、アニーリングを用いることによって算出する。アニーリング処理部112によって用いられるアニーリングは、量子計算機において実行される量子アニーリング、または、古典計算機において実行されるシミュレーティッドアニーリングである。
図1(B)に示す例では、アニーリング処理部112が、地点分割部111によって振り分けられた振り分け先の第1グループに含まれる集配先地点P1、P2、P3、P4を巡回する最短の巡回経路R01と、振り分け先の第2グループに含まれる集配先地点P5、P6、P7を巡回する最短の巡回経路R02と、振り分け先の第3グループに含まれる集配先地点P8、P9、P10、P11を巡回する最短の巡回経路R03とを、アニーリングを用いることによって算出する。
図2に示す例では、地点分割部111が、far-first-clusteringを用いて、振り分け対象の複数の集配先地点を振り分け先の複数のグループに振り分けるが、他の例では、地点分割部111が、far-first-clustering以外のクラスタリング手法を用いて、振り分け対象の複数の集配先地点を振り分け先の複数のグループに振り分けてもよい。
【0020】
図2に示す例では、巡回経路探索部110が、地点分割部111によって振り分けられた振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点をアニーリング処理部112によって算出された巡回経路で巡回するときに要する時間である巡回所要時間を、振り分け先の複数のグループのそれぞれについて算出する。
図1(B)に示す例では、巡回経路探索部110が、第1グループに含まれる集配先地点P1、P2、P3、P4をアニーリング処理部112によって算出された巡回経路R01で巡回するときに要する巡回所要時間と、第2グループに含まれる集配先地点P5、P6、P7をアニーリング処理部112によって算出された巡回経路R02で巡回するときに要する巡回所要時間と、第3グループに含まれる集配先地点P8、P9、P10、P11をアニーリング処理部112によって算出された巡回経路R03で巡回するときに要する巡回所要時間とを算出する。
【0021】
図2に示す例では、巡回経路探索部110が、地点分割部111によって振り分けられた振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まっているか否かを判定する。
図1(B)に示す例では、巡回経路探索部110が、第1グループの巡回所要時間がシフト時間内に収まっているか否かを判定し、第2グループの巡回所要時間がシフト時間内に収まっているか否かを判定し、第3グループの巡回所要時間がシフト時間内に収まっているか否かを判定する。
【0022】
図2に示す例では、地点分割部111によって振り分けられた振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まっていると巡回経路探索部110によって判定された場合には、地点分割部111によって振り分けられた振り分け先の複数のグループの数が減少させられる。更に、地点分割部111による振り分け対象の複数の集配先地点の振り分け、アニーリング処理部112による最短の巡回経路の算出、および、巡回経路探索部110による巡回所要時間の算出が繰り返される。
図1(B)に示す例では、第1グループの巡回所要時間がシフト時間内に収まっており、かつ、第2グループの巡回所要時間がシフト時間内に収まっており、かつ、第3グループの巡回所要時間がシフト時間内に収まっていると巡回経路探索部110によって判定された場合に、グループの数が3から2に減少させられる。更に、地点分割部111による振り分け対象の複数の集配先地点の振り分け、アニーリング処理部112による最短の巡回経路の算出、および、巡回経路探索部110による巡回所要時間の算出が繰り返される。つまり、振り分け対象の集配先地点P1~P11が、地点分割部111によって2つのグループに振り分けられる。また、2つのグループのそれぞれの最短の巡回経路が、アニーリング処理部112によって算出される。更に、2つのグループのそれぞれの巡回所要時間が、巡回経路探索部110によって算出される。
【0023】
図2に示す例では、地点分割部111によって振り分けられた振り分け先の複数のグループのいずれかの巡回所要時間がシフト時間内に収まっていないと巡回経路探索部110によって判定された場合には、地点分割部111によって振り分けられた振り分け先の複数のグループの数が増加させられる。更に、地点分割部111による振り分け対象の複数の集配先地点の振り分け、アニーリング処理部112による最短の巡回経路の算出、および、巡回経路探索部110による巡回所要時間の算出が繰り返される。
図1(B)に示す例では、第1グループの巡回所要時間、第2グループの巡回所要時間および第3グループの巡回所要時間のいずれかがシフト時間内に収まっていないと巡回経路探索部110によって判定された場合に、グループの数が3から4に増加させられる。更に、地点分割部111による振り分け対象の複数の集配先地点の振り分け、アニーリング処理部112による最短の巡回経路の算出、および、巡回経路探索部110による巡回所要時間の算出が繰り返される。つまり、振り分け対象の集配先地点P1~P11が、地点分割部111によって4つのグループに振り分けられる。また、4つのグループのそれぞれの最短の巡回経路が、アニーリング処理部112によって算出される。更に、4つのグループのそれぞれの巡回所要時間が、巡回経路探索部110によって算出される。
【0024】
図2に示す例では、巡回経路探索部110は、地点分割部111によって振り分けられた振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まる場合であって、地点分割部111によって振り分けられた振り分け先の複数のグループの数が最小になる場合に、アニーリング処理部112によって算出される最短の巡回経路を、最適巡回経路として決定する。
図1(B)に示す例では、地点分割部111によって振り分けられた振り分け先の3つのグループのそれぞれの巡回所要時間がシフト時間内に収まり、かつ、地点分割部111によって振り分けられた振り分け先の複数のグループの数「3」が最小になるため、つまり、地点分割部111によって振り分けられた振り分け先の複数のグループの数が「2」の場合には少なくとも一方のグループの巡回所要時間がシフト時間内に収まらないため、巡回経路探索部110は、アニーリング処理部112によって算出される最短の巡回経路R01、R02、R03を、最適巡回経路として決定する。
【0025】
図2に示す例では、上述したように、巡回経路探索部110は、地点分割部111によって振り分けられた振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まる場合であって、地点分割部111によって振り分けられた振り分け先の複数のグループの数が最小になる場合に、アニーリング処理部112によって算出される最短の巡回経路を、最適巡回経路として決定する。
他の例では、地点分割部111によって振り分けられた振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まる場合であって、地点分割部111によって振り分けられた振り分け先の複数のグループの数が最小になる場合であって、他の条件を満足する場合に、巡回経路探索部110がアニーリング処理部112によって算出される最短の巡回経路を最適巡回経路として決定してもよい。
上述した「他の条件」の例としては、例えば、集配拠点BS(
図1(B)参照)を出発した第3車両が、集配先地点P11(
図1(B)参照)よりも先に集配先地点P8(
図1(B)参照)に到達すること、第1車両、第2車両および第3車両のすべての荷物の積載量が最大積載量の90%以下であること等がある。
第1実施形態の集配計画最適化装置101では、上述した「他の条件」が追加される場合であっても、
図2に示す例と基本的に同一の手法によって、最適巡回経路を適切に決定することができる。
【0026】
図3は巡回経路探索部110によって実行される処理の一例を示すフローチャートである。
図3に示す例では、ステップS101において、巡回経路探索部110が初期グループ数Nを決定する。
次いで、ステップS102では、地点分割部111が地点分割を実行する。つまり、地点分割部111は、振り分け対象の複数の集配先地点を、ステップS101において決定されたN個のグループに振り分ける。
次いで、ステップS103では、アニーリング処理部112がアニーリング処理を実行する。つまり、アニーリング処理部112は、ステップS102において振り分けられたN個のグループのそれぞれに含まれる複数の集配先地点を巡回する最短の巡回経路を、アニーリングを用いることによって算出する。
次いで、ステップS104では、巡回経路探索部110が
図3に示すルーチンを終了するか否かを判定する。詳細には、巡回経路探索部110は、上述した最適巡回経路が得られたか否かを判定する。最適巡回経路が得られた場合にはステップS105に進み、最適巡回経路が得られていない場合には、グループの数が例えば(N+1)に増加、あるいは、例えば(N-1)に減少させられてステップS102に戻る。
ステップS105では、巡回経路探索部110が最適巡回経路を例えば表示部103などに出力する。
【0027】
図4は地点分割部111によって実行される具体的な処理の一例を示すフローチャートである。
図4に示す例では、ステップS107において、地点分割部111が、振り分け対象の複数の集配先地点のすべてを複数の候補地点とする。具体的には、
図1(B)に示す例では、地点分割部111が、振り分け対象の複数の集配先地点P1~P11のすべてを複数の候補地点とする。
次いで、ステップS108では、地点分割部111が、振り分け先の複数のグループのうちの1つの候補として、新規グループ(詳細には、空の新規グループ)を作成する。具体的には、
図1(B)に示す例では、地点分割部111が、振り分け先の第1~第3グループのうちの1つの候補として、新規グループ(第3グループ)を作成する。
次いで、ステップS109では、地点分割部111が、複数の候補地点のうちの集配拠点から最も遠い地点である最遠地点を新規グループに含め、最遠地点を複数の候補地点から除外する。具体的には、
図1(B)に示す例では、地点分割部111が、複数の候補地点P1~P11のうちの集配拠点BSから最も遠い地点である最遠地点P10を新規グループ(第3グループ)に含め、最遠地点P10を複数の候補地点P1~P11から除外する。
【0028】
次いで、ステップS110では、地点分割部111が、最遠地点が除外された後の複数の候補地点のうちの最遠地点に最も近い地点である最近地点を新規グループに仮に含める。具体的には、
図1(B)に示す例では、地点分割部111が、最遠地点P10が除外された後の複数の候補地点P1~P11(最遠地点P10は除く)のうちの最遠地点P10に最も近い地点である最近地点P7を新規グループ(第3グループ)に仮に含める。
【0029】
次いで、ステップS111では、地点分割部111が、最近地点が仮に含められた後の新規グループに含まれる複数の集配先地点に対する集配を行うときに要する時間である集配所要時間が第1閾値以内であるか否かを判定する。最近地点が仮に含められた後の新規グループに含まれる複数の集配先地点に対する集配を行うときの集配所要時間が第1閾値以内でない場合には、ステップS112に進む。一方、最近地点が仮に含められた後の新規グループに含まれる複数の集配先地点に対する集配を行うときの集配所要時間が第1閾値以内である場合には、ステップS113に進む。
具体的には、
図1(B)に示す例では、地点分割部111が、最近地点P7が仮に含められた後の新規グループ(第3グループ)に含まれる複数の集配先地点P7、P10に対する集配を行うときに要する集配所要時間が第1閾値以内ではないと判定し、ステップS112に進む。
【0030】
ステップS112では、地点分割部111が、最近地点が仮に含められる前の状態の新規グループを、振り分け先の複数のグループのうちの1つとして保存する。具体的には、
図1(B)に示す例では、地点分割部111が、最近地点P7が仮に含められる前の状態の新規グループ(集配先地点P10が含まれるグループ)(第3グループ)を、振り分け先の複数のグループ(第1~第3グループ)のうちの1つとして保存する。
次いで、ステップS114において、地点分割部111は、候補地点が1つ以上あるか否かを判定する。候補地点が1つ以上ある場合にはステップS108に戻り、候補地点が1つ以上ない場合には
図4に示すルーチンを終了する。具体的には、
図1(B)に示す例では、ステップS114において、地点分割部111は、候補地点(例えば候補地点P9など)が1つ以上あると判定し、ステップS108に戻り、新規グループ(第3グループ)に含まれる集配先地点を追加する処理が継続される。
【0031】
ステップS113では、地点分割部111が、最近地点を新規グループに含める。次いで、ステップS110に戻る。
【0032】
第1実施形態の集配計画最適化装置101では、
図3のステップS102の最初の実行時に、グループ内の集配を行うときに要する集配所要時間として近似値が利用される。
図3のステップS102の2回目以降の実行時には、グループ内の集配を行うときに要する集配所要時間として、
図3のステップS103の最初の実行時に得られたアニーリング処理結果が利用される。
【0033】
図5はアニーリング処理部112によって実行される具体的な処理の一例を示すフローチャートである。
図5に示す例では、ステップS115において、アニーリング処理部112が、地点分割部111によって振り分けられた振り分け先の複数のグループのいずれかを、アニーリング処理部112による処理の対象のグループとして選択する。
図1(B)に示す例では、
図4に示す処理の対象となった第3グループが、アニーリング処理部112によって選択される。
次いで、ステップS116では、アニーリング処理部112が、ステップS115において選択されたグループについてハミルトニアン定式化を実施する。
図1(B)に示す例では、アニーリング処理部112が、第3グループについてハミルトニアン定式化を実施する。
次いで、ステップS117では、アニーリング処理部112が、ステップS116においてハミルトニアン定式化が実施されたグループに対してアニーリングを行い、最適解を算出する。
図1(B)に示す例では、アニーリング処理部112は、ハミルトニアン定式化が実施された第3グループに対してアニーリングを行い、最適解を算出する。
【0034】
次いで、ステップS118では、アニーリング処理部112が、ステップS117においてアニーリングを行って算出した最適解について有効解が求まったか否かを判定する。有効解が求まった場合にはステップS119に進み、有効解が求まっていない場合にはステップS117に戻り、アニーリングを行って最適解を算出する処理を、有効解が求まるまで繰り返す。
ステップS117に戻る場合には、次に実行されるステップS117において有効解が求まるようにするために、ステップS117が前回実行されたときと比較して、パラメータの変更などが行われる。
【0035】
ステップS119では、アニーリング処理部112は、地点分割部111によって振り分けられた振り分け先の複数のグループのすべてについて有効解が求まったか否かを判定する。振り分け先の複数のグループのすべてについて有効解が求まった場合には、
図5に示すルーチンを終了する。一方、振り分け先の複数のグループのすべてについて有効解が求まっていない場合には、ステップS115に戻り、振り分け先の複数のグループのすべてについて有効解が求まるまで、ステップS116(ハミルトニアン定式化の実施)、ステップS117(最適解の算出)、および、ステップS118(有効解が求まったか否かの判定)の処理が繰り返して実行される。
図1(B)に示す例では、第1グループ、第2グループおよび第3グループの最短の巡回経路R01、R02、R03(つまり、最適経路)が求まるまで、ステップS116~S118の処理が繰り返して実行される。
【0036】
集配計画が人による経験と勘で作成される場合には、属人性が高くなってしまう。また、人の経験と勘では、作成できる集配計画の精度に限界がある。更に、人による経験と勘で作成される集配計画では、時々刻々と変化する道路状況や急遽発生するイベント等の不測事態に対応するのが困難である。
集配計画の作成の自動化には、以下の(1)から(3)のような課題がある。
【0037】
(1)計算量の増大
一般に集配計画最適化問題はいわゆる巡回セールスマン問題と知られるようなNP(非決定的多項式時間)困難問題とされており、計算量が膨大で実時間内に答えを得ることができないという問題があった。また,集配先地点の数や考慮する項目(ドライバの状態、道路状況等)の数が増えるとさらに計算量が指数関数的に伸びてしまい、実時間内に答えを得ることができないという問題がある。
(2)ハードウェア制限
近年、いわゆる量子計算機を使ったアニーリングやシミュレーティッドアニーリングにより上記(1)が解決可能な事例が知られている。しかしながら、現在の量子計算機およびシミュレーティッドアニーリングは同時に扱える量子ビット数が最大でも数百ビット以下であり、リソースの制約から適用できる問題が限られているほか、問題が大規模になるに従って解の精度も落ちてしまう。
(3)分割困難性
一般に計算量が膨大になる場合、「計算対象を分割する」ことで計算量を減らしたり分割した単位で複数の計算機に割り当てて並列に演算を行うことで計算時間を短縮したりすることが可能である。しかしながら、NP問題のように相互に関係する要素を分割する場合には単純に分割をすると正しい結果が得られなくなる。
【0038】
そこで、第1実施形態の集配計画最適化装置101では、上述したように、地点分割部111によって、振り分け対象の複数の集配先地点が、振り分け先の複数のグループに振り分けられる。また、各グループに含まれる複数の集配先地点を巡回する最短の巡回経路が、アニーリングを用いることによって算出される。更に、各グループの巡回所要時間がシフト時間内に収まっているか否かが判定される。
各グループの巡回所要時間がシフト時間内に収まっている場合には、地点分割部111によって振り分けられた振り分け先の複数のグループの数が減少させられ、地点分割部111による振り分け対象の複数の集配先地点の振り分け、アニーリング処理部112による最短の巡回経路の算出、および、巡回経路探索部110による巡回所要時間の算出が繰り返される。
各グループの巡回所要時間がシフト時間内に収まっていない場合には、地点分割部111によって振り分けられた振り分け先の複数のグループの数が増加させられ、地点分割部111による振り分け対象の複数の集配先地点の振り分け、アニーリング処理部112による最短の巡回経路の算出、および、巡回経路探索部110による巡回所要時間の算出が繰り返される。
地点分割部111によって振り分けられた振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まる場合であって、地点分割部111によって振り分けられた振り分け先の複数のグループの数が最小になる場合に、巡回経路探索部110が、アニーリング処理部112によって算出される最短の巡回経路を、最適巡回経路として決定する。
第1実施形態の集配計画最適化装置101によれば、集配先地点の数や考慮する項目数が多数で問題が大規模であっても、実時間内に自動で最適な集配計画を作成することができる。
【0039】
第1実施形態の集配計画最適化装置101では、人手で行っていたような集配計画作成を自動で出力することができ、属人性をなくし集配計画作成の精度を向上させることができる。
具体的には、第1実施形態の集配計画最適化装置101では、地点分割部111による地点分割と、アニーリング処理部112によるアニーリングとを交互に繰り返すことで、集配先地点の数や考慮する項目が増えると計算時間が指数関数的に伸びてしまう問題を解決することができる。また、第1実施形態の集配計画最適化装置101では、ドライバ(車両の運転者)の状態や道路の状況など、考慮することができなかった細かい項目まで考慮した集配計画を作成することができる。更に、時々刻々と変化する道路状況や急遽発生するイベント等の不測事態が発生した場合に、人が一から考え直したりモデル化を考え直したりしなければいけなかったが、第1実施形態の集配計画最適化装置101では、一部パラメータを変更するだけで臨機応変に集配計画を再作成することができる。
【0040】
第1実施形態の集配計画最適化装置101では、ステップS117において最適解を算出するためにアニーリングを用いることによって、実時間内に自動で最適な集配計画を作成することができる。
また、第1実施形態の集配計画最適化装置101では、地点分割部111とアニーリング処理部112とを組み合わせて用いることにより、問題が大規模であってもアニーリングを適用することができ、解の精度が落ちることもない。
図1(B)に示す例のように、複数の集配先地点P1~P11が複数のグループ(第1グループ、第2グループおよび第3グループ)に振り分けられ、最適な巡回経路R01、R02、R03が算出されて初めて各グループの配達コストが決定する場合には、事前に問題を分割するだけでは各グループの配達コストが均等にならない。そこで、第1実施形態の集配計画最適化装置101では、地点分割部111による地点分割とアニーリング処理部112によるアニーリングとを交互に行うことによって、この問題を解決することができる。
【0041】
特許文献1に記載された技術では、ブロック分割を行う処理にアニーリングが用いられるのに対し、第1実施形態の集配計画最適化装置101では、地点分割部111がアニーリングを用いず、地点分割部111によって振り分けられた各グループ内の巡回経路を決定する処理に、アニーリングが用いられる。
また、特許文献1に記載された技術では、車両数があらかじめ与えられた上で集配計画が作成されるのに対し、第1実施形態の集配計画最適化装置101では、巡回経路を算出するために車両数(グループの数)を予め定める必要がなく、車両数(グループの数)をできるだけ少なくした集配計画を作成することができる。
特許文献1に記載された技術では、過去の集配事例を用いて分割が行われ、集配計画が作成されるのに対し、特許文献1に記載された技術では、巡回経路を算出するために過去の集配事例を用いる必要がない。
特許文献1に記載された技術では、新しく生じた事象(渋滞、道路工事、人員入れ替え等)に対応できないのに対し、特許文献1に記載された技術では、新しく生じた事象に適切に対応し、新しく生じた事象を反映した適切な巡回経路を算出することができる。
【0042】
特許文献2に記載された技術では、巡回者数があらかじめ与えられた上で集配計画が作成されるのに対し、第1実施形態の集配計画最適化装置101では、巡回経路を算出するために巡回者数(グループの数)を予め定める必要がなく、巡回者数(グループの数)をできるだけ少なくした集配計画を作成することができる。
【0043】
<第2実施形態>
以下、本発明の集配計画最適化装置、集配計画最適化方法およびプログラムの第2実施形態について説明する。
第2実施形態の集配計画最適化装置101は、後述する点を除き、上述した第1実施形態の集配計画最適化装置101と同様に構成されている。従って、第2実施形態の集配計画最適化装置101によれば、後述する点を除き、上述した第1実施形態の集配計画最適化装置101と同様の効果を奏することができる。
【0044】
図6は第2実施形態の集配計画最適化装置101の構成の一例を示す図である。
図6に示す例では、集配計画最適化装置101が、制御部102と、表示部103と、操作・入力部105と、地図データ記憶部106と、集配データ記憶部107と、道路ネットワークデータベース108と、ガイダンスデータベース109と、巡回経路探索部110と、経路探索部121とを備えている。
巡回経路探索部110は、地点分割部111と、アニーリング処理部112と、グループ数最適化部113とを備えている。
グループ数最適化部113は、巡回経路探索部110によって行われる振り分け先の複数のグループのそれぞれの巡回所要時間の判定に用いられるシフト時間が、第2閾値以下であるか否かの判定などを行う。
【0045】
図7はグループ数最適化部113によって実行される処理の一例を示すフローチャートである。
図7に示す例では、ステップS120において、グループ数最適化部113が、地点分割部111によって振り分けられた振り分け先の複数のグループのいずれかを、グループ数最適化部113による処理の対象のグループとして選択する。
次いで、ステップS121では、シフト時間が第2閾値以下であるか否かを判定する。シフト時間が第2閾値以下でない場合にはステップS122に進み、シフト時間が第2閾値以下である場合にはステップS123に進む。
【0046】
ステップS122では、グループ数最適化部113が、振り分け先の複数のグループの分割を行うことによって振り分け先の複数のグループの数を増加させ、ステップS125に進む。
ステップS123では、グループ数最適化部113が、振り分け先の複数のグループの結合を行うことによって振り分け先の複数のグループの数を減少させ、ステップS125に進む。
【0047】
ステップS125において、グループ数最適化部113は、振り分け先の複数のグループの数の遷移が収束しているか否かを判定する。振り分け先の複数のグループの数の遷移が収束している場合にはステップS126に進む。一方、振り分け先の複数のグループの数の遷移が収束していない場合にはステップS120に戻り、上述した処理を繰り返す。
ステップS126では、巡回経路探索部110が、例えば巡回経路R01、R02、R03(
図1(B)参照)等のような全てのグループの最適巡回経路を算出し、最適巡回経路を例えば表示部103などに出力する。
【0048】
<第3実施形態>
以下、本発明の集配計画最適化装置、集配計画最適化方法およびプログラムの第3実施形態について説明する。
第3実施形態の集配計画最適化装置101は、後述する点を除き、上述した第1実施形態の集配計画最適化装置101と同様に構成されている。従って、第3実施形態の集配計画最適化装置101によれば、後述する点を除き、上述した第1実施形態の集配計画最適化装置101と同様の効果を奏することができる。
【0049】
図8は第3実施形態の集配計画最適化装置101の構成の一例を示す図である。
図8に示す例では、集配計画最適化装置101が、制御部102と、表示部103と、操作・入力部105と、地図データ記憶部106と、集配データ記憶部107と、道路ネットワークデータベース108と、ガイダンスデータベース109と、巡回経路探索部110と、経路探索部121と、トラックデータベース131と、ドライバデータベース132とを備えている。
トラックデータベース131には、車両(トラック)の積載量、走行可能距離などの情報が蓄積されて格納されている。ドライバデータベース132には、ドライバ(車両の運転者)の地域経験、体力などの情報が蓄積されて格納されている。
【0050】
<第4実施形態>
以下、本発明の集配計画最適化装置、集配計画最適化方法およびプログラムの第4実施形態について説明する。
第4実施形態の集配計画最適化装置101は、後述する点を除き、上述した第1実施形態の集配計画最適化装置101と同様に構成されている。従って、第4実施形態の集配計画最適化装置101によれば、後述する点を除き、上述した第1実施形態の集配計画最適化装置101と同様の効果を奏することができる。
【0051】
図9は第4実施形態の集配計画最適化装置101の構成の一例を示す図である。
図9に示す例では、集配計画最適化装置101が、巡回経路探索部110と、地点分割部111と、アニーリング処理部112を備えている。
地点分割部111は、振り分け対象の複数の集配先地点を、振り分け先の複数のグループに振り分ける。アニーリング処理部112は、地点分割部111によって振り分けられた振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を巡回する最短の巡回経路を、アニーリングを用いることによって算出する。
巡回経路探索部110は、振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点をアニーリング処理部112によって算出された巡回経路で巡回するときに要する時間である巡回所要時間を、振り分け先の複数のグループのそれぞれについて算出する。また、巡回経路探索部110は、振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まっているか否かを判定する。
振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まっていると巡回経路探索部110によって判定された場合には、振り分け先の複数のグループの数が減少させられて、地点分割部111による振り分け対象の複数の集配先地点の振り分け、アニーリング処理部112による最短の巡回経路の算出、および、巡回経路探索部110による巡回所要時間の算出が繰り返される。
振り分け先の複数のグループのいずれかの巡回所要時間がシフト時間内に収まっていないと巡回経路探索部110によって判定された場合には、振り分け先の複数のグループの数が増加させられて、地点分割部111による振り分け対象の複数の集配先地点の振り分け、アニーリング処理部112による最短の巡回経路の算出、および、巡回経路探索部110による巡回所要時間の算出が繰り返される。
巡回経路探索部110は、振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まる場合であって、振り分け先の複数のグループの数が最小になる場合に、アニーリング処理部112によって算出される最短の巡回経路を、最適巡回経路として決定する。
【0052】
第1から第4実施形態の集配計画最適化装置101では、集配拠点BS、集配先地点P1~P11の座標・集配先地点P1~P11の相互間の移動距離又は移動時間・集配先地点P1~P11のそれぞれにおいて集配にかかる時間・1日のシフト時間があらかじめ与えられている場合に、集配計画を自動作成することができる。
【0053】
アニーリングを用いて集配計画を作成する場合、ハードウェア等の制約で解ける問題の規模が限られており、ハードウェアに載ったとしても規模が大きくなると通常解の精度が落ちてしまう。
そこで、第1から第4実施形態の集配計画最適化装置101では、アニーリングに特化した問題分割の機能を特徴としている。具体的には、第1から第4実施形態の集配計画最適化装置101では、地点分割部111においてアニーリングが用いられるのではなく、アニーリング処理部112においてアニーリングが用いられる。そのため、集配先地点の数や考慮する項目数が多数で問題が大規模であっても、実時間内に高速に自動で最適な集配計画を作成することができる。
【0054】
上述の集配計画最適化装置101は内部に、コンピュータシステムを有している。そして、上述した集配計画最適化装置101の各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【0055】
なお、上述した実施形態における集配計画最適化装置101が備える各部の機能全体あるいはその一部は、これらの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0056】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0057】
その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
【0058】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0059】
(付記1)振り分け対象の複数の集配先地点を、振り分け先の複数のグループに振り分ける地点分割部と、前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を巡回する最短の巡回経路を、アニーリングを用いることによって算出するアニーリング処理部と、前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を前記アニーリング処理部によって算出された巡回経路で巡回するときに要する時間である巡回所要時間を、前記振り分け先の複数のグループのそれぞれについて算出し、前記振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まっているか否かを判定する巡回経路探索部とを備え、前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まっていると前記巡回経路探索部によって判定された場合には、前記振り分け先の複数のグループの数が減少させられて、前記地点分割部による前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理部による最短の巡回経路の算出、および、前記巡回経路探索部による巡回所要時間の算出が繰り返され、前記振り分け先の複数のグループのいずれかの巡回所要時間が前記シフト時間内に収まっていないと前記巡回経路探索部によって判定された場合には、前記振り分け先の複数のグループの数が増加させられて、前記地点分割部による前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理部による最短の巡回経路の算出、および、前記巡回経路探索部による巡回所要時間の算出が繰り返され、前記巡回経路探索部は、前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まる場合であって、前記振り分け先の複数のグループの数が最小になる場合に、前記アニーリング処理部によって算出される最短の巡回経路を、最適巡回経路として決定する、集配計画最適化装置。
【0060】
(付記2)前記アニーリング処理部によって用いられるアニーリングは、量子計算機において実行される量子アニーリング、または、古典計算機において実行されるシミュレーティッドアニーリングである、付記1に記載の集配計画最適化装置。
【0061】
(付記3)前記地点分割部は、前記振り分け対象の複数の集配先地点のすべてを複数の候補地点とし、前記振り分け先の複数のグループのうちの1つの候補として、新規グループを作成し、前記複数の候補地点のうちの集配拠点から最も遠い地点である最遠地点を前記新規グループに含め、前記最遠地点を前記複数の候補地点から除外する、付記1に記載の集配計画最適化装置。
【0062】
(付記4)前記地点分割部は、前記最遠地点が除外された後の前記複数の候補地点のうちの前記最遠地点に最も近い地点である最近地点を前記新規グループに仮に含める、付記3に記載の集配計画最適化装置。
【0063】
(付記5)前記地点分割部は、前記最近地点が仮に含められた後の前記新規グループに含まれる複数の集配先地点に対する集集配を行うときに要する時間である集配所要時間が第1閾値以内であるか否かを判定する、付記4に記載の集配計画最適化装置。
【0064】
(付記6)前記地点分割部は、前記最近地点が仮に含められた後の前記新規グループに含まれる複数の集配先地点に対する集集配を行うときの前記集配所要時間が前記第1閾値以内である場合に、前記最近地点を前記新規グループに正式に含める、付記5に記載の集配計画最適化装置。
【0065】
(付記7)前記地点分割部は、前記最近地点が仮に含められた後の前記新規グループに含まれる複数の集配先地点に対する集集配を行うときの前記集配所要時間が前記第1閾値以内ではない場合に、前記最近地点が仮に含められる前の状態の前記新規グループを、前記振り分け先の複数のグループのうちの1つとして、正式に保存する、付記5に記載の集配計画最適化装置。
【0066】
(付記8)前記アニーリング処理部は、前記地点分割部によって振り分けられた前記振り分け先の複数のグループのいずれかについてハミルトニアン定式化を実施し、アニーリングを行って最適解を算出する、付記1に記載の集配計画最適化装置。
【0067】
(付記9)前記アニーリング処理部は、アニーリングを行って算出した前記最適解について有効解が求まったか否かを判定し、前記有効解が求まっていない場合には、アニーリングを行って最適解を算出する処理を繰り返す、付記8に記載の集配計画最適化装置。
【0068】
(付記10)前記アニーリング処理部は、前記地点分割部によって振り分けられた前記振り分け先の複数のグループのすべてについて前記有効解が求まるまで、前記ハミルトニアン定式化の実施、前記最適解の算出、および、前記有効解が求まったか否かの判定を繰り返す、付記9に記載の集配計画最適化装置。
【0069】
(付記11)前記巡回経路探索部によって行われる前記振り分け先の複数のグループのそれぞれの巡回所要時間の判定に用いられる前記シフト時間が、第2閾値以下であるか否かの判定を行うグループ数最適化部を備え、前記グループ数最適化部は、前記シフト時間が前記第2閾値以下である場合に、前記振り分け先の複数のグループの結合を行うことによって前記振り分け先の複数のグループの数を減少させ、前記シフト時間が前記第2閾値以下ではない場合に、前記振り分け先の複数のグループの分割を行うことによって前記振り分け先の複数のグループの数を増加させる、付記1に記載の集配計画最適化装置。
【0070】
(付記12)振り分け対象の複数の集配先地点を、振り分け先の複数のグループに振り分ける地点分割ステップと、前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を巡回する最短の巡回経路を、アニーリングを用いることによって算出するアニーリング処理ステップと、前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を前記アニーリング処理ステップにおいて算出された巡回経路で巡回するときに要する時間である巡回所要時間を、前記振り分け先の複数のグループのそれぞれについて算出し、前記振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まっているか否かを判定する巡回経路探索ステップとを備え、前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まっていると前記巡回経路探索ステップにおいて判定された場合には、前記振り分け先の複数のグループの数が減少させられて、前記地点分割ステップにおける前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理ステップにおける最短の巡回経路の算出、および、前記巡回経路探索ステップにおける巡回所要時間の算出が繰り返され、前記振り分け先の複数のグループのいずれかの巡回所要時間が前記シフト時間内に収まっていないと前記巡回経路探索ステップにおいて判定された場合には、前記振り分け先の複数のグループの数が増加させられて、前記地点分割ステップにおける前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理ステップにおける最短の巡回経路の算出、および、前記巡回経路探索ステップにおける巡回所要時間の算出が繰り返され、前記巡回経路探索ステップでは、前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まる場合であって、前記振り分け先の複数のグループの数が最小になる場合に、前記アニーリング処理ステップにおいて算出される最短の巡回経路が、最適巡回経路として決定される、集配計画最適化方法。
【0071】
(付記13)コンピュータに、振り分け対象の複数の集配先地点を、振り分け先の複数のグループに振り分ける地点分割ステップと、前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を巡回する最短の巡回経路を、アニーリングを用いることによって算出するアニーリング処理ステップと、前記振り分け先の複数のグループのそれぞれに含まれる複数の集配先地点を前記アニーリング処理ステップにおいて算出された巡回経路で巡回するときに要する時間である巡回所要時間を、前記振り分け先の複数のグループのそれぞれについて算出し、前記振り分け先の複数のグループのそれぞれの巡回所要時間がシフト時間内に収まっているか否かを判定する巡回経路探索ステップとを実行させるためのプログラムであって、前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まっていると前記巡回経路探索ステップにおいて判定された場合には、前記振り分け先の複数のグループの数が減少させられて、前記地点分割ステップにおける前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理ステップにおける最短の巡回経路の算出、および、前記巡回経路探索ステップにおける巡回所要時間の算出が繰り返され、前記振り分け先の複数のグループのいずれかの巡回所要時間が前記シフト時間内に収まっていないと前記巡回経路探索ステップにおいて判定された場合には、前記振り分け先の複数のグループの数が増加させられて、前記地点分割ステップにおける前記振り分け対象の複数の集配先地点の振り分け、前記アニーリング処理ステップにおける最短の巡回経路の算出、および、前記巡回経路探索ステップにおける巡回所要時間の算出が繰り返され、前記巡回経路探索ステップでは、前記振り分け先の複数のグループのそれぞれの巡回所要時間が前記シフト時間内に収まる場合であって、前記振り分け先の複数のグループの数が最小になる場合に、前記アニーリング処理ステップにおいて算出される最短の巡回経路が、最適巡回経路として決定される、プログラム。
【産業上の利用可能性】
【0072】
本発明の集配計画最適化装置、集配計画最適化方法およびプログラムは、例えば物流業界などに適用可能である。
【符号の説明】
【0073】
101 集配計画最適化装置
102 制御部
103 表示部
105 操作・入力部
106 地図データ記憶部
107 集配データ記憶部
108 道路ネットワークデータベース
109 ガイダンスデータベース
110 巡回経路探索部
111 地点分割部
112 アニーリング処理部
113 グループ数最適化部
121 経路探索部
131 トラックデータベース
132 ドライバデータベース