(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023161912
(43)【公開日】2023-11-08
(54)【発明の名称】情報処理装置、システム、及び、方法
(51)【国際特許分類】
G06Q 10/08 20230101AFI20231031BHJP
B65G 61/00 20060101ALI20231031BHJP
【FI】
G06Q10/08
B65G61/00 542
【審査請求】有
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2022072555
(22)【出願日】2022-04-26
(11)【特許番号】
(45)【特許公報発行日】2023-06-13
(71)【出願人】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】100110135
【弁理士】
【氏名又は名称】石井 裕一郎
(74)【代理人】
【識別番号】100132883
【弁理士】
【氏名又は名称】森川 泰司
(74)【代理人】
【識別番号】100148633
【弁理士】
【氏名又は名称】桜田 圭
(74)【代理人】
【識別番号】100163452
【弁理士】
【氏名又は名称】南郷 邦臣
(74)【代理人】
【識別番号】100180312
【弁理士】
【氏名又は名称】早川 牧子
(72)【発明者】
【氏名】田爪 敏明
(72)【発明者】
【氏名】田中 大貴
(72)【発明者】
【氏名】井沼 孝慈
(72)【発明者】
【氏名】松本 麻希
(72)【発明者】
【氏名】谷 真斗
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA16
(57)【要約】
【課題】時間帯が指定されている配送と、時間帯が指定されていない配送と、について、配送時間帯を割り当てることができる情報処理装置、システム、及び、方法を提供する。
【解決手段】情報処理装置100は、時間帯指定有りの配送要求と、時間帯指定無しの配送要求と、を取得する取得部110を備える。また、情報処理装置100は、時間帯指定有りの配送について、指定時間帯に配送時間帯を割り当てることで、時間帯指定有りの配送を指定時間帯に割り当てる割当部130を備える。さらに、取得部110は、時間帯指定有りの配送が指定時間帯に割り当てられた後に、割当上限値を表す情報と、割当済配送数を表す情報と、を取得する。また、割当部130は、取得された情報で表される割当済配送数が割当上限値よりも小さいと、時間帯指定無しの配送について、配送時間帯を指定時間帯に割り当てる。
【選択図】
図4
【特許請求の範囲】
【請求項1】
時間帯を指定して、商品の配送を求める時間帯指定有りの配送要求と、時間帯を指定せずに、商品の配送を求める時間帯指定無しの配送要求と、を取得する取得部と、
取得された時間帯指定有りの前記配送要求によって求められた前記配送である、時間帯指定有りの配送について、指定された前記時間帯である指定時間帯に配送時間帯を割り当てることで、時間帯指定有りの前記配送を前記指定時間帯に割り当てる割当部と、を備え、
前記取得部は、時間帯指定有りの前記配送が前記指定時間帯に割り当てられた後に、前記指定時間帯に割当可能な配送の数の上限値である割当上限値を表す情報を取得し、かつ、
前記割当部は、取得された前記情報で表される前記割当上限値よりも、前記指定時間帯に割り当てられた配送の数である割当済配送数の方が小さいと、取得された時間帯指定無しの前記配送要求によって求められた前記配送である、時間帯指定無しの配送について、配送時間帯を前記指定時間帯に割り当てることで、時間帯指定無しの前記配送を前記指定時間帯に割り当てる、
ことを特徴とする情報処理装置。
【請求項2】
前記取得部は、1又は複数の時間帯指定有りの配送要求と、1又は複数の時間帯指定無しの配送要求と、を取得し、
前記割当部は、取得された前記1又は複数の時間帯指定有りの配送要求によって求められる1又は複数の時間帯指定有りの配送を、前記1又は複数の時間帯指定有りの配送要求によって指定される1又は複数の指定時間帯に割り当て、
前記取得部は、前記1又は複数の時間帯指定有りの配送が前記1又は複数の指定時間帯に割り当てられると、システム時刻を表す情報を取得し、かつ、
前記割当部は、
取得された前記情報で表される前記システム時刻よりも後の開始時刻に開始し、かつ、予め定められた終了時刻に終了する割当期間に含まれる1又は複数の予め定められた時間帯を特定し、
特定された前記1又は複数の予め定められた時間帯について、割当済配送数の総和と、割当上限値の総和と、を算出し、
取得された前記1又は複数の時間帯指定無しの配送要求によって求められる1又は複数の時間帯指定無しの配送の数を算出し、かつ、
算出された前記割当済配送数の前記総和と、前記1又は複数の時間帯指定無しの配送の前記数と、の和が、前記割当上限値の前記総和と等しくなるタイミング、又は、前記割当上限値の前記総和よりも値K(但し、Kは自然数)だけ少ない値と等しくなるタイミング、が到来すると、前記1又は複数の時間帯指定無しの配送を、前記割当期間に含まれる前記1又は複数の予め定められた時間帯に割り当てる、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記商品は、第1商品と、第2商品と、を含み、
前記複数の時間帯指定無しの配送は、前記第1商品の配送である第1配送と、前記第2商品の配送である第2配送と、を含み、
前記割当期間に含まれる前記複数の予め定められた時間帯は、第1時間帯と、第2時間帯と、を含み、かつ、
前記割当部は、
前記第1配送を前記第1時間帯にどの程度優先して割り当てるかを表す指標である、前記第1時間帯における前記第1配送の優先度と、前記第1時間帯における前記第2配送の優先度と、を、前記第1配送が前記第1時間帯に行われる場合において前記第1商品の再配送が求められる蓋然性である、前記第1時間帯における前記第1配送の再配送の蓋然性と、前記第1時間帯における前記第2配送の再配送の蓋然性と、に基づいて設定し、
前記第2時間帯における前記第1配送の優先度と、前記第2時間帯における前記第2配送の優先度と、を、前記第2時間帯における前記第1配送の再配送の蓋然性と、前記第2時間帯における前記第2配送の再配送の蓋然性と、に基づいて設定し、かつ、
前記第1時間帯における前記第2配送の前記優先度が、前記第2時間帯における前記第2配送の前記優先度と同じ値であり、かつ、前記第1時間帯における前記第2配送の前記優先度が、前記第1時間帯における前記第1配送の前記優先度よりも高い場合に、前記第1時間帯における前記第1配送の前記優先度が、前記第2時間帯における前記第1配送の前記優先度より高いと、前記第1配送を前記第2配送よりも優先して、前記第1時間帯に割り当てる、
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記取得部は、1又は複数の時間帯指定有りの配送要求と、1又は複数の時間帯指定無しの配送要求と、を取得し、
前記割当部は、取得された前記1又は複数の時間帯指定有りの配送要求によって求められる1又は複数の時間帯指定有りの配送を、前記1又は複数の時間帯指定有りの配送要求によって指定される1又は複数の指定時間帯に割り当て、
前記取得部は、システム時刻を表す情報を取得し、かつ、
前記割当部は、取得された前記情報で表される前記システム時刻が、1又は複数の予め定められた時間帯のいずれかの開始時刻よりも、前記配送の割り当てと準備とに要する時間だけ前の時刻となるタイミングが到来すると、取得された前記1又は複数の時間帯指定無しの配送要求によって求められる1又は複数の時間帯指定無しの配送を、前記1又は複数の予め定められた時間帯の前記いずれかに割り当てる、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記商品は、第1商品と、第2商品と、を含み、
前記複数の時間帯指定無しの配送は、前記第1商品の配送である第1配送と、前記第2商品の配送である第2配送と、を含み、かつ、
前記割当部は、取得された前記情報で表される前記システム時刻よりも後の開始時刻に開始し、かつ、予め定められた終了時刻に終了する割当期間に含まれる第1時間帯と第2時間帯とを特定し、
前記割当部は、
前記第1配送を前記第1時間帯にどの程度優先して割り当てるかを表す指標である、前記第1時間帯における前記第1配送の優先度と、前記第1時間帯における前記第2配送の優先度と、を、前記第1配送が前記第1時間帯に行われる場合において前記第1商品の再配送が求められる蓋然性である、前記第1時間帯における前記第1配送の再配送の蓋然性と、前記第1時間帯における前記第2配送の再配送の蓋然性と、に基づいて設定し、
前記第2時間帯における前記第1配送の優先度と、前記第2時間帯における前記第2配送の優先度と、を、前記第2時間帯における前記第1配送の再配送の蓋然性と、前記第2時間帯における前記第2配送の再配送の蓋然性と、に基づいて設定し、かつ、
前記第1時間帯における前記第2配送の前記優先度が、前記第2時間帯における前記第2配送の前記優先度と同じ値であり、かつ、前記第1時間帯における前記第2配送の前記優先度が、前記第1時間帯における前記第1配送の前記優先度よりも高い場合に、前記第1時間帯における前記第1配送の前記優先度が、前記第2時間帯における前記第1配送の前記優先度より高いと、前記第1配送を前記第2配送よりも優先して、前記第1時間帯に割り当てる、
ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記割当部は、
前記第1時間帯における前記第1配送の前記再配送の蓋然性が高い程、前記第1時間帯における前記第1配送の前記優先度を低く設定し、
前記第1時間帯における前記第2配送の前記再配送の蓋然性が高い程、前記第1時間帯における前記第2配送の前記優先度を低く設定し、
前記第2時間帯における前記第1配送の前記再配送の蓋然性が高い程、前記第2時間帯における前記第1配送の前記優先度を低く設定し、かつ、
前記第2時間帯における前記第2配送の前記再配送の蓋然性が高い程、前記第2時間帯における前記第2配送の前記優先度を低く設定する、
ことを特徴とする請求項3又は5に記載の情報処理装置。
【請求項7】
前記第1配送を求める時間帯指定無しの前記配送要求は、配送方法として、前記第1商品の配送先である第1配送先で受取人が前記第1商品を受け取るという対面受取方法を指定し、かつ、
前記割当部は、
前記第1時間帯における前記第1配送の前記再配送の蓋然性を、前記第1時間帯における前記第1配送先への配送履歴に基づいて特定し、かつ、
前記第2時間帯における前記第1配送の前記再配送の蓋然性を、前記第2時間帯における前記第1配送先への配送履歴に基づいて特定する、
ことを特徴とする請求項3又は5に記載の情報処理装置。
【請求項8】
前記第1商品の配送先には、前記第1商品を格納可能なロッカー装置が設置されており、かつ、
前記割当部は、
前記第1時間帯における前記第1配送の前記再配送の蓋然性を、前記第1時間帯において前記ロッカー装置を予約可能であるか否かに基づいて特定し、かつ、
前記第2時間帯における前記第1配送の前記再配送の蓋然性を、前記第2時間帯において前記ロッカー装置を予約可能であるか否かに基づいて特定する、
ことを特徴とする請求項3又は5に記載の情報処理装置。
【請求項9】
前記第1商品の配送先には、配送機が着陸可能なポートが設置されており、
前記割当部は、
前記第1時間帯における前記第1配送の前記再配送の蓋然性を、前記第1時間帯において前記ポートを予約可能であるか否かに基づいて特定し、かつ、
前記第2時間帯における前記第1配送の前記再配送の蓋然性を、前記第2時間帯において前記ポートを予約可能であるか否かに基づいて特定する、
ことを特徴とする請求項3又は5に記載の情報処理装置。
【請求項10】
前記割当部は、時間帯指定有りの前記配送を前記指定時間帯に割り当てるために、予め定められた時間帯を表す情報と、予め定められた前記時間帯に割り当てられた配送を識別する情報と、予め定められた前記時間帯の割当上限値を表す情報と、を対応付けて記憶する記憶部に、時間帯指定有りの前記配送を識別する情報を、前記指定時間帯を表す情報に対応付けて保存し、
前記取得部は、時間帯指定有りの前記配送が前記指定時間帯に割り当てられた後に、前記指定時間帯を表す前記情報に対応付けられた前記情報を取得し、かつ、
前記割当部は、
取得された前記情報で識別される前記配送の数を前記割当済配送数として計数し、かつ、
計数された前記割当済配送数が、取得された前記情報で表される前記割当上限値よりも小さいと、時間帯指定無しの前記配送を前記指定時間帯に割り当てるために、時間帯指定無しの前記配送を識別する情報を、前記指定時間帯を表す前記情報に対応付けて前記記憶部に保存する、
ことを特徴とする請求項1から5のいずれか一項に記載の情報処理装置。
【請求項11】
時間帯指定有りの前記配送と、時間帯指定無しの前記配送と、が前記指定時間帯に割り当てられると、時間帯指定有りの前記配送が求められた前記商品と、時間帯指定無しの前記配送が求められた前記商品と、を、前記指定時間帯において配送させる制御を配送機に行う制御部、をさらに備える、
ことを特徴とする請求項1から5のいずれか一項に記載の情報処理装置。
【請求項12】
前記割当部は、算出された前記割当済配送数の前記総和と、前記1又は複数の時間帯指定無しの配送の前記数と、の前記和が、前記割当上限値の前記総和よりも前記値Kだけ少ない前記値と等しくなる前記タイミングで、前記1又は複数の時間帯指定無しの配送を、前記割当期間である第1割当期間に含まれる前記1又は複数の予め定められた時間帯に割り当て、
前記取得部は、前記1又は複数の時間帯指定無しの配送が前記第1割当期間に含まれる前記1又は複数の予め定められた時間帯に割り当てられると、1又は複数の時間帯指定有りの配送要求と、1又は複数の時間帯指定無しの配送要求と、をさらに取得し、
前記割当部は、さらに取得された前記1又は複数の時間帯指定有りの配送要求によって求められる1又は複数の時間帯指定有りの配送を、当該1又は複数の時間帯指定有りの配送要求によって指定される1又は複数の指定時間帯にさらに割り当て、
前記取得部は、前記1又は複数の時間帯指定有りの配送が前記1又は複数の指定時間帯にさらに割り当てられると、システム時刻を表す情報をさらに取得し、かつ、
前記割当部は、
さらに取得された前記情報で表される前記システム時刻よりも後の開始時刻に開始し、かつ、前記終了時刻に終了する第2割当期間に含まれる1又は複数の予め定められた時間帯をさらに特定し、
さらに特定された前記1又は複数の予め定められた時間帯について、割当済配送数の総和と、割当上限値の総和と、をさらに算出し、
さらに取得された前記1又は複数の時間帯指定無しの配送要求によってさらに求められる1又は複数の時間帯指定無しの配送の数をさらに算出し、かつ、
さらに算出された前記割当済配送数の前記総和と、さらに算出された前記1又は複数の時間帯指定無しの配送の前記数と、の和が、さらに算出された前記割当上限値の前記総和と等しくなるタイミングで、さらに求められる前記1又は複数の時間帯指定無しの配送を、前記第2割当期間に含まれる前記1又は複数の予め定められた時間帯に割り当てる、
ことを特徴とする請求項2又は3に記載の情報処理装置。
【請求項13】
割り当てられた配送の数である割当実績数が増加するように前記値Kを調整する、調整部をさらに備える、
ことを特徴とする請求項12に記載の情報処理装置。
【請求項14】
前記調整部は、
調整前の値よりも、予め定められた値だけ小さい又は大きい値に、前記値Kを調整し、
前記値Kの調整後における割当実績数が、前記値Kの調整前における割当実績数よりも少ないと、前記値Kを調整前の前記値に戻し、かつ、
前記値Kの調整前における前記割当実績数よりも、前記値Kの調整後における前記割当実績数の方が多いと、前記値Kを調整後の前記値に維持する、
ことを特徴とする請求項13に記載の情報処理装置。
【請求項15】
前記調整部は、前記割当実績数が増加し、かつ、前記割当実績数に対する再配送の数の割合である再配送割合が減少するように、前記値Kを調整する、
ことを特徴とする請求項14に記載の情報処理装置。
【請求項16】
前記調整部は、
前記値Kの調整後における前記割当実績数が、前記値Kの調整前における前記割当実績数より少ない、又は、前記値Kの調整後における再配送割合が、前記値Kの調整前における再配送割合より大きいと、前記値Kを調整前の前記値に戻し、かつ、
前記値Kの調整後における前記割当実績数が、前記値Kの調整前における前記割当実績数より多く、かつ、前記値Kの調整後における再配送割合が、前記値Kの調整前における前記再配送割合より小さいと、前記値Kを調整後の前記値に維持する、
ことを特徴とする請求項15に記載の情報処理装置。
【請求項17】
時間帯を指定して、商品の配送を求める時間帯指定有りの配送要求と、時間帯を指定せずに、商品の配送を求める時間帯指定無しの配送要求と、を取得する取得部と、
取得された時間帯指定有りの前記配送要求によって求められた前記配送である、時間帯指定有りの配送について、指定された前記時間帯である指定時間帯に配送時間帯を割り当てることで、時間帯指定有りの前記配送を前記指定時間帯に割り当てる割当部と、を備え、
前記取得部は、時間帯指定有りの前記配送が前記指定時間帯に割り当てられた後に、前記指定時間帯に割当可能な配送の数の上限値である割当上限値を表す情報を取得し、かつ、
前記割当部は、取得された前記情報で表される前記割当上限値よりも、前記指定時間帯に割り当てられた配送の数である割当済配送数の方が小さいと、取得された時間帯指定無しの前記配送要求によって求められた前記配送である、時間帯指定無しの配送について、配送時間帯を前記指定時間帯に割り当てることで、時間帯指定無しの前記配送を前記指定時間帯に割り当てる、
ことを特徴とするシステム。
【請求項18】
時間帯を指定して、商品の配送を求める時間帯指定有りの配送要求と、時間帯を指定せずに、商品の配送を求める時間帯指定無しの配送要求と、を、情報処理装置又はシステムが取得する第1取得ステップと、
取得された時間帯指定有りの前記配送要求によって求められた前記配送である、時間帯指定有りの配送について、指定された前記時間帯である指定時間帯に配送時間帯を割り当てることで、時間帯指定有りの前記配送を前記指定時間帯に、前記情報処理装置又は前記システムが割り当てる第1割当ステップと、
時間帯指定有りの前記配送が前記指定時間帯に割り当てられた後に、前記指定時間帯に割当可能な配送の数の上限値である割当上限値を表す情報を、前記情報処理装置又は前記システムが取得する第2取得ステップと、
取得された前記情報で表される前記割当上限値よりも、前記指定時間帯に割り当てられた配送の数である割当済配送数の方が小さいと、取得された時間帯指定無しの前記配送要求によって求められた前記配送である、時間帯指定無しの配送について、配送時間帯を前記指定時間帯に割り当てることで、時間帯指定無しの前記配送を前記指定時間帯に、前記情報処理装置又は前記システムが割り当てる第2割当ステップと、
を有することを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、システム、及び、方法に関する。
【背景技術】
【0002】
従来、ユーザによって時間帯が指定されている配送について、指定された当該時間帯に配送時間帯を割り当てるシステムが知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1のシステムでは、時間帯が指定されていない配送について、配送時間帯を割り当てることができないという問題があった。
【0005】
そこで、本発明は、このような点に鑑み、その目的とするところは、時間帯が指定されている配送と、時間帯が指定されていない配送と、について、配送時間帯を割り当てることができる情報処理装置、システム、及び、方法を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の第1の観点に係る情報処理装置は、
時間帯を指定して、商品の配送を求める時間帯指定有りの配送要求と、時間帯を指定せずに、商品の配送を求める時間帯指定無しの配送要求と、を取得する取得部と、
取得された時間帯指定有りの前記配送要求によって求められた前記配送である、時間帯指定有りの配送について、指定された前記時間帯である指定時間帯に配送時間帯を割り当てることで、時間帯指定有りの前記配送を前記指定時間帯に割り当てる割当部と、を備え、
前記取得部は、時間帯指定有りの前記配送が前記指定時間帯に割り当てられた後に、前記指定時間帯に割当可能な配送の数の上限値である割当上限値を表す情報を取得し、かつ、
前記割当部は、取得された前記情報で表される前記割当上限値よりも、前記指定時間帯に割り当てられた配送の数である割当済配送数の方が小さいと、取得された時間帯指定無しの前記配送要求によって求められた前記配送である、時間帯指定無しの配送について、配送時間帯を前記指定時間帯に割り当てることで、時間帯指定無しの前記配送を前記指定時間帯に割り当てる、
ことを特徴とする。
【発明の効果】
【0007】
本発明に係る情報処理装置、システム、及び、方法によれば、時間帯が指定されている配送と、時間帯が指定されていない配送と、について、配送時間帯を割り当てることができる。
【図面の簡単な説明】
【0008】
【
図1】本発明の実施例に係る情報処理システムの一構成例を表すシステム構成図である。
【
図2】情報処理装置の一構成例を表すハードウェア構成図である。
【
図3】情報処理装置が実行する注文受付処理の一例を表すフローチャートである。
【
図4】実施例に係る情報処理装置が有する機能の一例を表す機能ブロック図である。
【
図5】情報処理装置が記憶する変更前の時間帯テーブルの一例を表す図である。
【
図6】情報処理装置が記憶する割当上限値テーブルの一例を表す図である。
【
図7】情報処理装置が記憶する受付配送テーブルの一例を表す図である。
【
図8】情報処理装置が実行する第1受付判定処理の一例を表すフローチャートである。
【
図9】情報処理装置が実行する第2受付判定処理の一例を表すフローチャートである。
【
図10】実施例に係る情報処理装置が実行する割当処理の一例を表すフローチャートである。
【
図11】情報処理装置が記憶する配送履歴テーブルの一例を表す図である。
【
図12】実施例に係る情報処理装置が記憶する再配送テーブルの一例を表す図である。
【
図13】情報処理装置が記憶する盗難テーブルの一例を表す図である。
【
図14】情報処理装置が記憶する優先度定義テーブルの一例を表す図である。
【
図15】情報処理装置が記憶する設定優先度テーブルの一例を表す図である。
【
図16】実施例に係る情報処理装置が実行するタイミング判定処理の一例を表すフローチャートである。
【
図17】情報処理装置が実行する優先度設定処理の一例を表すフローチャートである。
【
図18】実施例に係る情報処理装置が実行する配送割当処理の一例を表すフローチャートである。
【
図19】情報処理装置が記憶する変更後の時間帯テーブルの一例を表す図である。
【
図20】情報処理装置が実行する準備処理の一例を表すフローチャートである。
【
図21】情報処理装置が実行する移動制御処理の一例を表すフローチャートである。
【
図22】実施例に係る配送機の一外観例を表す外観構成図である。
【
図23】配送機が備える情報処理装置の一構成例を表すハードウェア構成図である。
【
図24】配送機が実行する移動処理の一例を表すフローチャートである。
【
図25】配送機が実行する受渡処理の一例を表すフローチャートである。
【
図26】実施例の変形例1に係る情報処理装置が実行するタイミング判定処理の一例を表すフローチャートである。
【
図27】実施例の変形例1に係る情報処理装置が実行する配送割当処理の一例を表すフローチャートである。
【
図28】実施例の変形例2に係る情報処理装置が実行する割当処理の一例を表すフローチャートである。
【
図29】情報処理装置が実行する調整処理の一例を表すフローチャートである。
【
図30】実施例の変形例3に係る情報処理装置が有する機能の一例を表す機能ブロック図である。
【
図31】ロッカー装置の一外観例を表す外観構成図である。
【
図32】実施例の変形例5に係る情報処理装置が記憶する再配送テーブルの一例を表す図である。
【
図33】実施例の変形例6に係る配送機の一外観例を表す外観構成図である。
【
図34】配送機が備える施錠状態のフックの一例を表す図である。
【
図35】配送機が備える解錠状態のフックの一例を表す図である。
【発明を実施するための形態】
【0009】
<実施例>
以下、本発明の実施例について添付図面を参照しつつ説明する。
【0010】
本発明の実施例に係る情報処理システム1は、電子市場に出店された仮想店舗に対する商品の注文を受け付け、注文された商品を販売し、販売された商品の配送を制御する、
図1に示すような情報処理装置100を備える。本実施例では、仮想店舗に対する商品の注文は、当該商品の販売を求める販売要求と、当該商品の配送を求める配送要求と、を含んでいる。このため、情報処理システム1は、販売された商品の配送を行うため、商品を格納し、かつ、商品の配送元から配送先まで移動する配送機600及び700を備える。本実施例では、商品の配送元は、商品を格納している倉庫であるが、これに限定される訳では無い。
【0011】
また、情報処理システム1は、仮想店舗を利用する不図示のユーザU1からU5に携帯される端末装置901から905と、を備える。本実施例では、商品が配送される時間帯を指定せずに、ユーザU1からU4が注文を行い、時間帯を指定して、ユーザU5が注文を行う場合を具体例として挙げて以下の説明を行う。
【0012】
情報処理装置100は、例えば、サーバ機であり、倉庫内、又は、オフィスビル内に設置されている。情報処理装置100は、ハードウェアである、
図2に表すようなCPU(Central Processing Unit)101、RAM(Random Access Memory)102、ROM(Read Only Memory)103a、ハードディスク103b、データ通信回路104a、ビデオカード105a、ディスプレイパネル105b、及び、入力装置105cを備える。情報処理装置100は、複数のCPUを備えても良いし、複数のRAM及びフラッシュメモリを備えても良い。
【0013】
情報処理装置100のCPU101は、ROM103a又はハードディスク103bに保存されたプログラムを実行することで、情報処理装置100の全体制御を行う。RAM102は、CPU101によるプログラムの実行時において、処理対象とされるデータを一時的に記憶する。ROM103a及びハードディスク103bは、各種のプログラムと、プログラムの実行に用いられる各種のデータ及びデータが保存されたテーブルと、を記憶している。情報処理装置100のデータ通信回路104aは、NIC(Network Interface Card)であり、例えば、LTE(Long Term Evolution)及び5G(5th Generation)を含む通信規格に従って、例えば、インタネットINに接続された不図示の基地局と電波を用いてデータ通信を行う。これにより、情報処理装置100のデータ通信回路104aは、インタネットINに接続された配送機600及び700、並びに、端末装置901から905とデータ通信を行う。
【0014】
情報処理装置100のビデオカード105aは、CPU101から出力されたデジタル信号に基づいて画像をレンダリングすると共に、レンダリングされた画像を表す画像信号を出力する。ディスプレイパネル105bは、EL(Electroluminescence)ディスプレイ、PDP(Plasma Display Panel)、又は、LCD(Liquid Crystal Display)であり、ビデオカード105aから出力された画像信号に従って画像を表示する。入力装置105cは、キーボード、マウス、タッチパッド、及び、ボタンの少なくとも1つであり、情報処理装置100の管理者が行う操作に応じた信号を出力する。本実施例では、情報処理装置100の管理者は、仮想店舗を経営する企業の従業員であるが、これに限定される訳では無い。
【0015】
本実施例では、先ず、ユーザU5により時間帯を指定して行われる注文(以下、時間帯指定有りの注文という)について説明を行ってから、ユーザU1からU4により時間帯を指定せずに行われる注文(以下、時間帯指定無しの注文という)について説明する。ユーザU5が、仮想店舗に対する商品の注文に用いられるアプリケーション(以下、注文アプリという)を実行させるための操作を端末装置905に行うと、端末装置905は、当該操作に従って注文アプリの実行を開始する。その後、端末装置905は、ユーザU5の操作に従って、ユーザU5の認証情報を含み、かつ、ユーザ認証を行うことを求める認証要求を情報処理装置100へ送信する。ユーザU5の認証情報は、ユーザU5を識別するユーザID(IDentification)「U5」と、当該ユーザU5が予め設定したパスワードを表す情報と、を含む。
【0016】
情報処理装置100のデータ通信回路104aが認証要求を端末装置905から受信すると、情報処理装置100のCPU101は、認証要求に基づいてユーザ認証を行い、ユーザ認証が成功した場合に商品の注文を受け付ける、
図3に示すような注文受付処理を実行する。これにより、CPU101は、
図4に示すような、認証要求を取得する取得部110として機能し、取得された認証要求に基づいて認証が成功したか否かを判別する認証部120として機能する。また、CPU101は、認証が成功したと判別されると、注文された商品の配送が行われる配送時間帯を、ユーザU5によって指定された時間帯(以下、指定時間帯という)に割り当てる割当部130として機能する。さらに、CPU101は、認証が成功したと判別されると、認証が成功したことを告げる認証成功報告を端末装置905へ送信させる制御を、データ通信回路104aに行う制御部140として機能する。またさらに、情報処理装置100のハードディスク103bは、注文受付処理の実行に用いられる各種の情報を記憶する情報記憶部190として機能する。本明細書では、配送が行われる配送時間帯を指定時間帯に割り当てることを、当該配送を指定時間帯に割り当てる、と表現する。
【0017】
情報処理装置100の情報記憶部190は、注文を行うユーザに関する情報が保存されている不図示のユーザテーブルを予め記憶している。ユーザテーブルには、複数のレコードが予め保存されている。ユーザテーブルの1番目のレコードには、ユーザU1を識別するユーザID「U1」と、ユーザU1が予め設定したパスワードを表す情報と、が予め対応付けられて保存されている。同様に、ユーザテーブルの2番目から5番目のレコードには、ユーザU2からU5を識別するユーザID「U2」から「U5」と、ユーザU2からU5が予め設定したパスワードを表す情報と、が予め対応付けられて保存されている。
【0018】
また、情報処理装置100の情報記憶部190は、予め定められた時間帯に関する情報が保存されている、
図5に示すような時間帯テーブルを予め記憶している。時間帯テーブルには、1番目から22番目のレコードが予め保存されており、1番目のレコードには、「09:00」に開始し、かつ、「10:00」に終了する時間帯「09:00-10:00」を表す情報が、機体ID「600」と予め対応付けられて保存されている。時間帯「09:00-10:00」を表す情報は、開始時刻「09:00」を表す情報と、終了時刻「10:00」を表す情報と、を含んでいる。
【0019】
初期状態において、1番目のレコードには、時間帯「09:00-10:00」を表す情報と、機体ID「600」と、文字列「NULL」と、が保存されている。時間帯「09:00-10:00」を表す情報と、機体ID「600」と、に対応付けられた文字列「NULL」は、注文受付処理が実行されると、時間帯「09:00-10:00」に割り当てられた配送であり、かつ、配送機600によって行われる配送を識別する配送IDと、当該配送の状態を表す状態情報と、に変更される。さらに、時間帯「09:00-10:00」を表す情報と、機体ID「600」と、に対応付けられた情報は、例えば、OS(Operating System)が管理するシステム時刻が予め定められた初期化時刻に等しくなる初期化タイミングで、文字列「NULL」に変更される。これにより、1番目のレコードの状態が初期状態に変更される。本実施例では、初期化時刻は、午前0時であるが、これに限定される訳では無い。
【0020】
時間帯「09:00-10:00」を表す情報と機体ID「600」とに対応付けられる状態情報は、文字列「NULL」、割当済状態を表す情報、準備中状態を表す情報、準備完了状態を表す情報、配送中状態を表す情報、及び、配送完了状態を表す情報を含む。当該文字列「NULL」で表される状態は、配送機600によって行われる配送が、時間帯「09:00-10:00」に割り当てられていない状態である。当該割当済状態は、配送機600によって行われる配送が、時間帯「09:00-10:00」に割り当てられているが、当該配送の準備が未だ行われていない状態である。配送機600によって行われる配送の準備は、配送される商品を倉庫から見つけ出すこと、見つけ出された商品を、配送機600が配送を開始する不図示の位置(以下、配送の開始位置という)Sまで運ぶこと、及び、運ばれた商品を配送機600に格納すること、の少なくとも1つを含む。本実施例では、配送の開始位置Sは、配送元である倉庫の搬入口の位置であるが、これに限定される訳では無い。
【0021】
準備中状態は、配送の準備が開始されているが、当該準備が未だ完了していない状態であり、準備完了状態は、配送の準備が完了しているが、配送が開始されていない状態である。配送中状態は、配送が開始されているが、当該配送が未だ完了していない状態であり、配送完了状態は、配送が終了している状態である。
【0022】
3、5、7、9、11、13、15、17、19、及び、21番目のレコードには、初期状態において、時間帯「10:00-11:00」、「11:00-12:00」、「12:00-13:00」、「13:00-14:00」、「14:00-15:00」、「15:00-16:00」、「16:00-17:00」、「17:00-18:00」、「18:00-19:00」、及び、「19:00-20:00」を表す情報と、機体ID「600」と、文字列「NULL」と、が予め対応付けられて保存されている。また、時間帯「10:00-11:00」から「19:00-20:00」のいずれかの時間帯を表す情報と、機体ID「600」と、に対応付けられた文字列「NULL」は、注文受付処理の実行によって、配送IDと状態情報と、に変更される。さらに、時間帯「10:00-11:00」から「19:00-20:00」のいずれかの時間帯を表す情報と、機体ID「600」と、に対応付けられた情報は、初期化タイミングで、文字列「NULL」に変更される。
【0023】
2番目から22番目までの偶数番目のレコードには、初期状態において、時間帯「09:00-10:00」から「19:00-20:00」のいずれかの時間帯を表す情報と、機体ID「700」と、文字列「NULL」と、が予め対応付けられて保存されている。また、時間帯「09:00-10:00」から「19:00-20:00」のいずれかの時間帯を表す情報と、機体ID「700」と、に対応付けられた文字列「NULL」は、注文受付処理の実行によって配送IDと状態情報とに変更された後、初期化タイミングで文字列「NULL」に変更される。
【0024】
また、情報処理装置100の情報記憶部190は、予め定められた時間帯の割当上限値に関する情報が保存されている、
図6に示すような割当上限値テーブルを予め記憶している。予め定められた時間帯の割当上限値は、当該予め定められた時間帯に割当可能な配送の数の上限値である。割当上限値テーブルには、複数のレコードが予め保存されており、1番目のレコードには、時間帯「09:00-10:00」を表す情報と、時間帯「09:00-10:00」の割当上限値「2」を表す情報と、が対応付けられて予め保存されている。同様に、時間帯テーブルの2番目から11番目のレコードには、時間帯「10:00-11:00」から「19:00-20:00」の時間帯のいずれか1つの時間帯を表す情報と、割当上限値「2」を表す情報と、が対応付けられて予め保存されている。
【0025】
時間帯「09:00-10:00」の割当上限値が値「2」であるのは、本実施例では、配送機600及び700が、配送元から配送先への移動と、商品の受け渡し又は配置と、配送先から配送元への帰還と、を1時間以内に行うことができる位置であれば、どのような位置であっても配送先として指定可能であるからである。すなわち、時間帯「09:00-10:00」に、「2」個の配送が割り当てられれば、たとえ、割り当てられた全ての配送について、配送元から最も遠い指定可能な位置が配送先として指定されても、配送機600及び700は、時間帯「09:00-10:00」において、割り当てられた配送の全てを終えて配送元に帰還できるからである。これに対して、時間帯「09:00-10:00」に、値「2」よりも多い数の配送が割り当てられ、かつ、割り当てられた少なくとも2つの配送について、配送元から最も遠い指定可能な位置が配送先として指定されてしまうと、配送機600及び700の少なくとも1つが、時間帯「09:00-10:00」の終了時刻「10:00」を過ぎなければ、配送元へ帰還できなくなるからである。配送機600及び700の少なくとも1つが、時刻「10:00」を過ぎて配送元へ帰還すると、時間帯「09:00-10:00」よりも1つ後の時間帯「10:00-11:00」に割り当てられた配送を、時間帯「10:00-11:00」の開始時刻「10:00」に開始できなくなるからである。
【0026】
さらに、情報処理装置100の情報記憶部190は、配送に関する情報が保存される、
図7に示すような受付配送テーブルを予め記憶している。受付配送テーブルには、
図3の注文受付処理の実行により、1又は複数のレコードが保存される。受付配送テーブルの各レコードには、配送を識別する配送IDと、当該配送を求めたユーザのユーザIDと、当該配送が行われる商品を識別する商品IDと、が対応付けられて保存される。また、各レコードには、当該配送IDに対して、当該ユーザによって指定された、時間帯を表す情報、配送方法を表す情報、配送先を表す情報、及び、配置場所を表す情報と、当該配送の状態情報と、が対応付けられて保存される。
【0027】
受付配送テーブルに保存される配送の状態情報は、当該配送に配送時間帯が割り当てられていない未割当状態を表す状態情報、割当済状態を表す状態情報、準備中状態を表す状態情報、準備完了状態を表す状態情報、配送中状態を表す状態情報、配送完了状態を表す状態情報、及び、再配送要求待ち状態を表す状態情報を含む。再配送要求待ち状態は、配送が中止された後、再配送が要求されていない状態である。本実施例では、再配送の要求は、対面受取方法で商品が配送されたが、商品が受け取られなかった場合に、当該商品の配送を求めたユーザによって行われるが、これに限定される訳では無く、当該ユーザと異なる商品の受取人によって行われても良い。本実施例では、商品の受取人は、当該商品の配送を依頼したユーザであるとして以下の説明を行うが、これに限定される訳では無く、商品の受取人は、当該商品の配送を依頼したユーザに、商品の受け取りを黙示又は明示に依頼され、かつ、依頼を黙示又は明示に承諾した者であっても良い。
【0028】
本実施例では、配送方法は、対面受取方法と、置配方法と、を含む。対面受取方法は、配送機600又は700が商品を受取人へ配送する配送方法である。すなわち、対面受取方法による配送は、配送機600又は700が受取人へ商品を受け渡すことで完了する。これに対して、置配方法は、配送機600又は700が、配送先に商品を配置する配送方法である。すなわち、置配方法による配送は、配送機600又は700が、配送先へ商品を配置することで完了する。
【0029】
配置場所は、配送先に存在する場所であり、かつ、ユーザによって商品を配置する場所として指定された場所である。本実施例では、配置場所は、「玄関前」及び「庭」のいずれかであるとして以下の説明を行うが、これらに限定される訳では無い。配置場所は、受取人が居住、滞在、又は、管理する一軒家の敷地であれば、どのような場所であっても良い。本実施例において、玄関前は、受取人が居住、滞在、又は、管理する一軒家、若しくは、共同住宅の一室、又は、オフィスビルの一室の出入口を含み、敷地は、受取人が居住、滞在、又は、管理する一軒家が建てられている土地であり、例えば、当該一軒家の庭を含む。
【0030】
図3の注文受付処理の実行が開始されると、情報処理装置100の取得部110は、端末装置905から受信された認証要求を、データ通信回路104aから取得する(ステップS01)。次に、取得部110は、取得された認証要求から、認証を受けるユーザU5の認証情報を取得する。その後、取得部110は、不図示のユーザテーブルから、取得された認証情報に含まれるユーザID「U5」と対応付けられたパスワードを表す情報を取得する。その後、認証部120は、認証要求に含まれる情報で表されるパスワードと、ユーザテーブルから取得された情報で表されるパスワードと、に基づいて、ユーザ認証を行う。このとき、認証部120は、これらのパスワードが一致しないと、ユーザ認証が失敗したと判別し(ステップS02;No)、注文受付処理の実行を終了する。これに対して、情報処理装置100の認証部120は、これらのパスワードが一致すると、ユーザ認証が成功したと判別する(ステップS02;Yes)。次に、情報処理装置100の制御部140は、認証成功報告を、端末装置905を宛先としてデータ通信回路104aに出力する。その後、情報処理装置100のデータ通信回路104aは、認証成功報告を端末装置905へ送信する。
【0031】
端末装置905は、認証成功報告を受信して表示する。認証成功報告を視認したユーザU5は、商品を注文するための操作を端末装置905に行う。本実施例では、ユーザU5が不図示の商品G5を注文する場合を具体例として挙げて説明を行う。ユーザU5によって行われる商品G5の注文には、商品G5の販売を求める販売要求と、販売された商品G5の配送を求める配送要求と、が含まれる。本実施例では、ユーザU5が、時間帯「16:00-17:00」を指定して商品G5の配送を求める場合を具体例として挙げて以下の説明を行う。さらに、本実施例では、ユーザU5が、商品G5の配送方法として対面受取方法を指定し、かつ、不図示の配送先D5を指定する場合を具体例として挙げて以下の説明を行う。
【0032】
このため、端末装置905は、ユーザU5の操作に基づいて、商品G5の販売要求と配送要求とを含む注文を生成し、生成された注文を情報処理装置100へ送信する。注文に含まれる配送要求には、ユーザU5のユーザID「U5」と、商品G5の商品ID「G5」と、指定時間帯「16:00-17:00」を表す情報と、対面受取方法を表す情報と、配送先D5の位置を緯度、経度、及び、高度で表す位置情報と、が含まれている。
【0033】
情報処理装置100のデータ通信回路104aが、認証成功報告を端末装置905へ送信した後に、取得部110は、データ通信回路104aからの終了通知の取得を試行する。終了通知は、端末装置905から受信される通知であり、かつ、注文アプリの実行を終了することを知らせる通知である。次に、制御部140は、終了通知を取得したか否かを判別し(ステップS03)、終了通知が取得されなかったと判別する(ステップS03;No)。
【0034】
次に、情報処理装置100の取得部110は、データ通信回路104aからの注文の取得を試行し、制御部140は、注文が取得されたか否かを判別する(ステップS04)。このとき、注文が取得されなかったと判別されると(ステップS04;No)、情報処理装置100は、ステップS03から上記処理を繰り返す。これに対して、注文が取得されたと判別されると(ステップS04;Yes)、取得部110は、取得された注文から、商品G5の販売要求と配送要求とを取得する。その後、取得部110は、取得された配送要求から、ユーザU5のユーザID「U5」と、注文された商品G5の商品ID「G5」と、対面受取方法を表す情報と、配送先D5の位置情報と、を取得する。次に、取得部110は、当該注文から、指定時間帯を表す情報をさらに取得することを試行する。
【0035】
情報処理装置100の取得部110が、指定時間帯を表す情報の取得を試行するのは、データ通信回路104aは、時間帯指定有りの注文と、時間帯指定無しの注文と、を受信するからである。すなわち、時間帯指定有りの注文は、時間帯を指定して商品の配送を求める配送要求(以下、時間帯指定有りの配送要求という)を含み、かつ、時間帯指定有りの配送要求は、指定時間帯を表す情報を含むからである。これに対して、時間帯指定無しの注文は、時間帯を指定せずに商品の配送を求める配送要求(以下、時間帯指定無しの配送要求という)を含み、かつ、時間帯指定無しの配送要求は、指定時間帯を表す情報を含まないからである。
【0036】
次に、情報処理装置100の制御部140は、端末装置905から受信された注文から、指定時間帯「16:00-17:00」を表す情報が取得されたため、受信された当該注文は、時間帯指定有りの注文であると判別する(ステップS05;Yes)。次に、情報処理装置100は、時間帯指定有りの注文を受け付けるか否かを判定する、
図8に示すような第1受付判定処理を実行する(ステップS06)。
【0037】
第1受付判定処理の実行が開始されると、情報処理装置100の割当部130は、指定時間帯「16:00-17:00」が、受付可能時間帯であるか否かを判別する。受付可能時間帯とは、開始時刻が、システム時刻よりも、配送の割り当てに要する割当時間と、配送の準備に要する準備時間と、の和(以下、割当・準備時間という)だけ後の時刻以降である時間帯である。受付可能時間帯の開始時刻が、システム時刻よりも割当・準備時間だけ後の時刻以降であるのは、受付後に割り当てられた配送の準備が、割り当てられた時間帯の開始時刻までに完了するようにするためである。
【0038】
このために、情報処理装置100の取得部110は、例えば、OSからシステム時刻を表す情報を取得する。また、取得部110は、情報記憶部190から、割当時間を表す情報と、配送の準備に要する準備時間を表す情報と、を取得する。本実施例では、割当時間は、「10分」に予め定められており、かつ、準備時間は、「50分」に予め定められているが、これらに限定される訳で無い。より好適な割当時間及び準備時間は、当業者が実験により定めることができる。
【0039】
次に、情報処理装置100の割当部130は、取得された情報で表されるシステム時刻よりも、取得された情報で表される割当時間「10分」と、準備時間「50分」と、の和である割当・準備時間「1時間」だけ後の時刻を算出する。その後、割当部130は、指定時間帯「16:00-17:00」の開始時刻「16:00」が、算出された時刻以降の時刻であるか否かを判別する。このとき、割当部130は、指定時間帯「16:00-17:00」が、算出された時刻よりも前の時刻であると判別すると、指定時間帯「16:00-17:00」が受付可能時間帯でないと判別する(ステップS21;No)。このため、割当部130は、時間帯「16:00-17:00」を指定する注文を受付不能であると判定する(ステップS22)。その後、割当部130は、当該注文を受付不能であることを表す値を、第1受付判定処理の返値に設定してから、第1受付判定処理の実行を終了する。
【0040】
これに対して、情報処理装置100の割当部130は、指定時間帯「16:00-17:00」の開始時刻「16:00」が、算出された時刻以降の時刻であると判別すると、指定時間帯「16:00-17:00」が受付可能時間帯であると判別する(ステップS21;Yes)。次に、取得部110は、
図6の割当上限値テーブルから、指定時間帯「16:00-17:00」を表す情報に対応付けられた割当上限値「2」を表す情報を取得する(ステップS23)。次に、取得部110は、
図5の時間帯テーブルから、指定時間帯「16:00-17:00」を表す情報に対応付けられた配送IDの取得を試行する。
【0041】
本実施例では、時間帯テーブルの15番目のレコードに、時間帯「16:00-17:00」を表す情報と、機体ID「600」と、に対応付けられて、配送機600によって行われる配送が時間帯「16:00-17:00」に割り当てられていないことを表す文字列「NULL」が対応付けられている。また、本実施例では、時間帯テーブルの16番目のレコードに、時間帯「16:00-17:00」を表す情報と、機体ID「700」と、に対応付けられて文字列「NULL」が対応付けられている。これらのため、取得部110が配送IDを取得しない場合を具体例として挙げて以下の説明を行う。その後、情報処理装置100の割当部130は、取得された配送IDの数「0」を、時間帯「16:00-17:00」に割り当てられた配送の数(以下、割当済配送数という)として計数する(ステップS24)。
【0042】
次に、情報処理装置100の割当部130は、割当済配送数「0」が割当上限値「2」よりも小さいと判別する(ステップS25;Yes)。このため、割当部130は、時間帯指定有りの配送を時間帯「16:00-17:00」に割当可能であるため、時間帯「16:00-17:00」を指定する注文を受付可能であると判定する(ステップS26)。その後、割当部130は、当該注文を受付可能であることを表す値を、第1受付判定処理の返値に設定してから、第1受付判定処理の実行を終了する。
【0043】
図3のステップS06で、第1受付判定処理を実行した後に、情報処理装置100の取得部110は、第1受付判定処理の返値を取得する。次に、制御部140は、第1受付判定処理の返値が、受付可能を表す値であると判別する(ステップS07;Yes)。次に、制御部140は、時間帯「16:00-17:00」を指定する注文を受け付け(ステップS08)、受け付けた注文を識別する注文IDと、当該注文に含まれる時間帯指定有りの配送要求を識別する要求IDと、時間帯指定有りの当該配送要求により求められる配送(以下、時間帯指定有りの配送という)DL5を識別する配送IDと、を、予め定められた規則又はソフトウェア乱数に基づいて生成する。本実施例では、制御部140が、同じ値「DL5」の注文IDと、要求IDと、配送IDと、生成する場合を具体例として挙げて以下の説明を行う。同じ値の注文IDと、要求IDと、配送IDと、が生成されるのは、本実施例では、1つの注文に1つの配送要求が含まれ、かつ、1つの配送要求によって1つの配送が求められるためである。
【0044】
次に、情報処理装置100の制御部140は、
図7の受付配送テーブルに、生成された配送ID「DL5」と、ユーザU5のユーザID「U5」と、配送される商品G5の商品ID「G5」と、指定時間帯「16:00-17:00」を表す情報と、対面受取方法を表す情報と、配送先D5の位置情報と、配置場所が指定されていないことを表す文字列「NULL」と、未割当状態を表す状態情報と、を対応付けて保存する。
【0045】
その後、情報処理装置100の割当部130は、時間帯指定有りの配送DL5を指定時間帯「16:00-17:00」に割り当てる(ステップS09)。このために、取得部110は、
図5の時間帯テーブルから、指定時間帯「16:00-17:00」を表す情報と、機体ID「600」と、に対応付けられた配送IDを取得すること、及び、指定時間帯「16:00-17:00」を表す情報と、機体ID「700」と、に対応付けられた配送IDを取得することを試行する。
【0046】
本実施例では、配送IDが取得されない場合を具体例として挙げて以下の説明を行う。このため、情報処理装置100の割当部130は、予め定められた規則、又は、ソフトウェア乱数に基づいて、配送DL5を行う配送機として、配送機600及び700から1つを選択する。本実施例では、配送機600が選択された場合を具体例として挙げて以下の説明を行う。このため、割当部130は、配送DL5の配送ID「DL5」を、指定時間帯「16:00-17:00」を表す情報と、機体ID「600」と、に対応付けて、
図5の時間帯テーブルに保存する。次に、情報処理装置100の制御部140は、
図7の受付配送テーブルにおいて、配送ID「DL5」と対応付けられて保存されている状態情報を、割当済状態を表す状態情報に変更する。
【0047】
その後、情報処理装置100の制御部140は、注文が受け付けられたことを告げる注文受付報告を、端末装置905を宛先としてデータ通信回路104aへ出力し、データ通信回路104aは、当該注文受付報告を端末装置905へ送信する。その後、情報処理装置100は、ステップS03から上記処理を繰り返す。
【0048】
端末装置905が、注文受付報告を受信して表示すると、ユーザU5は、注文アプリの実行を終了させるための操作を端末装置905に行う。端末装置905は、当該操作に基づいて、終了通知を情報処理装置100へ送信してから、注文アプリの実行を終了する。情報処理装置100の制御部140は、ステップS03において、終了通知が取得されたと判別すると(ステップS03;Yes)、注文受付処理の実行を終了する。
【0049】
次に、ユーザU1が時間帯指定無しの注文を行う場合を具体例として挙げて説明を続ける。ユーザU1が注文アプリを実行させるための操作を端末装置901に行うと、端末装置901は、注文アプリの実行を開始し、認証要求を情報処理装置100へ送信する。情報処理装置100は、認証要求を端末装置901から受信すると、
図3に示した注文受付処理を実行する。次に、情報処理装置100は、認証要求を取得し(ステップS01)、認証要求に基づくユーザ認証が成功したと判別すると(ステップS02;Yes)、認証成功報告を端末装置901へ送信する。端末装置901は、認証成功報告を受信して表示し、認証成功報告を視認したユーザU1は、商品を注文するための操作を端末装置905に行う。
【0050】
本実施例では、ユーザU1が、時間帯を指定せずに、不図示の商品G1を注文する場合を具体例として挙げて説明を行う。また、本実施例では、ユーザU1が、商品G1の配送方法として置配方法を指定し、配送先D1を指定し、かつ、配置場所として、配送先D1に在る庭を指定する場合を具体例として挙げて以下の説明を行う。このため、端末装置901は、ユーザU1の操作に基づいて、商品G1の販売要求と配送要求とを含む注文を生成し、生成された注文を情報処理装置100へ送信する。当該注文には、ユーザU1のユーザID「U1」と、商品G1の商品ID「G1」と、置配方法を表す情報と、配送先D1の位置情報と、配置場所「庭」を表す情報と、が含まれているが、指定時間帯を表す情報が含まれていない。
【0051】
情報処理装置100は、認証成功報告を端末装置901へ送信した後に、終了通知が取得されなかったと判別してから(ステップS03;No)、注文が取得されたと判別する(ステップS04;Yes)。次に、情報処理装置100は、取得された注文から、商品G1の販売要求と配送要求とを取得する。その後、情報処理装置100の取得部110は、取得された配送要求から、ユーザU1のユーザID「U1」と、商品G1の商品ID「G1」と、置配方法を表す情報と、配送先D1の位置情報と、配置場所「庭」を表す情報と、を取得する。次に、情報処理装置100の取得部110は、当該注文から、指定時間帯を表す情報をさらに取得することを試行し、制御部140は、指定時間帯を表す情報が取得されなかったと判別する(ステップS05;No)。次に、情報処理装置100は、時間帯指定無しの注文を受け付けるか否かを判定する、
図9に示すような第2受付判定処理を実行する(ステップS10)。
【0052】
第2受付判定処理の実行が開始されると、情報処理装置100の取得部110は、例えば、OSからシステム時刻を表す情報を取得する(ステップS31)。本実施例では、システム時刻「13:30」を表す情報が取得された場合を具体例として挙げて以下の説明を行う。次に、割当部130は、時間帯指定無しの配送要求によって求められる配送(以下、時間帯指定無しの配送という)を割り当てる時間帯の候補とされる1又は複数の時間帯(以下、割当候補時間帯という)を含む割当期間を特定する。
【0053】
このために、情報処理装置100の取得部110は、情報記憶部190から、割当時間「10分」を表す情報と、準備時間「50分」を表す情報と、を取得する。次に、割当部130は、取得された情報で表されるシステム時刻「13:30」よりも、取得された情報で表される割当時間「10分」と、準備時間「50分」と、の和である割当・準備時間「1時間」だけ後の時刻「14:30」を算出し、算出された時刻「14:30」を割当期間の開始時刻とする。システム時刻「13:30」よりも割当・準備時間「1時間」だけ後の時刻「14:30」が、割当期間の開始時刻とされるのは、時刻「14:30」以降に開始する時間帯を割当候補時間帯とするためである。すなわち、時刻「14:30」よりも前の時刻に開始する時間帯を割当候補時間帯とし、かつ、そのような割当候補時間帯に配送を割り当てても、割り当てられた配送の準備が、割り当てられた時間帯の開始時刻までに完了しないからである。
【0054】
次に、情報処理装置100の取得部110は、情報記憶部190から、11個の予め定められた時間帯「09:00-10:00」から「19:00-20:00」の終了時刻の内で、最も遅い終了時刻「20:00」を表す情報を取得する。その後、割当部130は、開始時刻「14:30」に開始し、取得された情報で表される終了時刻「20:00」に終了する期間を、割当期間として特定する。11個の予め定められた時間帯の終了時刻の内で、最も遅い終了時刻「20:00」が、割当期間の終了時刻に設定されるのは、時間帯指定無しの注文が受け付けられた日が終わるまでに配送を行えるためである。
【0055】
その後、情報処理装置100の割当部130は、割当期間「14:30-20:00」に含まれる1又は複数の割当候補時間帯を特定する。このために、取得部110は、割当期間の開始時刻「14:30」以降の開始時刻を表す情報と、割当期間の終了時刻「20:00」以前の終了時刻を表す情報と、を含む、予め定められた時間帯を表す情報を、
図5の時間帯テーブルから取得することを試行する。これにより、取得部110は、時間帯「15:00-16:00」を表す情報、時間帯「16:00-17:00」を表す情報、時間帯「17:00-18:00」を表す情報、時間帯「18:00-19:00」を表す情報、及び、時間帯「19:00-20:00」を表す情報を取得する。このため、割当部130は、5個の割当候補時間帯「15:00-16:00」から「19:00-20:00」を特定する(ステップS32)。
【0056】
次に、情報処理装置100の割当部130は、割当候補時間帯「15:00-16:00」から「19:00-20:00」について、割当上限値の総和を算出する(ステップS33)。このために、取得部110は、
図6の割当上限値テーブルから、割当候補時間帯「15:00-16:00」を表す情報に対応付けられた割当上限値「2」を表す情報を取得する。同様に、取得部110は、残り4個の割当候補時間帯「16:00-17:00」から「19:00-20:00」の割当上限値「2」を表す情報を取得する。その後、割当部130は、取得された5個の情報でそれぞれ表される割当上限値「2」の総和「10」を算出する。
【0057】
次に、情報処理装置100の割当部130は、割当候補時間帯「15:00-16:00」から「19:00-20:00」について、割当済配送数の総和を算出する(ステップS34)。このために、取得部110は、
図5の時間帯テーブルから、割当候補時間帯「15:00-16:00」を表す情報に対応付けられた配送IDを取得することを試行する。本実施例では、取得部110が、割当候補時間帯「15:00-16:00」に割り当てられた配送DL19の配送ID「DL19」、及び、配送DL20の配送ID「DL20」を取得する場合を具体例として挙げて以下の説明を行う。このため、割当部130は、取得された配送IDの数「2」を、割当候補時間帯「15:00-16:00」の割当済配送数として計数する。
【0058】
同様に、情報処理装置100の取得部110は、
図5の時間帯テーブルから、割当候補時間帯「16:00-17:00」を表す情報に対応付けられた配送IDと、割当候補時間帯「17:00-18:00」を表す情報に対応付けられた配送IDと、割当候補時間帯「18:00-19:00」を表す情報に対応付けられた配送IDと、割当候補時間帯「18:00-19:00」を表す情報に対応付けられた配送IDと、を取得することを試行する。本実施例では、取得部110が、割当候補時間帯「16:00-17:00」に割り当てられた配送DL5の配送ID「DL5」と、割当候補時間帯「17:00-18:00」に割り当てられた配送DL21の配送ID「DL21」と、を取得する場合を具体例として挙げて以下の説明を行う。また、本実施例では、取得部110が、割当候補時間帯「18:00-19:00」に割り当てられた配送DL22の配送ID「DL22」及び配送DL23の配送ID「DL23」を取得するが、割当候補時間帯「19:00-20:00」に割り当てられた配送IDを取得しない場合を具体例として挙げて以下の説明を行う。これらのため、割当部130は、割当候補時間帯「16:00-17:00」の割当済配送数「1」、「17:00-18:00」の割当済配送数「1」、割当候補時間帯「18:00-19:00」の割当済配送数「2」、及び、割当候補時間帯「19:00-20:00」の割当済配送数「0」を計数する。次に、割当部130は、計数された割当済配送数の総和「6」を算出する。
【0059】
次に、情報処理装置100の割当部130は、割り当てが行われていない時間帯指定無しの配送の数を計数する(ステップS35)。このために、取得部110は、
図7の受付配送テーブルから、未割当状態を表す状態情報に対応付けられた配送IDの取得を試行する。本実施例では、取得部110が配送IDを取得しなかった場合を具体例として挙げて以下の説明を行う。このため、割当部130は、時間帯指定無し、かつ、未割当の配送の数「0」を計数する。
【0060】
次に、情報処理装置100の割当部130は、ステップS33で算出された割当上限値の総和「10」よりも、ステップS34で算出された割当済配送数の総和「6」と、時間帯指定無し、かつ、未割当の配送の数「0」と、の和「6」の方が少ないと判別する(ステップS36;Yes)。次に、割当部130は、時間帯指定無しの配送を、割当候補時間帯「15:00-16:00」から「19:00-20:00」のいずれかに割当可能であるため、時間帯指定無しの注文を受付可能であると判定する(ステップS37)。その後、割当部130は、当該注文を受付可能であることを表す値を、第2受付判定処理の返値に設定してから、第2受付判定処理の実行を終了する。
【0061】
図3のステップS10で、第2受付判定処理を実行した後に、情報処理装置100の制御部140は、第2受付判定処理の返値が、受付可能を表す値であると判別する(ステップS11;Yes)。次に、制御部140は、時間帯指定無しの注文を受け付け(ステップS12)、受け付けた当該注文の注文IDと、当該注文に含まれる時間帯指定無しの配送要求の要求IDと、当該配送要求により求められる時間帯指定無しの配送を識別する配送IDと、を、予め定められた規則又はソフトウェア乱数に基づいて生成する。本実施例では、制御部140が、同じ値「DL1」の注文IDと、要求IDと、配送IDと、を生成する場合を具体例として挙げて以下の説明を行う。
【0062】
次に、情報処理装置100の制御部140は、
図7の受付配送テーブルに、生成された配送ID「DL1」と、ユーザU1のユーザID「U1」と、配送される商品G1の商品ID「G1」と、時間帯が指定されていないことを表す文字列「NULL」と、置配方法を表す情報と、配送先D1の位置情報と、配置場所「庭」を表す情報と、未割当状態を表す状態情報と、を対応付けて保存する。その後、情報処理装置100は、注文受付報告を端末装置901へ送信し、ステップS03から上記処理を繰り返す。ステップS03において、情報処理装置100は、終了通知が取得されたと判別すると(ステップS03;Yes)、注文受付処理の実行を終了する。
【0063】
次に、ユーザU2が、時間帯を指定せずに、不図示の商品G2を注文する場合を具体例として挙げて説明を行う。また、本実施例では、ユーザU2が、置配方法を指定し、配送先D2を指定し、かつ、配置場所として「玄関前」を指定する場合を具体例として挙げて以下の説明を行う。情報処理装置100は、ユーザU2が操作する端末装置902から認証要求を受信すると、
図3に示した注文受付処理を実行する。次に、情報処理装置100は、ステップS01からS03の処理を実行することで、認証要求に基づいてユーザ認証を行った後に、端末装置902から時間帯指定無しの注文を受信する。その後、情報処理装置100は、ステップS04を実行した後に、時間帯指定無しの注文から、商品G2の販売要求と配送要求とを取得する。その後、情報処理装置100の取得部110は、取得された配送要求から、ユーザU2のユーザID「U2」と、商品G2の商品ID「G2」と、置配方法を表す情報と、配送先D2の位置情報と、配置場所「玄関前」を表す情報と、を取得する。
【0064】
次に、情報処理装置100は、ステップS05の処理を実行した後に、
図9の第2受付判定処理を実行する(ステップS10)。本実施例では、第2受付判定処理によって、端末装置902から受信された時間帯指定無しの注文が受付可能であると判定された場合を具体例として挙げて以下の説明を行う。このため、情報処理装置100は、ステップS11の処理を実行した後に、端末装置902から受信された時間帯指定無しの注文を受け付ける(ステップS12)。次に、情報処理装置100は、受け付けた当該注文によって求められる配送の配送IDを生成する。本実施例では、配送ID「DL2」が生成される場合を具体例として挙げて以下の説明を行う。
【0065】
次に、情報処理装置100は、
図7の受付配送テーブルに、生成された配送ID「DL2」と、ユーザID「U2」と、商品ID「G2」と、時間帯が指定されていないことを表す文字列「NULL」と、置配方法を表す情報と、配送先D2の位置情報と、配置場所が指定されていないことを表す文字列「NULL」と、未割当状態を表す状態情報と、を対応付けて保存する。その後、情報処理装置100は、ステップS03から上記処理を繰り返す。ステップS03において、情報処理装置100は、終了通知が取得されたと判別すると(ステップS03;Yes)、注文受付処理の実行を終了する。
【0066】
次に、ユーザU3が、時間帯を指定せずに、不図示の商品G3を注文し、ユーザU4が、時間帯を指定せずに、不図示の商品G4を注文する場合を具体例として挙げて説明を行う。また、本実施例では、ユーザU3が、対面受取方法を指定し、配送先D3を指定し、ユーザU4が、対面受取方法を指定し、配送先D4を指定する場合を具体例として挙げて以下の説明を行う。また、本実施例では、ユーザU3及びU4の注文が受け付けられる場合を具体例として挙げて以下の説明を行う。
【0067】
このため、情報処理装置100は、認証要求を端末装置903から受信すると、
図3に示した注文受付処理を実行することで、認証要求に基づいてユーザ認証を行った後に、時間帯指定無しの注文を端末装置903から受信する。次に、情報処理装置100の取得部110は、時間帯指定無しの当該注文から、ユーザID「U3」と、商品ID「G3」と、対面受取方法を表す情報と、配送先D3の位置情報と、を取得する。その後、情報処理装置100は、時間帯指定無しの当該注文を受け付け、当該注文により求められる配送の配送IDを生成する。本実施例では、配送ID「DL3」が生成される場合を具体例として挙げて以下の説明を行う。次に、情報処理装置100は、
図7の受付配送テーブルに、生成された配送ID「DL3」と、ユーザID「U3」と、商品ID「G3」と、時間帯が指定されていないことを表す文字列「NULL」と、対面受取方法を表す情報と、配送先D3の位置情報と、配置場所が指定されていないことを表す文字列「NULL」と、未割当状態を表す状態情報と、を対応付けて保存する。
【0068】
同様に、情報処理装置100は、
図3に示した注文受付処理を実行することで、端末装置904から受信された時間帯指定無しの注文から、ユーザID「U4」と、商品ID「G4」と、対面受取方法を表す情報と、配送先D4の位置情報と、を取得する。その後、情報処理装置100は、時間帯指定無しの当該注文を受け付け、当該注文により求められる配送の配送IDを生成する。本実施例では、配送ID「DL4」が生成される場合を具体例として挙げて以下の説明を行う。次に、情報処理装置100は、
図7の受付配送テーブルに、生成された配送ID「DL4」と、ユーザID「U4」と、商品ID「G4」と、対面受取方法を表す情報と、配送先D4の位置情報と、未割当状態を表す状態情報と、を対応付けて保存する。
【0069】
情報処理装置100は、予め定められた時刻が到来すると、
図10に示すような割当処理を実行する。割当処理は、受け付けられた注文によって要求された配送であり、時間帯指定無しの配送であり、かつ、割り当てが行われていない配送(以下、単に、未割当の配送という)を、予め定められた時間帯「09:00-10:00」から「19:00-20:00」のいずれかに割り当てる処理である。また、本実施例では、割当処理が実行される予め定められた時刻は、午前8時であるが、これに限定される訳ではなく、時刻「00:00」以降、かつ、時刻「08:00」以前の時刻であれば、どのような時刻であっても良い。
【0070】
情報処理装置100の情報記憶部190は、割当処理に用いられるテーブルであり、かつ、配送履歴に関する情報が保存されている、
図11に示すような配送履歴テーブルを予め記憶している。配送履歴テーブルには、複数のレコードが予め保存されている。配送履歴テーブルの各レコードには、配送が行われた日付である配送日を表す情報と、配送が行われた時間帯である配送時間帯を表す情報と、配送先の位置情報と、配送実績を表す情報と、が対応付けられて保存されている。配送実績は、配送された商品が受け取られたという受取実績と、配送された商品が受け取られなかったという不在実績と、を含む。不在実績は、配送された商品が受け取られなかったという実績であれば良く、受け取られなかった理由を問わない。すなわち、不在実績は、受取人が配送先に不在であったため、配送された商品が受け取られなかったという実績に限定される訳では無く、不在実績は、受取人が配送先に滞在していたが、配送された商品が受け取られなかったという実績を含む。
【0071】
情報処理装置100の情報記憶部190は、再配送の蓋然性に関する情報が保存されている、
図12に示すような再配送テーブルを予め記憶している。再配送テーブルには、複数のレコードが予め保存されている。再配送テーブルの1番目のレコードには、置配方法を表す情報と、置配方法で商品が配送される場合において当該商品の再配送が求められる蓋然性を表す値「PR1」と、が対応付けられて予め保存されている。
【0072】
再配送テーブルの2番目のレコードには、対面受取方法を表す情報と、ある配送先の配送履歴に受取実績が有ることを表す情報と、受取実績の有る時間帯に対面受取方法で商品が当該配送先に配送される場合において当該商品の再配送が求められる蓋然性を表す値「PR2」と、が対応付けられて保存されている。受取実績の有る時間帯は、
図11の配送履歴テーブルにおいて、受取実績を表す情報と、当該配送先の位置情報と、に対応付けられている情報で表される時間帯である。
【0073】
再配送テーブルの3番目のレコードには、対面受取方法を表す情報と、ある配送先の配送履歴に配送実績が無いことを表す情報と、配送実績の無い時間帯に対面受取方法で商品が当該配送先に配送される場合において当該商品の再配送が求められる蓋然性を表す値「PR3」と、が対応付けられて保存されている。配送実績の無い時間帯は、予め定められた時間帯「09:00-10:00」から「19:00-20:00」の内で、受取実績の有る時間帯、及び、不在実績の有る時間帯の双方と異なる時間帯である。不在実績の有る時間帯は、予め定められた時間帯「09:00-10:00」から「19:00-20:00」の内で、受取実績の有る時間帯と異なる時間帯であり、かつ、
図11の配送履歴テーブルにおいて、不在実績を表す情報と、当該配送先の位置情報と、に対応付けられている情報で表される時間帯である。
【0074】
再配送テーブルの4番目のレコードには、対面受取方法を表す情報と、ある配送先の配送履歴に不在実績が有ることを表す情報と、不在実績の有る時間帯に対面受取方法で商品が当該配送先に配送される場合において当該商品の再配送が求められる蓋然性を表す値「PR4」と、が対応付けられて保存されている。
【0075】
本実施例では、置配方法で配送が行われる場合における再配送の蓋然性を表す値「PR1」が、対面受取方法で配送が行われる場合における再配送の蓋然性を表す値「PR2」から「PR4」よりも低い場合を具体例として挙げて以下の説明を行う。また、本実施例では、受取実績の有る時間帯に、対面受取方法で配送が行われる場合における再配送の蓋然性を表す値「PR2」が、配送実績の無い時間帯に、対面受取方法で配送が行われる場合における再配送の蓋然性を表す値「PR3」よりも低く、かつ、配送実績の無い時間帯に、対面受取方法で配送が行われる場合における再配送の蓋然性を表す値「PR3」が、不在実績の有る時間帯に、対面受取方法で配送が行われる場合における再配送の蓋然性を表す値「PR4」よりも低い場合を具体例として挙げて以下の説明を行う。
【0076】
情報処理装置100の情報記憶部190は、盗難の蓋然性に関する情報が保存されている、
図13に示すような盗難テーブルを予め記憶している。盗難テーブルには、複数のレコードが予め保存されている。盗難テーブルの1番目のレコードには、対面受取方法を表す情報と、対面受取方法で商品が配送される場合において当該商品が盗難される蓋然性を表す値「PS1」と、が対応付けられて予め保存されている。盗難テーブルの2番目のレコードには、置配方法を表す情報と、配置場所として「庭」を表す情報と、配送された商品が「庭」に配置される場合において当該商品が盗難される蓋然性を表す値「PS2」と、が対応付けられて予め保存されている。盗難テーブルの3番目のレコードには、置配方法を表す情報と、配置場所として「玄関前」を表す情報と、配送された商品が「玄関前」に配置される場合において当該商品が盗難される蓋然性を表す値「PS3」と、が対応付けられて予め保存されている。
【0077】
本実施例では、対面受取方法で商品が配送される場合における盗難の蓋然性を表す値「PS1」が、置配方法で商品が配送される場合における盗難の蓋然性を表す値「PS2」及び「PS3」よりも低い場合を具体例として挙げて以下の説明を行う。また、置配方法で配送された商品が「庭」に配置される場合における盗難の蓋然性を表す値「PS2」が、置配方法で配送された商品が「玄関前」に配置される場合における再配送の蓋然性を表す値「PS3」よりも低い場合を具体例として挙げて以下の説明を行う。
【0078】
情報処理装置100の情報記憶部190は、優先度の定義に用いられる情報が保存されている、
図14に示すような優先度定義テーブルを予め記憶している。ある時間帯における、ある配送の優先度とは、当該配送を当該時間帯にどの程度優先して割り当てるかを表す指標である。本実施例では、ある時間帯において、優先度がより高い配送程、より優先度が低い他の配送よりも優先して、当該時間帯に割り当てられるが、これに限定される訳では無い。また、本実施例では、より高い優先度程、より小さい数字で表されるが、これに限定される訳では無い。本実施例では、値「1」で表される優先度が最も高い優先度であり、値「1」で表されるある時間帯における優先度が設定された配送は、値「1」よりも大きい数字で表される優先度が設定された他の配送よりも優先して当該時間帯に割り当てられる。
【0079】
優先度定義テーブルには、複数のレコードが予め保存されている。優先度定義テーブルの1番目のレコードには、再配送の蓋然性を表す最も低い値「PR1」と、盗難の蓋然性を表す値「PS2」と、最も高い優先度「1」と、が対応付けられている。2番目のレコードには、再配送の蓋然性を表す値「PR1」と、盗難の蓋然性を表す値であり、かつ、1番目のレコードに保存されている値「PS2」よりも高い値「PS3」と、2番目に高い優先度「2」と、が対応付けられている。
【0080】
優先度定義テーブルの3番目のレコードには、再配送の蓋然性を表す値であり、かつ、1番目及び2番目のレコードに保存されている値「PR1」よりも高い値「PR2」と、盗難の蓋然性を表す値「PS1」と、3番目に高い優先度「3」と、が対応付けられている。また、4番目のレコードには、再配送の蓋然性を表す値であり、かつ、3番目のレコードに保存されている値「PR2」よりも高い値「PR3」と、盗難の蓋然性を表す値「PS1」と、4番目に高い優先度「4」と、が対応付けられている。さらに、5番目のレコードには、再配送の蓋然性を表す値であり、かつ、4番目のレコードに保存されている値「PR3」よりも高い値「PR4」と、盗難の蓋然性を表す値「PR1」と、5番目に高く、かつ、最も低い優先度「5」と、が対応付けられている。
【0081】
情報処理装置100の情報記憶部190は、設定された優先度に関する情報が保存される、
図15に示すような設定優先度テーブルを予め記憶している。設定優先度テーブルには、
図10の割当処理の実行により、1又は複数のレコードが保存される。設定優先度テーブルの各レコードには、予め定められた時間帯を表す情報と、当該時間帯に割り当てられることが検討されている配送の配送IDと、当該配送に設定された当該時間帯における優先度と、が対応付けられて保存される。
【0082】
情報処理装置100は、
図10に示す割当処理の実行を開始すると、未割当の配送を割り当てるタイミング(以下、割当タイミングという)が到来したか否かを判定する、
図16に示すようなタイミング判定処理を実行する(ステップS41)。タイミング判定処理の実行を開始すると、情報処理装置100は、
図9のステップS31及びS32と同様の処理を実行することで(ステップS51からS53)、未割当の配送を割り当てる時間帯の候補とされる複数の割当候補時間帯と、当該複数の割当候補時間帯を含んだ割当期間と、を特定する。本実施例では、割当期間「15:00-20:00」と、割当候補時間帯「15:00-16:00」から「19:00-20:00」と、が特定される場合を具体例として挙げて以下の説明を行う。
【0083】
次に、情報処理装置100は、
図9のステップS33及びS34と同様の処理を実行することで、特定された複数の割当候補時間帯について、割当上限値の総和を算出し(ステップS54)、割当済配送数の総和を算出する(ステップS55)。本実施例では、割当上限値の総和「10」が算出され、かつ、割当済配送数の総和「6」が算出された場合を具体例として挙げて以下の説明を行う。
【0084】
次に、情報処理装置100は、
図9のステップS35と同様の処理を実行することで、未割当の配送の数を計数する(ステップS56)。このために、取得部110は、
図7の受付配送テーブルから、未割当状態を表す状態情報に対応付けられた配送IDの取得を試行する。本実施例では、取得部110が配送ID「DL1」から「DL4」を取得する場合を具体例として挙げて以下の説明を行う。このため、割当部130は、時間帯指定無し、かつ、未割当の配送の数「4」を計数する。
【0085】
次に、情報処理装置100の割当部130は、ステップS55で算出された割当済配送数の総和「6」と、時間帯指定無し、かつ、未割当の配送の数「4」と、の和「10」が、ステップS54で算出された割当上限値の総和「10」と等しいと判別する(ステップS57;Yes)。すなわち、割当部130は、時間帯指定無し、かつ、未割当の配送の全てについて割り当てが行われると、配送を割り当て可能な時間帯が無くなると判別する。次に、割当部130は、割当タイミングが到来したと判別する(ステップS58)。その後、情報処理装置100は、割当タイミングの到来を表す値を、タイミング判定処理の返値に設定してから、タイミング判定処理の実行を終了する。
【0086】
図10のステップS41で、タイミング判定処理を実行した後に、情報処理装置100の取得部110は、タイミング判定処理の返値を取得する。次に、制御部140は、タイミング判定処理の返値が、割当タイミングの到来を表す値であると判別する(ステップS42;Yes)。次に、情報処理装置100は、時間帯指定無し、かつ、未割当の配送について優先度を設定するため、
図17に示すような優先度設定処理を実行する。
【0087】
優先度設定処理の実行が開始されると、情報処理装置100の割当部130は、時間帯指定無し、かつ、未割当の配送を特定する(ステップS61)。このために、情報処理装置100は、
図16のステップS56と同様の処理を行うことで、
図7の受付配送テーブルから、未割当状態を表す状態情報に対応付けられた配送ID「DL1」から「DL4」を取得する。次に、割当部130は、配送ID「DL1」から「DL4」で識別される時間帯指定無しの配送DL1からDL4が、未割当の配送であることを特定する。
【0088】
次に、情報処理装置100の割当部130は、
図16のステップS53で特定された割当候補時間帯「15:00-16:00」ないし「19:00-20:00」から、時間帯指定無し、かつ、未割当の配送DL1からDL4を割当可能な時間帯(以下、割当可能時間帯という)を特定する(ステップS62)。このために、取得部110は、
図8のステップS23と同様の処理を実行することで、
図6の割当上限値テーブルから、割当候補時間帯「15:00-16:00」を表す情報に対応付けられている割当上限値「2」を表す情報を取得する。また、取得部110は、
図8のステップS24と同様の処理を実行することで、
図5の時間帯テーブルから、割当候補時間帯「15:00-16:00」を表す情報に対応付けられている配送ID「DL19」及び「DL20」を取得する。このため、割当部130は、割当候補時間帯「15:00-16:00」の割当済配送数「2」を計数する。次に、割当部130は、割当候補時間帯「15:00-16:00」の割当済配送数「2」が割当候補時間帯「15:00-16:00」の割当上限値「2」に等しいため、割当候補時間帯「15:00-16:00」には、未割当の配送DL1からDL4のいずれも割当不能であると判別する。すなわち、割当部130は、割当候補時間帯「15:00-16:00」が割当可能時間帯でないと判別する。
【0089】
これに対して、情報処理装置100は、割当候補時間帯「16:00-17:00」の割当上限値「2」を表す情報を取得し、割当候補時間帯「16:00-17:00」の割当済配送数「1」を計数する。情報処理装置100は、割当候補時間帯「16:00-17:00」の割当済配送数「1」が割当上限値「2」よりも少ないため、割当候補時間帯「16:00-17:00」には、未割当の配送DL1からDL4のいずれかが割当可能であると判別する。すなわち、割当部130は、割当候補時間帯「16:00-17:00」が割当可能時間帯であると判別する。同様に、情報処理装置100は、割当候補時間帯「17:00-18:00」及び「19:00-20:00」が割当可能時間帯であると判別し、割当候補時間帯「18:00-19:00」が割当可能時間帯でないと判別する。
【0090】
次に、情報処理装置100の制御部140は、未割当の配送DL1からDL4のいずれにも注目していないため、全ての未割当の配送DL1からDL4に注目した訳では無いと判別する(ステップS63;No)。その後、制御部140は、未割当の配送DL1からDL4の内で、未注目の配送の1つに注目する(ステップS64)。本実施例では、配送DL1が注目された場合を具体例として挙げて以下の説明を行う。次に、割当部130は、注目された配送(以下、注目配送という)DL1が行われた場合における盗難の蓋然性を特定する(ステップS65)。このために、取得部110は、
図7の受付配送テーブルから、注目配送DL1の配送ID「DL1」に対応付けられた置配方法を表す情報と、配置場所として「庭」を表す情報と、を取得する。次に、取得部110は、
図13の盗難テーブルから、置配方法を表す情報と、「庭」を表す情報と、に対応付けられた盗難の蓋然性を表す値「PS2」を取得する。これにより、割当部130は、注目配送DL1が行われた場合における盗難の蓋然性が値「PS2」で表されることを特定する。
【0091】
次に、情報処理装置100の割当部130は、注目配送DL1の配送方法が、対面受取方法ではなく、置配方法であると判別する(ステップS66;No)。その後、割当部130は、割当可能時間帯「16:00-17:00」、「17:00-18:00」、及び、「19:00-20:00」の全てについて、注目配送DL1が行われる場合における再配送の蓋然性を特定する(ステップS67)。本実施例では、置配方法で配送される商品は、どのような時間帯に配送されても、配置場所に配置される。このため、本実施例では、置配方法で配送される場合における再配送の蓋然性は、配送が行われる時間帯がどのような時間帯であっても同じ値である。このため、取得部110は、
図12の再配送テーブルから、置配方法を表す情報に対応付けられた再配送の蓋然性を表す値「PR1」を取得する。これにより、割当部130は、注目配送DL1が行われた場合における再配送の蓋然性が値「PR1」で表されることを特定する。
【0092】
次に、情報処理装置100の割当部130は、割当可能時間帯「16:00-17:00」、「17:00-18:00」、及び、「19:00-20:00」の全てにおける注目配送DL1の優先度を設定する(ステップS68)。このため、取得部110は、
図14の優先度定義テーブルから、再配送の蓋然性を表す値「PR1」と、盗難の蓋然性を表す値「PS2」と、に対応付けられた優先度「1」を取得する。これにより、割当部130は、割当可能時間帯「16:00-17:00」、「17:00-18:00」、及び、「19:00-20:00」における注目配送DL1の優先度を、最も高い優先度「1」に設定する。その後、情報処理装置100の制御部140は、
図15の設定優先度テーブルに、割当可能時間帯「16:00-17:00」を表す情報と、注目配送DL1の配送ID「DL1」と、設定された優先度「1」を表す情報と、を対応付けて保存する。同様に、制御部140は、設定優先度テーブルに、割当可能時間帯「17:00-18:00」を表す情報、及び、割当可能時間帯「19:00-20:00」を表す情報と、配送ID「DL1」と、優先度「1」を表す情報と、を対応付けて保存する。次に、情報処理装置100は、ステップS63に戻り上記処理を繰り返す。
【0093】
次に、情報処理装置100は、未割当の配送DL2からDL4に注目していないと判別し(ステップS63;No)、未割当の配送DL2に注目する(ステップS64)。次に、情報処理装置100は、注目配送DL2が行われた場合における盗難の蓋然性を特定する(ステップS65)。このために、取得部110は、
図7の受付配送テーブルから、注目配送DL2の配送ID「DL2」に対応付けられた置配方法を表す情報と、「玄関前」を表す情報と、を取得する。次に、取得部110は、
図13の盗難テーブルから、置配方法を表す情報と、「玄関前」を表す情報と、に対応付けられた盗難の蓋然性を表す値「PS3」を取得する。
【0094】
次に、情報処理装置100は、ステップS66の処理を実行した後に、再配送の蓋然性を表す値「PR1」を取得する(ステップS67)。次に、情報処理装置100は、
図14の優先度定義テーブルから、再配送の蓋然性を表す値「PR1」と、盗難の蓋然性を表す値「PS3」と、に対応付けられた優先度「2」を取得する。これにより、情報処理装置100は、割当可能時間帯「16:00-17:00」、「17:00-18:00」、及び、「19:00-20:00」における注目配送DL2の優先度を、2番目に高い優先度「2」に設定する(ステップS68)。その後、情報処理装置100は、
図15の設定優先度テーブルに、時間帯「16:00-17:00」を表す情報、時間帯「17:00-18:00」を表す情報、及び、時間帯「19:00-20:00」を表す情報と、注目配送DL2の配送ID「DL2」と、優先度「2」を表す情報とを保存する。その後、情報処理装置100は、ステップS63に戻り上記処理を繰り返す。
【0095】
次に、情報処理装置100は、未割当の配送DL3及びDL4に注目していないと判別し(ステップS63;No)、未割当の配送DL3に注目する(ステップS64)。次に、情報処理装置100は、注目配送DL3が行われた場合における盗難の蓋然性を特定する(ステップS65)。このために、取得部110は、
図7の受付配送テーブルから、注目配送DL3の配送ID「DL3」に対応付けられた対面受取方法を表す情報を取得する。次に、取得部110は、
図13の盗難テーブルから、対面受取方法を表す情報に対応付けられた盗難の蓋然性を表す値「PS1」を取得する。
【0096】
次に、情報処理装置100は、注目配送DL3の配送方法が置配方法でなく、対面受取方法であると判別する(ステップS66;Yes)。次に、情報処理装置100の制御部140は、割当可能時間帯「16:00-17:00」、「17:00-18:00」、及び、「19:00-20:00」のいずれにも注目していないため、割当可能時間帯の全てに注目した訳では無いと判別する(ステップS69;No)。その後、制御部140は、割当可能時間帯「16:00-17:00」、「17:00-18:00」、及び、「19:00-20:00」の内で、未注目の時間帯の1つに注目する(ステップS70)。本実施例では、割当可能時間帯「16:00-17:00」が注目された場合を具体例として挙げて以下の説明を行う。
【0097】
その後、情報処理装置100の割当部130は、注目された割当可能時間(以下、注目時間帯という)「16:00-17:00」に注目配送DL3が行われる場合において、商品G3の再配送が求められる蓋然性を特定する(ステップS71)。このために、取得部110は、
図7の受付配送テーブルから、注目配送DL3の配送ID「DL3」に対応付けられた配送先D3の位置情報を取得する。次に、取得部110は、
図11の配送履歴テーブルから、注目時間帯「16:00-17:00」を表す情報と、配送先D3の位置情報と、に対応付けられた配送実績を表す情報の取得を試行する。本実施例では、受取実績を表す情報が取得された場合を具体例として挙げて以下の説明を行う。
【0098】
このため、情報処理装置100の割当部130は、注目時間帯「16:00-17:00」において配送先D3へ配送された商品が受取人によって受け取られたという受取実績が有ると判別する。次に、取得部110は、
図12の再配送テーブルから、対面受取方法を表す情報と、受取実績が有ることを表す情報と、に対応付けられた再配送の蓋然性を表す値「PR2」を取得する。これにより、割当部130は、注目時間帯「16:00-17:00」における注目配送DL3の再配送の蓋然性が値「PR2」で表されることを特定する。
【0099】
次に、情報処理装置100の割当部130は、
図14の優先度定義テーブルから、再配送の蓋然性を表す値「PR2」と、盗難の蓋然性を表す値「PS1」と、に対応付けられた優先度「3」を取得する。これにより、情報処理装置100は、注目時間帯「16:00-17:00」における注目配送DL3の優先度を、3番目に高い優先度「3」に設定する(ステップS72)。その後、情報処理装置100は、
図15の設定優先度テーブルに、時間帯「16:00-17:00」を表す情報と、注目配送DL3の配送ID「DL3」と、優先度「3」を表す情報とを保存する。その後、情報処理装置100は、ステップS69に戻り上記処理を繰り返す。
【0100】
次に、情報処理装置100は、割当可能時間帯「17:00-18:00」及び「19:00-20:00」に注目していないと判別し(ステップS69;No)、割当可能時間帯「17:00-18:00」に注目する(ステップS70)。その後、情報処理装置100は、注目時間帯「17:00-18:00」における注目配送DL3の再配送の蓋然性を特定する(ステップS71)。このために、取得部110は、
図11の配送履歴テーブルから、注目時間帯「17:00-18:00」を表す情報と、配送先D3の位置情報と、に対応付けられた配送実績を表す情報の取得を試行する。本実施例では、受取実績を表す情報が取得されず、不在実績を表す情報が取得された場合を具体例として挙げて以下の説明を行う。
【0101】
このため、情報処理装置100の割当部130は、注目時間帯「17:00-18:00」において配送先D3へ配送された商品が受取人によって受け取られなかったという不在実績が有ると判別する。次に、取得部110は、
図12の再配送テーブルから、対面受取方法を表す情報と、不在実績が有ることを表す情報と、に対応付けられた再配送の蓋然性を表す値「PR4」を取得する。
【0102】
次に、情報処理装置100の割当部130は、
図14の優先度定義テーブルから、再配送の蓋然性を表す値「PR4」と、盗難の蓋然性を表す値「PS1」と、に対応付けられた優先度「5」を取得する。これにより、情報処理装置100は、注目時間帯「17:00-18:00」における注目配送DL3の優先度を、最も低い優先度「5」に設定する(ステップS72)。その後、情報処理装置100は、
図15の設定優先度テーブルに、時間帯「17:00-18:00」を表す情報と、配送ID「DL3」と、優先度「5」を表す情報とを保存する。その後、情報処理装置100は、ステップS69に戻り上記処理を繰り返す。
【0103】
次に、情報処理装置100は、割当可能時間帯「19:00-20:00」に注目していないと判別し(ステップS69;No)、割当可能時間帯「19:00-20:00」に注目する(ステップS70)。その後、情報処理装置100は、注目時間帯「19:00-20:00」における注目配送DL3の再配送の蓋然性を特定する(ステップS71)。このために、取得部110は、
図11の配送履歴テーブルから、注目時間帯「19:00-20:00」を表す情報と、配送先D3の位置情報と、に対応付けられた配送実績を表す情報の取得を試行する。本実施例では、受取実績を表す情報、及び、不在実績を表す情報の双方が取得されない場合を具体例として挙げて以下の説明を行う。
【0104】
このため、情報処理装置100の割当部130は、注目時間帯「19:00-20:00」において配送先D3へ商品が配送された配送実績が無いと判別する。次に、取得部110は、
図12の再配送テーブルから、対面受取方法を表す情報と、配送実績が無いことを表す情報と、に対応付けられた再配送の蓋然性を表す値「PR3」を取得する。
【0105】
次に、情報処理装置100の割当部130は、
図14の優先度定義テーブルから、再配送の蓋然性を表す値「PR3」と、盗難の蓋然性を表す値「PS1」と、に対応付けられた優先度「4」を取得する。これにより、情報処理装置100は、注目時間帯「19:00-20:00」における注目配送DL3の優先度を、4番目に高い優先度「4」に設定する(ステップS72)。その後、情報処理装置100は、
図15の設定優先度テーブルに、時間帯「19:00-20:00」を表す情報と、配送ID「DL3」と、優先度「4」を表す情報とを保存する。その後、情報処理装置100は、ステップS69に戻り上記処理を繰り返す。次に、情報処理装置100は、割当可能時間帯の全てに注目したと判別し(ステップS69;Yes)、ステップS63の処理から上記処理を繰り返す。
【0106】
次に、情報処理装置100は、未割当の配送DL4に注目していないと判別し(ステップS63;No)、未割当の配送DL4に注目する(ステップS64)。次に、情報処理装置100は、ステップS65及びS66の処理を実行した後に、ステップS69からS72の処理を3回実行する。
【0107】
このため、情報処理装置100は、割当可能時間帯「16:00-17:00」に注目し、注目された時間帯「16:00-17:00」における注目配送DL4の優先度を設定する。本実施例では、
図11の配送履歴テーブルにおいて、配送時間帯「16:00-17:00」を表す情報と、配送先D4を表す位置情報と、に対して、受取実績を表す情報が対応付けられていないが、不在実績を表す情報が対応付けられている場合を具体例として挙げて以下の説明を行う。このため、情報処理装置100は、注目時間帯「16:00-17:00」における注目配送DL4の優先度を、最も低い優先度「5」に設定する。次に、情報処理装置100は、
図15の設定優先度テーブルに、時間帯「16:00-17:00」を表す情報と、注目配送DL4の配送ID「DL4」と、優先度「5」を表す情報とを保存する。
【0108】
次に、情報処理装置100は、割当可能時間帯「17:00-18:00」及び「19:00-20:00」に順に注目し、注目された時間帯における注目配送DL4の優先度を設定する。本実施例では、
図11の配送履歴テーブルにおいて、配送時間帯「17:00-18:00」を表す情報、及び、配送時間帯「19:00-20:00」を表す情報と、配送先D4を表す位置情報と、に対して、受取実績を表す情報が対応付けられている場合を具体例として挙げて以下の説明を行う。このため、情報処理装置100は、注目時間帯「17:00-18:00」及び「19:00-20:00」における注目配送DL4の優先度を、3番目に高い優先度「3」に設定する。また、情報処理装置100は、設定優先度テーブルに、時間帯「17:00-18:00」を表す情報及び時間帯「19:00-20:00」を表す情報と、配送ID「DL4」と、優先度「3」を表す情報とを保存する。その後、情報処理装置100は、ステップS69に戻り上記処理を繰り返す。
【0109】
次に、情報処理装置100は、割当可能時間帯の全てに注目したと判別し(ステップS69;Yes)、ステップS63の処理から上記処理を繰り返す。その後、情報処理装置100は、未割当の配送DL1からDL4の全てに注目したと判別し(ステップS63;Yes)、優先度設定処理の実行を終了する。
【0110】
図10のステップS43で、優先度設定処理を実行した後に、情報処理装置100は、優先度に基づいて、時間帯指定無し、かつ、未割当の配送DL1からDL4を、割当可能時間帯「16:00-17:00」、「17:00-18:00」、及び、「19:00-20:00」に割り当てる、
図18に示すような配送割当処理を実行する(ステップS44)。
【0111】
配送割当処理の実行が開始されると、情報処理装置100の制御部140は、
図17のステップS62で特定された割当可能時間帯「16:00-17:00」、「17:00-18:00」、及び、「19:00-20:00」のいずれにも注目していないため、全ての割当可能時間帯に注目した訳では無いと判別する(ステップS81;No)。次に、制御部140は、未注目の割当可能時間帯「16:00-17:00」、「17:00-18:00」、及び、「19:00-20:00」の内で、開始時刻が最も早い割当可能時間帯「16:00-17:00」に注目する(ステップS82)。
【0112】
次に、情報処理装置100の割当部130は、時間帯指定無し、かつ、未割当の配送DL1からDL4の内で、注目時間帯「16:00-17:00」における優先度が最も高い配送に注目する(ステップS83)。このために、取得部110は、
図15の設定優先度テーブルから、注目時間帯「16:00-17:00」を表す情報に対応付けられた、配送ID「DL1」と優先度「1」との組み合わせ、配送ID「DL2」と優先度「2」との組み合わせ、配送ID「DL3」と優先度「3」との組み合わせ、及び、配送ID「DL4」と優先度「5」との組み合わせ、を取得する。次に、割当部130は、取得された優先度「1」から「3」及び「5」の内で、最も高い優先度「1」に組み合わされている配送ID「DL1」を特定し、配送ID「DL1」で識別される配送DL1に注目する。
【0113】
次に、情報処理装置100の割当部130は、注目時間帯「16:00-17:00」以降の割当可能時間帯「16:00-17:00」、「17:00-18:00」、及び、「19:00-20:00」において、注目配送DL1の優先度に時間変化が有るか否かを判別する(ステップS84)。このために、取得部110は、
図15の設定優先度テーブルから、割当可能時間帯「16:00-17:00」を表す情報と配送ID「DL1」とに対応付けられた優先度「1」、割当可能時間帯「17:00-18:00」を表す情報と配送ID「DL1」とに対応付けられた優先度「1」、及び、割当可能時間帯「19:00-20:00」を表す情報と配送ID「DL1」とに対応付けられた優先度「1」を取得する。次に、割当部130は、割当可能時間帯「16:00-17:00」における注目配送DL1の優先度、割当可能時間帯「17:00-18:00」における注目配送DL1の優先度、及び、割当可能時間帯「19:00-20:00」における注目配送DL1の優先度、が互いに同じ値「1」であるため、注目配送DL1の優先度に時間変化が無いと判別する(ステップS84;No)。
【0114】
次に、情報処理装置100の割当部130は、注目時間帯「16:00-17:00」以降の割当可能時間帯において、優先度に時間変化が有り、かつ、注目時間帯「16:00-17:00」の優先度が自己最高である、注目配送DL1と異なる配送(以下、他の配送という)が、未割当の配送DL1からDL4に存在するか否かを判別する(ステップS85)。このために、割当部130は、ステップS84で説明した処理と同様の処理を実行することで、未割当の配送DL2の優先度に時間変化が無いと判別する。
【0115】
また、情報処理装置100の取得部110は、
図15の設定優先度テーブルから、割当可能時間帯「16:00-17:00」を表す情報と配送ID「DL3」とに対応付けられた優先度「3」、割当可能時間帯「17:00-18:00」を表す情報と配送ID「DL3」とに対応付けられた優先度「5」、及び、割当可能時間帯「19:00-20:00」を表す情報と配送ID「DL3」とに対応付けられた優先度「4」を取得する。次に、割当部130は、割当可能時間帯「16:00-17:00」における注目配送DL3の優先度、割当可能時間帯「17:00-18:00」における注目配送DL3の優先度、及び、割当可能時間帯「19:00-20:00」における注目配送DL3の優先度、が互いに同じ値である訳では無いため、注目配送DL3の優先度に時間変化が有ると判別する。さらに、割当部130は、注目時間帯「16:00-17:00」における注目配送DL3の優先度「3」が、注目時間帯「16:00-17:00」以降の割当可能時間帯「16:00-17:00」、「17:00-18:00」、及び、「19:00-20:00」における注目配送DL3の優先度の内で、最高の優先度であると判別する。このため、割当部130は、注目時間帯「16:00-17:00」における注目配送DL3の優先度「3」が自己最高の優先度であると判別する。
【0116】
さらに、情報処理装置100の取得部110は、
図15の設定優先度テーブルから、割当可能時間帯「16:00-17:00」を表す情報と配送ID「DL4」とに対応付けられた最も低い優先度「5」、割当可能時間帯「17:00-18:00」を表す情報と配送ID「DL4」とに対応付けられた優先度「3」、及び、割当可能時間帯「19:00-20:00」を表す情報と配送ID「DL4」とに対応付けられた優先度「3」を取得する。次に、割当部130は、注目配送DL4の優先度に時間変化が有ると判別し、かつ、注目時間帯「16:00-17:00」における注目配送DL4の優先度「5」が自己最高の優先度では無いと判別する。
【0117】
これらのため、情報処理装置100の割当部130は、優先度に時間変化が有り、かつ、注目時間帯「16:00-17:00」の優先度が自己最高である他の配送DL3が存在すると判別する(ステップS85;Yes)。次に、割当部130は、注目配送DL1ではなく、他の配送DL3を注目時間帯「16:00-17:00」に割り当てる(ステップS86)。未割当の配送DL1からDL4の内で、注目時間帯「16:00-17:00」における優先度が最高である注目配送DL1ではなく、他の配送DL3が注目時間帯「16:00-17:00」に割り当てられるのは、配送効率の低下を抑制するためである。本実施例において、商品の配送効率は、単位時間当たり、又は、配送機600及び700による単位距離の移動当たり、配送機600及び700が受け渡す、又は、配送先に配置する商品の数で表される。
【0118】
すなわち、他の配送DL3の優先度は、注目時間帯「16:00-17:00」において自己最高となるため、他の配送DL3を注目時間帯「16:00-17:00」に割り当てれば、注目時間帯「16:00-17:00」と異なる割当可能時間帯「17:00-18:00」及び「19:00-20:00」に割り当てるよりも、商品G3の再配送が求められることをより抑制できるためである。これに対して、注目配送DL1の優先度には、時間変化が無いため、注目時間帯「16:00-17:00」以降の割当可能時間帯「16:00-17:00」、「17:00-18:00」、及び、「19:00-20:00」の内で、どの時間帯に注目配送DL1を割り当てても、商品G1の再配送を抑制できるからである。
【0119】
他の配送DL3を注目時間帯「16:00-17:00」に割り当てるために、情報処理装置100の割当部130は、
図5の時間帯テーブルにおいて、注目時間帯「16:00-17:00」を表す情報に対応付けられている文字列「NULL」を、他の配送DL3を識別する配送ID「DL3」と、割当済状態を表す状態情報と、に変更する。これにより、割当部130は、
図5に示した時間帯テーブルの16番目のレコードを、
図19に示すような時間帯テーブルの16番目のレコードに変更する。また、制御部140は、
図7の受付配送テーブルにおいて、配送ID「DL3」と対応付けられて保存されている状態情報を、割当済状態を表す状態情報に変更する。
【0120】
次に、情報処理装置100は、
図8のステップS23及びS22と同様の処理を実行することで、注目時間帯「16:00-17:00」の割当上限値「2」と、割当済配送数「2」と、を取得する(ステップS87及びS88)。注目時間帯「16:00-17:00」の割当済配送数「2」が取得されるのは、注目時間帯「16:00-17:00」には、配送DL5及びDL3が割り当てられているためである。その後、情報処理装置100の割当部130は、注目時間帯「16:00-17:00」の割当上限値「2」が割当済配送数「2」に等しいため、割当済配送数「2」が割当上限値「2」より少ない訳では無いと判別する(ステップS89;No)。このため、割当部130は、注目時間帯「16:00-17:00」に対してこれ以上の配送を割り当てることができないと判別し、ステップS81から上記処理を繰り返す。
【0121】
ステップS81において、情報処理装置100は、割当可能時間帯「17:00-18:00」、及び、「19:00-20:00」について注目していないと判別し(ステップS81;No)、割当可能時間帯「17:00-18:00」に注目する(ステップS82)。次に、情報処理装置100は、時間帯指定無し、かつ、未割当の配送DL1、DL2、及び、DL4の内で、注目時間帯「17:00-18:00」における優先度が最も高い配送DL1に注目する(ステップS83)。その後、情報処理装置100は、注目時間帯「17:00-18:00」以降の割当可能時間帯「17:00-18:00」及び「19:00-20:00」において、注目配送DL1の優先度に時間変化が無いと判別する(ステップS84;No)。
【0122】
次に、情報処理装置100の割当部130は、注目時間帯「17:00-18:00」以降の割当可能時間帯において、優先度に時間変化が有り、かつ、注目時間帯「17:00-17:00」の優先度が自己最高である、注目配送DL1と異なる他の配送が、未割当の配送DL1、DL2、及び、DL4に存在しないと判別する(ステップS85;No)。他の配送が存在しないと判別されるのは、注目時間帯「17:00-18:00」以降の割当可能時間帯「17:00-18:00」及び「19:00-20:00」において、未割当の配送DL2及びDL4の優先度に時間変化が無いからである。
【0123】
次に、情報処理装置100の割当部130は、注目配送DL1を注目時間帯「17:00-18:00」に割り当てるため(ステップS90)、
図5の時間帯テーブルにおいて、注目時間帯「17:00-18:00」を表す情報に対応付けられている文字列「NULL」を、注目配送DL1の配送ID「DL1」と、割当済状態を表す状態情報と、に変更する。これにより、割当部130は、
図5に示した時間帯テーブルの18番目のレコードを、
図19に示す時間帯テーブルの18番目のレコードに変更する。また、制御部140は、
図7の受付配送テーブルにおいて、配送ID「DL1」と対応付けられて保存されている状態情報を、割当済状態を表す状態情報に変更する。次に、情報処理装置100は、ステップS87からS89の処理を実行した後に、ステップS81から上記処理を繰り返す。
【0124】
情報処理装置100は、割当可能時間帯「19:00-20:00」について注目していないと判別し(ステップS81;No)、割当可能時間帯「19:00-20:00」に注目する(ステップS82)。次に、情報処理装置100は、時間帯指定無し、かつ、未割当の配送DL2及びDL4の内で、注目時間帯「19:00-20:00」における優先度が最も高い配送DL2に注目する(ステップS83)。その後、情報処理装置100は、注目時間帯「19:00-20:00」以降の割当可能時間帯「19:00-20:00」が1つであるので、注目配送DL2の優先度に時間変化が無いと判別する(ステップS84;No)。
【0125】
次に、情報処理装置100の割当部130は、注目時間帯「19:00-20:00」以降の割当可能時間帯において、優先度に時間変化が有り、かつ、注目時間帯「19:00-20:00」の優先度が自己最高である、注目配送DL2と異なる他の配送が存在しないと判別する(ステップS85;No)。他の配送が存在しないと判別されるのは、注目時間帯「19:00-20:00」以降の割当可能時間帯「19:00-20:00」が1つであるため、優先度に時間変化が有る配送も、注目時間帯「19:00-20:00」の優先度が自己最高である配送も、存在しないからである。
【0126】
次に、情報処理装置100の割当部130は、注目配送DL2を注目時間帯「19:00-20:00」に割り当てるため(ステップS90)、
図5の時間帯テーブルにおいて、注目時間帯「19:00-20:00」を表す情報が保存されている21番目及び22番目のレコードの内から1つを、予め定められた規則又はソフトウェア乱数に基づいて選択する。本実施例では、21番目のレコードが選択された場合を具体例として挙げて以下の説明を行う。その後、情報処理装置100の割当部130は、21番目のレコードにおいて、注目時間帯「19:00-20:00」を表す情報に対応付けられている文字列「NULL」を、注目配送DL2の配送ID「DL2」と、割当済状態を表す状態情報と、に変更する。また、制御部140は、
図7の受付配送テーブルにおいて、配送ID「DL2」と対応付けられて保存されている状態情報を、割当済状態を表す状態情報に変更する。
【0127】
次に、情報処理装置100は、注目時間帯「19:00-20:00」の割当上限値「2」を表す情報を取得し、割当済配送数「1」を計数する(ステップS87及びS88)。注目時間帯「19:00-20:00」の割当済配送数「1」が計数されるのは、注目時間帯「19:00-20:00」には、配送DL2しか割り当てられていないためである。その後、情報処理装置100の割当部130は、割当済配送数「1」が割当上限値「2」より少ないと判別した後に(ステップS89;Yes)、ステップS83から上記処理を繰り返す。
【0128】
次に、情報処理装置100は、最後まで残った未割当の配送DL4に注目した後に(ステップS83)、ステップS84、S85、及び、S90の処理を実行する。これにより、情報処理装置100の割当部130は、注目配送DL4を注目時間帯「19:00-20:00」に割り当てる。その後、情報処理装置100は、ステップS87からS89の処理を実行した後に、ステップS81から上記処理を繰り返す。ステップS81において、情報処理装置100は、割当可能時間帯の全てに注目したと判別し(ステップS81;Yes)、配送割当処理の実行を終了する。
図10のステップS44において、配送割当処理を実行した後、情報処理装置100は、割当処理の実行を終了する。
【0129】
情報処理装置100は、起動すると、配送の準備を行う、
図20に示すような準備処理を実行する。準備処理の実行が開始されると、情報処理装置100の取得部110は、例えば、OSからシステム時刻を表す情報を取得する(ステップS101)。次に、情報処理装置100の制御部140は、配送の準備を開始するタイミング(以下、準備開始タイミングという)が到来したか否かを判別する(ステップS102)。このために、取得部110は、準備時間「50分」を表す情報を情報記憶部190から取得し、制御部140は、取得された情報で表されるシステム時刻よりも準備時間「50分」遅い時刻以前に開始する時間帯に割り当てられており、かつ、未だ準備が開始されていない配送が存在するか否かを判別する。このために、取得部110は、
図19の時間帯テーブルから、システム時刻よりも準備時間「50分」遅い時刻以前の開始時刻を表す情報と、割当済状態を表す状態情報と、に対応付けられた機体IDと、配送IDと、の取得を試行する。
【0130】
このとき、機体IDと配送IDとが取得されないと、情報処理装置100は、準備開始タイミングが到来していないと判別し(ステップS102;No)、ステップS101から上記処理を繰り返す。これに対して、機体IDと配送IDとが取得されると、情報処理装置100は、準備開始タイミングが到来したと判別する(ステップS102;Yes)。本実施例では、
図19の時間帯テーブルから、時間帯「16:00-17:00」を表す情報と、割当済状態を表す状態情報と、に対応付けられた機体ID「600」と配送ID「DL5」との組み合わせと、機体ID「700」と配送ID「DL3」との組み合わせと、が取得される場合を具体例として挙げて以下の説明を行う。
【0131】
情報処理装置100の取得部110は、
図7の受付配送テーブルから、取得された配送ID「DL5」に対応付けられた商品ID「G5」と、配送ID「DL3」に対応付けられた商品ID「G3」と、を取得する。次に、制御部140は、取得された配送ID「DL5」で識別される配送DL5の準備と、配送ID「DL3」で識別される配送DL3の準備と、を指示する(ステップS103)。このために、制御部140は、商品ID「G5」と、機体ID「600」と、を含み、かつ、商品G5の探出及び運搬、並びに、商品G5の配送機600への格納を指示するメッセージをディスプレイパネル105bに表示させる。また、制御部140は、商品ID「G3」と、機体ID「700」と、を含み、かつ、商品G3の探出及び運搬、並びに、商品G3の配送機700への格納を指示するメッセージをディスプレイパネル105bに表示させる。次に、制御部140は、
図19の時間帯テーブル、及び、
図7の受付配送テーブルにおいて、配送ID「DL5」に対応付けられた状態情報と、配送ID「DL3」に対応付けられた状態情報と、を、準備中状態を表す状態情報に変更する。
【0132】
表示されたこれらのメッセージを視認した従業員は、商品G5及びG3を、例えば、倉庫の棚から探し出す。次に、従業員は、商品G5及びG3を、配送の開始位置Sに停車している配送機600及び700まで運搬する。その後、従業員は、
図1に示すような、配送機600の格納ボックス621に商品G5を格納させ、かつ、配送機700の格納ボックス721に商品G3を格納させる。その後、従業員は、商品G5の配送機600への格納と、商品G3の配送機700への格納と、が完了したことを表す信号を出力させる操作を情報処理装置100の入力装置105cに行う。
【0133】
情報処理装置100の入力装置105cが当該操作に応じた信号を出力すると、制御部140は、格納ボックス621の施錠を命じる施錠命令を、配送機600を宛先としてデータ通信回路104aに出力し、かつ、格納ボックス721の施錠を命じる施錠命令を、配送機700を宛先としてデータ通信回路104aに出力する(ステップS104)。次に、情報処理装置100のデータ通信回路104aは、施錠命令を配送機600及び700へ送信する。その後、制御部140は、
図19の時間帯テーブル、及び、
図7の受付配送テーブルにおいて、配送ID「DL5」に対応付けられた状態情報と、配送ID「DL3」に対応付けられた状態情報と、を、準備完了状態を表す状態情報に変更した後に、ステップS101から上記処理を繰り返す。
【0134】
情報処理装置100は、起動すると、2つのスレッド又はプロセスを生成し、双方のスレッド又はプロセスで、
図21に示すような移動制御処理を並列的に実行する。片方のスレッド又はプロセスでは、配送機600の制御を行うために移動制御処理を実行し、他方のスレッド又はプロセスでは、配送機700の制御を行うために移動制御処理を実行する。
【0135】
先ず、配送機600の制御を行うために実行される移動制御処理について説明する。移動制御処理の実行が開始されると、情報処理装置100の取得部110は、例えば、OSからシステム時刻を表す情報を取得する(ステップS111)。次に、情報処理装置100の制御部140は、商品の配送を開始するタイミング(以下、配送開始タイミングという)が到来したか否かを判別する(ステップS112)。このために、制御部140は、取得された情報で表されるシステム時刻以前に開始する時間帯に割り当てられており、準備が完了しており、かつ、配送機600によって行われる、配送が存在するか否かを判別する。このために、取得部110は、
図19の時間帯テーブルから、システム時刻以前の開始時刻を表す情報と、機体ID「600」と、準備完了状態を表す状態情報と、に対応付けられた配送IDの取得を試行する。
【0136】
このとき、配送IDが取得されないと、情報処理装置100は、配送開始タイミングが到来していないと判別し(ステップS112;No)、ステップS111から上記処理を繰り返す。これに対して、配送IDが取得されると、情報処理装置100は、配送開始タイミングが到来したと判別する(ステップS112;Yes)。本実施例では、システム時刻が時刻「16:00」であるため、予め定められた時間帯「16:00-17:00」の開始時刻「16:00」を表す情報と、機体ID「600」と、準備完了状態を表す状態情報と、に対応づけられた配送ID「DL5」が取得される場合を具体例として挙げて以下の説明を行う。
【0137】
次に、情報処理装置100の取得部110は、情報記憶部190から配送の開始位置Sを緯度、経度、及び、高度で表す位置情報を取得し、
図7の受付配送テーブルから、配送ID「DL5」に対応付けられた配送先D5の位置を緯度、経度、及び、高度で表す位置情報を取得する。その後、制御部140は、配送の開始位置Sから、配送先D5の位置に到る不図示の移動経路PSD5を決定する。このために、取得部110は、情報記憶部190が予め記憶している部分経路テーブルから複数のレコードを読み出す。部分経路テーブルには、例えば、道路、河原、又は、公園といった配送機600が移動可能な部分経路に関する情報が保存された複数のレコードが予め保存されている。部分経路テーブルの各レコードには、部分経路であるエッジの始点ノードの緯度、経度、及び、高度と、当該エッジの終点ノードの緯度、経度、及び、高度と、当該エッジの距離を表す情報と、が対応付けられて予め保存されている。
【0138】
次に、情報処理装置100の制御部140は、読み出された部分経路テーブルの各レコードに保存されているエッジの距離と、当該エッジの始点ノード及び終点ノードの緯度、経度、及び、高度と、配送の開始位置S及び配送先D5の位置の緯度、経度、及び、高度と、を用いて、例えば、ダイクストラ法といった公知の経路探索アルゴリズムを実行する。これにより、情報処理装置100の制御部140は、部分経路を組み合わせることで、配送の開始位置Sから配送先D5の位置へ到る最短の全体経路を移動経路PSD5に決定し、決定された移動経路PSD5を表す情報を生成する。移動経路PSD5を表す情報には、移動経路PSD5に含まれる複数のノードの位置を緯度、経度、及び、高度で表す位置情報と、複数のノードの到着順を表す情報と、が含まれている。
【0139】
次に、情報処理装置100の制御部140は、移動経路PSD5を表す情報を含み、かつ、当該移動経路PSD5を移動することを命じる移動命令を、配送機600を宛先としてデータ通信回路104aへ出力する(ステップS113)。その後、データ通信回路104aは、移動命令を配送機600へ送信する。このようにして、情報処理装置100の制御部140は、商品G5を搭載した配送機600に、配送の開始位置Sから配送先D5まで移動させる移動制御を行う。次に、制御部140は、
図19の時間帯テーブル、及び、
図7の受付配送テーブルにおいて、配送ID「DL5」に対応付けられた状態情報を、配送中状態を表す状態情報に変更する。
【0140】
次に、情報処理装置100の取得部110は、データ通信回路104aから到着報告を取得することを試行し、制御部140は、到着報告が取得されたか否かを判別する(ステップS114)。当該到着報告は、配送機600から受信される報告であり、かつ、配送先D5に配送機600が到着したことを告げる報告である。このとき、制御部140は、到着報告が取得されなかったと判別すると(ステップS114;No)、予め定められた時間に亘ってスリープしてから、ステップS114の処理を繰り返す。
【0141】
これに対して、到着報告が取得されたと判別されると(ステップS114;Yes)、情報処理装置100の制御部140は、移動制御が終了したと判別する。次に、取得部110は、
図7の受付配送テーブルから、配送ID「DL5」に対応付けられた配送方法を表す情報を取得し、制御部140は、取得された情報に基づいて、商品G5の配送方法として、対面受取方法が指定されていると判別する(ステップS115;Yes)。次に、情報処理装置100の取得部110は、情報記憶部190が配送先D5の位置を緯度、経度、及び、高度で表す位置情報に予め対応付けて記憶している配送先D5を住所で表す情報を取得する。次に、制御部140は、配送先D5を住所で表す情報と、商品G5の商品ID「G5」と、を含み、配送機600が配送先D5に到着したことを告げ、かつ、配送先D5に滞在する配送機600から、商品G5を受け取ることを求める受取要求を生成する。
【0142】
その後、情報処理装置100の制御部140は、予め定められた規則、又は、ソフトウェア乱数に基づいて、商品G5の受け取りに用いられるパスワードを生成する。次に、制御部140は、生成されたパスワードを表す情報を含み、かつ、配送機600にパスワードを入力して認証を受けることを求めるメッセージ(以下、認証を求めるメッセージという)を生成する。その後、情報処理装置100の取得部110は、
図7の受付配送テーブルから、配送ID「DL5」に対応付けられたユーザID「U5」を取得する。次に、制御部140は、生成された受取要求に対して、認証を求めるメッセージを追加する。その後、制御部140は、ユーザID「U5」で識別されるユーザU5の端末装置905を宛先としてデータ通信回路104aへ受取要求を出力する(ステップS116)。情報処理装置100のデータ通信回路104aは、出力された受取要求を端末装置905へ送信し、端末装置905は、受取要求を受信して表示する。
【0143】
受取要求が出力されると、情報処理装置100の制御部140は、不図示のハードウェアタイマー又はソフトウェアタイマーを用いて計時を開始する。その後、取得部110は、受渡時間の長さを表す情報を情報記憶部190から取得する。本実施例において、受渡時間の長さは、過去に観測された時間長であり、かつ、配送機600が、ユーザU5を含む複数のユーザに商品を受け渡すのに要した時間長の平均値「10分」に予め設定されているが、これに限定される訳では無い。受渡時間の長さは、過去に観測された時間長の中央値であっても良く、受渡時間のより好適な長さは、当業者が、実験により定めることができる。
【0144】
本実施例では、受取人が、受渡時間「10分」を経過するよりも前に、配送先D5に現れる場合を具体例として挙げて以下の説明を行う。受取人は、端末装置905の表示を視認し、受取要求に従って、パスワードを入力させるための操作を、配送先D5に滞在する配送機600に行う。配送機600は、当該操作に従って、入力されたパスワードを表す情報を含み、かつ、パスワードを用いた認証を行うことを要求する認証要求を情報処理装置100へ送信する。
【0145】
図21のステップS116で受取要求が出力された後、情報処理装置100の制御部140は、計時時間に基づいて、受取要求の出力から受渡時間「10分」が経過したか否かを判別する(ステップS117)。このとき、受渡時間「10分」が経過していないと判別されると(ステップS117;No)、取得部110は、認証要求をデータ通信回路104aから取得することを試行する。このとき、情報処理装置100は、認証要求が取得されないと、ステップS117から上記の処理を繰り返す。これに対して、認証要求が取得されると、制御部140は、取得された認証要求に含まれる情報で表されるパスワードと、受取要求に含まれる情報で表されるパスワードと、が一致するか否かに基づいて認証が成功したか否かを判別する(ステップS118)。このとき、これらのパスワードが一致しないため、認証が成功せず、失敗したと判別すると(ステップS118;No)、制御部140は、パスワード認証が失敗したことを告げる認証失敗報告を、配送機600を宛先としてデータ通信回路104aに出力する。その後、情報処理装置100は、ステップS117から上記処理を繰り返す。
【0146】
これに対して、情報処理装置100の制御部140は、2つのパスワードが一致するため、認証が成功したと判別すると(ステップS118;Yes)、格納ボックス621の解錠を命じる解錠命令を、配送機600を宛先としてデータ通信回路104aへ出力する(ステップS119)。情報処理装置100のデータ通信回路104aは、解錠命令を配送機600に送信し、配送機600は、解錠命令を受信すると、格納ボックス621を解錠して、商品G5を解放する。このようにして、制御部140は、商品G5を受取人に受け渡させる受渡制御を配送機600に行う。
【0147】
その後、情報処理装置100の取得部110は、配送機600から受信された受渡報告をデータ通信回路104aから取得することを試行し、制御部140は、受渡報告が取得されたか否かを判別する(ステップS120)。受渡報告は、商品G5が受取人に受け渡されたことを告げる報告である。このとき、情報処理装置100は、受渡報告が取得されなかったと判別すると(ステップS120;No)、予め定められた時間に亘ってスリープしてから、ステップS120の処理を繰り返す。これに対して、受渡報告が取得されたと判別されると(ステップS120;Yes)、情報処理装置100の制御部140は、配送DL5が完了したと判別する。次に、制御部140は、
図19の時間帯テーブル、及び、
図7の受付配送テーブルにおいて、配送ID「DL5」に対応付けられた状態情報を、配送完了状態を表す状態情報に変更する。
【0148】
次に、情報処理装置100の取得部110は、システム日付を表す情報を取得する。次に、制御部140は、配送DL5が行われた配送日を、取得された情報で表されるシステム日付とし、
図11の配送履歴テーブルに、配送DL5の配送日を表す情報と、配送DL5の配送時間帯「16:00-17:00」を表す情報と、配送先D5の位置情報と、受取実績を表す情報と、を対応付けて保存する(ステップS121)。
【0149】
次に、情報処理装置100の制御部140は、ステップS113で説明した処理と同様の処理を実行することで、配送先D5から配送の開始位置Sに到る不図示の移動経路PD5Sを表す情報を生成する。次に、制御部140は、生成された移動経路PD5Sを表す情報を含み、かつ、移動経路PD5Sを移動して配送の開始位置Sまで帰還することを命じる帰還命令を、配送機600を宛先としてデータ通信回路104aへ出力する(ステップS122)。その後、情報処理装置100のデータ通信回路104aは、当該帰還命令を配送機600へ送信する。このようにして、制御部140は、配送先D5から配送の開始位置Sへ帰還させる帰還制御を配送機600に行う。
【0150】
次に、情報処理装置100は、ステップS114と同様の処理を実行することで、配送の開始位置Sに配送機600が到着したことを告げる到着報告が取得されたか否かを判別する(ステップS123)。このとき、情報処理装置100は、到着報告が取得されなかったと判別すると(ステップS123;No)、予め定められた時間に亘ってスリープしてから、ステップS123の処理を繰り返す。これに対して、到着報告が取得されたと判別されると(ステップS123;Yes)、情報処理装置100の制御部140は、帰還制御が終了したと判別する。その後、情報処理装置100は、ステップS111から上記処理を繰り返す。
【0151】
配送機700の制御を行うために実行される移動制御処理は、配送機600の制御を行うために実行される移動制御処理と同様である。このため、情報処理装置100は、配送機700の制御を行うために、
図21に示した移動制御処理の実行を開始する。その後、情報処理装置100は、ステップS111及びS112の処理を実行することで、配送開始タイミングが到来したか否かを判別する。本実施例では、配送機700によって行われる時間帯「16:00-17:00」に割り当てられた配送DL3の配送開始タイミングが到来したと判別される場合を具体例として挙げて以下の説明を行う。
【0152】
このため、情報処理装置100は、ステップS113の処理を実行することで、商品G3を搭載した配送機700に、配送の開始位置Sから配送先D3まで移動させる移動制御を行う。次に、情報処理装置100は、ステップS114からS119の処理を実行することで、商品G3を配送先D3で受取人に受け渡させる受渡制御を配送機700に行う。その後、情報処理装置100は、ステップS120からS122の処理を実行することで、配送の開始位置Sまで配送先D3から帰還させる帰還制御を配送機700に行う。その後、情報処理装置100は、到着報告が取得されたと判別すると(ステップS123;Yes)、ステップS111から上記処理を繰り返す。
【0153】
配送機600は、例えば、無人地上車両であり、無人で地上を走行可能な走行機である。配送機600は、
図22に示すような車輪601及び602を含む複数の車輪を備える車台610と、車台610の上面に設置された格納庫620と、格納庫620に内蔵された情報処理装置690と、を備える。配送機600の格納庫620は、格納ボックス621を備える。格納ボックス621の箱体は、不図示の背板と、底板、天板、及び、並びに、2枚の側板を備え、これらの板により閉塞されて前方が開放された空間を形成している。2枚の側板は、互いに平行となり、かつ、背板と垂直となるように、背板に固定されている。また、底板及び天板は、2枚の側板、及び、背板と垂直となるように、2枚の側板、及び、背板に固定されている。
【0154】
格納ボックス621箱体の開口部には、扉621aと、扉621aを受け止める扉枠621bと、が設置されている。扉621aは、カンヌキであるデッドボルト621cを備え、扉枠621bは、デッドボルト621cの受座であるストライク621dを備える。扉621aは、配送機600の情報処理装置690から出力される信号に従って、デッドボルト621cをストライク621dへ挿入させる不図示のモータをさらに備えている。また、当該モータは、情報処理装置690から出力される信号に従って、デッドボルト621cをストライク621dから抜出させる。デッドボルト621cがストライク621dへ挿入されると、格納ボックス621の扉621aが施錠される。デッドボルト621cがストライク621dから抜出されると、格納ボックス621の扉621aが解錠される。
【0155】
配送機600は、車台610の前面に設置されたLiDAR(Light Detection and Ranging)センサ641と、車台610の後面に設置された不図示のLiDARセンサと、をさらに備える。配送機600が備える前面のLiDARセンサ641は、配送機600の前方向を基準の方位として用いる場合に、当該基準の方位となす方位角が-90度から+90度まで、かつ、配送機600の前方向となす仰角が-90度から+90度までの範囲に含まれる複数の方向へレーザー光を照射する。前面のLiDARセンサ641は、照射されたレーザー光の反射光を受光し、レーザー光の照射から反射光の受光までの時間に基づいて、レーザー光が反射された複数の反射点までの距離を計測する。次に、前面のLiDARセンサ641は、レーザー光の照射方向と計測された距離とに基づいて、配送機600の中心点を原点として用いた三次元座標系における座標値を、複数の反射点について算出する。その後、前面のLiDARセンサ641は、算出された複数の反射点の座標値を配送機600の情報処理装置690へ出力する。
【0156】
配送機600が備える後面のLiDARセンサは、配送機600の後方向を基準の方位として用いる場合に、当該基準の方位となす方位角が-90度から+90度まで、かつ、配送機600の後方向となす仰角が-90度から+90度までの範囲に含まれる複数の方向へ赤外線のレーザー光を照射する。また、後面のLiDARセンサは、照射されたレーザー光の複数の反射点について配送機600の三次元座標系における座標値を算出し、算出された複数の反射点の座標値を配送機600の情報処理装置690へ出力する。
【0157】
配送機600が備える前面のLiDARセンサ641及び後面のLiDARセンサが複数の反射点の座標値を情報処理装置690へ出力するのは、例えば、障害物等の物体を回避して走行するために、配送機600の情報処理装置690が、配送機600を基準として用いた全方向にある物体の三次元空間における座標値及びサイズ等を特定するためである。
【0158】
配送機600は、格納庫620の上面に設置されたロボットアーム670を備えている。ロボットアーム670は、垂直多関節ロボットであり、配送機600の情報処理装置690から出力される制御信号に従って不図示のモータを駆動させる駆動回路と、モータによって平行に開閉させられる二爪式のグリッパー671と、を備える。配送機600のロボットアーム670は、グリッパー671に搭載され、かつ、グリッパー671の爪先が撮像範囲に含まれるように光軸及び画角が調整された撮像装置680と、不図示のモータによって可動させられる複数の関節構造及び関節構造を中心として可動する複数のアーム672と、を備える。グリッパー671は、二爪式に限定される訳でなく、三本以上の爪を有しても良いし、二本の爪の代わりに複数本の指を有しても良い。
【0159】
配送機600のロボットアーム670が備える撮像装置680は、デジタル式のステレオカメラであり、配送機600の情報処理装置690から出力される信号に応じて撮像を行い、互いに視差を有する2つの画像を表す画像信号を情報処理装置690へ出力する。このような信号が情報処理装置690へ出力されるのは、2つの画像が有する視差に基づいて、グリッパー671の摘持対象物とされる商品の三次元空間における位置座標及びサイズ等を情報処理装置690が特定するためである。
【0160】
配送機600の情報処理装置690は、
図23に示すようなハードウェアであるCPU691、RAM692、ROM693a、フラッシュメモリ693b、データ通信回路694a、ビデオカード695a、ディスプレイパネル695b、入力装置695c、位置計測回路696、入出力ポート698、及び、駆動回路699を備える。本実施例では、配送機600は、1つのCPU691を備えるが、複数のCPUを備えても良い。また、配送機600は、複数のRAM及びフラッシュメモリを備えても良い。
【0161】
配送機600が備えるCPU691、RAM692、ROM693a、データ通信回路694a、ビデオカード695a、及び、ディスプレイパネル695bの構成及び機能は、情報処理装置100が備えるCPU101、RAM102、ROM103a、データ通信回路104a、ビデオカード105a、及び、ディスプレイパネル105bの構成及び機能と同様である。配送機600が備えるフラッシュメモリ693bは、各種のプログラムと、プログラムの実行に用いられる各種のデータ及びデータが保存されたテーブルと、を記憶している。入力装置695cは、タッチパッド、及び、ボタンの少なくとも1つであり、倉庫の従業員の操作に応じた信号を出力する。
【0162】
配送機600の位置計測回路696は、QZSS(Quasi-Zenith Satellite System)回路である。位置計測回路696は、準天頂衛星から発せられた信号を受信し、受信された信号に基づいて配送機600の位置を表す緯度、経度、及び、高度を計測し、計測された緯度、経度、及び、高度を表す信号を出力する。位置計測回路696は、QZSS回路ではなく、GPS(Global Positioning System)衛星から発せられたGPS信号を受信し、受信されたGPS信号に基づいて配送機600の位置を表す緯度、経度、及び、高度を計測するGPS回路であっても良い。
【0163】
配送機600の入出力ポート698は、前面のLiDARセンサ641及び後面のLiDARセンサとそれぞれ接続された不図示のケーブルに接続されている。入出力ポート698は、前面のLiDARセンサ641及び後面のLiDARセンサがそれぞれ出力する座標値を表す信号をCPU691へ入力する。また、入出力ポート698は、ロボットアーム670と接続された不図示のケーブルに接続されており、CPU691が出力する制御信号をロボットアーム670へ入力する。また、入出力ポート698は、ロボットアーム670が備える撮像装置680から出力される画像信号をCPU691へ入力する。
【0164】
配送機600の駆動回路699は、複数の車輪を回転させる不図示のモータにそれぞれ接続された不図示のケーブルに接続されている。駆動回路699は、CPU691が出力する制御信号に従って当該モータを駆動させることで、複数の車輪を回転させる。また、配送機600の駆動回路699は、格納ボックス621が備える不図示のモータに接続されたケーブルに接続されている。駆動回路699は、CPU691が出力する信号に従って当該モータを駆動させることで、格納ボックス621を施錠又は解錠する。
【0165】
図20のステップS103で行われる指示に従って、配送機600の格納ボックス621に商品G5が格納された後、配送機600のデータ通信回路694aは、ステップS104で出力された施錠命令を受信する。次に、配送機600のCPU691は、施錠命令をデータ通信回路694aから取得し、取得された施錠命令に従って、格納ボックス621を施錠させる制御信号を駆動回路699へ出力する。これにより、配送機600は、格納ボックス621を施錠する。
【0166】
その後、配送機600のデータ通信回路694aが、
図21のステップS113で送信された移動命令を情報処理装置100から受信すると、移動命令に従って、配送の開始位置Sから配送先D5へ移動するため、配送機600のCPU691は、
図24に示すような移動処理を実行する。移動処理の実行を開始すると、配送機600のCPU691は、データ通信回路694aから移動命令を取得し(ステップS131)、取得された移動命令から移動経路PSD5を表す情報を取得する(ステップS132)。
【0167】
次に、配送機600のCPU691は、位置計測回路696から出力される信号に基づいて、配送機600の緯度、経度、及び、高度を特定する。その後、CPU691は、特定された緯度、経度、及び、高度と、移動経路PSD5に含まれる1又は複数の未到着のノードの内で最も到着順が早いノードの緯度、経度、及び、高度と、の相違を縮小させるように移動するための制御信号を生成する。その後、CPU691は、生成された制御信号を駆動回路699へ出力する(ステップS133)。これにより、配送機600は、複数の車輪を回転させて、移動経路PSD5を順行移動する。
【0168】
その後、配送機600のCPU691は、移動経路PSD5に含まれる1又は複数のノードの全てに到着したか否かに基づいて、移動経路PSD5の終点である配送先D5に到着したか否かを判別する(ステップS134)。このとき、1又は複数のノードの全てに到着した訳ではないため、終点に到着していないと判別すると(ステップS134;No)、ステップS133から上記処理を繰り返す。
【0169】
これに対して、配送機600のCPU691は、1又は複数のノードの全てに到着したため、終点に到着したと判別すると(ステップS134;Yes)、複数の車輪の回転を停止させるための制御信号を駆動回路699へ出力する。これにより、配送機600は、移動経路PSD5の終点で駐車又は停車を行うことで、当該終点での滞在を開始する。その後、CPU691は、配送機600が当該終点に到着したことを告げる到着報告を、情報処理装置100を宛先としてデータ通信回路694aへ出力してから(ステップS135)、移動処理の実行を終了する。その後、配送機600のデータ通信回路694aは、情報処理装置100へ到着報告を送信する。
【0170】
配送機600が配送先D5に到着すると、配送先D5で配送機600を待っていた、又は、配送機600の到着後に配送先D5に到着した受取人は、パスワードを入力するための操作を配送機600に行う。配送機600の入力装置695cが、受取人の操作に応じた信号を出力すると、配送機600のCPU691は、商品G5を受取人に受け渡すため、
図25に示すような受渡処理を実行する。受渡処理の実行を開始すると、配送機600のCPU691は、入力装置695cが出力する信号に基づいて、入力されたパスワードを取得する(ステップS141)。次に、配送機600のCPU691は、取得されたパスワードを表す情報を含み、かつ、パスワードを用いた認証を要求する認証要求を、情報処理装置100を宛先としてデータ通信回路694aへ出力する(ステップS142)。配送機600のデータ通信回路694aは、認証要求を情報処理装置100へ送信する。
【0171】
配送機600のCPU691は、認証要求を出力してから、予め定められた時間が経過しても、パスワード認証が失敗したことを告げる認証失敗報告、及び、パスワード認証が成功した場合に送信される解錠命令のどちらもデータ通信回路694aが受信しない場合、又は、認証要求を出力してから予め定められた時間が経過する前に、認証失敗報告をデータ通信回路694aが受信する場合に、パスワード認証が失敗したと判別する(ステップS143;No)。次に、配送機600のCPU691は、認証が失敗したことを知らせるメッセージと、パスワードの再入力を促すメッセージと、をディスプレイパネル695bに表示させた後に(ステップS144)、ステップS141から上記処理を繰り返す。
【0172】
これに対して、配送機600のCPU691は、認証要求を出力してから予め定められた時間が経過する前に、解錠命令をデータ通信回路694aが受信する場合に、パスワード認証が成功したと判別する(ステップS143;Yes)。その後、配送機600のCPU691は、データ通信回路694aから解錠命令を取得し(ステップS145)、取得された解錠命令に従って、格納ボックス621を解錠させる制御信号を駆動回路699へ出力する。これにより、配送機600は、格納ボックス621を解錠する(ステップS146)。
【0173】
受取人は、解錠された格納ボックス621から商品G5を受け取る。その後、受取人は、受け取りの完了を表す信号を出力させるための操作を配送機600の入力装置695cに行う。配送機600のCPU691は、入力装置695cが受け取りの完了を表す信号を出力したか否かを判別する(ステップS147)。このとき、受け取りの完了を表す信号が出力されていないと判別すると(ステップS147;No)、配送機600のCPU691は、予め定められた時間に亘りスリープした後に、ステップS147の処理を繰り返す。これに対して、受け取りの完了を表す信号が出力されていると判別すると(ステップS147;Yes)、CPU691は、商品G5が受取人へ受け渡されたことを告げる受渡報告を生成する。その後、CPU691は、情報処理装置100を宛先として受渡報告をデータ通信回路694aへ出力する(ステップS148)。次に、配送機600のデータ通信回路694aが受渡報告を情報処理装置100へ送信した後に、配送機600のCPU691は、受渡処理の実行を終了する。
【0174】
その後、配送機600のデータ通信回路694aが、
図21のステップS122で送信された帰還命令を情報処理装置100から受信すると、帰還命令に従って、配送先D5から配送の開始位置Sへ移動するため、配送機600のCPU691は、
図24に示した移動処理を実行する。
【0175】
配送機700の構成及び機能は、配送機600の構成及び機能と同様である。配送機700の格納ボックス721に商品G3が格納された後、配送機700は、
図20のステップS104で出力された施錠命令を受信する。次に、配送機700は、施錠命令に従って、格納ボックス721を施錠する。その後、配送機700は、
図21のステップS113で送信された移動命令を受信すると、
図24に示した移動処理を実行することで、配送先D3へ移動する。配送機700が配送先D3に到着し、受取人によって操作されると、配送機700は、
図25に示した受渡処理を実行することで、商品G3を受取人に受け渡す。その後、配送機700は、
図21のステップS122で送信された帰還命令を受信すると、
図24に示した移動処理を実行することで、配送の開始位置Sへ帰還する。
【0176】
端末装置901は、例えば、スマートフォン、又は、タブレット型若しくはノートブック型のパーソナルコンピュータである。端末装置901は、ハードウェアである不図示のCPU、RAM、ROM、フラッシュメモリ、データ通信回路、音声通信回路、ビデオカード、ディスプレイパネル、入力装置、位置計測回路、撮像装置、スピーカ、及び、マイクロフォンを備える。端末装置901は、複数のCPUを備えても良いし、複数のRAM及びフラッシュメモリを備えても良い。
【0177】
端末装置901のCPU、RAM、ROM、フラッシュメモリ、データ通信回路、ビデオカード、ディスプレイパネル、入力装置、及び、位置計測回路の構成及び機能は、配送機600のCPU691、RAM692、ROM693a、フラッシュメモリ693b、データ通信回路694a、ビデオカード695a、ディスプレイパネル695b、入力装置695c、及び、位置計測回路696の構成及び機能と同様である。
【0178】
端末装置901の音声通信回路は、不図示の基地局と電波を用いた音声通信を行う。端末装置901の撮像装置は、デジタルカメラであり、撮像により得られた画像を表す信号を出力する。端末装置901のスピーカは、CPUが出力する信号に従って音声を出力し、端末装置901のマイクロフォンは、端末装置901の周囲の音声を表す信号を出力する。端末装置902から905の構成及び機能は、端末装置901の構成及び機能と同様である。
【0179】
これらの構成によれば、情報処理装置100は、時間帯指定有りの配送要求と、時間帯指定無しの配送要求と、を取得する取得部110を備える。また、情報処理装置100は、時間帯指定有りの配送DL5について、配送時間帯を指定時間帯「16:00-17:00」に割り当てる割当部130を備える。さらに、取得部110は、時間帯指定有りの配送DL5が指定時間帯「16:00-17:00」に割り当てられた後に、指定時間帯「16:00-17:00」の割当上限値「2」を表す情報を取得する。また、割当部130は、取得された情報で表される割当上限値「2」よりも割当済配送数「1」の方が小さいと、時間帯指定無しの配送DL3について、配送時間帯を指定時間帯「16:00-17:00」に割り当てる。このため、情報処理装置100は、時間帯「16:00-17:00」が指定されている配送DL5と、時間帯が指定されていない配送DL3と、について、配送時間帯を割り当てることができる。
【0180】
情報処理装置100の取得部110は、1つの時間帯指定有りの配送要求と、複数の時間帯指定無しの配送要求と、を取得し、割当部130は、1つの時間帯指定有りの配送DL5を指定時間帯「16:00-17:00」に割り当てる。さらに、取得部110は、時間帯指定有りの配送DL5が指定時間帯「16:00-17:00」に割り当てられると、システム時刻「13:30」を表す情報を取得する。また、割当部130は、取得された情報で表されるシステム時刻「13:30」よりも後の開始時刻に開始し、かつ、予め定められた終了時刻「20:00」に終了する割当期間「14:30-20:00」に含まれる複数の割当候補時間帯「15:00-16:00」から「19:00-20:00」を特定する。さらに、割当部130は、特定された複数の割当候補時間帯「15:00-16:00」から「19:00-20:00」について、割当済配送数の総和「6」と、割当上限値の総和「10」と、を算出し、かつ、複数の時間帯指定無しの配送DL1からDL4の数「4」を算出する。また、割当部130は、算出された割当済配送数の総和「6」と、複数の時間帯指定無しの配送DL1からDL4の数「4」と、の和「10」が、割当上限値の総和「10」と等しくなる割当タイミングが到来すると、複数の時間帯指定無しの配送DL1からDL4を、複数の割当候補時間帯「15:00-16:00」から「19:00-20:00」に割り当てる。このため、情報処理装置100は、時間帯指定有りの配送を指定時間帯に、従来よりも確実に割り当てながら、時間帯指定無しの配送を、予め定められた終了時刻「20:00」までに終了する時間帯に、従来よりも確実に割り当てることができる。
【0181】
情報処理装置100の割当部130は、割当可能時間帯「16:00-17:00」における配送DL1の優先度「1」と、割当可能時間帯「16:00-17:00」における配送DL3の優先度「3」と、を、割当可能時間帯「16:00-17:00」における配送DL1の再配送の蓋然性と、割当可能時間帯「16:00-17:00」における配送DL3の再配送の蓋然性と、に基づいて設定する。また、割当部130は、割当可能時間帯「17:00-18:00」における配送DL1の優先度「1」と、割当可能時間帯「17:00-18:00」における配送DL3の優先度「5」と、を、割当可能時間帯「17:00-18:00」における配送DL1の再配送の蓋然性と、割当可能時間帯「17:00-18:00」における配送DL3の再配送の蓋然性と、に基づいて設定する。さらに、割当部130は、割当可能時間帯「16:00-17:00」における配送DL1の優先度が、割当可能時間帯「17:00-18:00」における配送DL1の優先度と同じ値「1」であり、かつ、割当可能時間帯「16:00-17:00」における配送DL1の優先度「1」が、割当可能時間帯「16:00-17:00」における配送DL3の優先度「3」よりも高い場合に、割当可能時間帯「16:00-17:00」における配送DL3の優先度「3」が、割当可能時間帯「17:00-18:00」における配送DL3の優先度「5」より高いと、配送DL3を配送DL1よりも優先して、割当可能時間帯「16:00-17:00」に割り当てる。また、情報処理装置100は、時間帯指定有りの配送DL5と、時間帯指定無しの配送DL3と、が指定時間帯「16:00-17:00」に割り当てられると、時間帯指定有りの配送DL5が求められた商品G5と、時間帯指定無しの配送DL3が求められた商品G3と、を、指定時間帯「16:00-17:00」において配送させる制御を配送機600及び700に行う制御部140をさらに備える。
【0182】
これらのため、情報処理装置100は、配送される商品の配送効率の低下を抑制できる。すなわち、割当可能時間帯「16:00-17:00」における配送DL3の優先度は、割当可能時間帯「17:00-18:00」における配送DL3の優先度よりも高く、かつ、優先度は、再配送の蓋然性に基づいて設定される。このため、情報処理装置100は、配送DL3を割当可能時間帯「16:00-17:00」に割り当てることで、割当可能時間帯「17:00-18:00」に割り当てるよりも、商品G3の再配送が求められることをより抑制できる。これに対して、割当可能時間帯「16:00-17:00」における配送DL1の優先度は、割当可能時間帯「17:00-18:00」における配送DL1の優先度と同じ値である。このため、情報処理装置100は、配送DL1を割当可能時間帯「16:00-17:00」に割り当てても、割当可能時間帯「17:00-18:00」に割り当てても、商品G1の再配送が求められることを抑制できる。
【0183】
配送DL3を求める時間帯指定無しの配送要求は、配送方法として、商品G3の配送先D3で受取人が商品G3を受け取るという対面受取方法を指定する。また、情報処理装置100の割当部130は、割当可能時間帯「16:00-17:00」における配送DL3の再配送の蓋然性を、割当可能時間帯「16:00-17:00」における配送先D3への配送履歴に基づいて特定し、かつ、割当可能時間帯「17:00-18:00」における配送DL3の再配送の蓋然性を、割当可能時間帯「17:00-18:00」における配送先D3への配送履歴に基づいて特定する。このため、情報処理装置100は、配送DL3が行われた場合における商品G3の再配送が求められる蓋然性を、従来よりも精度良く特定できる。
【0184】
<実施例の変形例1>
実施例では、時間帯指定無し、かつ、未割当の配送の割り当てが行われる割当タイミングは、割当済配送数の総和と、未割当の配送の数と、の和が、割当上限値の総和と等しくなるタイミングであると説明した。
【0185】
しかし、これに限定される訳では無く、本変形例では、割当タイミングは、配送機600によって行われる配送、及び、配送機700によって行われる配送の少なくも1つが割り当てられていない予め定められた時間帯について、時間帯指定有りの配送の割り当てが締め切られるタイミングである。
【0186】
このために、本変形例に係る情報処理装置100は、起動すると、不図示の割当処理を実行する。割当処理の実行を開始すると、情報処理装置100は、
図26に示すようなタイミング判定処理を実行する。タイミング判定処理の実行を開始すると、情報処理装置100の制御部140は、
図9のステップS35と同様の処理を実行することで、時間帯指定無しであり、かつ、未割当である配送の数を計数し、計数された数が値「0」であるか否かを判別する。このとき、制御部140は、計数された数が値「0」であるため、時間帯指定無し、かつ、未割当の配送が存在しないと判別すると(ステップS151;No)、予め定められた時間に亘ってスリープしてから、ステップS151の処理を繰り返す。これに対して、計数された数が値「0」で無いため、時間帯指定無し、かつ、未割当の配送が存在すると判別されると(ステップS151;Yes)、情報処理装置100の取得部110は、システム時刻を表す情報を取得する(ステップS152)。本変形例では、実施例と同様に、時間帯指定無し、かつ、未割当の配送DL1からDL4が存在する場合を具体例として挙げて以下の説明を行う。
【0187】
次に、情報処理装置100の制御部140は、11個の予め定められた時間帯「09:00-10:00」から「19:00-20:00」の内で、配送機600によって行われる配送と、配送機700によって行われる配送と、の少なくとも1つが割り当てられておらず、かつ、時間帯指定有りの配送の割り当てが締め切られる締切タイミングが到来した時間帯が存在するか否かを判別する(ステップS153)。本変形例では、締切タイミングは、時間帯指定有りの配送の割り当てが締め切られるタイミングであるが、時間帯指定無しの配送DL1からDL4の割り当てが開始されるタイミングでもある。また、ある時間帯の締切タイミングの具体例として、本変形例では、割当・準備時間「1時間」だけ当該時間帯の開始時刻よりも前の時刻に、システム時刻が等しくなるタイミングを挙げて以下の説明を行う。しかし、当該時間帯の締切タイミングは、当該時間帯の開始時刻よりも「1時間」前の時刻にシステム時刻が等しくなるタイミングに限定される訳では無く、当業者は、好適な締切タイミングを実験により定めることができる。
【0188】
このために、情報処理装置100の取得部110は、
図5の時間帯テーブルから、取得された情報で表されるシステム時刻よりも「1時間」後の時刻以前に開始する時間帯を表す情報と、配送機600又は700によって行われる配送が当該時間帯に割り当てられていないことを表す文字列「NULL」と、が保存されているレコードの取得を試行する。このとき、レコードが取得されないと、制御部140は、配送機600によって行われる配送と、配送機700によって行われる配送と、の少なくとも一方が割り当てられておらず、かつ、締切タイミングが到来した時間帯が存在しないと判別する(ステップS153;No)。このため、割当部130は、割当タイミングが到来していないと判別し(ステップS154)、割当タイミングが到来していないことを表す値を、タイミング判定処理の返値に設定する。その後、情報処理装置100は、タイミング判定処理の実行を終了する。タイミング判定処理を実行した後に、情報処理装置100は、タイミング判定処理の返値が、割当タイミングが到来していないことを表す値であると判別すると、予め定められた時間に亘りスリープした後に、
図26に示したタイミング判定処理を再度実行する。
【0189】
これに対して、レコードが取得されると、情報処理装置100の制御部140は、配送機600によって行われる配送と、配送機700によって行われる配送と、の少なくとも一方が割り当てられておらず、かつ、締切タイミングが到来した時間帯が存在すると判別する(ステップS153;Yes)。本変形例では、
図5の時間帯テーブルから16番目のレコードが取得された場合を具体例として挙げて以下の説明を行う。次に、制御部140は、取得された16番目のレコードに保存されている状態情報を、締切タイミングが到来した状態(以下、締切状態という)を表す情報に変更する。
【0190】
このため、情報処理装置100の制御部140は、取得された16番目のレコードに保存されている情報で表される時間帯「16:00-17:00」の締切タイミングが到来したと判別する。次に、制御部140は、締切タイミングが到来した予め定められた時間帯(以下、締切時間帯という)「16:00-17:00」に、時間帯指定無しの配送DL1からDL4を割り当てる割当タイミングが到来したと判別し(ステップS155)、割当タイミングの到来を表す値を、タイミング判定処理の返値に設定する。その後、情報処理装置100は、タイミング判定処理の実行を終了する。
【0191】
タイミング判定処理を実行した後に、情報処理装置100は、タイミング判定処理の返値が割当タイミングの到来を表す値であると判別する。次に、情報処理装置100は、時間帯指定無し、かつ、未割当の配送DL1からDL4について優先度を設定するため、
図17の優先度設定処理を実行する。その後、情報処理装置100は、設定された優先度に基づいて、配送DL1からDL4のいずれか1つを締切時間帯「16:00-17:00」に割り当てるため、
図27に示すような配送割当処理を実行する。
【0192】
図27の配送割当処理の実行を開始すると、情報処理装置100は、
図18のステップS83と同様の処理を実行する。これにより、割当部130は、時間帯指定無し、かつ、未割当の配送DL1からDL4の内で、締切時間帯「16:00-17:00」における優先度が最も高い配送に注目する(ステップS161)。本変形例では、実施例と同様に、配送DL1に注目する場合を具体例として挙げて以下の説明を行う。
【0193】
次に、情報処理装置100は、
図18のステップS84と同様の処理を実行する。これにより、割当部130は、締切時間帯「16:00-17:00」以降の割当可能時間帯「16:00-17:00」、「17:00-18:00」、及び、「19:00-20:00」において、注目配送DL1の優先度に時間変化が有るか否かを判別する(ステップS162)。本変形例では、実施例と同様に、注目配送DL1の優先度に時間変化が無い場合を具体例として挙げて以下の説明を行う。
【0194】
このため、情報処理装置100は、注目配送DL1の優先度に時間変化が無いと判別すると(ステップS162;No)、
図18のステップS85と同様の処理を実行する。これにより、割当部130は、締切時間帯「16:00-17:00」以降の割当可能時間帯において、優先度に時間変化が有り、かつ、締切時間帯「16:00-17:00」の優先度が自己最高である、注目配送DL1と異なる他の配送が、未割当の配送DL1からDL4に存在するか否かを判別する(ステップS163)。本変形例では、実施例と同様に、優先度に時間変化が有り、かつ、締切時間帯「16:00-17:00」の優先度が自己最高である他の配送DL3が存在する場合を具体例として挙げて以下の説明を行う。
【0195】
このため、情報処理装置100の割当部130は、他の配送DL3が存在すると判別すると(ステップS163;Yes)、他の配送DL3を締切時間帯「16:00-17:00」に割り当てる(ステップS164)。その後、情報処理装置100は、
図18のステップS87及びS88と同様の処理を実行することで、締切時間帯「16:00-17:00」の割当上限値「2」を表す情報を取得し(ステップS165)、割当済配送数を計数する(ステップS166)。本変形例では、割当済配送数「2」が計数される場合を具体例として挙げて以下の説明を行う。その後、情報処理装置100は、割当済配送数「2」が割当上限値「2」より少ない訳では無いと判別する(ステップS167;No)。このため、情報処理装置100は、締切時間帯「16:00-17:00」に対してこれ以上の配送を割り当てることができないと判別し、配送割当処理の実行を終了する。配送割当処理を実行した後、情報処理装置100は、実施例と異なり、割当処理の実行を終了せず、タイミング判定処理の実行から上記処理を繰り返す。これにより、情報処理装置100は、割当可能時間帯「17:00-18:00」及び「19:00-20:00」を順に締切時間帯として上記の処理を繰り返す。
【0196】
これらの構成によれば、情報処理装置100の割当部130は、システム時刻が、複数の予め定められた時間帯「09:00-10:00」から「19:00-20:00」のいずれかの開始時刻よりも、配送の割り当てと準備とに要する割当・準備時間「1時間」だけ前の時刻となる割当タイミングが到来すると、時間帯指定無しの配送を、当該いずれかの時間帯に割り当てる。このため、本変形例に係る情報処理装置100は、例えば、実施例の情報処理装置100と比べて、時間帯指定無しの配送を、複数の予め定められた時間帯「09:00-10:00」から「19:00-20:00」に対して、より均一に割り当てることができる。すなわち、実施例の情報処理装置100が用いる割当タイミングは、割当期間「14:30-20:00」の割当済配送数の総和と、未割当の配送の数と、の和が、割当期間「14:30-20:00」の割当上限値の総和と等しくなるタイミングであるため、システム時刻が割当期間「14:30-20:00」の終了時刻「20:00」により近いと、割当タイミングがより到来し易い。このため、実施例の情報処理装置100は、複数の予め定められた時間帯「09:00-10:00」から「19:00-20:00」の内で、終了時刻「20:00」により近い時間帯に、より高い確率で時間帯指定無しの配送を割り当てる。これに対して、本変形例の情報処理装置100が用いる割当タイミングは、システム時刻が、複数の予め定められた時間帯「09:00-10:00」から「19:00-20:00」のいずれかの開始時刻よりも割当・準備時間「1時間」前の時刻となれば到来するため、システム時刻と終了時刻「20:00」との近さに関わらずに割当タイミングが到来する。また、本変形例の情報処理装置100は、システム時刻よりも割当・準備時間「1時間」後に開始する当該いずれかの時間帯に、時間帯指定無しの配送を割り当てる。このため、本変形例に係る情報処理装置100は、時間帯指定無しの配送を、複数の予め定められた時間帯「09:00-10:00」から「19:00-20:00」に対して、実施例の情報処理装置100よりも均一に割り当てることができる。
【0197】
また、本変形例に係る情報処理装置100は、複数の予め定められた時間帯「09:00-10:00」から「19:00-20:00」に対して配送を、実施例の情報処理装置100よりも均一に割り当てるので、実施例の情報処理装置100よりも割当効率の低下を抑制できる。本変形例において、割当効率は、予め定められた終了時刻「20:00」までに、11個の予め定められた時間帯「09:00-10:00」から「19:00-20:00」に割り当てられた配送の数(以下、割当実績数という)で表される。しかし、これに限定される訳では無く、割当効率は、予め定められた時間帯「09:00-10:00」から「19:00-20:00」の割当上限値の総和「22」に対数する割当実績数の割合で表されても良い。本変形例に係る情報処理装置100が実施例の情報処理装置100よりも割当効率の低下を抑制できるのは、本変形例に係る情報処理装置100は、予め定められた時間帯「09:00-10:00」から「19:00-20:00」の内で、配送が割り当てられずに、配送の準備を開始する準備開始タイミング、及び、配送を開始する配送開始タイミングが到来する時間帯の発生を、実施例の情報処理装置100よりも抑制できるからである。
【0198】
<実施例の変形例2>
実施例では、時間帯指定無し、かつ、未割当の配送の割り当ては、割当期間「14:30-20:00」の割当済配送数の総和と、未割当の配送の数と、の和が、割当期間「14:30-20:00」の割当上限値の総和と等しくなる割当タイミングに行われると説明した。
【0199】
しかし、これに限定される訳では無く、本変形例では、時間帯指定無し、かつ、未割当の配送の割り当ては、第1割当タイミングと、第1割当タイミングよりも遅い第2割当タイミングと、に行われる。第1割当タイミングは、割当済配送数の総和と、未割当の配送の数と、の和が、割当上限値の総和よりも値K(但し、Kは自然数)だけ少ない値と等しくなるタイミングである。すなわち、第1割当タイミングは、未割当の配送の全てを1又は複数の割当可能時間帯に割り当てると、K個の配送が1又は複数の割当可能時間帯に割当可能となるタイミングである。また、第2割当タイミングは、割当済配送数の総和と、未割当の配送の数と、の和が、割当上限値の総和と等しくなるタイミングである。すなわち、第2割当タイミングは、未割当の配送の全てを1又は複数の割当可能時間帯に割り当てると、配送を割当可能な時間帯が無くなるタイミングである。
【0200】
このために、本変形例に係る情報処理装置100は、実施例と同様に、予め定められた時刻が到来すると、
図28に示すような割当処理を実行する。割当処理の実行を開始すると、情報処理装置100の取得部110は、情報記憶部190から、予め設定されている初期値kを表す情報を取得する。本変形例では、初期値kが値「6」に予め設定されている場合を具体例として挙げて以下の説明を行うが、初期値kは、これに限定される訳では無い。初期値kは、11個の予め定められた時間帯「09:00-10:00」から「19:00-20:00」の割当上限値の総和「22」より小さい自然数であれば、どのような値であっても良い。
【0201】
次に、情報処理装置100の割当部130は、取得された情報で表される初期値k「6」で変数Kを初期化する(ステップS171)。次に、情報処理装置100は、不図示の第1タイミング判定処理を実行する。情報処理装置100は、第1タイミング判定処理の実行を開始すると、
図16のステップS51と同様の処理を実行することで、システム時刻を表す情報を取得する。本変形例では、システム時刻「12:00」を表す情報が取得された場合を具体例として挙げて以下の説明を行う。
【0202】
次に、情報処理装置100は、
図16のステップS52と同様の処理を実行する。これにより、情報処理装置100は、システム時刻「12:00」よりも割当・準備時間「1時間」だけ後の時刻「13:00」に開始し、かつ、予め定められた終了時刻「20:00」に終了する第1割当期間「13:00-20:00」を特定する。次に、情報処理装置100は、
図16のステップS53と同様の処理を実行することで、第1割当期間「13:00-20:00」に含まれる7つの割当候補時間帯「13:00-14:00」から「19:00-20:00」を特定する。
【0203】
その後、情報処理装置100は、
図16のステップS54と同様の処理を実行することで、割当候補時間帯「13:00-14:00」から「19:00-20:00」の割当上限値の総和「14」を算出する。次に、情報処理装置100は、ステップS55と同様の処理を実行することで、割当候補時間帯「13:00-14:00」から「19:00-20:00」の割当済配送数の総和を算出する。その後、情報処理装置100は、ステップS56と同様の処理を実行することで、時間帯指定無しであり、第1割当タイミング以前の時刻に受け付けられ、かつ、割り当てが行われていない配送(以下、未割当の第1配送という)の数を計数する。
【0204】
次に、情報処理装置100の割当部130は、算出された割当済配送数の総和と、未割当の第1配送の数と、の和が、算出された割当上限値の総和「14」よりも変数Kの値「6」だけ少ない値「8」と等しいか否かを判別する。すなわち、割当部130は、未割当の第1配送の全てについて割り当てが行われると、配送を割り当て可能な時間帯と、当該時間帯に当該配送を実行可能な配送機と、の組み合わせが残りK個となるか否かを判別する。このとき、割当部130は、割当済配送数の総和と、未割当の第1配送の数と、の和が値「8」と等しくないと判別すると、第1割当タイミングが到来していないと判別する。その後、割当部130は、第1割当タイミングが到来していないことを表す値を、第1タイミング判定処理の返値に設定してから、第1タイミング判定処理の実行を終了する。
【0205】
これに対して、情報処理装置100の割当部130は、割当済配送数の総和と、未割当の第1配送の数と、の和が値「8」と等しいと判別すると、第1割当タイミングが到来したと判別する。その後、情報処理装置100は、第1割当タイミングの到来を表す値を、第1タイミング判定処理の返値に設定してから、第1タイミング判定処理の実行を終了する。
【0206】
図28のステップS172で、第1タイミング判定処理を実行した後に、情報処理装置100は、第1タイミング判定処理の返値が第1割当タイミングの到来を表す値でないと判別すると(ステップS173;No)、ステップS172から上記処理を繰り返す。これに対して、情報処理装置100は、第1タイミング判定処理の返値が第1割当タイミングの到来を表す値であると判別すると(ステップS173;Yes)、
図17に示した優先度設定処理を実行する(ステップS174)。これにより、情報処理装置100は、未割当の第1配送について、第1割当期間「13:00-20:00」に含まれる1又は複数の割当可能時間帯(以下、第1割当可能時間帯という)を特定し、特定された1又は複数の第1割当可能時間帯における優先度を設定する。次に、情報処理装置100は、設定された優先度に基づいて、未割当の第1配送を1又は複数の第1割当可能時間帯に割り当てるため、
図18に示した配送割当処理を実行する(ステップS175)。
【0207】
次に、情報処理装置100は、不図示の第2タイミング判定処理として、
図16に示したタイミング判定処理を実行する(ステップS176)。情報処理装置100は、第2タイミング判定処理の実行を開始すると、システム時刻を表す情報を取得する(ステップS51)。本変形例では、システム時刻「16:00」を表す情報が取得された場合を具体例として挙げて以下の説明を行う。
【0208】
次に、情報処理装置100は、システム時刻「16:00」よりも割当・準備時間「1時間」だけ後の時刻「17:00」に開始し、かつ、予め定められた終了時刻「20:00」に終了する第2割当期間「17:00-20:00」を特定する(ステップS52)。次に、情報処理装置100は、第2割当期間「17:00-20:00」に含まれる3つの割当候補時間帯「17:00-18:00」から「19:00-20:00」を特定する(ステップS53)。その後、情報処理装置100は、割当候補時間帯「17:00-18:00」から「19:00-20:00」の割当上限値の総和「6」をさらに算出する(ステップS54)。次に、情報処理装置100は、割当候補時間帯「17:00-18:00」から「19:00-20:00」の割当済配送数の総和を算出する(ステップS55)。その後、情報処理装置100は、時間帯指定無しであり、第1割当タイミングより後の時刻に受け付けられ、かつ、割り当てが行われていない配送(以下、未割当の第2配送という)の数を算出する(ステップS56)。
【0209】
次に、情報処理装置100は、算出された割当済配送数の総和と、未割当の第2配送の数と、の和が、算出された割当上限値の総和「6」と等しいか否かを判別する(ステップS57)。このとき、情報処理装置100は、割当済配送数の総和と、未割当の第2配送の数と、の和が、割当上限値の総和「6」と等しいと判別すると(ステップS57;Yes)、第2割当タイミングが到来したと判別する(ステップS58)。その後、情報処理装置100は、第2割当タイミングの到来を表す値を、第2タイミング判定処理の返値に設定してから、第2タイミング判定処理の実行を終了する。
【0210】
これに対して、情報処理装置100は、割当済配送数の総和と、未割当の第2配送の数と、の和が、割当上限値の総和「6」と等しくないと判別すると(ステップS57;No)、第2割当タイミングが到来していないと判別する(ステップS59)。その後、情報処理装置100は、第2割当タイミングが到来していないことを表す値を、第2タイミング判定処理の返値に設定してから、第2タイミング判定処理の実行を終了する。
【0211】
図28のステップS176で、第2タイミング判定処理を実行した後に、情報処理装置100は、第2タイミング判定処理の返値が第2割当タイミングの到来を表す値でないと判別すると(ステップS177;No)、ステップS176から上記処理を繰り返す。これに対して、情報処理装置100は、第2タイミング判定処理の返値が第2割当タイミングの到来を表す値であると判別すると(ステップS177;Yes)、
図17に示した優先度設定処理を再度実行する(ステップS178)。これにより、情報処理装置100は、未割当の第2配送について、第2割当期間「17:00-20:00」に含まれる1又は複数の割当可能時間帯(以下、第2割当可能時間帯という)を特定し、特定された1又は複数の第2割当可能時間帯における優先度を設定する。次に、情報処理装置100は、設定された優先度に基づいて、
図18に示した配送割当処理を再度実行する(ステップS179)。これにより、情報処理装置100は、未割当の第2配送を、1又は複数の第2割当可能時間帯に割り当てる。その後、情報処理装置100は、割当処理の実行を終了する。
【0212】
これらの構成によれば、本変形例に係る情報処理装置100は、実施例に係る情報処理装置100と比べて、時間帯指定無しの配送を、複数の予め定められた時間帯「09:00-10:00」から「19:00-20:00」に対して、より均一に割り当てることができる。このため、本変形例に係る情報処理装置100は、実施例に係る情報処理装置100と比べて、割当効率の低下をより抑制できる。
【0213】
<実施例の変形例3>
本変形例に係る情報処理装置100のCPU101は、
図29に示すような調整処理を実行することで、配送効率が向上するように値Kを調整する、
図30に示すような調整部150をさらに備える。
【0214】
本変形例に係る情報処理装置100は、配送機600の制御を行うために、
図21に示した移動制御処理の実行を開始すると、ステップS111からS113の処理を実行することで、配送機600を商品の配送先へ移動させる。本変形例では、ユーザU3によって指定された配送先D3へ、商品G3を格納した配送機600を移動させることで、時間帯指定無しの配送DL3を配送機600に行わせる場合を具体例として挙げて以下の説明を行う。
【0215】
次に、情報処理装置100は、配送機600の到着報告を取得すると(ステップS114)、商品G3の配送方法として、対面受取方法が指定されているか否かを判別する(ステップS115)。本変形例では、実施例と同様に、商品G3の配送方法として対面受取方法が指定されている場合を具体例として挙げて以下の説明を行う。情報処理装置100は、対面受取方法が指定されていると判別すると(ステップS115;Yes)、商品G3の受け取りを求める受取要求を、ユーザU3が使用する端末装置903へ送信する(ステップS116)。その後、情報処理装置100は、受取要求の送信から受渡時間が経過したか否かを判別する(ステップS117)。本変形例では、商品G3の受取人が受渡時間を経過しても配送先D3に現れない場合を具体例として挙げて説明を行う。
【0216】
このため、情報処理装置100の制御部140は、受取要求の出力から受渡時間が経過したと判別すると(ステップS117;Yes)、配送DL3を中止することを決定する。次に、情報処理装置100の制御部140は、
図19の時間帯テーブル、及び、
図7の受付配送テーブルにおいて、中止された配送DL3の配送ID「DL3」に対応付けられた状態情報を、再配送要求待ち状態を表す状態情報に変更する。次に、情報処理装置100の制御部140は、
図11の配送履歴テーブルに、配送日を表す情報と、配送時間帯を表す情報と、配送先D3の位置情報と、不在実績を表す情報と、を対応付けて保存する(ステップS124)。
【0217】
その後、情報処理装置100の制御部140は、配送ID「DL3」と、配送日を表す情報と、配送時間帯を表す情報と、配送先D3を住所で表す情報と、配送された商品G3が受け取られなかったという不在実績を表す情報と、を含む不在通知を生成する。その後、制御部140は、生成された不在通知を、ユーザU3の端末装置903を宛先として、データ通信回路104aへ出力する(ステップS125)。その後、情報処理装置100のデータ通信回路104aは、不在通知を端末装置903へ送信する。
【0218】
次に、情報処理装置100は、ステップS122及びS123の処理を実行することで(ステップS122及びS123)、配送機600を配送の開始位置Sに帰還させた後に、ステップS111から上記処理を繰り返す。
【0219】
端末装置903は、不在通知を受信して表示する。表示された不在通知を視認したユーザU3は、商品G3の再配送を求めるため、端末装置903を操作する。端末装置903は、ユーザU3の操作に基づいて、不在通知に含まれる配送ID「DL3」を含み、かつ、時間帯を指定せずに、配送DL3の再度の実行を求める再配送要求を情報処理装置100へ送信する。
【0220】
情報処理装置100のデータ通信回路104aが再配送要求を受信すると、情報処理装置100のCPU101は、不図示の再配送受付処理を実行する。再配送受付処理の実行を開始すると、情報処理装置100の取得部110は、再配送要求をデータ通信回路104aから取得し、取得された再配送要求から配送ID「DL3」を取得する。その後、情報処理装置100は、
図9の第2受付判定処理と同様の処理を実行することで、再配送要求を受付可能であるか否かを判定する。このとき、情報処理装置100の制御部140は、受付不能と判別されると、再配送要求を受け付けないことを決定し、再配送受付処理の実行を終了する。これに対して、情報処理装置100の制御部140は、受付可能と判別されると、再配送要求を受け付けることを決定する。次に、取得部110は、例えば、OSからシステム日付を表す情報を取得する。その後、制御部140は、取得されたシステム日付を表す情報と、再度の実行が求められた配送DL3の配送ID「DL3」と、を対応付けて、不図示の受付再配送テーブルに保存する。
【0221】
次に、情報処理装置100の制御部140は、
図7の受付配送テーブルにおいて、取得された配送ID「DL3」と対応付けられている状態情報を、配送DL3の割り当てが行われていない未割当状態を表す状態情報に変更する。その後、情報処理装置100は、
図10の割当処理を実行することで、予め定められた時間帯「09:00-10:00」から「19:00-20:00」のいずれかに配送DL3を再度割り当てる。次に、情報処理装置100は、
図20の準備処理を実行することで、配送DL3の準備を行った後に、
図21の移動制御処理を実行することで、配送機600又は700に配送DL3を再度行わせる。
【0222】
本変形例に係る情報処理装置100は、予め定められた終了時刻「20:00」が到来すると、割当実績数を表す情報を保存する不図示の割当実績数保存処理を実行する。割当実績数保存処理の実行を開始すると、情報処理装置100の取得部110は、例えば、OSからシステム日付を表す情報を取得する。次に、取得部110は、
図19の時間帯テーブルに保存されている配送IDの取得を試行する。その後、調整部150は、配送IDが取得されると、取得された配送IDの数を、予め定められた時間帯「09:00-10:00」から「19:00-20:00」に割り当てられた配送の数である割当実績数として計数する。これに対して、調整部150は、配送IDが取得されないと、割当実績数を値「0」と計数する。その後、情報処理装置100の調整部150は、取得されたシステム日付を表す情報と、計数された割当実績数を表す情報と、を対応付けて、情報記憶部190が予め記憶している不図示の割当実績数テーブルに保存する。その後、情報処理装置100は、割当実績数保存処理の実行を終了する。
【0223】
本変形例に係る情報処理装置100は、予め定められた間隔で、
図29に示すような調整処理を実行する。本変形例では、予め定められた間隔は1ヶ月であるが、これに限定される訳では無く、当業者は、予め定められた間隔の好適な値を実験により定めることができる。調整処理の実行が開始されると、情報処理装置100の調整部150は、変数Kを調整する前の割当実績数の総和、平均値、又は、中央値(以下、総和等という)を算出する(ステップS181)。このために、取得部110は、評価期間の長さを表す情報を情報処理装置100から取得する。本変形例では、評価期間の長さは、「2週間」に予め設定されているが、これに限定される訳では無く、当業者は、評価期間の好適な長さを実験により定めることができる。
【0224】
次に、情報処理装置100の取得部110は、例えば、OSからシステム日時を表す情報を取得する。その後、調整部150は、取得された情報で表されるシステム日時よりも評価期間の長さ「2週間」だけ前の日時に開始し、かつ、システム日時に終了する、調整前の評価期間を特定する。その後、取得部110は、調整前の評価期間における割当実績数を表す情報を1又は複数取得する。このために、取得部110は、調整前の評価期間に含まれる日付を表す情報と対応付けられている割当実績数を表す情報を、不図示の割当実績数テーブルから1又は複数取得する。次に、調整部150は、取得された1又は複数の情報で表される割当実績数を用いて、変数Kを調整する前の割当実績数の総和等を算出する。
【0225】
次に、情報処理装置100の調整部150は、変数Kを調整する前の再配送割合を算出する(ステップS182)。調整前の再配送割合は、調整前の評価期間における割当実績数の総和に対する、調整前の評価期間において求められた再配送の数の割合である。このために、割当部130は、ステップS181で取得された1又は複数の情報で表される割当実績数の総和を算出する。次に、調整部150は、調整前の評価期間に受け付けられた再配送要求の数を計数する。このために、取得部110は、再度の実行が求められた配送の配送IDであり、かつ、調整前の評価期間に含まれる日付を表す情報と対応付けられている配送IDを、不図示の受付再配送テーブルから1又は複数取得する。その後、調整部150は、取得された1又は複数の配送IDを計数し、計数された配送IDの数を、調整前の評価期間に求められた再配送要求の数として計数する。その後、調整部150は、算出された割当実績数の総和で、計数された再配送要求の数を除算することで、調整前の再配送割合を算出する。
【0226】
情報処理装置100の取得部110は、情報記憶部190から、変数Kの初期値kを表す情報を取得し、調整部150は、取得された情報を、変更前の初期値kを表す情報として情報記憶部190へ保存する(ステップS183)。次に、取得部110は、情報記憶部190から、予め設定された刻値Δ(但し、Δは自然数)を表す情報を取得し、調整部150は、予め定められた規則又はソフトウェア乱数に基づいて、初期値kを刻値Δだけ増加させるか、刻値Δだけ減少させるか、を決定する。本変形例では、初期値kを増加させることが決定される場合を具体例として挙げて以下の説明を行うが、初期値kを減少させることが決定されても良い。
【0227】
このため、情報処理装置100の調整部150は、初期値kを刻値Δだけ増加させる(ステップS184)。その後、調整部150は、調整後の初期値kを用いて、
図28に示した割当処理を試験的に実行する試験期間を特定する。このために、調整部150は、ステップS181で取得された情報で表されるシステム日時に開始し、かつ、システム時刻よりも評価期間の長さ「2週間」だけ後の日時に終了する試験期間を特定する。
【0228】
その後、情報処理装置100の取得部110は、例えば、OSからシステム日時を表す情報を取得し、調整部150は、取得された情報で表されるシステム日時が、試験期間の終了日時以降の日時であるか否かを判別することで、試験期間が経過したか否かを判別する(ステップS185)。このとき、調整部150は、システム日時が、試験期間の終了日時よりも前の日時であるため、試験期間が経過していないと判別すると(ステップS185;No)、予め定められた時間に亘ってスリープした後に、ステップS185の処理を繰り返す。これに対して、調整部150は、システム日時が、試験期間の終了日時以降の日時であるため、試験期間が経過したと判別すると(ステップS185;Yes)、変数Kを調整した後の割当実績数の総和等を算出する(ステップS186)。このために、調整部150は、システム日時よりも評価期間の長さ「2週間」だけ前の日時に開始し、かつ、システム日時に終了する、調整後の評価期間を特定する。その後、取得部110は、調整後の評価期間における割当実績数の総和等を、変数Kを調整した後の割当実績数の総和等として算出する。調整部150は、変数Kを調整した後の再配送割合を算出する(ステップS187)。このために、割当部130は、調整後の評価期間における割当実績数の総和を算出し、調整後の評価期間において求められた再配送要求を計数する。次に、割当部130は、算出された割当実績数の総和で、計数された再配送要求の数を除算することで、調整後の再配送割合を算出する。
【0229】
次に、情報処理装置100の調整部150は、ステップS186で算出された調整後の割当実績数の総和等が、ステップS181で算出された調整前の割当実績数の総和等よりも多いか否かを判別する(ステップS188)。このとき、調整部150が、調整後の割当実績数の総和等が、調整前の割当実績数の総和等よりも少ない又は等しいと判別すると(ステップS188;No)、取得部110は、ステップS183で保存された変更前の初期値kを表す情報を情報記憶部190から取得する。次に、調整部150は、
図28に示した割当処理の実行に用いられる変数Kの初期値kを表す情報を、取得された情報で表される変更前の初期値kを表す情報に変更する。これにより、調整部150は、ステップS184で調整された初期値kを調整前の値に戻した後に(ステップS190)、調整処理の実行を終了する。
【0230】
ステップS188において、情報処理装置100の調整部150は、調整後の割当実績数の総和等が、調整前の割当実績数の総和等よりも多いと判別すると(ステップS188;Yes)、ステップS187で算出された調整後の再配送割合が、ステップS182で算出された調整前の再配送割合よりも小さいか否かを判別する(ステップS189)。このとき、情報処理装置100は、調整後の再配送割合が調整前の再配送割合よりも大きい又は等しいと判別すると(ステップS189;No)、初期値kを調整前の値に戻した後に(ステップS190)、調整処理の実行を終了する。
【0231】
ステップS189において、情報処理装置100の調整部150は、調整後の再配送割合が調整前の再配送割合よりも小さいと判別すると(ステップS189;Yes)、ステップS184で調整された初期値kを、調整前の初期値kに戻さず維持して(ステップS191)、調整処理の実行を終了する。
【0232】
これらの構成によれば、情報処理装置100は、割当実績数の減少を従来よりも抑制できるため、割当効率の低下を従来よりも抑制できる。また、これらの構成によれば、情報処理装置100は、再配送割合の増加を従来よりも抑制できるため、配送効率の低下を従来よりも抑制できる。
【0233】
<実施例の変形例4>
実施例では、
図21のステップS115において、対面受取方法が指定されていると判別される場合を具体例として挙げて説明を行ったが、本変形例では、置配方法が指定されていると判別される場合を具体例として挙げて説明を行う。
【0234】
本変形例に係る情報処理装置100は、配送機600の制御を行うために、
図21に示した移動制御処理の実行を開始すると、ステップS111からS113の処理を実行することで、配送機600を商品の配送先へ移動させる。本変形例では、ユーザU2によって指定された配送先D2へ、商品G2を格納した配送機600を移動させることで、時間帯指定無しの配送DL2を配送機600に行わせる場合を具体例として挙げて以下の説明を行う。このため、情報処理装置100は、ステップS114の処理を実行することで、配送機600の到着報告を取得すると、商品G2の配送方法として、対面受取方法ではなく、置配方法が指定されていると判別する(ステップS115;No)。
【0235】
次に、情報処理装置100は、格納ボックス621の解錠を命じる解錠命令を生成する。その後、情報処理装置100の制御部140は、
図1に示すような、配送機600のロボットアーム670を用いて、解錠された格納ボックス621から商品G2取り出し、取り出された商品G2を配置場所に配置することを命じる配置命令を生成する。次に、制御部140は、生成された解錠命令と配置命令とを、配送機600を宛先としてデータ通信回路104aへ出力する(ステップS126及びS127)。その後、情報処理装置100のデータ通信回路104aは、解錠命令と配置命令とを配送機600に送信する。
【0236】
次に、情報処理装置100の取得部110は、データ通信回路104aから配置報告を取得することを試行し、制御部140は、配置報告が取得されたか否かを判別する(ステップS128)。当該配置報告は、配送機600から受信される報告であり、かつ、配送先D2に配送機600が商品G2を配置したことを告げる報告である。このとき、制御部140は、配置報告が取得されなかったと判別すると(ステップS128;No)、予め定められた時間に亘ってスリープしてから、ステップS128の処理を繰り返す。これに対して、配置報告が取得されたと判別されると(ステップS128;Yes)、制御部140は、置配方法で行われる配送DL2が完了したと判別する。次に、制御部140は、
図19の時間帯テーブル、及び、
図7の受付配送テーブルにおいて、配送ID「DL2」に対応付けられた状態情報を、配送完了状態を表す状態情報に変更する。次に、情報処理装置100は、ステップS122及びS123の処理を実行することで、配送機600を配送の開始位置Sへ帰還させた後に、ステップS111から上記処理を繰り返す。
【0237】
本変形例に係る配送機600は、
図21のステップS126で出力された解錠命令を受信すると、解錠命令に従って格納ボックス621を解錠する。その後、配送機600のデータ通信回路694aは、ステップS127で出力された配置命令を受信する。次に、配送機600のCPU691は、配置命令をデータ通信回路694aから取得し、不図示の配置処理を実行する。配置処理は、配置命令に従って、格納ボックス621から商品G2を取り出させ、かつ、取り出された商品G2を配置場所に配置させる制御をロボットアーム670に行う処理である。
【0238】
配置処理の実行を開始すると、配送機600のCPU691は、フラッシュメモリ693bから、扉621aを開けさせるための制御信号を表すデータを取得し、取得されたデータで表される制御信号をロボットアーム670へ出力する。ロボットアーム670は、当該制御信号に従って配送機600の扉621aを開ける。
【0239】
その後、配送機600のCPU691は、扉621aが開けられた後の格納ボックス621の開口部と内部とを、ロボットアーム670が備える撮像装置680が撮像できるように、撮像装置680の光軸を変更させるための制御信号を表すデータをフラッシュメモリ693bから取得する。その後、CPU691は、取得されたデータで表される制御信号と、撮像を命じる制御信号と、をロボットアーム670へ出力する。その後、CPU691は、撮像装置680から出力された信号に基づいて2枚の撮像画像を取得し、取得された2枚の撮像画像の視差に基づいて、配送機600が備える格納ボックス621の箱体に格納された商品G2の位置及び形状を表す座標値を算出する。CPU691が算出する座標値は、例えば、配送機600の中心点を原点として用いる三次元座標系である。次に、CPU691は、算出された座標値に基づいて、格納ボックス621に格納された商品G2を摘持して取り出させるための制御信号をロボットアーム670へ出力する。ロボットアーム670は、制御信号に従って、配送機600から商品G2を取り出す。
【0240】
その後、配送機600のCPU691は、配送先D2にある床又は地面を、ロボットアーム670が備える撮像装置680が撮像できるように、撮像装置680の光軸を変更させるための制御信号を表すデータをフラッシュメモリ693bから取得する。次に、CPU691は、取得されたデータで表される制御信号と、撮像を命じる制御信号と、をロボットアーム670へ出力する。その後、CPU691は、撮像装置680から出力された信号に基づいて2枚の撮像画像を取得し、取得された2枚の撮像画像の視差に基づいて、床又は地面の位置及び形状を表す座標値を算出する。
【0241】
次に、配送機600のCPU691は、算出された座標値に基づいて、商品G2を床又は地面に置かせるための制御信号をロボットアーム670へ出力する。ロボットアーム670は、制御信号に従って、配置場所である玄関前の床、又は、庭の地面に商品G2を配置する。その後、CPU691は、商品G2を配送先D2に配置したことを告げる配置報告を、情報処理装置100を宛先としてデータ通信回路694aへ出力してから、配置処理の実行を終了する。その後、配送機600のデータ通信回路694aは、情報処理装置100へ配置報告を送信する。
【0242】
<実施例の変形例5>
本変形例に係る情報処理システム1は、例えば、宅配ボックスであり、かつ、
図31に示すようなロッカー装置800を1又は複数さらに備える。また、本変形例に係る情報処理装置100は、配送される商品の配送先の近傍にロッカー装置800が設置されている(以下、単に、配送先にロッカー装置800が有るという)か否か、及び、配送先にロッカー装置800が有る場合に、当該ロッカー装置800を割当可能時間帯に予約可能か否か、に基づいて、当該割当可能時間帯における当該配送の優先度を設定する。近傍とは、配送先よりも予め定められた距離だけ離れた境界線又は境界面よりも配送先側の位置である。本変形例では、近傍を定める距離は、「5メートル」に予め定められているが、これに限定される訳では無く、当業者は、近傍を定める好適な距離を実験により定めることができる。
【0243】
実施例では、置配方法で配送される商品の配置場所は、「玄関前」及び「庭」のいずれかであると説明したが、これに限定される訳では無い。本変形例において、配置場所は、「玄関前」、「庭」、及び、「ロッカー装置800」(以下、「ロッカー」と表記する)のいずれかである。また、実施例では、対面受取方法で配送が行われる場合、情報処理装置100は、受取要求の出力から受渡時間が経過すると、配送の中止を決定すると説明した。しかし、これに限定されるわけでは無く、本変形例に係る情報処理装置100は、受取要求の出力から受渡時間が経過し、かつ、配送先にロッカー装置800が有ると、配送方法を対面受取方法から、配置場所を「ロッカー」とする置配方法に変更して、配送を継続させることを決定する。
【0244】
これらのために、本変形例に係る情報処理装置100の情報記憶部190は、配送先にロッカーが有るか否かを表す情報が保存されている、不図示のロッカーテーブルを予め記憶している。ロッカーテーブルには、複数のレコードが予め保存されており、各レコードには、配送先の位置情報と、当該配送先にロッカーが有るか否かを表す設置フラグと、が対応付けられて予め保存されている。
【0245】
また、本変形例に係る情報処理装置100の情報記憶部190は、
図32に示すような再配送テーブルを予め記憶している。再配送テーブルの1番目のレコードには、置配方法を表す情報と、配置場所が「ロッカー以外」であることを表す情報と、「ロッカー以外」の場所に置配方法で商品が配送される場合において当該商品の再配送が求められる蓋然性を表す値「PR1'」と、が対応付けられて予め保存されている。本変形例では、「ロッカー以外」とは、ロッカー装置800と異なる配置場所を意味し、ロッカー装置800と異なる配置場所は、「玄関前」及び「庭」を含む。
【0246】
再配送テーブルの2番目のレコードには、置配方法を表す情報と、配置場所が「ロッカー」であることを表す情報と、ロッカー装置800を予約可能であることを表す情報と、予約済みのロッカー装置800に商品が配送される場合において当該商品の再配送が求められる蓋然性を表す値「PR2'」と、が対応付けられて予め保存されている。3番目のレコードには、置配方法を表す情報と、配置場所が「ロッカー」であることを表す情報と、予約不能であることを表す情報と、予約されていないロッカー装置800に商品が配送される場合において当該商品の再配送が求められる蓋然性を表す値「PR3'」と、が対応付けられて予め保存されている。
【0247】
再配送テーブルの4番目のレコードには、対面受取方法を表す情報と、配送先にロッカーが有ることを表す情報と、ロッカー装置800を予約可能であることを表す情報と、配送履歴に受取実績が有ることを表す情報と、予約されているロッカー装置800が近傍に設置されている配送先(以下、ロッカーが有る配送先という)へ、受取実績の有る時間帯において、対面受取方法で商品が配送される場合において当該商品の再配送が求められる蓋然性を表す値「PR4'」と、が対応付けられて保存されている。5番目のレコードには、対面受取方法を表す情報と、ロッカーが有ることを表す情報と、予約可能であることを表す情報と、配送実績が無いことを表す情報と、予約されているロッカーが有る配送先へ、配送実績の無い時間帯において、対面受取方法で商品が配送される場合において当該商品の再配送が求められる蓋然性を表す値「PR5'」と、が対応付けられて保存されている。6番目のレコードには、対面受取方法を表す情報と、ロッカーが有ることを表す情報と、予約可能であることを表す情報と、不在実績が有ることを表す情報と、予約されているロッカーが有る配送先へ、不在実績が有る時間帯において、対面受取方法で商品が配送される場合において当該商品の再配送が求められる蓋然性を表す値「PR6'」と、が対応付けられて保存されている。
【0248】
再配送テーブルの7番目のレコードには、対面受取方法を表す情報と、ロッカーが有ることを表す情報と、ロッカー装置800を予約不能であることを表す情報と、受取実績が有ることを表す情報と、予約されていないロッカーが有る配送先へ、受取実績の有る時間帯において、対面受取方法で商品が配送される場合において当該商品の再配送が求められる蓋然性を表す値「PR7'」と、が対応付けられて保存されている。8番目のレコードには、対面受取方法を表す情報と、ロッカーが有ることを表す情報と、予約不能であることを表す情報と、配送実績が無いことを表す情報と、予約されていないロッカーが有る配送先へ、配送実績の無い時間帯において、対面受取方法で商品が配送される場合において当該商品の再配送が求められる蓋然性を表す値「PR8'」と、が対応付けられて保存されている。9番目のレコードには、対面受取方法を表す情報と、ロッカーが有ることを表す情報と、予約不能であることを表す情報と、不在実績が有ることを表す情報と、予約されていないロッカーが有る配送先へ、不在実績が有る時間帯において、対面受取方法で商品が配送される場合において当該商品の再配送が求められる蓋然性を表す値「PR9'」と、が対応付けられて保存されている。
【0249】
再配送テーブルの10番目のレコードには、対面受取方法を表す情報と、配送先にロッカーが無いことを表す情報と、受取実績が有ることを表す情報と、ロッカーが無い配送先へ、受取実績の有る時間帯において、対面受取方法で商品が配送される場合において当該商品の再配送が求められる蓋然性を表す値「PR10'」と、が対応付けられて保存されている。配送先にロッカーが無いとは、配送先の近傍にロッカー装置800が設置されていないことを意味する。また、ロッカーが無い配送先とは、ロッカー装置800が近傍に設置されていない配送先を意味する。11番目のレコードには、対面受取方法を表す情報と、ロッカーが無いことを表す情報と、配送実績が無いことを表す情報と、ロッカーが無い配送先へ、配送実績の無い時間帯において、対面受取方法で商品が配送される場合において当該商品の再配送が求められる蓋然性を表す値「PR11'」と、が対応付けられて保存されている。12番目のレコードには、対面受取方法を表す情報と、ロッカーが無いことを表す情報と、不在実績が有ることを表す情報と、ロッカーが無い配送先へ、不在実績が有る時間帯において、対面受取方法で商品が配送される場合において当該商品の再配送が求められる蓋然性を表す値「PR12'」と、が対応付けられて保存されている。
【0250】
本変形例では、置配方法を表す情報と対応付けられた再配送の蓋然性を表す値「PR1'」から「PR3'」は、対面受取方法を表す情報と対応付けられた値「PR4'」から「PR12'」よりも低いが、これに限定される訳では無い。また、対面受取方法を表す情報と、配送先にロッカーが有ることを表す情報と、に対応付けられた値「PR4'」から「PR9'」は、対面受取方法を表す情報と、ロッカー装置800が無いことを表す情報と、に対応付けられた値「PR10'」から「PR12'」よりも低いが、これに限定される訳では無い。さらに、対面受取方法を表す情報と、ロッカー装置800が予約可能であることを表す情報と、に対応付けられた値「PR4'」から「PR6'」は、対面受取方法を表す情報と、予約不能であることを表す情報と、に対応付けられた値「PR7'」から「PR9'」よりも低いが、これに限定される訳では無い。
【0251】
本変形例に係る情報処理装置100の情報記憶部190は、不図示の盗難テーブルを予め記憶している。本変形例に係る盗難テーブルには、
図13の盗難テーブルに保存されている1番目から3番目のレコードが予め保存されている。本変形例に係る盗難テーブルには、不図示の4番目のレコードが予め保存されており、4番目のレコードには、置配方法を表す情報と、配置場所「ロッカー」を表す情報と、商品が「ロッカー」に配送される場合において当該商品が盗難される蓋然性を表す値「PS'」と、が対応付けられて予め保存されている。
【0252】
本変形例では、置配方法を表す情報と、配置場所「ロッカー」を表す情報と、に対応付けられた値「PS'」の方が、対面受取方法を表す情報と対応付けられた値「PS1」よりも高いが、これに限定される訳では無い。また、配置場所「ロッカー」を表す情報に対応付けられた値「PS'」の方が、配置場所「庭」を表す情報に対応付けられた値「PS2」よりも低いが、これに限定される訳では無い。
【0253】
本変形例に係る情報処理装置100の情報記憶部190は、不図示の優先度定義テーブルを予め記憶している。本変形例に係る優先度定義テーブルには、複数のレコードが予め保存されている。1番目のレコードには、再配送の蓋然性を表す最も低い値「PR1'」と、盗難の蓋然性を表す値「PS2」と、最も高い優先度「1」と、が対応付けられて予め保存されている。2番目のレコードには、再配送の蓋然性を表す値「PR1'」と、盗難の蓋然性を表す値であり、かつ、1番目のレコードに保存されている値「PS2」よりも高い値「PS3」と、2番目に高い優先度「2」と、が対応付けられて予め保存されている。
【0254】
3番目のレコードには、再配送の蓋然性を表す値であり、かつ、1番目及び2番目のレコードに保存されている値「PR1'」よりも高い値「PR2'」と、盗難の蓋然性を表す値「PS'」と、優先度「3」と、が対応付けられて予め保存されている。4番目のレコードには、再配送の蓋然性を表す値であり、かつ、3番目のレコードに保存されている値「PR2'」よりも高い値「PR3'」と、盗難の蓋然性を表す値「PS'」と、優先度「4」と、が対応付けられて予め保存されている。5番目から13番目のレコードには、再配送の蓋然性を表す値「PR4'」から「PR12'」と、盗難の蓋然性を表す値「PS1」と、優先度「5」から「13」と、が対応付けられて予め保存されている。
【0255】
本変形例に係る情報処理装置100は、不図示の優先度設定処理を実行する。情報処理装置100は、優先度設定処理の実行を開始すると、
図17のステップS61からS64の処理と同様の処理を実行する。これにより、情報処理装置100は、時間帯指定無しであり、かつ、未割当の配送の内で、未注目の配送の1つに注目する処理を実行する。次に、情報処理装置100は、ステップS65の処理と同様の処理を、本変形例に係る不図示の盗難テーブルを用いて実行する。これにより、情報処理装置100は、盗難の蓋然性を特定する。
【0256】
次に、情報処理装置100は、ロッカーが配送先に有るか否かを判別する、不図示の設置判別処理を実行する。設置判別処理の実行が開始されると、情報処理装置100の取得部110は、
図7の受付配送テーブルから、注目配送の配送IDに対応付けられている配送先の位置情報を取得し、不図示のロッカーテーブルから、取得された配送先の位置情報に対応付けられている設置フラグを取得する。その後、情報処理装置100の割当部130は、取得された設置フラグに基づいて、配送先にロッカーが有るか否かを判別した後に、設置判別処理の実行を終了する。
【0257】
情報処理装置100の割当部130は、配送先にロッカーが有ると判別すると、配送先の近傍に設置されているロッカー装置800(以下、配送先のロッカー装置800という)を予約可能であるか否かを判別する。このために、割当部130は、ロッカー装置800を予約可能であるか否かを問う予約可否問合せを、配送先のロッカー装置800を宛先としてデータ通信回路104aへ出力する。
【0258】
ロッカー装置800は、予約可否問合せを受信し、ロッカー装置800の状態が格納可能状態であるか否かを判別する。ロッカー装置800は、ロッカー装置800の状態が格納可能状態であると判別すると、予約可能であるとの回答を情報処理装置100へ送信し、格納可能状態と異なる状態であると判別すると、予約不能であるとの回答を情報処理装置100へ送信する。
【0259】
格納可能状態は、ロッカー装置800が備える格納ボックス821から828の少なくとも1つの状態が空き状態であるため、ロッカー装置800が新たな商品を少なくとも1つ格納できる状態である。格納ボックス821の状態が空き状態であるとは、格納ボックス821に商品が格納されておらず、かつ、格納ボックス821が予約されていないため、格納ボックス821が使用可能であることを意味する。格納ボックス821が使用可能であるとは、格納ボックス821に新たな商品を格納させることができることを意味する。
【0260】
格納可能状態と異なる状態は、格納不能状態を含み、格納不能状態は、ロッカー装置800が備える格納ボックス821から828の全ての状態が空き状態と異なる状態であるため、ロッカー装置800が新たな商品を格納できない状態である。空き状態と異なる格納ボックスの状態は、予約状態と使用状態とを含む。また、格納ボックスの状態が予約状態であるとは、当該格納ボックスが予約されているため、当該格納ボックスを予約した予約者は、当該格納ボックスを使用可能であるが、予約者と異なるユーザは、当該格納ボックスを使用不能であることを意味する。本変形例では、予約者は、情報処理装置100の管理者であるが、これに限定される訳では無い。さらに、格納ボックスの状態が使用状態であるとは、当該格納ボックスに商品が格納されているため、当該格納ボックスが使用不能であることを意味する。
【0261】
情報処理装置100のデータ通信回路104aが、ロッカー装置800から回答を受信すると、情報処理装置100の取得部110は、データ通信回路104aから回答を取得する。次に、割当部130は、取得された回答に基づいて、回答が行われた時点(以下、回答時点という)で、ロッカー装置800が予約可能であったか否かを判別する。ロッカー装置800が予約可能であったと判別されると、取得部110は、例えば、OSからシステム時刻を表す情報を取得し、情報記憶部190から、ロッカー装置800の予約が可能な期間(以下、予約可能期間という)の長さを定める情報を取得する。その後、割当部130は、取得された情報で表されるシステム時刻に開始し、取得された情報で定められる長さだけ当該システム時刻よりも後の時刻に終了する期間を、予約可能期間として特定する。本変形例では、予約可能期間の長さは、「2時間」に予め設定されているが、これに限定される訳では無く、当業者は、予約可能期間の好適な長さを実験により定めることができる。
【0262】
配送先にロッカーが無いと判別した後、ロッカー装置800が回答時点において予約不能であったと判別した後、又は、予約可能であったと判別して予約可能期間を特定した後、情報処理装置100は、
図17のステップS69及びS70の処理を実行する。これにより、情報処理装置100は、未注目の割当可能時間帯の1つに注目する処理を実行する。次に、割当部130は、ロッカー装置800が回答時点において予約不能であったと判別した場合、注目された割当可能時間帯である注目時間帯において、ロッカー装置800が予約不能であると判別する。これに対して、割当部130は、ロッカー装置800が回答時点において予約可能であったと判別して予約可能期間を特定した場合、注目時間帯の全体が予約可能期間に含まれるか否かを判別する。このとき、割当部130は、注目時間帯の全体が予約可能期間に含まれると判別すると、注目時間帯において配送先のロッカー装置800を予約可能であると判別する。これに対して、割当部130は、注目時間帯の一部分又は全体が予約可能期間に含まれないと判別すると、注目時間帯においてロッカー装置800を予約不能であると判別する。
【0263】
その後、情報処理装置100は、
図32の再配送テーブルを用いて、
図17のステップS71と同様の処理を実行する。これにより、情報処理装置100の割当部130は、注目配送の配送方法、配置場所、配送先にロッカーが有るか否か、ロッカー装置800が注目時間帯において予約可能であるか否か、及び、注目時間帯における配送実績、に基づいて、再配送の蓋然性を特定する。
【0264】
その後、情報処理装置100は、不図示の優先度定義テーブルを用いて、
図17のステップS72と同様の処理を実行する。これにより、情報処理装置100の割当部130は、特定された盗難の蓋然性と、再配送の蓋然性と、に基づいて、注目時間帯における優先度を、注目配送に設定する。
【0265】
その後、情報処理装置100は、割当可能時間帯の全てに注目するまで、未注目の割当可能時間帯の1つに注目する処理から、上記処理を繰り返す。その後、情報処理装置100は、割当可能時間帯の全てに注目すると、未割当の配送の全てに注目するまで、未注目の配送の1つに注目する処理から、上記処理を繰り返す。その後、情報処理装置100は、未割当の配送の全てに注目すると、優先度設定処理の実行を終了する。
【0266】
本変形例に係る情報処理装置100は、不図示の移動制御処理を実行する。情報処理装置100は、移動制御処理の実行を開始すると、
図21のステップS111及びS112と同様の処理を実行する。これにより、情報処理装置100は、配送開始タイミングが到来したと判別すると、上述された不図示の設置判別処理を実行する。これにより、情報処理装置100は、配送開始タイミングが到来した配送の配送先にロッカーが有るか否かを判別する。このとき、配送先にロッカーが有ると判別されると、情報処理装置100の割当部130は、ロッカー装置800の予約を求める予約要求を生成し、生成された予約要求を、ロッカー装置800を宛先としてデータ通信回路104aへ出力する。
【0267】
その後、情報処理装置100のデータ通信回路104aは、予約要求をロッカー装置800へ送信する。ロッカー装置800は、予約要求を受信し、ロッカー装置800の状態が格納可能状態であるか否かを判別する。ロッカー装置800は、格納可能状態であると判別すると、予約要求を受け付ける。次に、ロッカー装置800は、予約された格納ボックスを識別するボックスIDと、当該格納ボックスを解錠させるために用いられるパスワードを表す情報と、を含んだ予約受付報告を情報処理装置100へ送信する。これに対して、ロッカー装置800は、格納可能状態でないと判別すると、予約要求を受け付けず、予約非受付報告を情報処理装置100へ送信する。
【0268】
その後、情報処理装置100は、予約受付報告が取得されるか否かに基づいて、ロッカー装置800の予約が行われたか否かを判別する、不図示の予約受付判別処理を実行する。予約受付判別処理の実行が開始されると、情報処理装置100の取得部110は、データ通信回路104aから予約受付報告又は予約非受付報告を取得することを試行する。次に、取得部110は、予約受付報告が取得されると、予約受付報告からボックスIDとパスワードを表す情報とを取得する。次に、割当部130は、ロッカー装置800の予約が行われたと判別した後に、予約受付判別処理の実行を終了する。これに対して、割当部130は、予約非受付報告が取得されると、ロッカー装置800の予約が行われなかったと判別した後に、予約受付判別処理の実行を終了する。
【0269】
配送先にロッカーが無いと判別した後に、又は、予約受付判別処理の実行を終了した後に、情報処理装置100は、ステップS113からS115の処理と同様の処理を実行する。これにより、情報処理装置100は、配送機600を配送先へ移動させた後に、対面受取方法が指定されているか否かを判別する。このとき、情報処理装置100は、対面受取方法が指定されていると判別すると、ステップS116及びS117と同様の処理を実行することで、受取要求を出力してから受渡時間が経過したか否かを判別する。
【0270】
受取要求の出力から受渡時間が経過したと判別される場合であり、かつ、既に行われた設置判別処理により、配送先にロッカーが無いと判別されている場合に、情報処理装置100は、実施例と同様に、ステップS124及びS125の処理と同様の処理を実行する。これにより、情報処理装置100は、配送の中止を決定し、不在実績を保存してから、ステップS122及びS123の処理と同様の処理を実行することで、配送の開始位置Sへ配送機600を帰還させる。その後、情報処理装置100は、ステップS111の処理と同様の処理から上記処理を繰り返す。
【0271】
これに対して、受取要求の出力から受渡時間が経過したと判別される場合であり、かつ、既に行われた予約受付判別処理により、ロッカー装置800が予約されたと判別されている場合に、情報処理装置100は、ステップS124と同様の処理を実行することで、不在実績を保存する。次に、制御部140は、配送方法を、対面受取方法から、配置位置をロッカー装置800とする置配方法に変更して、商品の配送を継続することを決定する。
【0272】
その後、情報処理装置100の制御部140は、予約されている格納ボックスのボックスIDと、当該格納ボックスを解錠させるためのパスワードを表す情報と、を含み、かつ、当該格納ボックスの解錠を命じる解錠命令を生成する。次に、制御部140は、生成された解錠命令を、ロッカー装置800を宛先としてデータ通信回路104aへ出力する。次に、情報処理装置100は、ステップS126の処理と同様の処理を実行することで、配送機600の格納ボックス621の解錠を命じる解錠命令を送信する。その後、情報処理装置100は、ロッカー装置800が備える格納ボックスであり、かつ、解錠させた格納ボックスのボックスIDを含む配置命令を生成する。生成される配置命令は、配送機600のロボットアーム670を用いて、解錠された格納ボックス621から商品を取り出し、取り出された商品を、解錠されたロッカー装置800の格納ボックスに格納させることを配送機600に命じる命令である。次に、情報処理装置100は、生成された配置命令を、配送機600を宛先としてデータ通信回路104aへ出力する。
【0273】
その後、情報処理装置100は、配置命令を配送機600へ送信した後に、ステップS128の処理と同様の処理を実行することで、配送機600から配置報告を受信すると、ロッカー装置800を施錠させる。このために、情報処理装置100の制御部140は、予め定められた規則、又は、ソフトウェア乱数に基づいて、商品を格納させたロッカー装置800の格納ボックスを解錠させるために用いられるパスワードを生成する。その後、制御部140は、商品を格納させた格納ボックスのボックスIDと、生成されたパスワードを表す情報と、を含み、かつ、当該格納ボックスの施錠を命じる施錠命令を、ロッカー装置800を宛先としてデータ通信回路104aへ出力する。その後、情報処理装置100のデータ通信回路104aは、ロッカー装置800へ施錠命令を送信する。
【0274】
次に、情報処理装置100の制御部140は、ステップS125と同様の処理を実行することで、不在通知を生成する。次に、制御部140は、配送先の位置を住所で表す情報と、商品を格納させたロッカー装置800の格納ボックスを識別するボックスIDと、を含み、かつ、配送先のロッカー装置800が備える当該格納ボックスに商品が格納されていることを知らせるロッカー格納通知を生成する。また、制御部140は、パスワードを表す情報を含み、かつ、当該ロッカー装置800に当該パスワードを入力させる操作を行うことで、当該格納ボックスを解錠させること、及び、解錠された格納ボックスから商品を受け取ることを求めるロッカー受取依頼を生成する。その後、制御部140は、当該商品を注文したユーザの端末装置を宛先として、不在通知、ロッカー格納通知、及び、ロッカー受取依頼をデータ通信回路104aへ出力する。その後、情報処理装置100は、当該端末装置へ不在通知、ロッカー格納通知、及び、ロッカー受取依頼を送信した後に、ステップS122及びS123の処理と同様の処理を実行することで、配送機600を配送の開始位置Sへ帰還させる。その後、情報処理装置100は、ステップS111の処理と同様の処理から上記処理を繰り返す。
【0275】
これに対して、
図21のステップS117の処理と同様の処理により、受取要求の出力から受渡時間が経過したと判別される場合であり、かつ、ロッカー装置800が予約されなかったと判別されている場合に、情報処理装置100は、ロッカー装置800の状態が格納可能状態であるか否かを判別する。このために、情報処理装置100の割当部130は、ロッカー装置800の状態を問う状態問合せを、ロッカー装置800を宛先としてデータ通信回路104aへ出力する。その後、情報処理装置100のデータ通信回路104aは、状態問合せをロッカー装置800へ送信する。
【0276】
ロッカー装置800は、状態問合せを受信すると、ロッカー装置800の状態が格納可能状態であるか否かを判別する。ロッカー装置800は、格納可能状態であると判別すると、空き状態の1又は複数の格納ボックスを識別する1又は複数のボックスIDを含んだ回答を情報処理装置100へ送信する。これに対して、ロッカー装置800は、格納可能状態でないと判別すると、ボックスIDを含まない回答を情報処理装置100へ送信する。
【0277】
その後、情報処理装置100の取得部110は、データ通信回路104aから回答を取得することを試行する。次に、取得部110は、回答が取得されると、回答から1又は複数のボックスIDの取得を試行する。このとき、1又は複数のボックスIDが取得されると、割当部130は、1又は複数の空き状態の格納ボックスが存在するため、ロッカー装置800の状態が格納可能状態であると判別する。これに対して、割当部130は、ボックスIDが取得されないと、空き状態の格納ボックスが存在しないため、ロッカー装置800の状態が格納可能状態でないと判別する。
【0278】
このとき、情報処理装置100は、ロッカー装置800の状態が格納可能状態であると判別すると、ステップS124と同様の処理を実行することで、不在実績を保存する。次に、情報処理装置100は、配送方法を、対面受取方法から、配置位置をロッカー装置800とする置配方法に変えて、商品の配送を継続することを決定する。その後、情報処理装置100の制御部140は、取得された1又は複数のボックスIDから1つを、予め定められた規則又はソフトウェア乱数に基づいて、商品を格納させる格納ボックスのボックスIDとして選択する。次に、情報処理装置100は、ステップS126と同様の処理を実行することで、配送機600の格納ボックス621を解錠させる。その後、情報処理装置100の制御部140は、選択されたロッカー装置800の格納ボックスのボックスIDを含み、かつ、配送機600のロボットアーム670を用いて、解錠された格納ボックス621から商品を取り出し、取り出された商品を、選択されたロッカー装置800の格納ボックスに格納させることを命じる配置命令を生成する。次に、情報処理装置100は、生成された配置命令を、配送機600を宛先としてデータ通信回路104aへ出力する。その後、情報処理装置100のデータ通信回路104aは、配送機600へ配置命令を送信する。
【0279】
その後、情報処理装置100は、ロッカー装置800を施錠させてから、ステップS125と同様の処理を実行することで、ロッカー装置800に格納された商品を注文したユーザの端末装置へ不在通知、ロッカー格納通知、及び、ロッカー受取依頼を送信する。次に、情報処理装置100は、ステップS122及びS123の処理と同様の処理を実行することで、配送機600を配送の開始位置Sへ配送機600を帰還させてから、ステップS111の処理と同様の処理から上記処理を繰り返す。
【0280】
これに対して、
図21のステップS117の処理と同様の処理により、受取要求の出力から受渡時間が経過したと判別される場合であり、かつ、ロッカー装置800が予約されなかったと判別されている場合に、情報処理装置100は、ロッカー装置800の状態が格納可能状態でないと判別すると、配送の中止を決定する。次に、情報処理装置100は、ステップS124及びS125と同様の処理を実行することで、不在履歴を保存してから、ステップS122及びS123の処理と同様の処理を実行することで、配送の開始位置Sへ配送機600を帰還させる。その後、情報処理装置100は、ステップS111の処理と同様の処理から上記処理を繰り返す。
【0281】
これに対して、
図21のステップS115の処理と同様の処理により、情報処理装置100は、対面受取方法ではなく、置配方法が指定されていると判別すると、情報処理装置100は、配置場所として「ロッカー」が指定されているか否かを判別する。このとき、情報処理装置100は、配置場所として「ロッカー」が指定されておらず、「玄関前」又は「庭」が指定されていると判別すると、実施例の変形例4で説明したステップS126からS128の処理と同様の処理を実行する。これにより、情報処理装置100は、「玄関前」又は「庭」に商品を配置させる制御を配送機600に行ってから、ステップS122及びS123の処理と同様の処理を実行することで、配送の開始位置Sへ配送機600を帰還させる。その後、情報処理装置100は、ステップS111の処理と同様の処理から上記処理を繰り返す。
【0282】
これに対して、情報処理装置100は、配置場所として「ロッカー」が指定されていると判別すると、ロッカー装置800の状態が格納可能状態であるか否かを判別する。このとき、情報処理装置100は、ロッカー装置800の状態が格納可能状態であると判別すると、ステップS126と同様の処理を実行することで、配送機600の格納ボックス621を解錠させる。その後、情報処理装置100は、空き状態の1又は複数の格納ボックスから1つを、商品を格納させる格納ボックスとして選択する。次に、ステップS127及びS128と同様の処理を実行することで、配送機600のロボットアーム670を用いて、解錠された格納ボックス621から商品を取り出し、取り出された商品を、選択されたロッカー装置800の格納ボックスに格納させる。
【0283】
その後、情報処理装置100は、ロッカー装置800を施錠する。次に、情報処理装置100は、ロッカー格納通知及びロッカー受取依頼を、ロッカー装置800に格納された商品を注文したユーザの端末装置へ送信する。その後、情報処理装置100は、ステップS122及びS123の処理と同様の処理を実行することで、配送機600を配送の開始位置Sへ配送機600を帰還させてから、ステップS111の処理と同様の処理から上記処理を繰り返す。
【0284】
これに対して、配置場所として「ロッカー」が指定されていると判別された場合に、情報処理装置100は、ロッカー装置800の状態が格納可能状態でないと判別すると、配送の中止を決定する。次に、情報処理装置100の制御部140は、配送IDと、配送日を表す情報と、配送時間帯を表す情報と、配送先を住所で表す情報と、配置場所であるロッカー装置800に商品を格納不能であったことを表す情報と、を含む配送不能通知を生成する。その後、制御部140は、配送不能通知を、当該商品を注文したユーザの端末装置を宛先としてデータ通信回路104aへ出力する。その後、情報処理装置100は、配送不能通知を当該端末装置へ送信してから、ステップS122及びS123の処理と同様の処理を実行することで、配送の開始位置Sへ配送機600を帰還させる。その後、情報処理装置100は、ステップS111の処理と同様の処理から上記処理を繰り返す。
【0285】
本変形例に係る配送機600のデータ通信回路694aが、ロッカー装置800の格納ボックスを識別するボックスIDを含んだ配置命令を受信すると、配送機600のCPU691は、配置命令をデータ通信回路694aから取得し、配置命令からボックスIDを取得する。その後、CPU691は、不図示の配置処理を実行する。配置処理の実行を開始すると、CPU691は、フラッシュメモリ693bから、ロボットアーム670が備える撮像装置680の光軸を、配送機600の前方に向けさせるための制御信号を表すデータを取得する。次に、CPU691は、取得されたデータで表される制御信号をロボットアーム670へ出力することで、撮像装置680の光軸を配送機600の前方に向けさせてから、撮像を命じる制御信号を出力することで、撮像装置680に配送機600の前方を撮像させる。その後、CPU691は、配送機600の前方を撮像することにより得られた互いに視差を有する2枚の画像(以下、前方の2枚の画像という)を表す情報を撮像装置680から取得する。
【0286】
同様にして、配送機600のCPU691は、配送機600の右方を撮像することにより得られた2枚の画像(以下、右方の2枚の画像という)を表す情報と、後方を撮像することにより得られた2枚の画像(以下、後方の2枚の画像という)を表す情報と、を取得する。さらに、CPU691は、配送機600の左方を撮像することにより得られた2枚の画像(以下、左方の2枚の画像という)を表す情報と、上方を撮像することにより得られた2枚の画像(以下、上方の2枚の画像という)を表す情報と、を取得する。
【0287】
その後、配送機600のCPU691は、ロッカー装置800が備える格納ボックス821から828が備える扉のテンプレートを表す情報を、フラッシュメモリ693bから取得する。次に、CPU691は、取得された情報で表される前方、右方、後方、左方、及び、上方の2枚の画像に対して、例えば、テンプレートマッチングを行うことで、格納ボックス821から828の扉に対応する画像領域を検出する。その後、検出された画像領域に対して、例えば、OCR(Optical Character Recognition)処理を実行することで、当該画像領域に対応する扉に印字されているボックス番号を検出する。
【0288】
その後、配送機600のCPU691は、配置命令から取得されたボックスIDと同じ値のボックス番号が検出された画像領域の視差に基づいて、商品を格納させるロッカー装置800の格納ボックスの位置及び形状を表す座標値を算出する。その後、配送機600のCPU691は、算出された座標値に基づいて、ロッカー装置800の当該格納ボックスの扉を開けさせるための制御信号を生成し、生成された制御信号をロボットアーム670へ出力する。ロボットアーム670は、当該制御信号に従ってロッカー装置800の当該格納ボックスの扉を開ける。
【0289】
その後、配送機600のCPU691は、実施例の変形例4で説明した処理を実行することで、ロボットアーム670に、配送機600の扉621aを開けさせ、格納ボックス621から商品を取り出させる。その後、CPU691は、算出された座標値に基づいて、商品をロッカー装置800の格納ボックスに入れさせてから、当該格納ボックスの扉を閉めさせるための制御信号を生成し、生成された制御信号をロボットアーム670へ出力する。ロボットアーム670は、当該制御信号に従って、商品をロッカー装置800の格納ボックスに入れてから、当該格納ボックスの扉を閉める。
【0290】
ロッカー装置800は、商品の格納に用いられる格納ボックス821から828を備える。ロッカー装置800が備える格納ボックス821から828の構成及び機能は、配送機600が備える格納ボックス621の構成及び機能と同様である。また、ロッカー装置800は、格納ボックス821から828の施錠及び解錠を制御する情報処理装置890を備える。ロッカー装置800が備える情報処理装置890の構成及び機能は、配送機600が備える情報処理装置690の構成及び機能と同様である。
【0291】
ロッカー装置800の情報処理装置890は、不図示のフラッシュメモリを備え、当該フラッシュメモリは、格納ボックス821から828の使用状態を管理するために用いられる情報が保存される、不図示のボックス管理テーブルを記憶している。ボックス管理テーブルには、複数のレコードが保存されている。初期状態におけるボックス管理テーブルの1番目のレコードには、格納ボックス821を識別するボックスID「821」と、格納ボックス821の状態が空き状態であることを表す状態情報と、格納ボックス821を解錠させるために使用されるパスワードが設定されていないことを表す文字列「NULL」と、が予め対応付けられて保存されている。初期状態におけるボックス管理テーブルの2番目から8番目のレコードには、格納ボックス822から828のボックスID「822」から「828」と、格納ボックス822から828の状態が空き状態であることを表す状態情報と、格納ボックス822から828にパスワードが設定されていないことを表す文字列「NULL」と、が対応付けられて保存されている。
【0292】
ロッカー装置800が備える情報処理装置890の不図示のデータ通信回路が、情報処理装置100から予約可否問合せを受信すると、情報処理装置890の不図示のCPUは、ロッカー装置800の状態が格納可能状態であるか否かを判別する。このために、CPUは、ボックス管理テーブルから、空き状態を表す状態情報が保存されたレコードの取得を試行する。このとき、CPUは、レコードが取得されると、空き状態の格納ボックスが存在するため、ロッカー装置800の状態が格納可能状態であると判別する。その後、CPUは、予約可能であるとの回答を、情報処理装置100を宛先としてデータ通信回路へ出力する。これに対して、CPUは、レコードが取得されないと、空き状態の格納ボックスが存在しないため、ロッカー装置800の状態が格納可能状態でないと判別する。その後、CPUは、予約不能であるとの回答を、情報処理装置100を宛先としてデータ通信回路へ出力する。その後、データ通信回路は、回答を情報処理装置100へ送信する。
【0293】
その後、ロッカー装置800のデータ通信回路が予約要求を受信すると、ロッカー装置800のCPUは、ロッカー装置800の状態が格納可能状態であるか否かを判別する。このとき、CPUは、ロッカー装置800の状態が格納可能状態であると判別すると、予約要求を受け付ける。次に、CPUは、予め定められた規則又はソフトウェア乱数に基づいて、空き状態の1又は複数の格納ボックスから1つを選択し、選択された格納ボックスを解錠させるために用いられるパスワードを生成する。その後、CPUは、ボックス管理テーブルにおいて、選択された格納ボックスのボックスIDと対応付けられた状態情報、及び、文字列「NULL」を、予約状態を表す状態情報、及び、生成されたパスワードを表す情報に変更する。次に、CPUは、当該ボックスIDと当該パスワードを表す情報とを含んだ予約受付報告を、情報処理装置100を宛先としてデータ通信回路へ出力し、データ通信回路は、予約受付報告を情報処理装置100へ送信する。これに対して、ロッカー装置800は、格納可能状態でないと判別すると、予約要求を受け付けず、予約非受付報告を情報処理装置100へ送信する。
【0294】
ロッカー装置800の情報処理装置890は、不図示のCPUと駆動回路とを備える。情報処理装置890の駆動回路は、不図示の通信ケーブルを介して、格納ボックス821から828の扉がそれぞれ備える不図示のモータに接続されており、情報処理装置890のCPUが出力する信号に従ってそれぞれのモータを駆動させる。格納ボックス821から828の扉は、不図示のデッドボルトとストライクとを備える。格納ボックス821から828のモータは、デッドボルトをストライクへ挿入させることで、格納ボックス821から828の扉を施錠し、ストライクをストライクから抜出させることで、格納ボックス821から828の扉を解錠する。ロッカー装置800のデータ通信回路が、予約された格納ボックスのボックスIDと、当該格納ボックスを解錠させるためのパスワードを表す情報と、を含む解錠命令を受信すると、ロッカー装置800のCPUは、解錠命令を取得する。次に、CPUは、解錠命令からボックスIDとパスワードを表す情報とを取得する。その後、CPUは、ボックス管理テーブルから、取得されたボックスIDに対応付けられたパスワードを表す情報を取得する。次に、CPUは、解錠命令から取得されたパスワードを表す情報と、ボックス管理テーブルから取得されたパスワードを表す情報と、が一致すると、取得されたボックスIDを含み、かつ、当該ボックスIDで識別される格納ボックスを解錠させるための制御信号を生成する。その後、CPUは、制御信号を駆動回路へ出力することで、当該格納ボックスの扉を解錠させる。次に、CPUは、ボックス管理テーブルにおいて、解錠された格納ボックスのボックスIDに対応付けられたパスワードを表す情報を文字列「NULL」に変更する。これに対して、CPUは、解錠命令から取得されたパスワードを表す情報と、ボックス管理テーブルから取得されたパスワードを表す情報と、が一致しないと、格納ボックスを解錠させるための制御信号を出力しない。
【0295】
ロッカー装置800のデータ通信回路が、商品が格納された格納ボックスのボックスIDと、パスワードを表す情報と、を含む施錠命令を受信すると、ロッカー装置800のCPUは、施錠命令を取得し、施錠命令からボックスIDと、パスワードを表す情報と、を取得する。次に、CPUは、取得されたボックスIDを含み、かつ、当該ボックスIDで識別される格納ボックスを施錠させるための制御信号を生成する。その後、CPUは、制御信号を駆動回路へ出力することで、当該格納ボックスの扉を施錠させる。次に、CPUは、ボックス管理テーブルにおいて、施錠された格納ボックスのボックスIDと対応付けられた状態情報及び文字列「NULL」を、使用状態を表す状態情報、及び、取得されたパスワードを表す情報に変更する。
【0296】
ロッカー装置800の情報処理装置890は、不図示の入力装置を備える。商品の受取人は、当該商品が格納されている格納ボックスのボックスIDと、当該格納ボックスを解錠させるために用いられるパスワードと、を入力させるための操作を、ロッカー装置800の入力装置に行う。ロッカー装置800の入力装置が、当該操作に応じた信号を出力すると、ロッカー装置800のCPUは、当該信号に基づいて、入力されたボックスIDと、入力されたパスワードを表す情報と、を取得する。その後、CPUは、ボックス管理テーブルから、取得されたボックスIDに対応付けられたパスワードを表す情報を取得する。次に、CPUは、入力されたパスワードを表す情報と、ボックス管理テーブルから取得されたパスワードを表す情報と、が一致すると、取得されたボックスIDを含み、かつ、当該ボックスIDで識別される格納ボックスを解錠させるための制御信号を生成する。その後、CPUは、制御信号を駆動回路へ出力することで、当該格納ボックスの扉を解錠させる。次に、CPUは、ボックス管理テーブルにおいて、解錠された格納ボックスのボックスIDに対応付けられた状態情報、及び、パスワードを表す情報を、空き状態を表す状態情報、及び、文字列「NULL」に変更する。これに対して、CPUは、入力されたパスワードを表す情報と、ボックス管理テーブルから取得されたパスワードを表す情報と、が一致しないと、格納ボックスを解錠させるための制御信号を出力しない。
【0297】
これらの構成によれば、商品の配送先には、商品を格納可能なロッカー装置800が設置されている。また、情報処理装置100の割当部130は、注目時間帯における注目配送の再配送の蓋然性を、注目時間帯においてロッカー装置800を予約可能であるか否かに基づいて特定する。このため、情報処理装置100は、再配送の蓋然性を、従来よりも精度良く特定することができる。
【0298】
<実施例の変形例6>
実施例では、情報処理システム1は、無人地上車両である配送機600を備えると説明したが、これに限定される訳では無い。本変形例に係る情報処理システム1は、
図33に示すような、例えば、ドローン等の無人航空機である配送機500を備える。
【0299】
本変形例に係る配送機500は、配送機500の姿勢及び飛行を制御する情報処理装置590を備える。配送機500の情報処理装置590が備えるハードウェアの構成及び機能は、配送機600の情報処理装置690が備えるハードウェアの構成及び機能と同様である。配送機500は、情報処理装置590の前面から右前方及び左前方、並びに、情報処理装置590の後面から左後方及び右後方にそれぞれ突出したプロペラアーム501及び502、並びに、503及び504と、を備える。また、配送機500は、プロペラアーム501から504の先端にそれぞれ設置されたプロペラ511から514、及び、情報処理装置590の制御に従ってプロペラ511から514を回転させる不図示のモータを備える。
【0300】
配送機500は、情報処理装置590の下面に、商品を囲持する第1囲持枠521aと、第2囲持枠521bと、を備える。配送機500の第1囲持枠521aは、商品を梱包する直方体形状の段ボールの側面の内の1つが有する4辺を囲持し、第2囲持枠521bは、第1囲持枠521aによって囲持される面(以下、第1囲持面という)と対向する側面(以下、第2囲持面という)が有する4辺を囲持する。また、配送機500は、商品の第1囲持面及び第2囲持面の法線方向に延設され、第1囲持枠521aと第2囲持枠521bとを吊持し、かつ、第1囲持枠521aと第2囲持枠521bとの移動方向を延設方向にするガイドレール522a及び522bを、情報処理装置590の下面に備える。
【0301】
さらに、配送機500は、情報処理装置590の制御に従って、第1囲持枠521aと第2囲持枠521bとを互いに近づく方向へ移動させることで、第1囲持枠521aと第2囲持枠521bとに商品を囲持させる不図示のモータを備える。この不図示のモータは、情報処理装置590の制御に従って、第1囲持枠521aと第2囲持枠521bとを互いに遠ざかる方向に移動させることで、囲持された商品を第1囲持枠521aと第2囲持枠521bとに解放させる。
【0302】
また、配送機500は、情報処理装置590の前面に設けられたLiDARセンサ541と、情報処理装置590の後面に設けられた不図示のLiDARセンサと、を備える。配送機500が備える前面のLiDARセンサ541と後面のLiDARセンサとの構成及び機能は、それぞれ配送機600が備える前面のLiDARセンサ641と後面のLiDARセンサとの構成及び機能と同様である。
【0303】
さらに、配送機500は、情報処理装置590の上面に設けられた不図示のロボットアームを備える。配送機500が備えるロボットアームの構成及び機能は、配送機600が備えるロボットアーム670の構成及び機能と同様である。
【0304】
配送機500の不図示の駆動回路は、プロペラ511から514を回転させる不図示のモータと、第1囲持枠521aと第2囲持枠521bとを移動させる不図示のモータと、にそれぞれ接続された不図示のケーブルに接続されている。不図示の駆動回路は、CPUが出力する信号に従って、プロペラ511から514を回転させる不図示のモータを駆動させる。また、駆動回路は、不図示のCPUが出力する信号に従って、第1囲持枠521aと第2囲持枠521bとを移動させる不図示のモータを駆動させる。
【0305】
配送機500の不図示のデータ通信回路が移動命令を受信すると、不図示のCPUは、
図24に示した移動処理と同様の処理を実行する。これにより、配送機500のCPUは、配送機500を離陸させるための制御信号を生成し、生成された制御信号を駆動回路へ出力する。次に、配送機500のCPUは、未到着のノードの内で、最も到着順が早いノードへ向かって飛行するための制御信号を駆動回路へ出力する。その後、配送機500のCPUは、経路の終点に到着したと判別すると、情報処理装置100を宛先として到着報告をデータ通信回路へ出力する。配送機500のデータ通信回路が、到着報告を情報処理装置100へ送信した後に、着陸命令を受信すると、配送機500のCPUは、着陸命令に従って、配送機500を着陸させるための制御信号を駆動回路へ出力する。
【0306】
本変形例では、配送機500は、無人航空機であると説明したが、これに限定される訳ではなく、無人飛翔体であっても良い。さらに、本変形例では、配送機500は、プロペラ511から514で揚力及び推力を得るドローンであると説明したが、これに限定される訳ではない。配送機500は、翼を備え、翼で揚力を得えても良いし、空気よりも比重の小さい気体で満たされた気嚢を備え、気嚢で揚力を得えても良い。また、配送機500は、ジェットエンジン又はロケットエンジンを備え、ジェットエンジン又はロケットエンジンで推力を得ても良い。
【0307】
<実施例の変形例7>
実施例の変形例5では、情報処理装置100は、配送先の近傍にロッカー装置800が設置されているか否か、及び、配送先にロッカー装置800が設置されている場合に、当該ロッカー装置800を割当可能時間帯に予約可能か否か、に基づいて、当該割当可能時間帯における配送の優先度を設定すると説明した。しかし、これに限定される訳では無い。
【0308】
本変形例に係る情報処理装置100は、配送先にポートが設置されている(以下、配送先にポートが有るという)か否か、及び、配送先にポートが有る場合に、当該ポートを割当可能時間帯に予約可能か否か、に基づいて、当該割当可能時間帯における配送の優先度を設定する。
【0309】
ポートとは、無人航空機である配送機500の離陸及び着陸が予定される場所として、例えば、当該商品の受取人によって予め定められた場所である。本変形例では、ポートは、商品の受取人が居住又は滞在する一軒家のベランダであるが、これに限定される訳では無い。ポートは、配送機500の着陸又は離陸が予定されている場所であれば、どのような場所であっても良く、例えば、共同住宅、オフィスビル、ホテル、若しくは、公共施設のエントランス、又は、一軒家の玄関前であっても良い。また、ポートは、共同住宅、オフィスビル、ホテル、又は、公共施設のロビーであっても良い。さらに、ポートは、一軒家、共同住宅、オフィスビル、ホテル、又は、公共施設の庭、屋上、ベランダ、又は、駐車場であっても良い。またさらに、ポートは、配送機500の着陸又は離陸が禁止されていない道路、河原、公園、若しくは、校庭、又は、配送機500の着陸若しくは離陸が許可された駐車場であっても良い。
【0310】
本変形例では、説明を簡潔にするため、置配方法で配送される商品の配置場所として「ポート」のみが指定可能である場合を具体例として挙げて以下の説明を行う。また、本変形例では、説明を簡潔にするため、配送先にポートが有る場合、配送機500は、当該ポートに着陸し、配送先にポートが無い場合、配送機500は、配送先に在る場所であり、かつ、配送機500が着陸可能な場所と配送機500が特定する場所に着陸するとして以下の説明を行う。配送機500が着陸可能な場所は、例えば、表面の傾斜角度が予め定められた角度以下であり、表面の凹凸の大きさが予め定められた大きさ以下であり、かつ、配送機500の水平投影形状を完全に含む形状を有する場所であれば良い。表面の凹凸の大きさは、例えば、表面の最高地点の高度と最低地点の高度との差で表されても良い。配送機500の水平投影形状は、例えば、水平面に配送機500が着陸している場合に、鉛直上方向から投射された光によって当該水平面に投影される配送機500の形状であって良い。また、本変形例では、対面受取方法で配送が行われる場合、受取要求の出力から受渡時間が経過し、かつ、配送先にポートが有ると、情報処理装置100は、配送方法を、対面受取方法から、ポートを配置場所とする置配方法に変更して、商品の配送を配送機500に継続させる。
【0311】
これらのために、本変形例に係る情報処理システム1は、例えば、サーバ機であり、ポートが有る配送先に設置されており、かつ、ポートの予約を管理する、不図示の予約管理装置を備える。予約管理装置の構成は、情報処理装置100の構成と同様である。
【0312】
本変形例に係る情報処理装置100の情報記憶部190は、配送先にポートが設置されているか否かを表す情報が保存されている、不図示のポートテーブルを予め記憶している。ポートテーブルには、複数のレコードが予め保存されており、各レコードには、配送先の位置情報と、当該配送先にポートが有るか否かを表す設置フラグと、が対応付けられて予め保存されている。
【0313】
また、本変形例に係る情報処理装置100の情報記憶部190は、
図32に示した再配送テーブルと同様の不図示の再配送テーブルを予め記憶している。再配送テーブルには、複数のレコードが予め保存されている。再配送テーブルの各レコードには、置配方法を表す情報と、配置場所を表す情報と、配送先にポートが有るか否かを表す情報と、ポートの予約が可能か否かを表す情報と、配送実績の有無を表す情報と、再配送の蓋然性を表す値と、が対応付けられて予め保存されている。
【0314】
本変形例に係る情報処理装置100は、実施例の変形例5で説明した不図示の優先度設定処理と同様の処理を、不図示の再配送テーブルを用いて実行する。これにより、情報処理装置100は、配送先にポートが有るか否か、及び、ポートが予約可能か否かに基づいて、1又は複数の割当可能時間帯における、1又は複数の未割当の配送の優先度を設定する。
【0315】
本変形例に係る情報処理装置100は、実施例の変形例5で説明した不図示の移動制御処理と同様の処理を実行する。情報処理装置100は、当該処理の実行を開始すると、
図21のステップS111からS112と同様の処理を実行する。これにより、情報処理装置100は、配送開始タイミングが到来したと判別すると、実施例の変形例5で説明した設置判別処理と同様の処理を実行することで、配送開始タイミングが到来した配送の配送先にポートが有るか否かを、不図示のポートテーブルを用いて判別する。このとき、配送先にポートが有ると判別されると、情報処理装置100は、当該ポートの予約を求める予約要求を、不図示の予約管理装置へ送信する。
【0316】
予約管理装置は、予約要求を受信し、ポートが予約可能であるか否かを判別する。予約管理装置は、予約可能であると判別すると、予約要求を受け付け、予め定められた規則又はソフトウェア乱数に基づいてパスワードを生成し、生成されたパスワードを表す情報を含む予約受付報告を情報処理装置100へ送信する。これに対して、予約管理装置は、予約可能でないと判別すると、予約要求を受け付けず、予約非受付報告を情報処理装置100へ送信する。その後、情報処理装置100は、予約受付報告が取得されるか、予約非受付報告が取得されるかに基づいて、予約が行われたか否かを判別する。
【0317】
配送先にポートが無いと判別した後、又は、予約が行われたか否かを判別した後、情報処理装置100は、ステップS113からS114の処理と同様の処理を実行する。これにより、情報処理装置100は、配送開始タイミングが到来した配送の配送先へ配送機500を移動させる。その後、既に行われている設置判別処理と同様の処理により、配送先にポートが無いと判別されている場合、情報処理装置100は、着陸を命じる着陸命令を配送機500へ送信する。着陸命令を受信すると、配送機500は、不図示のロボットアームが備える撮像装置に配送先を撮像させる。次に、配送機500は、撮像により得られた2枚の画像から、例えば、テンプレートマッチングを行うことで、ポートに対応する画像領域を検出することを試行する。このとき、画像領域が検出さないと、配送機500は、撮像により得られた2枚の画像から特徴点を抽出し、抽出された点の視差に基づいて、配送先の床又は地面の表面の形状を特定する。その後、配送機500は、特定された表面の形状に基づいて、配送先に在る配送機500が着陸可能な場所を特定し、特定された場所に着陸し、着陸報告を情報処理装置100へ送信する。
【0318】
これに対して、配送先にポートが有ると判別されている場合であり、かつ、予約が行われていると判別されている場合に、情報処理装置100の制御部140は、配送機500の機体ID「500」と、予約受付報告から取得されたパスワードを表す情報と、を含み、かつ、予約に従ってポートへ着陸することを許可するように求める予約済着陸許可要求を生成する。次に、情報処理装置100の制御部140は、生成された予約済着陸許可要求を、予約管理装置を宛先としてデータ通信回路104aへ出力し、データ通信回路104aは、予約管理装置へ予約済着陸許可要求を送信する。その後、情報処理装置100のデータ通信回路104aが、着陸を許可することを知らせる着陸許可通知を予約管理装置から受信すると、制御部140は、データ通信回路104aへ、予約管理装置を宛先として配送機500が着陸を行うことを知らせる着陸通知を出力し、配送機500を宛先として着陸命令を出力する。配送機500は、着陸命令を受信すると、配送先を撮像することにより得られた2枚の画像からポートに対応する画像領域を検出し、検出された画像領域の視差に基づいて、ポートの位置を特定する。その後、配送機500は、特定された位置に着陸し、着陸報告を情報処理装置100へ送信する。
【0319】
これに対して、予約が行われていないと判別されている場合、配送機500の制御部140は、着陸の許可を求める着陸許可要求を、予約管理装置を宛先としてデータ通信回路104aへ出力する。その後、情報処理装置100のデータ通信回路104aが着陸許可要求を予約管理装置へ送信した後に、着陸を禁止することを知らせる着陸禁止通知を予約管理装置から受信すると、制御部140は、配送の中止を決定する。次に、情報処理装置100は、配送不能通知を、商品を注文したユーザの端末装置へ送信する。その後、情報処理装置100は、ステップS122及びS123の処理と同様の処理を実行することで、配送の開始位置Sへ配送機500を帰還させる。その後、情報処理装置100は、ステップS111の処理と同様の処理から上記処理を繰り返す。これに対して、情報処理装置100のデータ通信回路104aが、着陸を許可することを知らせる着陸許可通知を予約管理装置から受信すると、制御部140は、データ通信回路104aへ、予約管理装置を宛先として着陸通知を出力し、配送機500を宛先として着陸命令を出力する。
【0320】
その後、情報処理装置100は、配送機500から、配送先に着陸したことを告げる着陸報告を受信すると、ステップS115と同様の処理を実行することで、対面受取方法が指定されているか否かを判別する。このとき、情報処理装置100は、対面受取方法が指定されていると判別すると、ステップS116及びS117と同様の処理を実行することで、受取要求を出力してから受渡時間が経過したか否かを判別する。このとき、受取要求の出力から受渡時間が経過したと判別される場合であり、かつ、既に行われた処理により、配送先にポートが無いと判別されている場合に、情報処理装置100は、配送機500がポートと異なる場所に着陸していると判別する。その後、情報処理装置100は、配送先に商品を置き去ると、商品が盗難される蓋然性が、予め定められた基準値よりも高いと判別する。このため、情報処理装置100は、配送の中止を決定し、ステップS124及びS125と同様の処理を実行することで、不在実績を保存し、不在通知を出力する。その後、情報処理装置100の制御部140は、配送機500を離陸させることを知らせる離陸通知を、予約管理装置を宛先としてデータ通信回路104aへ出力し、データ通信回路104aは、離陸通知を予約管理装置へ送信する。次に、情報処理装置100は、ステップS122及びS123の処理と同様の処理を実行することで、配送機500を配送先から離陸させ、配送の開始位置Sへ配送機500を帰還させる。その後、情報処理装置100は、ステップS111の処理と同様の処理から上記処理を繰り返す。
【0321】
これに対して、受取要求の出力から受渡時間が経過したと判別される場合であり、かつ、既に行われた処理により、配送先にポートがあると判別されている場合に、情報処理装置100は、配送機500がポートに着陸していると判別する。このため、情報処理装置100は、配送先に商品を置き去っても、商品が盗難される蓋然性が、予め定められた基準値よりも低いと判別する。このため、情報処理装置100は、ステップS124と同様の処理を実行することで、不在実績を保存する。次に、制御部140は、配送方法を、対面受取方法から、配置位置をポートとする置配方法に変更して、商品の配送を継続することを決定する。
【0322】
その後、情報処理装置100の制御部140は、商品を解放させることを命じる解放命令を、配送機500を宛先としてデータ通信回路104aへ出力する。情報処理装置100のデータ通信回路104aは、解放命令を配送機500へ送信する。配送機500のデータ通信回路が解放命令を受信すると、配送機500のCPUは、第1囲持枠521aと第2囲持枠521bとを遠ざけるための制御信号を駆動回路へ出力する。これにより、配送機500は、第1囲持枠521aと第2囲持枠521bとから商品を解放し、商品を配送先のポートに配置する。
【0323】
その後、情報処理装置100は、ステップS128の処理と同様の処理を実行することで、配送機500から配置報告を受信すると、ステップS125と同様の処理を実行することで、不在通知を生成する。次に、情報処理装置100の制御部140は、配送先に設置されているポートを配置場所として商品が置配方法で配送されたことを知らせるポート配置通知を生成する。また、制御部140は、ポートで商品を受け取ることを求めるポート受取依頼を生成する。その後、制御部140は、ポートに配置された商品を注文したユーザの端末装置を宛先として、不在通知、ポート配置通知、及び、ポート受取依頼をデータ通信回路104aへ出力する。その後、情報処理装置100は、当該端末装置へ不在通知、ポート配置通知、及び、ポート受取依頼を送信した後に、ステップS122及びS123の処理と同様の処理を実行することで、配送機500を配送の開始位置Sへを帰還させる。その後、情報処理装置100は、ステップS111の処理と同様の処理から上記処理を繰り返す。
【0324】
これに対して、ステップS115の処理と同様の処理により、情報処理装置100は、対面受取方法ではなく、置配方法が指定されていると判別すると、情報処理装置100は、解放命令を配送機500へ送信する。これにより、情報処理装置100は、配送機500に商品をポートに配置させる。その後、情報処理装置100は、ステップS122及びS123の処理と同様の処理を実行することで、配送の開始位置Sへ配送機500を帰還させる。その後、情報処理装置100は、ステップS111の処理と同様の処理から上記処理を繰り返す。
【0325】
不図示の予約管理装置は、不図示のハードディスクを備え、当該ハードディスクは、ポートの状態を表す状態情報を予め記憶している。本変形例では、ポートの状態情報は、当該ポートが使用されている使用状態、当該ポートが予約されている予約状態、及び、当該ポートが使用及び予約されていない空き状態を含む。予約管理装置は、不図示のCPUとデータ通信回路とを備える。予約管理装置は、起動すると、状態情報を、ポートが空き状態であることを表す情報で初期化する。次に、予約管理装置のデータ通信回路が、情報処理装置100から予約可否問合せを受信すると、予約管理装置のCPUは、状態情報が空き状態を表す情報であるか否かを判別する。このとき、CPUは状態情報が空き状態を表す情報であると判別すると、ポートが予約可能であると判別する。その後、CPUは、予約可能であるとの回答を、情報処理装置100を宛先としてデータ通信回路へ出力する。これに対して、CPUは、状態情報が空き状態を表す情報で無いと、ポートが予約不能であると判別する。その後、CPUは、予約不能であるとの回答を、情報処理装置100を宛先としてデータ通信回路へ出力する。その後、データ通信回路は、回答を情報処理装置100へ送信する。
【0326】
その後、予約管理装置のデータ通信回路が予約要求を受信すると、予約管理装置のCPUは、状態情報が空き状態を表す情報であるか否かを判別する。このとき、CPUは、状態情報が空き状態を表す情報であると判別すると、予約要求を受け付ける。次に、CPUは、状態情報を予約状態を表す値に変更する。次に、CPUは、予約要求から機体IDを取得し、取得された機体IDをハードディスクに保存する。また、CPUは、予め定められた規則又はソフトウェア乱数に基づいてパスワードを生成し、生成されたパスワードを表す情報をハードディスクに保存する。その後、CPUは、パスワードを表す情報を含む予約受付報告を、情報処理装置100を宛先としてデータ通信回路へ出力し、データ通信回路は、予約受付報告を情報処理装置100へ送信する。これに対して、予約管理装置は、状態情報が空き状態を表す情報で無いと、予約要求を受け付けず、予約非受付報告を情報処理装置100へ送信する。
【0327】
その後、予約管理装置のデータ通信回路が予約済着陸許可要求を配送機500から受信すると、予約管理装置のCPUは、状態情報が予約状態を表す情報であるか否かを判別する。このとき、CPUは、状態情報が予約状態を表す情報で無いと判別すると、着陸禁止通知を、情報処理装置100を宛先としてデータ通信回路へ出力する。これに対して、CPUは、状態情報が予約状態を表す情報であると判別すると、予約済着陸許可要求から機体IDと、パスワードを表す情報と、を取得する。次に、CPUは、取得された機体ID、及び、パスワードを表す情報が、ハードディスクに保存されている機体ID、及び、パスワードを表す情報と一致すると判別すると、情報処理装置100を宛先として、着陸許可通知をデータ通信回路へ出力する。その後、CPUは、ハードディスクに保存されている機体IDと、パスワードを表す情報と、を削除する。これ対して、一致しないと判別すると、情報処理装置100を宛先として、着陸禁止通知をデータ通信回路へ出力する。その後、予約管理装置のデータ通信回路は、着陸許可通知又は着陸禁止通知を情報処理装置100へ送信する。
【0328】
予約管理装置のデータ通信回路が着陸許可要求を配送機500から受信すると、予約管理装置のCPUは、状態情報が空き状態を表す情報であるか否かを判別する。このとき、CPUは、状態情報が空き状態を表す情報で無いと判別すると、着陸禁止通知を、情報処理装置100を宛先としてデータ通信回路へ出力する。これに対して、CPUは、状態情報が空き状態を表す情報であると判別すると、情報処理装置100を宛先として、着陸許可通知をデータ通信回路へ出力する。その後、予約管理装置のデータ通信回路は、着陸許可通知又は着陸禁止通知を情報処理装置100へ送信する。
【0329】
予約管理装置のデータ通信回路が着陸通知を受信すると、予約管理装置のCPUは、状態情報を、使用状態を表す情報に変更する。その後、データ通信回路が離陸通知を受信すると、CPUは、状態情報を、空き状態を表す情報に変更する。
【0330】
これらの構成によれば、商品の配送先には、配送機500が着陸可能なポートが設置されている。また、情報処理装置100の割当部130は、注目時間帯における注目配送の再配送の蓋然性を、注目時間帯においてポートを予約可能であるか否かに基づいて特定する。このため、情報処理装置100は、再配送の蓋然性を、従来よりも精度良く特定することができる。
【0331】
<実施例の変形例8>
実施例の変形例6では、配送機500は、第1囲持枠521aと第2囲持枠521bとで商品を格納すると説明したが、これに限定される訳では無い。本変形例に係る配送機500は、不図示の格納庫に商品を格納する。配送機500の格納庫は、例えば、情報処理装置590の下面に設置されている。配送機500が備える格納庫の構成及び機能は、配送機600が備える格納庫620の構成及び機能と同様である。
【0332】
<実施例の変形例9>
実施例の変形例6では、配送機500は、第1囲持枠521aと第2囲持枠521bとで商品を囲持することで、商品を搭載すると説明した。また、実施例の変形例8では、配送機500は、不図示の格納庫に商品を格納することで、商品を搭載すると説明した。しかし、これに限定される訳では無く、本変形例に係る配送機500は、
図34に示すようなフック550を1つ備え、フック550を用いて商品を吊持することで、商品を搭載する。
【0333】
フック550は、例えば、シャックルであり、例えば、U字金具である本体部551を備える。本体部551は、互いに対向した端部551a及び551bと、端部551a及び551bと対向する側の湾曲又は屈曲しているクラウン部551cと、を有する。本体部551のクラウン部551cは、端部551a及び551bよりも上側に位置するように、例えば、固定金具によって、配送機500の情報処理装置590の下面に固定されている。
【0334】
本体部551の端部551aには、例えば、棒状金具であるピン552が挿通される不図示の貫通孔が形成されており、端部551bの表面であって、当該貫通孔と対向する面には、ピン552の先端を底部で受け止める不図示の受止穴が形成されている。このため、本体部551の貫通孔に挿通されたピン552の先端が、本体部551の受止穴で受け止められている状態(以下、施錠状態という)では、フック550の本体部551とピン552とは、環形状を形成する。このとき、例えば、環状金具であるリングGに、ピン552が挿通されており、リングGが、例えば、紐Lで、梱包材Aによって梱包された商品に連結されていれば、フック550は、リングGに連結された商品を吊持できる。
【0335】
ピン552が有する2つの端部の内で、本体部551によって受け止められる側と反対側の端部は、例えば、板状金具又は棒状金具である連結部材553と連結されている。連結部材553は、ピン552との連結点553aと反対側の端部で、モータ555が有するシャフト555aに固定された揺動部材554と連結されている。連結部材553は、ピン552との連結点553aを中心として揺動可能に連結されており、かつ、揺動部材554との連結点553bを中心として揺動可能に連結されている。
【0336】
揺動部材554は、例えば、板状金具又は棒状金具であり、連結部材553との連結点553bと異なる固定点で、モータ555のシャフト555aに固定されている。モータ555は、例えば、ステッピングモータであり、不図示のケーブルを介して、情報処理装置590の駆動回路に接続されている。モータ555は、駆動回路から出力される信号に従って、予め定められた角度だけ、予め定められた方向(以下、解錠方向という)へシャフト555aを回転させる。これにより、揺動部材554がシャフト555aとの固定点を中心として、予め定められた方向へ揺動させられると、
図35に示すように、連結部材553との連結点553bが、ピン552の抜出方向に移動させられる。これにより、連結部材553に連結されているピン552が、抜出方向に移動させられるので、ピン552の先端が、本体部551の端部551bに形成されている受止穴から引き離されて、端部551aに近づけられる。
【0337】
本変形例では、ピン552は、抜出方向に、本体部551の端部551aと端部551bとの距離DBに等しい距離だけ移動させられるため、ピン552は、端部551aに形成されている貫通孔から、受止穴の深さDHと等しい距離だけ、先端が突出する位置まで、抜出方向に移動させられる。本変形例では、受止穴の深さDHは、梱包材Aに連結されているリングGの抜出方向の幅TRよりも十分に小さく設計されている。このため、ピン552が抜出方向に距離DBだけ移動させられると、リングGからピン552が抜出される。
【0338】
このように、ピン552の先端が本体部551の受止穴から離された状態(以下、解錠状態という)では、フック550の本体部551とピン552とは、環形状を形成しない。さらに、本体部551のクラウン部551cは、端部551a及び551bがクラウン部551cよりも下側に位置するように、配送機500の情報処理装置590の下面に固定されている。これらのため、フック550が施錠状態から解錠状態となり、リングGからピン552が抜出されると、リングGは、U字形状の本体部551の開口から、商品と共に自由落下する。
【0339】
尚、モータ555は、情報処理装置590から出力される信号で表される角度だけ、解錠方向と逆方向の施錠方向へシャフト555aを回転させることで、フック550の状態を解錠状態から施錠状態に変更させる。
【0340】
配送機500のデータ通信回路が施錠命令を受信すると、配送機500のCPUは、施錠命令に従って、フック550の状態を解錠状態から施錠状態に変更させる制御信号を配送機500の駆動回路へ出力する。駆動回路は、出力された制御信号に従って、シャフト555aを施錠方向に回転させる信号をフック550のモータ555へ出力する。このようにして、フック550の状態が施錠状態に変更される。このとき、フック550のピン552が、商品を梱包した梱包材Aに連結されているリングGに挿通されることで、商品が配送機500に搭載される。
【0341】
配送機500のデータ通信回路が解錠命令を受信すると、配送機500のCPUは、受信された解錠命令に従って、フック550を解錠させる制御信号を配送機500の駆動回路へ出力する。その後、駆動回路は、制御信号に従って、シャフト555aを解錠方向に回転させる信号を、フック550のモータ555へ出力する。このようにして、フック550の状態が解錠状態に変更される。このとき、フック550のピン552が、商品を梱包する梱包材Aに連結されたリングGから抜出されることで、リングGと共に商品が、配送機500から解放されて地面へ落下する。
【0342】
本変形例では、フック550は、シャックルであると説明したが、これに限定される訳では無い。フック550は、リングGを掛止可能なものであれば、どのようなものであっても良く、例えば、カラビナ、又は、アイフックであっても良い。また、フック550の本体部551の形状は、U字形状に限定される訳では無く、例えば、V字、C字、S字、又は、J字形状であっても良い。さらに、フック550の本体部551、ピン552、連結部材553、及び、揺動部材554は、金具に限定される訳では無く、例えば、繊維強化プラスティック又は木材であっても良い。また、本変形例では、ピン552は、抜出方向及び挿通方向に、本体部551の端部551aと端部551bとの距離DBに等しい距離だけ移動させられると説明したが、これに限定される訳では無く、距離DBよりも短い又は長い距離だけ抜出方向及び挿通方向に移動させられても良く、好適なピン552の移動距離は、当業者が実験又は設計により定めることができる。
【0343】
さらに、本変形例では、梱包材Aは、段ボールであるが、これに限定される訳では無く、商品を梱包できる物であれば、どのようなものであっても良く、ビニール袋又は布袋であっても良い。また、本変形例では、リングGは、環状金具であるため、リングGの形状は、円形環形状、楕円形環形状、又は、多角形環形状を含む。また、リングGの形状は、これらに限定される訳では無く、例えば、C字又はS字形状であっても良い。さらに、リングGは、金具に限定される訳では無く、例えば、繊維強化プラスティック又は木材であっても良い。
【0344】
さらに、本変形例では、梱包材Aで梱包された商品は、例えば、紐LでリングGに連結されており、フック550のピン552がリングGに挿通されることで、商品は、配送機500に吊持されると説明した。しかし、これに限定される訳ではなく、梱包材Aで梱包された商品は、紐Lで縛られているが、紐Lは、リングGに連結されておらず、フック550のピン552が紐Lで形成された環に挿通されることで、商品は、配送機500に吊持されても良い。
【0345】
<実施例の変形例10>
実施例では、配送機600は、無人地上車両であり、かつ、商品を格納する格納庫620を備えると説明したが、これに限定される訳では無い。配送機600は、無人地上車両であり、かつ、商品を囲持するための、
図33に示したような第1囲持枠521aと、第2囲持枠521bと、ガイドレール522a及び522bと、を備えても良い。また、配送機600は、無人地上車両であり、かつ、商品を吊持するための、
図34に示したようなフック550を備えても良い。
【0346】
<実施例の変形例11>
実施例では、情報処理システム1は、無人地上車両である配送機600及び700を備えると説明したが、これに限定される訳では無い。情報処理システム1は、1機の配送機を備えても良いし、3機以上の配送機を備えても良い。さらに、情報処理システム1が備える1機以上の配送機は、全てが無人航空機であっても良いし、全てが無人地上車両であっても良いし、少なくとも1機が無人航空機であり、かつ、残りが無人地上車両であっても良い。
【0347】
<実施例の変形例12>
実施例では、配送機600及び700は、無人地上車両であると説明した。また、実施例の変形例6では、配送機500は、無人航空機であると説明した。しかし、配送機500から700は、必ずしも無人である必要はなく、情報処理装置100による制御を除き、自律して移動する物体であれば、人が乗っていても良い。
【0348】
<実施例の変形例13>
実施例では、配置場所は、「庭」又は「玄関前」であると説明いたが、これに限定される訳では無い。配置場所は、例えば、ガスメーターボックスの中、自転車のかごの中、車庫の中、樹木の上、樹木の中、玄関マットの下、屋根の上、又は、ベランダであっても良い。
【0349】
<実施例の変形例14>
実施例では、1回の注文で1つの商品が販売されると説明したが、これに限定される訳ではなく、1回の注文で複数の商品が販売されても良い。また、配送機600は、1回の注文で販売された複数の商品を格納ボックス621に同時に格納して配送しても良い。配送機700も、同様に、1回の注文で販売された複数の商品を同時に格納して配送しても良い。
【0350】
<実施例の変形例15>
実施例では、情報処理システム1は、配送機600及び700を備え、情報処理装置100は、1つの予め定められた時間帯に、配送機600で行われる配送と、配送機700で行われる配送と、を割り当てると説明したが、これに限定される訳ではない。
【0351】
情報処理システム1は、配送機600を備えるが、配送機700を備えず、情報処理装置100は、1つの予め定められた時間帯に、配送機600で行われる配送を2つ割り当てても良い。また、配送機600は、格納ボックスを2つ備え、当該時間帯において、一方の格納ボックスに格納された商品を配送した後に、他方の格納ボックスに格納された商品を配送しても良い。また、情報処理装置100は、1つの予め定められた時間帯に、配送機600で行われる配送を3つ以上割り当てても良い。また、配送機600は、格納ボックスを3つ以上備え、当該時間帯において、当該3つの配送を行っても良い。
【0352】
<実施例の変形例16>
実施例では、商品の配送元は、当該商品が格納されている倉庫であると説明したが、これに限定される訳では無く、当該商品を販売する店舗であっても良い。また、配送の開始位置Sは、倉庫の搬入口であると説明したが、これに限定される訳では無く、倉庫内の予め定められた位置、倉庫の出入口、倉庫の駐車場、店舗内の予め定められた位置、店舗の出入口、又は、店舗の駐車場であっても良い。また、実施例では、商品が商取引の対象とされると説明したが、これに限定される訳ではない。商品は、どのような物であっても良く、例えば、商取引の対象とされない物であっても良い。また、商品は、物でなく、生き物であっても良い。
【0353】
<実施例の変形例17>
実施例では、時間帯指定有りの配送要求は、時間帯を指定するが、日付を指定しないと説明したが、これに限定される訳では無い。時間帯指定有りの配送要求は、日付と時間帯とを指定しても良い。この場合、
図9のステップS35、及び、
図16のステップS56において、情報処理装置100の取得部110は、例えば、OSからシステム日付を表す情報を取得し、割当部130は、取得された情報で表されるシステム日付と同じ日付を指定し、未割当であり、かつ、時間帯指定無しの配送の数を計数すれば良い。同様に、
図17のステップS61において、割当部130は、システム日付と同じ日付を指定し、未割当であり、かつ、時間帯指定無しの配送を特定すれば良い。
【0354】
実施例では、
図18のステップS82において、複数の未注目の割当可能時間帯の内で、開始時刻が最も早い割当可能時間帯に注目し、ステップS86及びS90で、注目された割当可能時間帯に、他の配送又は注目配送を割り当てると説明した。しかし、これに限定される訳ではなく、複数の未注目の割当可能時間帯の内で、開始時刻が最も遅い割当可能時間帯に注目しても良い。また、複数の未注目の割当可能時間帯の内で、ソフトウェア乱数に基づいて選択された割当可能時間帯に注目しても良い。
【0355】
実施例では、より高い優先度程、より小さい数字で表されるが、これに限定される訳では無く、より高い優先度程、より大きい数字で表されても良い。また、実施例では、情報処理装置100が、時間帯指定有りの配送要求を1つ取得する場合を具体例として挙げて説明したが、これに限定される訳では無く、情報処理装置100は、時間帯指定有りの配送要求を複数取得しても良い。また、実施例では、情報処理装置100が、時間帯指定無しの配送要求を複数取得する場合を具体例として挙げて説明したが、これに限定される訳では無く、情報処理装置100は、時間帯指定無しの配送要求を1つ取得しても良い。さらに、情報処理装置100は、時間帯指定有りの配送要求を複数取得し、かつ、時間帯指定無しの配送要求を1つ取得しても良い。
【0356】
さらに、実施例では、
図16のステップS53で、情報処理装置100は、複数の割当候補時間帯を特定すると説明したが、これに限定される訳では無く、1つの割当候補時間帯を特定しても良い。また、実施例では、
図17のステップS62で、情報処理装置100は、複数の割当可能時間帯を特定すると説明したが、これに限定される訳では無く、1つの割当可能時間帯を特定しても良い。
【0357】
さらに、実施例では、情報処理装置100は、
図17のステップS68及びS72において、注目配送の優先度を、盗難の蓋然性を表す値と、再配送の蓋然性を表す値と、の双方に基づいて設定すると説明したが、これに限定される訳では無い。情報処理装置100は、注目配送の優先度を、盗難の蓋然性を表す値と、再配送の蓋然性を表す値と、のいずれか一方に基づいて設定しても良い。
【0358】
さらに、実施例では、情報処理装置100は、
図16のステップS57において、割当済配送数の総和と、時間帯指定無し、かつ、未割当の配送の数と、の和が、割当上限値の総和と等しいか否かを判別すると説明したが、これに限定される訳では無い。情報処理装置100は、割当済配送数の総和と、時間帯指定無し、かつ、未割当の配送の数と、の和が、割当上限値の総和よりも値K(但し、Kは自然数)だけ少ない値と等しいか否かを判別しても良い。すなわち、情報処理装置100は、時間帯指定無し、かつ、未割当の配送の全てについて割り当てが行われると、配送を割り当て可能な時間帯と、当該時間帯に当該配送を実行可能な配送機と、の組み合わせが残りK個となるか否かを判別しても良い。
【0359】
実施例では、情報処理装置100の情報記憶部190は、予め定められた時間帯を表す情報と、当該時間帯の割当上限値を表す情報と、が対応付けられて保存されている、
図6に示すような割当上限値テーブルを予め記憶していると説明した。しかし、これに限定される訳ではなく、情報記憶部190は、予め定められた時間帯「09:00-10:00」から「19:00-20:00」の割当上限値が互いに同じ値である場合に、割当上限値テーブルに代えて、当該割当上限値を表す情報を記憶していても良い。
【0360】
実施例では、
図9のステップS32及び
図16のステップS52で、情報処理装置100は、システム時刻よりも割当・準備時間だけ後の時刻に開始し、かつ、予め定められた時間帯「09:00-10:00」から「19:00-20:00」の終了時刻の内で、最も遅い終了時刻「20:00」に終了する割当期間を特定すると説明した。しかし、これに限定される訳では無く、情報処理装置100の割当部130は、システム時刻よりも割当・準備時間だけ後の時刻に開始し、かつ、最も遅い終了時刻「20:00」よりも早い時刻に終了する期間であっても、予め定められた終了時刻に終了する期間であれば、割当期間として特定しても良い。例えば、割当部130は、システム時刻よりも割当・準備時間だけ後の時刻に開始し、かつ、予め定められた時間帯「09:00-10:00」から「19:00-20:00」の終了時刻の内で、2番目に遅い終了時刻「19:00」に終了する割当期間を特定しても良い。
【0361】
<実施例の変形例18>
実施例の変形例3では、情報処理装置100は、
図29のステップS188及びS189で、調整後の割当実績数の総和等が調整前の割当実績数の総和等よりも多く、かつ、調整後の再配送割合が調整前の再配送割合よりも小さいと判別すると、調整後の初期値kを維持すると説明した。これに対して、情報処理装置100は、調整後の割当実績数の総和等が調整前の割当実績数の総和等以下である、又は、調整後の再配送割合が調整前の再配送割合以上であると判別すると、初期値kを調整前の値に戻すと説明した。しかし、これに限定される訳では無い。
【0362】
情報処理装置100は、調整後の割当実績数の総和等が調整前の割当実績数の総和等以上であり、かつ、調整後の再配送割合が調整前の再配送割合以下であると判別すると、調整後の初期値kを維持しても良い。また、情報処理装置100は、調整後の割当実績数の総和等が調整前の割当実績数の総和等より少ない、又は、調整後の再配送割合が調整前の再配送割合より大きいと判別すると、初期値kを調整前の値に戻しても良い。また、これに限定される訳では無く、情報処理装置100は、調整後の割当実績数の総和等が調整前の割当実績数の総和等よりも多く、かつ、調整後の再配送割合が調整前の再配送割合以下であると判別すると、調整後の初期値kを維持しても良い。また、情報処理装置100は、調整後の割当実績数の総和等が調整前の割当実績数の総和等以下である、又は、調整後の再配送割合が調整前の再配送割合より大きいと判別すると、初期値kを調整前の値に戻しても良い。さらに、これに限定される訳では無く、情報処理装置100は、調整後の割当実績数の総和等が調整前の割当実績数の総和等以上であり、かつ、調整後の再配送割合が調整前の再配送割合よりも小さいと判別すると、調整後の初期値kを維持しても良い。また、情報処理装置100は、調整後の割当実績数の総和等が調整前の割当実績数の総和等より少ない、又は、調整後の再配送割合が調整前の再配送割合以上であると判別すると、初期値kを調整前の値に戻しても良い。
【0363】
さらに、実施例の変形例3では、情報処理装置100は、
図29のステップS188及びS189の双方を実行すると説明したが、これに限定される訳では無く、情報処理装置100は、
図29のステップS188及びS189の一方のみを実行しても良い。すなわち、情報処理装置100は、調整後の割当実績数の総和等が調整前の割当実績数の総和等よりも多いと、調整後の初期値kを維持し、かつ、調整後の割当実績数の総和等が調整前の割当実績数の総和等以下であると、初期値kを調整前の値に戻しても良い。また、これに限定される訳では無く、情報処理装置100は、調整後の割当実績数の総和等が調整前の割当実績数の総和等以上であると、調整後の初期値kを維持し、かつ、調整後の割当実績数の総和等が調整前の割当実績数の総和等より少ないと、初期値kを調整前の値に戻しても良い。
【0364】
また、情報処理装置100は、調整後の再配送割合が調整前の再配送割合よりも小さいと、調整後の初期値kを維持し、かつ、調整後の再配送割合が調整前の再配送割合以上であると、初期値kを調整前の値に戻しても良い。また、これに限定される訳では無く、情報処理装置100は、調整後の再配送割合が調整前の再配送割合以下であると、調整後の初期値kを維持し、かつ、調整後の再配送割合が調整前の再配送割合よりも大きいと、初期値kを調整前の値に戻しても良い。
【0365】
<実施例の変形例19>
実施例の変形例3に係る情報処理装置100は、
図28のステップS171で、変数Kを初期値kで初期化してから、第1タイミング判定処理と、優先度設定処理と、配送割当処理と、を実行すると説明した。その後、実施例の変形例3に係る情報処理装置100は、第2タイミング判定処理と、優先度設定処理と、配送割当処理と、を実行すると説明した。
【0366】
しかし、これに限定される訳では無く、本変形例に係る情報処理装置100は、変数Kを初期値knで初期化すること、第1タイミング判定処理を実行すること、優先度設定処理を実行すること、及び、配送割当処理を実行すること、をN回繰り返す(但し、N及びknは自然数)。その後、本変形例に係る情報処理装置100は、第2タイミング判定処理と、優先度設定処理と、配送割当処理と、を実行する。但し、初期値knは、繰り返し回数がn回目である場合における変数Kの初期値である。但し、繰り返し回数が1回目の初期値k1は、繰り返し回数が0回目の初期値k0よりも小さい。また、繰り返し回数がn回目の初期値knは、繰り返し回数がn-1回目の初期値kn-1よりも小さい。さらに、繰り返し回数がN回目の初期値kNは、値「0」よりも大きい。
【0367】
<実施例の変形例20>
実施例では、
図8のステップS25において、割当済配送数が割当上限値よりも小さいと判別される場合を具体例として挙げて説明を行ったが、これに限定される訳ではない。情報処理装置100は、割当済配送数が割当上限値以上であると判別すると(ステップS25;No)、時間帯指定有りの注文を受付不能であると判定する(ステップS22)。
【0368】
実施例では、
図3のステップS07において、第1受付判定処理の返値が、受付可能を表す値であると判別される場合を具体例として挙げて説明を行ったが、これに限定される訳ではない。情報処理装置100は、第1受付判定処理の返値が、受付不能を表す値であると判別すると(ステップS07;No)、時間帯指定有りの注文を受け付けずに、ステップS03から上記処理を繰り返す。
【0369】
実施例では、
図9のステップS36において、割当済配送数の総和と、時間帯指定無し、かつ、未割当の配送の数と、の和が、割当上限値の総和よりも少ないと判別される場合を具体例として挙げて説明を行ったが、これに限定される訳ではない。情報処理装置100の割当部130は、割当済配送数の総和と、時間帯指定無し、かつ、未割当の配送の数と、の和が、割当上限値の総和以上である、と判別すると(ステップS36;No)、時間帯指定無しの注文を受付不能であると判定する(ステップS38)。その後、情報処理装置100の割当部130は、当該注文を受付不能であることを表す値を、第2受付判定処理の返値に設定してから、第2受付判定処理の実行を終了する。
【0370】
実施例では、
図3のステップS11において、第2受付判定処理の返値が、受付可能を表す値であると判別される場合を具体例として挙げて説明を行ったが、これに限定される訳ではない。情報処理装置100は、第2受付判定処理の返値が、受付不能を表す値であると判別すると(ステップS11;No)、時間帯指定無しの注文を受け付けずに、ステップS03から上記処理を繰り返す。
【0371】
実施例では、
図16のステップS57において、割当済配送数の総和と、時間帯指定無し、かつ、未割当の配送の数と、の和が、割当上限値の総和と等しいと判別される場合を具体例として挙げて説明を行ったが、これに限定される訳ではない。情報処理装置100の割当部130は、割当済配送数の総和と、時間帯指定無し、かつ、未割当の配送の数と、の和が、割当上限値の総和よりも少ないと判別すると(ステップS57;No)、割当タイミングが到来していないと判別する(ステップS59)。その後、情報処理装置100は、割当タイミングが到来していないことを表す値を、タイミング判定処理の返値に設定してから、タイミング判定処理の実行を終了する。
【0372】
実施例では、
図10のステップS42において、タイミング判定処理の返値が、割当タイミングの到来を表す値であると判別される場合を具体例として挙げて説明を行ったが、これに限定される訳ではない。情報処理装置100は、タイミング判定処理の返値が、割当タイミングの到来を表す値でないと判別すると(ステップS42;No)、ステップS41から上記処理を繰り返す。
【0373】
実施例では、
図18のステップS84において、注目配送の優先度に時間変化が無いと判別される場合を具体例として挙げて説明を行ったが、これに限定される訳ではない。情報処理装置100は、注目配送の優先度に時間変化が有ると判別すると(ステップS84;Yes)、注目配送を注目時間帯に割り当てる(ステップS90)。その後、情報処理装置100は、ステップS87から処理の実行を継続する。
【0374】
実施例の変形例1では、
図27のステップS162において、注目配送の優先度に時間変化が無いと判別される場合を具体例として挙げて説明を行ったが、これに限定される訳ではない。情報処理装置100は、注目配送の優先度に時間変化が有ると判別すると(ステップS162;Yes)、注目配送を締切時間帯に割り当てる(ステップS168)。その後、情報処理装置100は、ステップS165から処理の実行を継続する。
【0375】
実施例の変形例1では、
図27のステップS163において、他の配送が存在すると判別される場合を具体例として挙げて説明を行ったが、これに限定される訳ではない。情報処理装置100は、他の配送が存在しないと判別すると(ステップS163;No)、注目配送を締切時間帯に割り当てる(ステップS168)。
【0376】
実施例の変形例1では、
図27のステップS167において、割当済配送数が割当上限値に等しい場合を具体例として挙げて説明を行ったが、これに限定される訳ではない。情報処理装置100は、割当済配送数が割当上限値より少ないと判別すると(ステップS167;Yes)、ステップS161から上記処理を繰り返す。
【0377】
<実施例の変形例21>
実施例では、情報処理装置100は、情報記憶部190を備えると説明したが、これに限定される訳ではない。本変形例に係る情報処理装置100は、情報記憶部190を備えない。本変形例に係る情報処理装置100は、例えば、NAS(Network Attached Storage)であり、かつ、情報記憶部190の機能と同様の機能を有する不図示の情報記憶装置とインタネットINを介して接続されており、情報記憶装置が記憶する情報を用いて、
図3、
図8から
図10、
図16から
図18、
図20、及び、
図21に示した処理を実行する。本変形例に係る情報処理システム1は、情報記憶装置を備えても良いし、情報記憶装置を備えなくても良い。
【0378】
<実施例の変形例22>
実施例では、情報処理システム1は、情報処理装置100を備えると説明した。また、実施例では、情報処理装置100のCPU101は、
図3、
図8から
図10、
図16から
図18、
図20、及び、
図21に示した処理を実行すると説明した。また、情報処理装置100のCPU101及びハードディスク103bは、
図4に示した各機能部として機能すると説明した。
【0379】
しかし、これらに限定される訳ではなく、情報処理システム1は、情報処理装置100を備えなくとも良い。この場合、
図3、
図8から
図10、
図16から
図18、
図20、及び、
図21に示した処理は、配送機600が備える情報処理装置690のCPU691によって実行されても良い。このため、配送機600のCPU691及びフラッシュメモリ693bが、情報処理装置100の各機能部に相当する不図示の機能部として機能しても良い。また、これに限定される訳ではなく、
図3、
図8から
図10、
図16から
図18、
図20、及び、
図21に示した処理の少なくとも1つは、情報処理装置100のCPU101と、配送機600のCPU691と、端末装置901から905が備える不図示のCPUと、の2つ以上によって分散実行されても良い。
【0380】
本発明の実施例及び実施例の変形例1から22は、互いに組み合わせることができる。実施例及び実施例の変形例1から21のいずれかに係る機能を実現するための構成を備えた情報処理装置100、並びに、実施例の変形例22に係る機能を実現するための構成を備えた情報処理装置690として提供できることはもとより、複数の装置で構成されるシステムであって、本発明の実施例及び実施例の変形例1から22のいずれかに係る機能を実現するための構成をシステム全体として備えたシステムとして提供することもできる。
【0381】
実施例及び実施例の変形例1から21のいずれかに係る機能を実現するための構成を予め備えた情報処理装置100として提供できる。また、プログラムの適用により、既存の情報処理装置を実施例及び実施例の変形例1から21のいずれかに係る情報処理装置100として機能させることもできる。すなわち、実施例及び実施例の変形例1から21のいずれかで例示した情報処理装置100による各機能構成を実現させるためのプログラムを、既存の情報処理装置を制御するコンピュータ(CPUなど)が実行することで、実施例及び実施例の変形例1から21のいずれかに係る情報処理装置100として機能させることができる。
【0382】
本発明の実施例の変形例22に係る機能を実現するための構成を予め備えた情報処理装置690として提供できる。また、プログラムの適用により、既存の情報処理装置を実施例の変形例22に係る情報処理装置690として機能させることもできる。すなわち、上記実施例の変形例22で例示した情報処理装置690による各機能構成を実現させるためのプログラムを、既存の情報処理装置を制御するコンピュータ(CPUなど)が実行することで、実施例の変形例22に係る情報処理装置690として機能させることができる。
【0383】
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD(Compact Disc)-ROM、又は、DVD(Digital Versatile Disc)-ROMなどの記録媒体に収納して配布できる他、インタネットなどの通信媒体を介して配布することもできる。
【0384】
本発明に係る方法は、実施例及び実施例の変形例1から21のいずれかに係る情報処理装置100、並びに、実施例の変形例22に係る情報処理装置690を用いて実施できる。また、本発明に係る方法は、実施例及び実施例の変形例1から22のいずれかに係る情報処理システム1を用いて実施できる。
【0385】
また、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【0386】
(付記)
(付記1)
時間帯を指定して、商品の配送を求める時間帯指定有りの配送要求と、時間帯を指定せずに、商品の配送を求める時間帯指定無しの配送要求と、を取得する取得部と、
取得された時間帯指定有りの前記配送要求によって求められた前記配送である、時間帯指定有りの配送について、指定された前記時間帯である指定時間帯に配送時間帯を割り当てることで、時間帯指定有りの前記配送を前記指定時間帯に割り当てる割当部と、を備え、
前記取得部は、時間帯指定有りの前記配送が前記指定時間帯に割り当てられた後に、前記指定時間帯に割当可能な配送の数の上限値である割当上限値を表す情報を取得し、かつ、
前記割当部は、取得された前記情報で表される前記割当上限値よりも、前記指定時間帯に割り当てられた配送の数である割当済配送数の方が小さいと、取得された時間帯指定無しの前記配送要求によって求められた前記配送である、時間帯指定無しの配送について、配送時間帯を前記指定時間帯に割り当てることで、時間帯指定無しの前記配送を前記指定時間帯に割り当てる、
ことを特徴とする情報処理装置。
【0387】
(付記2)
前記取得部は、1又は複数の時間帯指定有りの配送要求と、1又は複数の時間帯指定無しの配送要求と、を取得し、
前記割当部は、取得された前記1又は複数の時間帯指定有りの配送要求によって求められる1又は複数の時間帯指定有りの配送を、前記1又は複数の時間帯指定有りの配送要求によって指定される1又は複数の指定時間帯に割り当て、
前記取得部は、前記1又は複数の時間帯指定有りの配送が前記1又は複数の指定時間帯に割り当てられると、システム時刻を表す情報を取得し、かつ、
前記割当部は、
取得された前記情報で表される前記システム時刻よりも後の開始時刻に開始し、かつ、予め定められた終了時刻に終了する割当期間に含まれる1又は複数の予め定められた時間帯を特定し、
特定された前記1又は複数の予め定められた時間帯について、割当済配送数の総和と、割当上限値の総和と、を算出し、
取得された前記1又は複数の時間帯指定無しの配送要求によって求められる1又は複数の時間帯指定無しの配送の数を算出し、かつ、
算出された前記割当済配送数の前記総和と、前記1又は複数の時間帯指定無しの配送の前記数と、の和が、前記割当上限値の前記総和と等しくなるタイミング、又は、前記割当上限値の前記総和よりも値K(但し、Kは自然数)だけ少ない値と等しくなるタイミング、が到来すると、前記1又は複数の時間帯指定無しの配送を、前記割当期間に含まれる前記1又は複数の予め定められた時間帯に割り当てる、
ことを特徴とする付記1に記載の情報処理装置。
【0388】
(付記3)
前記商品は、第1商品と、第2商品と、を含み、
前記複数の時間帯指定無しの配送は、前記第1商品の配送である第1配送と、前記第2商品の配送である第2配送と、を含み、
前記割当期間に含まれる前記複数の予め定められた時間帯は、第1時間帯と、第2時間帯と、を含み、かつ、
前記割当部は、
前記第1配送を前記第1時間帯にどの程度優先して割り当てるかを表す指標である、前記第1時間帯における前記第1配送の優先度と、前記第1時間帯における前記第2配送の優先度と、を、前記第1配送が前記第1時間帯に行われる場合において前記第1商品の再配送が求められる蓋然性である、前記第1時間帯における前記第1配送の再配送の蓋然性と、前記第1時間帯における前記第2配送の再配送の蓋然性と、に基づいて設定し、
前記第2時間帯における前記第1配送の優先度と、前記第2時間帯における前記第2配送の優先度と、を、前記第2時間帯における前記第1配送の再配送の蓋然性と、前記第2時間帯における前記第2配送の再配送の蓋然性と、に基づいて設定し、かつ、
前記第1時間帯における前記第2配送の前記優先度が、前記第2時間帯における前記第2配送の前記優先度と同じ値であり、かつ、前記第1時間帯における前記第2配送の前記優先度が、前記第1時間帯における前記第1配送の前記優先度よりも高い場合に、前記第1時間帯における前記第1配送の前記優先度が、前記第2時間帯における前記第1配送の前記優先度より高いと、前記第1配送を前記第2配送よりも優先して、前記第1時間帯に割り当てる、
ことを特徴とする付記2に記載の情報処理装置。
【0389】
(付記4)
前記取得部は、1又は複数の時間帯指定有りの配送要求と、1又は複数の時間帯指定無しの配送要求と、を取得し、
前記割当部は、取得された前記1又は複数の時間帯指定有りの配送要求によって求められる1又は複数の時間帯指定有りの配送を、前記1又は複数の時間帯指定有りの配送要求によって指定される1又は複数の指定時間帯に割り当て、
前記取得部は、システム時刻を表す情報を取得し、かつ、
前記割当部は、取得された前記情報で表される前記システム時刻が、1又は複数の予め定められた時間帯のいずれかの開始時刻よりも、前記配送の割り当てと準備とに要する時間だけ前の時刻となるタイミングが到来すると、取得された前記1又は複数の時間帯指定無しの配送要求によって求められる1又は複数の時間帯指定無しの配送を、前記1又は複数の予め定められた時間帯の前記いずれかに割り当てる、
ことを特徴とする付記1に記載の情報処理装置。
【0390】
(付記5)
前記商品は、第1商品と、第2商品と、を含み、
前記複数の時間帯指定無しの配送は、前記第1商品の配送である第1配送と、前記第2商品の配送である第2配送と、を含み、かつ、
前記割当部は、取得された前記情報で表される前記システム時刻よりも後の開始時刻に開始し、かつ、予め定められた終了時刻に終了する割当期間に含まれる第1時間帯と第2時間帯とを特定し、
前記割当部は、
前記第1配送を前記第1時間帯にどの程度優先して割り当てるかを表す指標である、前記第1時間帯における前記第1配送の優先度と、前記第1時間帯における前記第2配送の優先度と、を、前記第1配送が前記第1時間帯に行われる場合において前記第1商品の再配送が求められる蓋然性である、前記第1時間帯における前記第1配送の再配送の蓋然性と、前記第1時間帯における前記第2配送の再配送の蓋然性と、に基づいて設定し、
前記第2時間帯における前記第1配送の優先度と、前記第2時間帯における前記第2配送の優先度と、を、前記第2時間帯における前記第1配送の再配送の蓋然性と、前記第2時間帯における前記第2配送の再配送の蓋然性と、に基づいて設定し、かつ、
前記第1時間帯における前記第2配送の前記優先度が、前記第2時間帯における前記第2配送の前記優先度と同じ値であり、かつ、前記第1時間帯における前記第2配送の前記優先度が、前記第1時間帯における前記第1配送の前記優先度よりも高い場合に、前記第1時間帯における前記第1配送の前記優先度が、前記第2時間帯における前記第1配送の前記優先度より高いと、前記第1配送を前記第2配送よりも優先して、前記第1時間帯に割り当てる、
ことを特徴とする付記4に記載の情報処理装置。
【0391】
(付記6)
前記割当部は、
前記第1時間帯における前記第1配送の前記再配送の蓋然性が高い程、前記第1時間帯における前記第1配送の前記優先度を低く設定し、
前記第1時間帯における前記第2配送の前記再配送の蓋然性が高い程、前記第1時間帯における前記第2配送の前記優先度を低く設定し、
前記第2時間帯における前記第1配送の前記再配送の蓋然性が高い程、前記第2時間帯における前記第1配送の前記優先度を低く設定し、かつ、
前記第2時間帯における前記第2配送の前記再配送の蓋然性が高い程、前記第2時間帯における前記第2配送の前記優先度を低く設定する、
ことを特徴とする付記3又は5に記載の情報処理装置。
【0392】
(付記7)
前記第1配送を求める時間帯指定無しの前記配送要求は、配送方法として、前記第1商品の配送先である第1配送先で受取人が前記第1商品を受け取るという対面受取方法を指定し、かつ、
前記割当部は、
前記第1時間帯における前記第1配送の前記再配送の蓋然性を、前記第1時間帯における前記第1配送先への配送履歴に基づいて特定し、かつ、
前記第2時間帯における前記第1配送の前記再配送の蓋然性を、前記第2時間帯における前記第1配送先への配送履歴に基づいて特定する、
ことを特徴とする付記3、5、及び、6のいずれか一つに記載の情報処理装置。
【0393】
(付記8)
前記第1商品の配送先には、前記第1商品を格納可能なロッカー装置が設置されており、かつ、
前記割当部は、
前記第1時間帯における前記第1配送の前記再配送の蓋然性を、前記第1時間帯において前記ロッカー装置を予約可能であるか否かに基づいて特定し、かつ、
前記第2時間帯における前記第1配送の前記再配送の蓋然性を、前記第2時間帯において前記ロッカー装置を予約可能であるか否かに基づいて特定する、
ことを特徴とする付記3及び5から7のいずれか一つに記載の情報処理装置。
【0394】
(付記9)
前記第1商品の配送先には、配送機が着陸可能なポートが設置されており、
前記割当部は、
前記第1時間帯における前記第1配送の前記再配送の蓋然性を、前記第1時間帯において前記ポートを予約可能であるか否かに基づいて特定し、かつ、
前記第2時間帯における前記第1配送の前記再配送の蓋然性を、前記第2時間帯において前記ポートを予約可能であるか否かに基づいて特定する、
ことを特徴とする付記3及び5から8のいずれか一つに記載の情報処理装置。
【0395】
(付記10)
前記割当部は、時間帯指定有りの前記配送を前記指定時間帯に割り当てるために、予め定められた時間帯を表す情報と、予め定められた前記時間帯に割り当てられた配送を識別する情報と、予め定められた前記時間帯の割当上限値を表す情報と、を対応付けて記憶する記憶部に、時間帯指定有りの前記配送を識別する情報を、前記指定時間帯を表す情報に対応付けて保存し、
前記取得部は、時間帯指定有りの前記配送が前記指定時間帯に割り当てられた後に、前記指定時間帯を表す前記情報に対応付けられた前記情報を取得し、かつ、
前記割当部は、
取得された前記情報で識別される前記配送の数を前記割当済配送数として計数し、かつ、
計数された前記割当済配送数が、取得された前記情報で表される前記割当上限値よりも小さいと、時間帯指定無しの前記配送を前記指定時間帯に割り当てるために、時間帯指定無しの前記配送を識別する情報を、前記指定時間帯を表す前記情報に対応付けて前記記憶部に保存する、
ことを特徴とする付記1から9のいずれか一つに記載の情報処理装置。
【0396】
(付記11)
時間帯指定有りの前記配送と、時間帯指定無しの前記配送と、が前記指定時間帯に割り当てられると、時間帯指定有りの前記配送が求められた前記商品と、時間帯指定無しの前記配送が求められた前記商品と、を、前記指定時間帯において配送させる制御を配送機に行う制御部、をさらに備える、
ことを特徴とする付記1から10のいずれか一つに記載の情報処理装置。
【0397】
(付記12)
前記割当部は、算出された前記割当済配送数の前記総和と、前記1又は複数の時間帯指定無しの配送の前記数と、の前記和が、前記割当上限値の前記総和よりも前記値Kだけ少ない前記値と等しくなる前記タイミングで、前記1又は複数の時間帯指定無しの配送を、前記割当期間である第1割当期間に含まれる前記1又は複数の予め定められた時間帯に割り当て、
前記取得部は、前記1又は複数の時間帯指定無しの配送が前記第1割当期間に含まれる前記1又は複数の予め定められた時間帯に割り当てられると、1又は複数の時間帯指定有りの配送要求と、1又は複数の時間帯指定無しの配送要求と、をさらに取得し、
前記割当部は、さらに取得された前記1又は複数の時間帯指定有りの配送要求によって求められる1又は複数の時間帯指定有りの配送を、当該1又は複数の時間帯指定有りの配送要求によって指定される1又は複数の指定時間帯にさらに割り当て、
前記取得部は、前記1又は複数の時間帯指定有りの配送が前記1又は複数の指定時間帯にさらに割り当てられると、システム時刻を表す情報をさらに取得し、かつ、
前記割当部は、
さらに取得された前記情報で表される前記システム時刻よりも後の開始時刻に開始し、かつ、前記終了時刻に終了する第2割当期間に含まれる1又は複数の予め定められた時間帯をさらに特定し、
さらに特定された前記1又は複数の予め定められた時間帯について、割当済配送数の総和と、割当上限値の総和と、をさらに算出し、
さらに取得された前記1又は複数の時間帯指定無しの配送要求によってさらに求められる1又は複数の時間帯指定無しの配送の数をさらに算出し、かつ、
さらに算出された前記割当済配送数の前記総和と、さらに算出された前記1又は複数の時間帯指定無しの配送の前記数と、の和が、さらに算出された前記割当上限値の前記総和と等しくなるタイミングで、さらに求められる前記1又は複数の時間帯指定無しの配送を、前記第2割当期間に含まれる前記1又は複数の予め定められた時間帯に割り当てる、
ことを特徴とする付記2又は3に記載の情報処理装置。
【0398】
(付記13)
割り当てられた配送の数である割当実績数が増加するように前記値Kを調整する、調整部をさらに備える、
ことを特徴とする付記12に記載の情報処理装置。
【0399】
(付記14)
前記調整部は、
調整前の値よりも、予め定められた値だけ小さい又は大きい値に、前記値Kを調整し、
前記値Kの調整後における割当実績数が、前記値Kの調整前における割当実績数よりも少ないと、前記値Kを調整前の前記値に戻し、かつ、
前記値Kの調整前における前記割当実績数よりも、前記値Kの調整後における前記割当実績数の方が多いと、前記値Kを調整後の前記値に維持する、
ことを特徴とする付記13に記載の情報処理装置。
【0400】
(付記15)
前記調整部は、前記割当実績数が増加し、かつ、前記割当実績数に対する再配送の数の割合である再配送割合が減少するように、前記値Kを調整する、
ことを特徴とする付記14に記載の情報処理装置。
【0401】
(付記16)
前記調整部は、
前記値Kの調整後における前記割当実績数が、前記値Kの調整前における前記割当実績数より少ない、又は、前記値Kの調整後における再配送割合が、前記値Kの調整前における再配送割合より大きいと、前記値Kを調整前の前記値に戻し、かつ、
前記値Kの調整後における前記割当実績数が、前記値Kの調整前における前記割当実績数より多く、かつ、前記値Kの調整後における再配送割合が、前記値Kの調整前における前記再配送割合より小さいと、前記値Kを調整後の前記値に維持する、
ことを特徴とする付記15に記載の情報処理装置。
【0402】
(付記17)
時間帯を指定して、商品の配送を求める時間帯指定有りの配送要求と、時間帯を指定せずに、商品の配送を求める時間帯指定無しの配送要求と、を取得する取得部と、
取得された時間帯指定有りの前記配送要求によって求められた前記配送である、時間帯指定有りの配送について、指定された前記時間帯である指定時間帯に配送時間帯を割り当てることで、時間帯指定有りの前記配送を前記指定時間帯に割り当てる割当部と、を備え、
前記取得部は、時間帯指定有りの前記配送が前記指定時間帯に割り当てられた後に、前記指定時間帯に割当可能な配送の数の上限値である割当上限値を表す情報を取得し、かつ、
前記割当部は、取得された前記情報で表される前記割当上限値よりも、前記指定時間帯に割り当てられた配送の数である割当済配送数の方が小さいと、取得された時間帯指定無しの前記配送要求によって求められた前記配送である、時間帯指定無しの配送について、配送時間帯を前記指定時間帯に割り当てることで、時間帯指定無しの前記配送を前記指定時間帯に割り当てる、
ことを特徴とするシステム。
【0403】
(付記18)
時間帯を指定して、商品の配送を求める時間帯指定有りの配送要求と、時間帯を指定せずに、商品の配送を求める時間帯指定無しの配送要求と、を、情報処理装置又はシステムが取得する第1取得ステップと、
取得された時間帯指定有りの前記配送要求によって求められた前記配送である、時間帯指定有りの配送について、指定された前記時間帯である指定時間帯に配送時間帯を割り当てることで、時間帯指定有りの前記配送を前記指定時間帯に、前記情報処理装置又は前記システムが割り当てる第1割当ステップと、
時間帯指定有りの前記配送が前記指定時間帯に割り当てられた後に、前記指定時間帯に割当可能な配送の数の上限値である割当上限値を表す情報を、前記情報処理装置又は前記システムが取得する第2取得ステップと、
取得された前記情報で表される前記割当上限値よりも、前記指定時間帯に割り当てられた配送の数である割当済配送数の方が小さいと、取得された時間帯指定無しの前記配送要求によって求められた前記配送である、時間帯指定無しの配送について、配送時間帯を前記指定時間帯に割り当てることで、時間帯指定無しの前記配送を前記指定時間帯に、前記情報処理装置又は前記システムが割り当てる第2割当ステップと、
を有することを特徴とする方法。
【符号の説明】
【0404】
1:情報処理システム 100、590、690、890:情報処理装置 101、691:CPU 102、692:RAM 103a、693a:ROM 103b:ハードディスク 104a、694a:データ通信回路 105a、695a:ビデオカード 105b、695b:ディスプレイパネル 105c、695c:入力装置 110:取得部 120:認証部 130:割当部 140:制御部 150:調整部 190:情報記憶部 500、600、700:配送機 501から504:プロペラアーム 511から514:プロペラ 521a:第1囲持枠 521b:第2囲持枠 522a、522b:ガイドレール 541、641:LiDARセンサ 550:フック 551:本体部 551a、551b:端部 551c:クラウン部 552:ピン 553:連結部材 553a、553b:連結点 554:揺動部材 555:モータ 555a:シャフト 601、602:車輪 610:車台 620:格納庫 621、721、821から828:格納ボックス 621a:扉 621b:扉枠 621c:デッドボルト 621d:ストライク 670、770:ロボットアーム 671:グリッパー 672:アーム 680:撮像装置 693b:フラッシュメモリ 696:位置計測回路 698:入出力ポート 699:駆動回路 800:ロッカー装置 901から905:端末装置 A:梱包材 DB:端部間の距離 DH:受止穴の深さ G:リング L:紐 IN:インタネット TR:リングの抜出方向の幅