IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧 ▶ NECソリューションイノベータ株式会社の特許一覧

特許7544400最適化装置、最適化方法、及び最適化プログラム
<>
  • 特許-最適化装置、最適化方法、及び最適化プログラム 図1
  • 特許-最適化装置、最適化方法、及び最適化プログラム 図2
  • 特許-最適化装置、最適化方法、及び最適化プログラム 図3
  • 特許-最適化装置、最適化方法、及び最適化プログラム 図4
  • 特許-最適化装置、最適化方法、及び最適化プログラム 図5
  • 特許-最適化装置、最適化方法、及び最適化プログラム 図6
  • 特許-最適化装置、最適化方法、及び最適化プログラム 図7
  • 特許-最適化装置、最適化方法、及び最適化プログラム 図8
  • 特許-最適化装置、最適化方法、及び最適化プログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-26
(45)【発行日】2024-09-03
(54)【発明の名称】最適化装置、最適化方法、及び最適化プログラム
(51)【国際特許分類】
   G06Q 10/0835 20230101AFI20240827BHJP
   B65G 61/00 20060101ALI20240827BHJP
   G06Q 10/047 20230101ALI20240827BHJP
【FI】
G06Q10/0835
B65G61/00 542
G06Q10/047
【請求項の数】 8
(21)【出願番号】P 2022575128
(86)(22)【出願日】2021-12-06
(86)【国際出願番号】 JP2021044723
(87)【国際公開番号】W WO2022153716
(87)【国際公開日】2022-07-21
【審査請求日】2023-06-29
(31)【優先権主張番号】P 2021002925
(32)【優先日】2021-01-12
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】戸田 昭夫
(72)【発明者】
【氏名】千嶋 博
(72)【発明者】
【氏名】月山 賢治
【審査官】深津 始
(56)【参考文献】
【文献】特開2005-096928(JP,A)
【文献】特開2018-073213(JP,A)
【文献】特開2016-191974(JP,A)
【文献】特開2015-228073(JP,A)
【文献】台湾特許出願公開第201830298(TW,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 -G06Q 99/00
B65G 61/00
(57)【特許請求の範囲】
【請求項1】
複数の消費地のそれぞれについて、1以上の製品の各々の配送量を示す配送情報を取得する取得手段と、
配送元を出発し、1以上の消費地の各々に前記1以上の製品を配送し、配送元に戻る配送タスクの候補を複数特定する特定手段と、
前記配送情報に基づいて、各候補における評価値を決定する決定手段と、
決定結果に基づく目的関数を最適化した結果に基づいて、特定された複数の候補から複数の配送タスクを選択する選択手段と、
を備え
前記特定手段は、1つの消費地へ配送を行うための第1の候補と、相互の距離が閾値以下である2つの消費地へ配送を行うための第2の候補とを特定し、
前記決定手段は、前記候補における配送量を前記候補における移動距離で除算することで前記評価値を決定する
最適化装置。
【請求項2】
前記選択手段は、
アニーリングによって前記目的関数を最適化した結果に基づいて、前記複数の候補から前記複数の配送タスクを選択する、
請求項1に記載の最適化装置。
【請求項3】
前記特定手段は、
前記第2の候補を特定するとき、配送タスクにおける前記1以上の製品の配送量が配送車両の積載量の上限値以下であるか否かを判定し、判定結果が真である場合、前記配送タスクを前記第2の候補として特定する、
請求項に記載の最適化装置。
【請求項4】
前記決定手段は、
前記配送情報に基づいて、各候補における配送車両の車両種をさらに決定し、
前記選択手段は、
各車両種の車両数を上限値以下とする制約条件を満たしたうえで前記目的関数を最適化する、
請求項1からのいずれかに記載の最適化装置。
【請求項5】
前記1以上の消費地は、配送する時間帯が指定される第1の消費地と、配送する時間帯が指定されない第2の消費地とを含んでおり、
前記取得手段は、
前記第1の消費地について、配送する時間帯と、前記1以上の製品の各々の配送量と、を取得し、
前記第2の消費地について、時間帯ごとに、前記時間帯に配送を行う場合における前記1以上の製品の各々の配送量を取得し、
前記選択手段は、
前記第1の消費地への配送回数が1回であり、前記第2の消費地への配送回数が0回又は1回となるような制約条件を満たしたうえで前記目的関数を最適化する、
請求項1からのいずれか1項に記載の最適化装置。
【請求項6】
前記決定手段は、
前記複数の候補のそれぞれについて、配送先、前記配送先ごとの前記1以上の製品の各々の配送量、車両種、及び前記評価値を含む配送データを生成して記憶装置に登録し、
前記選択手段は、
選択された各配送タスクに係る配送データを表示装置に表示する、
請求項1からのいずれか1項に記載の最適化装置。
【請求項7】
コンピュータが、
複数の消費地のそれぞれについて、1以上の製品の各々の配送量を示す配送情報を取得し、
配送元を出発し、1以上の消費地の各々に前記1以上の製品を配送し、配送元に戻る配送タスクの候補を複数特定し、
前記配送情報に基づいて、各候補における評価値を決定し、
決定結果に基づく目的関数を最適化した結果に基づいて、特定された複数の候補から複数の配送タスクを選択し、
前記特定することは、1つの消費地へ配送を行うための第1の候補と、相互の距離が閾値以下である2つの消費地へ配送を行うための第2の候補とを特定し、
前記決定することは、前記候補における配送量を前記候補における移動距離で除算することで前記評価値を決定する
最適化方法。
【請求項8】
コンピュータに、
複数の消費地のそれぞれについて、1以上の製品の各々の配送量を示す配送情報を取得する処理と、
配送元を出発し、1以上の消費地の各々に前記1以上の製品を配送し、配送元に戻る配送タスクの候補を複数特定する処理と、
前記配送情報に基づいて、各候補における評価値を決定する処理と、
決定結果に基づく目的関数を最適化した結果に基づいて、特定された複数の候補から複数の配送タスクを選択する処理と、
を実行させ
前記特定する処理は、1つの消費地へ配送を行うための第1の候補と、相互の距離が閾値以下である2つの消費地へ配送を行うための第2の候補とを特定し、
前記決定する処理は、前記候補における配送量を前記候補における移動距離で除算することで前記評価値を決定する
最適化プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は最適化装置、最適化方法、及び最適化プログラムに関する。
【背景技術】
【0002】
特許文献1は、配送先、配送品種、配送時間帯などの多数の要素の組合せから、目的関数を最大化又は最小化して配送計画を立案する技術を開示している。最適化には、局所探索法、遺伝的アルゴリズム、アニーリング等のメタヒューリスティクスが使用される。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2005-096928号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載された技術によると、配送先の数が増えると組合せの数が膨大であり問題の規模が増加する場合が多く、有効な解を現実的な時間で計算することが困難になるという問題があった。
【0005】
本開示は、このような問題を解決するためになされたものであり、配送計画の作成時間を低減する最適化装置、最適化方法、及び最適化プログラムを提供する。
【課題を解決するための手段】
【0006】
本開示にかかる最適化装置は、
複数の消費地のそれぞれについて、1以上の製品の各々の配送量を示す配送情報を取得する取得部と、
配送元を出発し、1以上の消費地の各々に前記1以上の製品を配送し、配送元に戻る配送タスクの候補を複数特定する特定部と、
前記配送情報に基づいて、各候補における評価値を決定する決定部と、
決定結果に基づく目的関数を最適化した結果に基づいて、特定された複数の候補から複数の配送タスクを選択する選択部と、
を備え
前記特定手段は、1つの消費地へ配送を行うための第1の候補と、相互の距離が閾値以下である2つの消費地へ配送を行うための第2の候補とを特定し、
前記決定手段は、前記候補における配送量を前記候補における移動距離で除算することで前記評価値を決定する
【0007】
本開示にかかる最適化方法は、
コンピュータが、
複数の消費地のそれぞれについて、1以上の製品の各々の配送量を示す配送情報を取得し、
配送元を出発し、1以上の消費地の各々に前記1以上の製品を配送し、配送元に戻る配送タスクの候補を複数特定し、
前記配送情報に基づいて、各候補における評価値を決定し、
決定結果に基づく目的関数を最適化した結果に基づいて、特定された複数の候補から複数の配送タスクを選択し、
前記特定することは、1つの消費地へ配送を行うための第1の候補と、相互の距離が閾値以下である2つの消費地へ配送を行うための第2の候補とを特定し、
前記決定することは、前記候補における配送量を前記候補における移動距離で除算することで前記評価値を決定する、ものである。
【0008】
本開示にかかる最適化プログラムは、
コンピュータに、
複数の消費地のそれぞれについて、1以上の製品の各々の配送量を示す配送情報を取得する処理と、
配送元を出発し、1以上の消費地の各々に前記1以上の製品を配送し、配送元に戻る配送タスクの候補を複数特定する処理と、
前記配送情報に基づいて、各候補における評価値、及び配送車両の車両種の少なくとも一方を決定する処理と、
決定結果に基づく目的関数を最適化した結果に基づいて、特定された複数の候補から複数の配送タスクを選択する処理と、
を実行させ
前記特定する処理は、1つの消費地へ配送を行うための第1の候補と、相互の距離が閾値以下である2つの消費地へ配送を行うための第2の候補とを特定し、
前記決定する処理は、前記候補における配送量を前記候補における移動距離で除算することで前記評価値を決定するものである。
【発明の効果】
【0009】
本開示にかかる最適化装置、最適化方法、及び最適化プログラムによると、配送計画の作成時間を低減できる。
【図面の簡単な説明】
【0010】
図1】実施形態1にかかる最適化装置の構成を示すブロック図である。
図2】実施形態1にかかる最適化装置のハードウェア構成例を示す構成図である。
図3】実施形態2にかかる最適化装置の構成を示すブロック図である。
図4】配送情報の具体例を示す概略図である。
図5】配送ブロックに含まれる情報を示す概略図である。
図6】1つの消費地へ配送を行う業務に係る配送ブロックを例示する概略図である。
図7】2つの消費地へ配送を行う業務にかかる配送ブロックを例示する概略図である。
図8】実施形態2にかかる最適化方法の流れを例示するフローチャートである。
図9】配送タスクの候補の特定方法を説明するための概略図である。
【発明を実施するための形態】
【0011】
(実施形態1)
以下、図面を参照して本発明の実施の形態について説明する。図1は、実施形態1にかかる最適化装置100の構成を示す構成図である。最適化装置100は、取得部110と、特定部120と、決定部130と、選択部140とを備えている。
【0012】
取得部110は、複数の消費地のそれぞれについて、1以上の製品の各々にかかる配送情報を取得する。配送情報は、配送時間帯と配送量とが指定された情報であってもよく、時間帯ごとに配送量が設定された情報であってもよい。取得部110は、例えば、注文情報に基づいて配送情報を取得してもよい。また、配送先から配送時間帯や配送量が指定されていない場合、取得部110は、製品の消費速度の予測に基づき時間帯ごとの配送量を決定することにより、配送情報を取得してもよい。
【0013】
特定部120は、配送元を出発し、1以上の消費地の各々に1以上の製品を配送し、配送元に戻る配送タスクの候補を複数決定する。特定部120は、例えば、相互の距離が閾値以下である複数の消費地を巡る配送タスクを、候補として特定してもよい。また、特定部120は、1箇所の消費地へ配送を行う配送タスクと、2箇所の消費地へ配送を行う配送タスクとを候補として特定してもよい。
【0014】
複数の候補には、トリップが異なるものだけでなく、トリップが同一で配送業者が異なるものが含まれていてもよい。ここで、トリップとは、配送元を出発し、1以上の消費地の各々に1以上の製品を配送し、配送元に戻るまでの移動を意味している。配送業者が異なる場合、トリップが同一であっても、配送コスト等が異なる可能性がある。尚、特定部120は、取得部110によって取得された配送情報に基づいて、配送タスクの候補を特定してもよい。特定部120は、配送量が所定値以下となるようなトリップを、配送タスクの候補としてもよい。これにより、特定部120は、配送車両の積載量の上限を超えないものを、候補として特定することできる。
【0015】
決定部130は、取得部110によって取得された配送情報に基づいて、特定部120によって特定された各候補における評価値、及び配送車両の車両種の少なくとも一方を決定する。評価値は、例えば、移動距離当たりの輸送量(配送効率)、配送コスト、又は移動距離等である。特定部120は、複数の評価値を算出してもよい。車両種は、例えば、大型、中型、小型等である。最適化装置100は、決定結果に応じて、候補ごとに、配送する消費地(配送先)、配送先ごとの1以上の製品の各々の配送量、評価値、車両種等を含む配送データ(配送ブロックとも称する)を記憶装置(不図示)に登録してもよい。
【0016】
選択部140は、決定部130の決定結果に基づく目的関数を最適化した結果に基づいて、特定部120によって特定された複数の候補から、複数の配送タスクを選択する。目的関数は、例えば、配送情報に基づく、各消費地の配送回数に関する制約条件を満たしたうえで最適化されてもよい。また、目的関数は、車両種の数に関する制約条件を満たしたうえで最適化されてもよい。目的関数は、例えば、候補の評価値を含んでもよい。目的関数は、アニーリングによって最適化されてもよく、その他のメタヒューリスティクスにより最適化されてもよい。尚、最適化計算は、最適化装置100の内部において行われてもよく、最適化装置100の外部において行われてもよい。
【0017】
実施形態1にかかる最適化装置は、配送タスクの候補を複数特定し、複数の候補から最適な配送タスクの組合せを選択する。実施形態1にかかる最適化装置によると、配送タスクの候補を特定するときに最適化計算を行わないため、最適化計算における計算量を減らし、短時間で配送計画を作成することが可能となる。
【0018】
図2は、最適化装置100のハードウェア構成例を示す図である。最適化装置100は、プロセッサ1001、メモリ1002、及び記憶装置1003を備える。記憶装置1003には、実施形態1にかかる最適化方法の処理が実装されたコンピュータプログラムが記憶されている。そして、プロセッサ1001は、記憶装置1003からコンピュータプログラムをメモリ1002へ読み込ませ、当該コンピュータプログラムを実行する。これにより、プロセッサ1001は、取得部110、特定部120、決定部130、及び選択部140の機能を実現する。
【0019】
または、取得部110、特定部120、決定部130、及び選択部140は、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路(circuitry)、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。また、プロセッサとして、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(field-programmable gate array)等を用いることができる。また、最適化装置100は、量子アニーリングを実行する図示しない量子チップを備えてもよい。
【0020】
また、最適化装置100の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。また、最適化装置100の機能がSaaS(Software as a Service)形式で提供されてもよい。
【0021】
(実施形態2)
実施形態2は、実施形態1の具体例である。以下の説明において、実施形態1と重複する説明は省略される。実施形態2にかかる最適化装置100aは、複数の消費地へ製品の配送を行う計画を最適化する装置である。最適化装置100aは、例えば、石油や液化天然ガスをタンクローリーにより配送する計画を最適化する。石油は、例えば、ガソリン、灯油、軽油、重油等である。製品は、複数種類存在してもよい。複数種類の製品は、例えば、レギュラーガソリンと、ハイオクガソリンとである。
【0022】
消費地は、例えば、ガソリンスタンドや、その他の顧客である。消費地は、SS(Service Station)とも称する。消費地には、第1の消費地と第2の消費地とが含まれている。第1の消費地については、配送を行う時間帯と、配送する製品の数量と、が顧客によって指定されている。第1の消費地は、指定オーダーの消費地とも称される。第2の消費地については、配送を行う時間帯と、配送する製品の数量とが定められていないが、在庫が枯渇しないように配送することが求められる。第2の消費地は、契約オーダーの消費地とも称される。
【0023】
詳細は後述するが、第1の消費地については、注文情報に基づいて配送時間帯と配送量とが決定される。また、第2の消費地については、消費予測情報に基づいて、時間帯ごとに当該時間帯に配送するときの配送量が決定される。
【0024】
配送元を出発し、1又は複数の消費地の各々に配送を行い、配送元に戻る移動は、上記の通り、トリップと呼ばれる。配送製品がガソリンの場合、配送元は、油槽所であってもよい。尚、複数の油槽所が配送エリアに存在する場合、配送元と、消費地への配送後に戻る配送元とが異なっていてもよい。
【0025】
最適化装置100aは、後述するように、配送タスクの候補を複数作成し、複数の候補から最適な組合せを選択することにより配送計画を作成する。後述するように、各候補について、配送する消費地(配送先)と、配送量と、配送効率等の評価値と、配送車両の車両種とをまとめた配送データが生成される。このような配送データを、配送ブロックと称する。最適化装置100aは、このような配送ブロックを複数生成して、実際に製品を配送する業務に対応する配送ブロックを選択(抽出)することにより、配送計画を作成する。
【0026】
図3は、最適化装置100aの構成を示す構成図である。最適化装置100aは、注文情報を記憶するデータ管理装置200、及び、配送する製品の消費量を予測する消費量予測装置300と接続されている。最適化装置100aは、取得部110a、特定部120a、決定部130a、及び選択部140aを備えている。
【0027】
取得部110aは、上述した取得部110の一例である。取得部110aは、第1の消費地について、データ管理装置200から注文情報を取得する。そして、取得部110aは、注文情報に基づいて配送を行う時間帯と配送量とを決定することにより、配送情報を取得する。また、取得部110aは、第2の消費地について、消費量予測装置300から消費量の予測情報を取得する。そして、取得部110aは、予測情報に基づいて、時間帯ごとに当該時間帯に配送を行うときの配送量を決定し、決定結果を配送情報として取得する。尚、取得部110aは、各消費地における在庫量を考慮して配送量を決定してもよい。
【0028】
図4を用いて、配送情報について説明する。取得部110aは、消費地SSA、SSB、SSC、SSD、及びSSEのそれぞれについて配送情報を取得するものとする。消費地SSA、SSB、及びSSCは、第1の消費地である。消費地SSD及びSSEは、第2の消費地である。
【0029】
取得部110aは、消費地SSAについて配送情報2A1を取得し、消費地SSBについて配送情報2B2を取得し、消費地SSCについて配送情報2C3を取得する。また、取得部110aは、消費地SSDについて配送情報2D1~2D3を取得し、消費地SSEについて配送情報2E1~2E3を取得する。各配送情報の横方向の位置は、配送が行われる時間帯を示しており、右方向に位置するほど遅い時間帯であることを意味している。時間帯T1、T2、及びT3は、上述の通り、それぞれ午前、午後、夜に対応していてもよい。配送情報2A1~2E3は、配送プランとも呼ぶ。
【0030】
第1の消費地である消費地SSA、SSB、及びSSCについては、時間帯T1~T3のいずれかにおける配送量が決定されている。例えば、配送情報2A1を参照すると、SSAについて、時間帯T1に、レギュラーガソリンを8kl、ハイオクガソリンを4kl配送するように定められている。
【0031】
第2の消費地であるSSD、及びSSEについては、時間帯ごとに当該時間帯に配送するときの配送量が決定されている。例えば、配送情報2D1~2D3を参照すると、SSDは、時間帯T1に配送を行う場合、レギュラーガソリンを4kl、ハイオクガソリンを2kl配送するように定められ、時間帯T2に配送を行う場合、レギュラーガソリンを8kl、ハイオクガソリンを4kl配送するように定められ、時間帯T3に配送を行う場合、レギュラーガソリンを10kl、ハイオクガソリンを6kl配送するように定められている。ここで、上記の通り、各時間帯の配送量(例:油量)は、消費量予測に基づいて計算されている。前の時間帯における消費量が加味されることにより、時間帯が遅くなるほど、配送量が多くなっている。
【0032】
図3に戻って、特定部120aは、上述した特定部120の一例である。特定部120aは、取得部110aが取得した配送情報に基づいて、配送量が上限を超えないような配送タスクの候補を複数特定する。尚、特定部120aは、配送量以外の条件を加味して、配送タスクの候補を決定してもよい。特定部120aは、配送を行うことが実際に可能な配送タスクを特定しているともいえる。
【0033】
タスクの候補を作成する方法の一例について説明する。例えば、特定部120aは、まず、1箇所の消費地に配送を行う配送タスクを特定し、次に、2箇所の消費地に配送を行う配送タスクを特定する。ここで、2箇所の消費地に配送を行う配送タスクについては、配送量が予め規定された上限値(例:配送車両の積載量の上限値)を超えないものを候補として特定する。換言すると、特定部120aは、製品の配送量が閾値以下であるかを判定し、判定結果が真である場合、当該配送タスクを第2の候補として特定する。
【0034】
尚、2箇所の消費地に配送を行う配送タスクを特定するとき、特定部120aは、互いの距離が閾値以下となる2つの消費地に配送を行う配送タスクを特定してもよい。勿論、特定部120aは、3箇所以上の消費地に配送を行う配送タスクの候補を特定してもよい。互いの距離が閾値以下の複数の消費地に配送する配送タスクは、配送効率等の観点から、適切な候補であると考えられる。また、1箇所の消費地に配送する配送タスクを候補に含めると、全ての消費地が、いずれかの候補の配送先に含まれることが保証される。
【0035】
各候補は、以下の種々の条件を満たすものが特定されていてもよい。まず、各SSに設置されたタンクの貯槽レベルの上限、下限を考慮して、各候補が特定されてもよい。また、SS毎に設定された納品が可能な時間帯を考慮して、各候補が特定されてもよい。配送に要する時間(配送時間)を考慮して、各候補が特定されてもよい。SS毎に納入可能な車両の種類を考慮して、各候補が特定されてもよい。ここで、配送元や、SSでの作業時間(給油時間)を考慮して、各候補が特定されてもよい。尚、指定オーダーについては、配送量は変更されない。
【0036】
決定部130aは、上述した決定部130の一例である。決定部130aは、特定部120aが特定した各候補について、配送情報に基づき配送効率等の評価値を算出し、また、配送情報に基づき配送車両の車両種を決定する。そして、決定部130aは、各候補における配送先(消費地)、配送量、評価値、車両種類等を含む配送データを生成し、記憶装置(不図示)に登録する。このような配送データを、配送ブロックとも呼ぶ。
【0037】
図5を用いて、配送ブロック3について説明する。配送ブロック3は、番号31、種類32、車両種33、時間帯34、配送先35a、レギュラー数量36a1、ハイオク数量36a2、配送先35b、レギュラー数量36b1、ハイオク数量36b2、距離37、配送効率38、及び時間39を含んでいる。尚、図5は、一例であり、配送ブロック3には、3箇所以上の配送先が含まれていてもよい。
【0038】
番号31は、各配送ブロックの識別番号である。種類32は、配送先の数を示す情報である。種類32は、1箇所の消費地へ配送して配送元に戻るか、2箇所の消費地を巡って配送元にもどるかというトリップの種類を示していると考えてもよい。
【0039】
車両種33は、配送車の種別であり、例えば、大型、中型、小型を示す。車両種33により、配送車両における積載量が異なる。決定部130aは、例えば、後述するレギュラー数量36a1と、レギュラー数量36b1と、後述するハイオク数量36a2と、ハイオク数量36b2とを加算した結果に基づき、車両種33を決定してもよい。尚、決定部130aは、配送製品の種類ごとに総配送量を計算して、車両種33を決定してもよい。車両種33は、例えば、配送量の和が12kl以下のとき小型、12klを超え18kl以下のとき中型、18klを超え24kl以下のとき大型に決定されてもよい。時間帯34は、配送を行う時間帯T1~T3を表す。
【0040】
配送先35aは、先に配送を行う消費地を示す情報である。尚、1つの消費地に配送を行う配送タスク候補については、配送先35aに消費地を示す情報を登録し、配送先35bに情報を登録しなくてもよい。レギュラー数量36a1は、配送先35aに配送するレギュラーガソリンの配送量をkl単位等で表現したものである。ハイオク数量36a2は、配送先35aに配送するハイオクガソリンの配送量をkl単位等で表現したものである。
【0041】
配送先35bは、2番目に配送を行う消費地を示す情報である。尚、上述の通り、1つの消費地に配送を行う場合には、情報を登録しなくてもよい。レギュラー数量36b1は配送先35bに配送するレギュラーガソリンの配送量を表し、ハイオク数量36b2は配送先35bに配送するハイオクガソリンの配送量を表す。尚、3箇所以上に配送する配送タスクの候補を特定する場合、配送ブロック3には、3つ以上の配送先が含まれていてもよい。
【0042】
距離37は、配送タスクにおける移動距離をkm単位等で表現したものである。1つの消費地に配送を行う場合、距離37は、配送元から配送先35aに移動し、配送先35aから配送元に移動する距離である。2つの消費地に配送を行う場合、距離37は、配送元から配送先35aに移動し、配送先35aから配送先35bに移動し、配送先35bから配送元に移動する距離である。決定部130aは、例えば、地図情報等に基づいて距離37を算出してもよい。
【0043】
配送効率38は、移動距離当たりの配送量を表し、単位は例えば[kl/km]である。決定部130aは、例えば、レギュラー数量36a1、ハイオク数量36a2、レギュラー数量36b1、及びハイオク数量36b2を加算して、配送量の和を算出し、距離37で割ることにより配送効率38を決定してもよい。
【0044】
時間39は、配送タスクに要する時間である。時間39は、例えば、距離37と、所定の車両速度(例:50km/h)とを用いて算出される。所定の車両速度は、車両種33に応じて定められてもよい。また、時間39には、配送先35a及び35bにおいて、配送製品を荷下ろしするための時間が加味されていてもよい。
【0045】
配送ブロック3は、配送効率38の代わりに配送コストを含んでいてもよい。配送コストは、例えば、運送業者に支払われる金額であり、距離37や、レギュラー数量36a1、ハイオク数量36a2等の配送量に基づき算出されてもよい。トリップが同一であっても、配送業者が異なる場合には、配送コストが異なる可能性がある。このような場合には、トリップが同一となる配送ブロック3が複数生成されていてもよい。このような場合、配送ブロック3は、配送業者の識別情報が含まれていてもよい。
【0046】
さらに、後述するように、最適化装置100aは、配送効率38の和や、配送コストの和を最適化する場合以外に、距離37の和を最適化する際にも使用することができる。このような場合、配送ブロック3は、配送効率38を含んでいなくてもよい。
【0047】
図6は、1つの消費地へ配送を行う配送タスクに対応する配送ブロックを例示する図である。配送ブロック3A1は、図4に示した配送情報2A1に対応している。また、配送ブロック3B2は、図4に示した配送情報2B2に対応している。配送ブロック3A1及び3B2は、トリップの種類32が「1」となっている。配送ブロック3A1及び配送ブロック3B2は、総配送量が12kl(8kl+4kl)であるため車両種33は小型となっている。また、配送ブロック3A1及び3B2は、配送先35b、レギュラー数量36b1、及びハイオク数量36b2は登録されていない。
【0048】
図7は、2つの消費地へ配送を行う配送タスクに対応する配送ブロックを例示する図である。配送ブロック3ADは、図4の時間帯T1において、SSAと、SSDと、に配送を行う配送タスクに対応している。配送ブロック3ADは、配送情報2A1及び2D1に基づいて生成されているため、配送情報2A1及び2D1を連結したものと考えてもよい。また、配送ブロック3BDは、図4の時間帯T2において、SSBと、SSDと、に配送を行う配送タスクに対応している。配送ブロック3BDは、配送情報2B2及び2D2に基づいて生成されているため、配送情報2B2及び2D2を連結したものと考えてもよい。
【0049】
配送ブロック3AD及び3BDは、トリップの種類32が「2」となっている。また、配送ブロック3ADは、総配送量が18kl(8+4+4+2)であり、車両種33が中型となっている。配送ブロック3BDは、総配送量が24kl(8+4+8+4)であり、車両種33が大型となっている。
【0050】
図3に戻ると、最適化装置100aは、選択部140aを備えている。選択部140aは、上述した選択部140の一例である。選択部140aは、決定部130aが生成した複数の配送ブロックから、実際に配送を行う配送タスクを選択(抽出)する。選択部140aは、最適化に用いるハミルトニアンを定式化する定式化部141と、定式化の結果からイジングモデルデータを生成するデータ作成部142と、シミュレーテッドアニーリング、又は量子アニーリングを実行するアニーリング処理部143と、結果表示部144と、を備えている。選択部140aは、定式化された目的関数を最大化、又は最小化するような解を、アニーリングにより計算する。
【0051】
定式化部141は、最適化に用いるハミルトニアンを生成する。ハミルトニアンは、例えば、以下の式1~式5に示す制約項を含む。尚、ハミルトニアンは、式1~5に示す制約項の全てを含んでいる必要はない。また、ハミルトニアンは、以下の式6~式8に示す目的関数のいずれかを含む。したがって、ハミルトニアンは、以下の式9、式10、又は式11のように表現される。以下、式1~式11について順番に説明する。
【0052】
【数1】
1は、第1の消費地であるSSの各々には、必ず1回配送するという制約条件を表す制約項である。x[b]は、配送ブロックbを採用するときに1、それ以外は0となる変数である。S1は、第1の消費地の集合を表している。したがって、最初のシグマ記号は、第1の消費地についての和を計算することを意味している。bsは、第1の消費地である消費地sに対して配送を行う配送ブロックを示している。したがって、2番目のシグマ記号は、注目している消費地s(第1の消費地)を含む配送ブロックについて和をとることを意味している。
【0053】
【数2】
2は、第2の消費地であるSSの各々には、0回又は1回の配送をおこなうという条件を表す制約項である。S2は、第2の消費地の集合を表している。したがって、最初のシグマ記号は第2の消費地についての和を計算することを意味している。2番目のシグマ記号は、注目している消費地s(第2の消費地)を含む配送ブロックについて和をとることを意味している。
【0054】
【数3】
3は、各車両種に対応する配送ブロックの個数をNl個以下とする条件を表す制約項である。l(lはアルファベットのエルを表している)は、車両種を表す添え字である。したがって、1番目のシグマ記号は、車両種lについて和をとることを意味している。y[l、n]は、車両種lにn個の配送ブロックが割り当てられるときに1、それ以外のときに0となる変数である。そして、N は、各車両種における車両数の上限である。したがって、2番目のシグマ記号は、車両数n=0~N までの和をとることを意味している。bは、車両種lが設定されている配送ブロックを意味する。したがって、3番目のシグマ記号は、注目する車両種lに割り当てられる配送ブロックについての和を計算することを意味している。
【0055】
【数4】
4は、車両種lに割り当てられる配送ブロックの数に関するワンホット条件を表している。これにより、車両種lを用いて配送される配送ブロックの数は、~Nlのいずれかに限定されることとなる。
【0056】
【数5】
5は、選択される配送ブロックの数を少なくするという制約条件を表している。これにより、配送に使用される車両の数を減らすことが可能となる。
【0057】
【数6】
6は、車両の移動距離当たりの輸送量(配送効率)を最大化するための目的関数を示している。vd[b]は、配送効率を意味している。このような目的関数を含むことにより、配送効率が大きい配送ブロックが選択されやすくなる。
【0058】
【数7】
7は、配送コストの総和を最小化するための目的関数を示している。c[b]は、配送ブロックに設定された配送コストを意味している。このような目的関数を含むことにより、配送コストが小さい配送ブロックが選択されやすくなる。
【0059】
【数8】
8は、車両の移動距離を最小化するための目的関数を示している。d[b]は、配送ブロックに設定された移動距離を意味している。このような目的関数を含むことにより、移動距離が小さい配送ブロックが選択されやすくなる。
【0060】
【数9】
9は、アニーリングに用いられるハミルトニアンの一例を示している。W1、W2、W3W32、W4、W5、Wo1は、重みを表す数値である。9は、配送効率を最適化するためのハミルトニアンである。9の目的関数は、6のHo1となっている。
【0061】
【数10】
10は、配送コストを最適化するためのハミルトニアンである。Wo2は、重みを表す数値である。10の目的関数は、7のHo2となっている。
【0062】
【数11】
11は、移動距離を最適化するためのハミルトニアンである。Wo3は、重みを表す数値である。11の目的関数は、8のHo3となっている。
【0063】
図3に戻って、データ作成部142は、定式化部141が作成した目的関数に基づいて、アニーリングに用いられるイジングデータを作成する。イジングデータは、各スピン間の相互作用係数等である。アニーリング処理部143は、作成されたイジングデータを用いてアニーリングを実行する。アニーリング処理部143は、アニーリングマシンと呼ばれる専用のハードウェアを用いてシミュレーテッドアニーリングを実行してもよく、量子コンピュータを用いて量子アニーリングを実行してもよい。これにより、より短時間で最適化計算を実行できる可能性がある。アニーリング処理部143は、量子モンテカルロ法等を用いて最適化問題を解いてもよい。尚、アニーリングが最適化装置100aの外部で行われる場合、選択部140aは、アニーリング処理部143を備えていなくてもよい。
【0064】
アニーリングによって、決定部130aによって登録された複数の配送ブロックから、実際の配送タスクに対応する配送ブロックが選択されることとなる。これにより、各時間帯に使用される車両台数が、車両種ごとに決定される。つまり、時間帯T1における大型車両の使用台数、中型車両の使用台数、及び小型車両の使用台数と、時間帯T2における大型車両の使用台数、中型車両の使用台数、及び小型車両の使用台数と、時間帯T3における大型車両の使用台数、中型車両の使用台数、及び小型車両の使用台数と、が決定される。
【0065】
ここで、各車両種における車両数は、選択された配送ブロックの数に対応する。例えば、アニーリングによって選択された配送ブロックのうち、配送ブロック3a、3b、3c、3d、及び3eに時間帯T1が設定されていたものとする。ここで、配送ブロック3a及び3bは車両種として大型車両が設定され、配送ブロック3c及び3dは車両種として中型車両が設定され、配送ブロック3eは車両種として小型車両が設定されていたものとする。このような場合、時間帯T1において、大型車両2台と、中型車両2台と、小型車両1台とが使用されることがわかる。
【0066】
結果表示部144は、アニーリングによって選択された配送ブロックを、ディスプレイ等の表示装置に表示させる。オペレータは、ディスプレイ等の表示を確認し、配送業者等に対して配送指示を行うことができる。結果表示部144は、さらに、各時間帯で使用される車両種ごとの車両数を、ディスプレイに表示させてもよい。
【0067】
図8は、実施形態2にかかる最適化方法の流れを例示するフローチャートである。最適化装置100aの取得部110aは、まず、データ管理装置200から注文情報を取得し、注文情報に基づき第1の消費地の各々への配送量(配送情報)を取得する(ステップS101)。次に、最適化装置100aは、消費量予測装置300による1日のガソリンの消費量の予測結果等に基づいて、第2の消費地の各々について、時間帯ごとの配送量(配送情報)を取得する(ステップS102)。尚、ステップS101とステップS102の順序は、逆であってもよい。
【0068】
次に、最適化装置100aの決定部130aは、ステップS101で取得した配送情報と、ステップS102で取得した配送情報とから、1つの消費地へ配送を行う配送タスクに係る配送ブロックを生成する(ステップS103)。配送ブロックは、車両種と、配送効率等の情報とを含んでいる。車両種は、製品の配送量から決定されてもよい。
【0069】
次に、最適化装置100aの特定部120aは、2つの消費地へ配送を行う配送タスクの候補を特定する(ステップS104)。特定部120aは、2つの消費地へ配送を行う配送タスクのうち、制約を満たしているものを配送タスクの候補として特定する。
【0070】
つまり、特定部120aは、1つの消費地に配送を行う配送タスクと、2つの消費地に配送を行う配送タスクのうち制約を満たすものと、を配送タスクの候補としている。尚、特定部120aは、3つ以上の消費地に配送を行う配送タスクを候補としてもよい。
【0071】
図4及び図9を用いて、ステップS104における特定方法について具体的に説明する。特定部120aは、図4に示す配送情報2A1~2E3のうち、組合せることが可能なものを特定する。ここで、特定部120aは、同一の時間帯における2つの配送情報を組み合わせるものとする。このような場合、図9に示す6つの組合せが可能である。ここで、特定部120aは、各組合せについて、配送量の総和を計算し、上限値(例:24kl)を超えるか否かを判定する。例えば、配送情報2C3と配送情報2E3の組合せを参照すると、配送量の総和は26klであり、上限値以上となっている。そして、特定部120aは、総和が上限値以下である組合せを、配送タスクの候補として特定する。図9の場合、特定部120aは、4つの組合せを候補として特定することとなる。各候補は、配送量の総和に基づき、大型、中型、又は小型に分類可能である。
【0072】
図8に戻って、決定部130aは、ステップS104で特定された候補に係る配送ブロックを生成する(ステップS105)。配送ブロックは、ステップS103で生成した配送ブロックを用いて生成されてもよい。決定部130aは、ステップS103と同様に車両種、配送効率等を決定し、決定結果に応じて配送ブロックを生成する。
【0073】
次に、最適化装置100aの選択部140aは、ハミルトニアンを定式化し、ハミルトニアンからイジングデータを作成し、アニーリングを実行する(ステップS106)。ハミルトニアンは、各候補を採用するか否かを示す変数を含んでおり、計算結果からタスク候補を選択することができる。各候補には、車両種が設定されているため、タスク候補を選択することは、車両に対する配送業務の割り当てを行っているともいえる。最後に、選択部140aは、アニーリングの結果に基づいて、選択された配送ブロックをディスプレイに表示する(ステップS107)。
【0074】
実施形態2にかかる最適化装置は、まず、アニーリング以外の手段を用いて配送タスクの候補を複数特定する。そして、複数の候補から実際に配送するタスクを選択する際に、アニーリングを実行する。したがって、実施形態2にかかる最適化装置は、アニーリングに要する時間を低減することが可能となる。これにより、実施形態2にかかる最適化装置は、消費地の数が増えた場合であっても、現実的な時間で配送計画を作成できる可能性がある。
【0075】
上述の例において、各種制御プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0076】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【0077】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0078】
この出願は、2021年1月12日に出願された日本出願特願2021―002925を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【0079】
100、100a 最適化装置
110、110a 取得部
120、120a 特定部
130、130a 決定部
140、140a 選択部
141 定式化部
142 データ作成部
143 アニーリング処理部
144 結果表示部
200 データ管理装置
300 消費量予測装置
2A1、2B2、2C3、2D1、2D2、2D3、2E1、2E2、2E3 配送情報
3、3A1、3B2、3AD、3BD 配送ブロック
31 番号
32 種類
33 車両種
34 時間帯
35a、35b 配送先
36a1、36b1 レギュラー数量
36a2、36b2 ハイオク数量
37 距離
38 配送効率
39 時間
1001 プロセッサ
1002 メモリ
1003 記憶装置
図1
図2
図3
図4
図5
図6
図7
図8
図9