(57)【要約】      （修正有）【課題】車両経路問題及び荷物の荷姿を同時に計算し、配送計画の積載率を上げるとともに走行距離を削減することのできる配送計画生成方法、装置及びシステムを提供する。【解決手段】配送計画生成装置は、メモリとプロセッサを有する。メモリは、複数の配送タスク、複数のパレット及び複数の配送車両の情報を格納し、プロセッサは、複数の配送タスクのうち複数の第１配送タスクに対し、複数の第１配送タスクが複数のパレットに積み付けられる荷姿を計算し、第１配送タスクが積み付けられたパレット毎に、各パレットの第２配送タスクを生成し、複数の配送車両に基づいて、第２配送タスクの配送計画候補を生成し、各搬送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算し、配送車両に割り当てられた配送タスクを当該配送車両へ積み付けることができない場合、前記配送計画候補を除外する。【選択図】図３
2020173789.tif 000002
【特許請求の範囲】
【請求項１】
配送計画生成装置であって、
複数の配送タスク、複数のパレット及び複数の配送車両の情報を格納するためのメモリと、
前記複数の配送タスクのうち複数の第１配送タスクに対し、前記複数の第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算し、前記第１配送タスクが積み付けられたパレット毎に第２配送タスクを生成すること、及び、前記複数の配送車両に基づいて、前記第２配送タスクの配送計画候補を生成し、各搬送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算し、配送車両に割り当てられた配送タスクを当該配送車両へ積み付けることができない場合、前記配送計画候補を除外することとに用いられるプロセッサとを含むことを特徴とする配送計画生成装置。
【請求項２】
請求項１に記載の配送計画生成装置であって、
前記プロセッサは、さらに、前記複数の第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算する前に、前記複数の配送タスクの寸法を前記パレットと比較し、前記パレットに積み付けることのできる配送タスクを前記第１配送タスクとすることに用いられることを特徴とする配送計画生成装置。
【請求項３】
請求項２に記載の配送計画生成装置であって、
前記プロセッサは、さらに、前記複数の配送タスクのうち前記第１配送タスクを除いた第３配送タスクを前記第２配送タスクと合併し、合併後の配送タスクに対し前記配送計画候補を生成することに用いられることを特徴とする配送計画生成装置。
【請求項４】
請求項１に記載の配送計画生成装置であって、
前記プロセッサは、さらに、前記複数の第１配送タスクで同一の出発拠点、目的拠点、納品期限を持つ配送タスクを同一の配送タスク群に割り当てることと、各配送タスク群に対し、同一のパレットへ同一の配送タスク群の配送タスクの積み付けしかできないという制約条件に基づいて、当該配送タスク群のうちの配送タスクが前記パレットに積み付けられる荷姿を計算することとに用いられることを特徴とする配送計画生成装置。
【請求項５】
請求項１に記載の配送計画生成装置であって、
前記プロセッサは、さらに、前記第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算するプロセスで、段積みできない第１配送タスクの高さを、当該第１配送タスクが積み付けられるパレットの高さとすることに用いられることを特徴とする配送計画生成装置。
【請求項６】
請求項１に記載の配送計画生成装置であって、
前記プロセッサは、さらに、前記配送計画候補を生成するプロセスで、未割当の配送タスクを一つの目標配送車両に割り当てる際に、当該配送タスクを当該目標配送車両に割り当てた後に当該目標配送車両の積載率が第１所定積載率より低くなるかを判断することと、当該積載率が第１所定積載率より低くなると、引き続き次の未割当の配送タスクを割り当てることと、当該積載率が第１所定積載率以上である場合、当該目標配送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算し、当該目標配送車両に割り当てられた配送タスを当該目標配送車両へ積み付けることができるかを判断し、判断結果が否である場合、前記配送計画候補を除外することに用いられることを特徴とする配送計画生成装置。
【請求項７】
請求項１に記載の配送計画生成装置であって、
前記プロセッサは、さらに、各配送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算する際に、前記配送計画候補のうちの各配送車両に対し、当該配送車両の拠点間の配送順を抽出することと、当該配送車両の荷台を奥行き方向に複数のサブ領域に分割し、前記配送順とは逆の方向に、各拠点で荷下ろしが必要な配送タスクに対し順に積み付け処理を行うことと、すべての拠点の積み付け処理が完了した後に、当該配送車両に割り当てられた配送タスクの当該配送車両での荷姿を得、当該配送車両の配送タスク積付け済みサブ領域の奥行長さの合計値が荷台の長さを超えたかに基づき、当該配送車両に割り当てられた配送タスクを当該配送車両に積み付けることができるかの判断結果を取得することに用いられることを特徴とする配送計画生成装置。
【請求項８】
請求項１に記載の配送計画生成装置であって、
前記プロセッサは、さらに、前記配送計画候補を生成した後に、前記配送計画候補における各配送車両のトリップを抽出し、各トリップで配送車両について拠点で荷物の積み付けが完成した後の積載率が第２所定積載率より大きくなるかを判断し、否である場合、前記配送計画候補を除外し、新たに新規の配送計画候補を生成することに用いられることを特徴とする配送計画生成装置。
【請求項９】
請求項１に記載の配送計画生成装置であって、
前記プロセッサは、さらに、前記第２配送タスクの配送計画候補を生成する前に、前記パレットの積載率が第３所定積載率より低く、同じ出発拠点と目標拠点でかつ納品期限の差が所定閾値を超えない複数のパレットを同一のパレット群に集約することと、各パレット群に対し、当該パレット群のうちの各パレットの配送タスクを抽出し、抽出された配送タスクがパレットに積み付けられる荷姿を新たに計算し、新たに積み付けられたパレットに対し第２配送タスクを生成することに用いられることを特徴とする配送計画生成装置。
【請求項１０】
配送計画生成方法であって、
複数の配送タスク、複数のパレット及び複数の配送車両の情報を取得することと、
前記複数の配送タスクのうち複数の第１配送タスクに対し、前記複数の第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算し、前記第１配送タスクが積み付けられたパレット毎に第２配送タスクを生成することと、
前記複数の配送車両に基づいて、前記第２配送タスクの配送計画候補を生成し、各搬送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算し、配送車両に割り当てられた配送タスクを当該配送車両へ積み付けることができない場合、前記配送計画候補を除外することとを含むことを特徴とする配送計画生成方法。
【請求項１１】
請求項１０に記載の方法であって、
前記複数の第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算する前に、前記複数の配送タスクの寸法を前記パレットと比較し、前記パレットに積み付けることのできる配送タスクを前記第１配送タスクとすることを特徴とする方法。
【請求項１２】
請求項１１に記載の方法であって、
前記第２配送タスクの配送計画候補を生成することは、
前記複数の配送タスクのうち前記第１配送タスクを除いた第３配送タスクを前記第２配送タスクと合併し、合併後の配送タスクに対し前記配送計画候補を生成することを含むことを特徴とする方法。
【請求項１３】
請求項１０に記載の方法であって、
前記複数の第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算することは、
前記複数の第１配送タスクで同一の出発拠点、目的拠点、納品期限を持つ配送タスクを同一の配送タスク群に割り当てることと、
各配送タスク群に対し、同一のパレットへ同一の配送タスク群の配送タスクの積み付けしかできないという制約条件に基づいて、当該配送タスク群のうちの配送タスクが前記パレットに積み付けられる荷姿を計算することとを含むことを特徴とする方法。
【請求項１４】
請求項１０に記載の方法であって、
前記第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算するプロセスで、段積みできない第１配送タスクの高さを、当該第１配送タスクが積み付けられるパレットの高さとすることを特徴とする方法。
【請求項１５】
請求項１０に記載の方法であって、
前記配送計画候補を生成するプロセスで、未割当の配送タスクを一つの目標配送車両に割り当てる際に、当該配送タスクを当該目標配送車両に割り当てた後に当該目標配送車両の積載率が第１所定積載率より低くなるかを判断し、
当該積載率が第１所定積載率より低くなると、引き続き次の未割当の配送タスクを割り当て、
当該積載率が第１所定積載率以上である場合、当該目標配送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算し、当該目標配送車両に割り当てられた配送タスを当該目標配送車両へ積み付けることができるかを判断し、判断結果が否である場合、前記配送計画候補を除外することを特徴とする方法。
【請求項１６】
請求項１０に記載の方法であって、
各配送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算することは、
前記配送計画候補のうちの各配送車両に対し、当該配送車両の拠点間の配送順を抽出することと、
当該配送車両の荷台を奥行き方向に複数のサブ領域に分割し、前記配送順とは逆の方向に、各拠点で荷下ろしが必要な配送タスクに対し順に積み付け処理を行うことと、
すべての拠点の積み付け処理が完了した後に、当該配送車両に割り当てられた配送タスクの当該配送車両での荷姿を得、当該配送車両の配送タスク積付け済みサブ領域の奥行長さの合計値が荷台の長さを超えたかに基づき、当該配送車両に割り当てられた配送タスクを当該配送車両に積み付けることができるかの判断結果を取得することとを含むことを特徴とする方法。
【請求項１７】
請求項１０に記載の方法であって、
前記配送計画候補を生成した後に、
前記配送計画候補における各配送車両のトリップを抽出し、各トリップで配送車両について拠点で荷物の積み付けが完成した後の積載率が第２所定積載率より大きくなるかを判断し、否である場合、前記配送計画候補を除外し、新たに新規の配送計画候補を生成することをさらに含むことを特徴とする方法。
【請求項１８】
請求項１０に記載の方法であって、
前記第２配送タスクの配送計画候補を生成する前に、
前記パレットの積載率が第３所定積載率より低く、同じ出発拠点と目標拠点でかつ納品期限の差が所定閾値を超えない複数のパレットを同一のパレット群に集約することと、
各パレット群に対し、当該パレット群のうちの各パレットの配送タスクを抽出し、抽出された配送タスクがパレットに積み付けられる荷姿を新たに計算し、新たに積み付けられたパレットに対し第２配送タスクを生成することとをさらに含むことを特徴とする方法。
【請求項１９】
メモリと、プロセッサと、メモリに格納されてプロセッサで実行可能なコンピュータプログラムを含む配送計画生成システムであって、
前記コンピュータプログラムが前記プロセッサによって実行されると、請求項１０〜１８のいずれか一項に記載の方法が実現されることを特徴とする配送計画生成システム。
【請求項２０】
コンピュータプログラムが格納されているコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータプログラムがプロセッサによって実行されると、請求項１０〜１８のいずれか一項に記載の方法が実現されることを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｖｅｈｉｃｌｅ  Ｒｏｕｔｉｎｇ  Ｐｒｏｂｌｅｍ（ＶＲＰ）の技術分野に係り、具体的に配送車両の配送計画生成装置、システム、方法及びコンピュータ読み取り可能な記憶媒体に係る。
【背景技術】
【０００２】
車両経路問題（ＶＲＰ）とは、配送センタから、それぞれ異なる数の荷物の需要を持つ一定数の顧客に荷物を提供し、車両群で荷物の配送を担い、顧客のニーズが満たされることを目標に適切な走行経路を編成し、一定の制約のもとで、最短経路、最小コスト、最小時間などの目的を達成することができる。
【０００３】
現在、車両経路問題を解くアルゴリズムは、分岐限定法、分岐切断法、セットカバレッジ法などの厳密なアルゴリズム（ｅｘａｃｔ  ａｌｇｏｒｉｔｈｍ）と、節約法、模擬アニーリング法、決定論的アニーリング法、タブー探索法、遺伝子アルゴリズム、ニューラルネットワーク、アリコロニーアルゴリズム、遺伝的アルゴリズムＧＡ（Ｇｅｎｅｔｉｃ  Ａｌｇｏｒｉｔｈｍ）などのヒューリスティック（ｈｅｕｒｉｓｔｉｃｓ）を含む。車両配送計画の自動生成では、一般に局所探索法の１つであるＬａｒｇｅ  Ｎｅｉｇｈｂｏｒｈｏｏｄ  Ｓｅａｒｃｈ（ＬＮＳ）が有効であり、ＬＮＳを使って車両への最適な配送タスク割当てパターンを探索する。探索は、一般的に最適解に近づく様に最適解との差（コストの総和）を数値化し、コストを削減する方向で繰り返し行われる。
【０００４】
また、パレットや配送車両の荷台（載置台）など特定のコンテナへ荷物を積付ける際の荷姿計算は、荷物を積めるコンテナの最小数を見つけるビンパッキング（ｂｉｎ  ｐａｒｋｉｎｇ）問題として扱うことができる。ここで、荷姿とは、特定のコンテナで荷物の載置姿勢や段積み姿勢を指す。ビンパッキング問題は、基本的にＮＰ困難（ＮＰ−ＨＡＲＤ）であり、従来技術として貪欲法やＧＡアルゴリズムなど様々な近似解法（アルゴリズム）が提案されている。３次元的な形状を考慮する場合は、３Ｄビンパッキングを利用し、さらに荷物の出入れのタイミング（ｔｉｍｉｎｇ）を考慮する場合は、４Ｄビンパッキングに対応したアルゴリズムを利用する。
【発明の概要】
【０００５】
本発明の少なくとも一つの実施例は、車両経路問題及び荷物の荷姿を同時に計算し、配送計画の積載率を上げるとともに走行距離を削減することのできる配送計画生成方法、装置及びシステムを提案する。
本発明の一つの面によれば、少なくとも一つの実施例が、複数の配送タスク、複数のパレット及び複数の配送車両の情報を格納するためのメモリと、前記複数の配送タスクのうち複数の第１配送タスクに対し、前記複数の第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算し、前記第１配送タスクが積み付けられたパレット毎に第２配送タスクを生成すること、及び、前記複数の配送車両に基づいて、前記第２配送タスクの配送計画候補を生成し、各搬送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算し、配送車両に割り当てられた配送タスクを当該配送車両へ積み付けることができない場合、前記配送計画候補を除外することとに用いられるプロセッサとを含む配送計画生成装置を提供する。
本発明の他の一つの面によれば、少なくとも一つの実施例が、複数の配送タスク、複数のパレット及び複数の配送車両の情報を取得することと、前記複数の配送タスクのうち複数の第１配送タスクに対し、前記複数の第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算し、前記第１配送タスクが積み付けられたパレット毎に第２配送タスクを生成することと、前記複数の配送車両に基づいて、前記第２配送タスクの配送計画候補を生成し、各搬送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算し、配送車両に割り当てられた配送タスクを当該配送車両へ積み付けることができない場合、前記配送計画候補を除外することとを含む配送計画生成方法を提供する。
本発明の他の一つの面によれば、少なくとも一つの実施例が、メモリと、プロセッサと、メモリに格納されてプロセッサで実行可能なコンピュータプログラムを含み、前記コンピュータプログラムが前記プロセッサによって実行されると、前記の配送計画生成方法が実現される配送計画生成システムを提供する。
本発明の他の一つの面によれば、少なくとも一つの実施例が、プロセッサによって実行されると、前記の配送計画生成方法が実現されるコンピュータプログラムを格納するコンピュータ読み取り可能な記憶媒体を提供する。
【０００６】
従来技術に比較し、本発明の実施例における配送計画生成方法、装置及びシステムは、寸法に応じて小さめの荷物をパレットに積み付け、パレットを仮想的な荷物として、対応する配送タスクを生成し、さらにすべての配送タスクに対し、配送計画を生成する際にＶＲＰ問題とビンパッキング問題を同時に考慮し、配送計画の積載率を上げるとともに走行距離を削減することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施例における配送計画生成装置の一種の構成を示す概略図である。
【図２】本発明の実施例における配送計画生成システムの全体構成を表すブロック図である。
【図３】本発明の実施例における配送計画生成方法の一種のフローを示す概略図である。
【図４】本発明の実施例における配送計画生成方法の別のフローを示す概略図である。
【図５】本発明の実施例における配送計画生成装置の別の構成を示す概略図である。
【図６】本発明の実施例における配送計画生成方法の一つの例のフローチャートである。
【図７】本発明の実施例における拠点データの一つの例を示す。
【図８】本発明の実施例における車両データの一つの例を示す。
【図９】本発明の実施例におけるパレットデータの一つの例を示す。
【図１０】本発明の実施例における配送タスクデータの一つの例を示す。
【図１１】本発明の実施例における計算条件設定の一つの例を示す。
【図１２】本発明の実施例における第１の積み付け処理の一種のフローを示す概略図である。
【図１３】本発明の実施例における第２の積み付け処理の一種のフローを示す概略図である。
【図１４】本発明の実施例における第２の積み付け処理の別のフローを示す概略図である。
【図１５】本発明の実施例におけるトリップでの車両積載率判断の一種のフローを示す概略図である。
【図１６】本発明の実施例におけるパレット混載の一種のフローを示す概略図である。
【図１７Ａ】本発明の実施例で生成される出力画面の一つの例を示す。
【図１７Ｂ】本発明の実施例で生成される出力画面の一つの例を示す。
【図１７Ｃ】本発明の実施例で生成される出力画面の一つの例を示す。
【図１８】本発明の実施例における配送計画生成システムのブロック図の別構成を示す概略図である。
【図１９】図１８に示す別のシステムブロック図における処理及びデータの接続関係の概略図である。
【発明を実施するための最良の形態】
【０００８】
本開示の解決しようとする技術課題、技術手段及び利点をより明確にするために、以下、図面および具体的な実施例を通じて詳細に記載する。以下の記載において、本開示の実施例に対する全面的理解へのほう助だけの目的で、具体的な構成や構成部品の特定な細部を提供する。よって、本開示の範囲や精神を逸脱することなく、ここに記載の実施例に対し様々な変更や修正を行うことができることは、当業者にとって自明である。また、明確化と簡潔化のために、周知されている機能や構造に関する記載を省略している。
なお、明細書の全文にわたって言及されている「１つの実施例」や「一実施例」とは、実施例に関連する特定の特徴、構造または特性が本開示の少なくとも１つの実施例に含まれることを意味する。従って、明細書の各箇所に記載されている「１つの実施例において」や「一実施例において」とは、必ずしも同一の実施例を指すとは限らない。また、これらの特定の特徴、構造または特性は、任意かつ適切な方式で１つまたは複数の実施例に組み入れられることができる。
本開示の各実施例において、下記各プロセスの番号の大きさは、実行順の前後を意味するのではなく、各プロセスの実行順は、その機能および内在的な論理によって確定されるものであり、本開示の実施例の実施プロセスに対しいっさい限定を構成しないと理解すべきである。
トラックなど配送車両による配送、特にＢ２Ｂ幹線輸送では、車両の積載率向上と走行距離削減が最重要な課題である。ＶＲＰ問題を解くアルゴリズムを使って走行距離のみを最適化する計画の生成は可能である。また、ビンパッキング問題を解くアルゴリズムを使って荷物の最適な（実用レベルに近い）荷姿を計算することも可能である。但し、上記問題を個別に計算する場合、一般的にＶＲＰで荷台の容積にマージン（ｍａｒｇｉｎ）を取る必要があり、マージンを取りすぎると積載効率が下がる、マージンが少なすぎると実際積込めないというリスクがあった。このため、ＶＲＰ問題とビンパッキング問題を同時に解く必要があるが、従来技術では実用レベルのものは存在しない。このため、目標の積載率に届くように、従来技術では、一般的に、生成した配送計画を手作業で修正する必要があり、それによって配送計画の作成には長い時間がかかる。実際の配送では、荷物の荷姿を考慮した上で一旦一部の荷物をパレットに載せ、さらにトラックの荷台に２段階で積み込む必要あり、効率的な車両経路問題及び荷物の荷姿の同時計算を人手で実現することは難しい。
【０００９】
たとえば日本特許出願（特開平１１−１６１６９７）では、荷物の段積み可否と積載率を考慮した複数の納入先の組み合わせを配送車両に割り当てる方法について開示している。但し、当該出願では、上記のパレットへの積付けを含む２段階の積付けについては開示されていない。
【００１０】
本発明の実施例は、配送計画生成方法を提案し、ビンパッキング問題では寸法の小さい荷物をパレットに積み付け、配送計画を生成する際にＶＲＰ問題とビンパッキング問題を同時に考慮し、配送計画の積載率を上げるとともに走行距離を削減することができる。
【００１１】
なお、本発明の実施例において、各配送タスクの寸法とは、一般的に当該配送タスクの配送対象（たとえば荷物）の寸法を指す。また、記載を簡略にするために、本明細書に記載される「ある配送タスクをパレット（又は配送車両）に積み付ける」こととは、ある配送タスクの配送対象をパレット（又は配送車両）に積み付けることを指す。
【００１２】
本発明の少なくとも一つの実施例によれば、図１に示す配送計画生成装置１０をさらに提案する。当該配送計画生成装置１０は、複数の配送タスク、複数のパレット及び複数の配送車両の情報を格納するためのメモリ１１と、前記複数の配送タスクのうち複数の第１配送タスクに対し、前記複数の第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算し、前記第１配送タスクが積み付けられたパレット毎に第２配送タスクを生成すること、及び、前記複数の配送車両に基づいて、前記第２配送タスクの配送計画候補を生成し、各搬送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算し、配送車両に割り当てられた配送タスクを、割り当てられた配送車両へ積み付けることができない場合、前記配送計画候補を除外することとに用いられるプロセッサ１２とを含む。
【００１３】
具体的に、前記メモリ１１には、前記プロセッサ１２で実行可能なプログラムが格納されるのもよい。前記プロセッサ１２は、前記プログラムを実行すると、上記の機能を実現することができる。
【００１４】
本発明の少なくとも一つの実施例によれば、前記プロセッサ１２は、さらに、前記複数の第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算する前に、前記複数の配送タスクの寸法を前記パレットと比較し、前記パレットに積み付けることのできる配送タスクを前記第１配送タスクとすることに用いられる。
【００１５】
本発明の少なくとも一つの実施例によれば、前記プロセッサ１２は、さらに、前記複数の配送タスクのうち前記第１配送タスクを除いた第３配送タスクを前記第２配送タスクと合併し、合併後の配送タスクに対し前記配送計画候補を生成することに用いられる。
【００１６】
本発明の少なくとも一つの実施例によれば、前記プロセッサ１２は、さらに、前記複数の第１配送タスクで同一の出発拠点、目的拠点、納品期限を持つ配送タスクを同一の配送タスク群に集約することと、各配送タスク群に対し、同一のパレットへ同一の配送タスク群の配送タスクの積み付けしかできないという制約条件に基づいて、当該配送タスク群のうちの配送タスクが前記パレットに積み付けられる荷姿を計算することとに用いられる。
【００１７】
本発明の少なくとも一つの実施例によれば、前記プロセッサ１２は、さらに、前記第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算するプロセスで、段積みできない第１配送タスクの高さを、当該第１配送タスクが積み付けられるパレットの高さとすることに用いられる。
【００１８】
本発明の少なくとも一つの実施例によれば、前記プロセッサ１２は、さらに、前記配送計画候補を生成するプロセスで、未割当の配送タスクを一つの目標配送車両に割り当てる際に、当該配送タスクを当該目標配送車両に割り当てた後に当該目標配送車両の積載率が第１所定積載率より低くなるかを判断することと、当該積載率が第１所定積載率より低くなると、引き続き次の未割当の配送タスクを割り当てることと、当該積載率が第１所定積載率以上である場合、当該目標配送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算し、当該目標配送車両に割り当てられた配送タスを当該目標配送車両へ積み付けることができるかを判断し、判断結果が否（ＮＯ）である場合、前記配送計画候補を除外することに用いられる。
【００１９】
本発明の少なくとも一つの実施例によれば、前記プロセッサ１２は、さらに、各配送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算する際に、前記配送計画候補のうちの各配送車両に対し、当該配送車両の拠点間の配送順を抽出することと、当該配送車両の荷台を奥行き方向に複数のサブ領域に分割し、前記配送順とは逆の方向に、各拠点で荷下ろしが必要な配送タスクに対し順に積み付け処理を行うことと、すべての拠点の積み付け処理が完了した後に、当該配送車両に割り当てられた配送タスクの当該配送車両での荷姿を得、当該配送車両の配送タスク積付け済みサブ領域の奥行長さの合計値が荷台の長さを超えたかに基づき、当該配送車両に割り当てられた配送タスクを当該配送車両に積み付けることができるかの判断結果を取得することに用いられる。
【００２０】
本発明の少なくとも一つの実施例によれば、前記プロセッサ１２は、さらに、前記配送計画候補を生成した後に、前記配送計画候補における各配送車両のトリップを抽出し、各トリップで配送車両について拠点で荷物の積み付けが完成した後の積載率が第２所定積載率より大きくなるかを判断し、否である場合、前記配送計画候補を除外し、新たに新規の配送計画候補を生成することに用いられる。
【００２１】
本発明の少なくとも一つの実施例によれば、前記プロセッサ１２は、さらに、前記第２配送タスクの配送計画候補を生成する前に、前記パレットの積載率が第３所定積載率より低く、同じ出発拠点と目標拠点でかつ納品期限の差が所定閾値を超えない複数のパレットを同一のパレット群に集約することと、各パレット群に対し、当該パレット群のうちの各パレットの配送タスクを抽出し、抽出された配送タスクがパレットに積み付けられる荷姿を新たに計算し、新たに積み付けられたパレットに対し第２配送タスクを生成することに用いられる。
【００２２】
図２は、本発明の実施例における配送計画生成システムの全体構成を表すブロック図の一例である。図２では、計算機を例にとって説明する。計算機１００は、プロセッサ（ＣＰＵ）１０４、主記憶装置１０５、二次記憶装置１０６、メインバス１０３、グラフィックボード１０７、ネットワークインタフェースカード（ＮＩＣ）１０８（ネット回線１１０を介してネットワークに接続する）、画面出力インタフェース１０９からなる。計算機１００は、ＮＩＣ１０８を通して計算機外とのデータ入出力と、画面出力インタフェース１０９から外部ディスプレイへ画面の出力が可能である。実際の構成では、図２に示すモジュールの他、キーボード、マウスなどの入力装置を含むことができる。ここで、主記憶装置１０５は、具体的に計算機の内部記憶装置であり、二次記憶装置１０６は、計算機のハードディスク（ＨＤＤ・ＳＳＤ）である。
【００２３】
二次記憶装置１０６には、たとえばデータ入力処理モジュール１２２、計算条件設定処理モジュール１２３、最適解探索処理モジュール１２４、荷物積み付け処理モジュール１２５、配車計画出力処理モジュール１２６、拠点データモジュール１４２、車両データモジュール１４３、パレットデータモジュール１４４、配送タスクデータモジュール１４５及び道路情報データ１５１など、本発明の実施例の演算処理に必要な各種類の入力データとプログラムモジュールが記憶されている。演算処理の実行において、二次記憶装置１０６のデータは、主記憶装置１０５内の入出力・計算実行処理モジュール１２１によって適宜読み込まれ、拠点間距離データモジュール１４１と提携して探索処理を行い、配送計画を出力する。
【００２４】
図３を参照し、本発明の実施例によれば、配送計画生成方法を提案する。当該方法は、複数の配送車両を利用して複数の拠点を回って配送タスクを行う最適順を出力することができる。図３に示すように、当該方法において、以下のステップを含む。
【００２５】
Ｓ３１において、複数の配送タスク、複数のパレット及び複数の配送車両の情報を取得する。
【００２６】
ここで、Ｓ３１では、配送が必要な複数の配送タスクの情報を取得するが、一般的に配送タスクの出発拠点、終了拠点、納品期限、寸法（たとえば配送対象の長さ・幅・高さ、体積）、重量、段積み可否などの情報を含む。具体的に、配送対象が包装箱に内置される荷物である場合、当該配送対象の寸法は、当該包装箱の寸法を用いることができる。
【００２７】
Ｓ３１では、荷物配送用配送車両の情報をさらに取得し、具体的に、配送車両の数、各配送車両の荷台の寸法（たとえば長さ・幅・高さ、容積）及び車両の積載上限値などの情報を含み、また、配送車両の番号（車両ＩＤ）、運転手、出発拠点（すなわち当該配送車両によって配送タスクの実行を開始する開始拠点）、終了拠点（すなわち当該配送車両が配送タスクの完了後に戻る拠点）、車両の作業開始時刻及び終了時刻などの情報をさらに含む。
【００２８】
本発明の実施例では、サイズの小さい荷物を積み込み、配送計画の計算複雑度を軽減するためのパレットをさらに導入している。具体的に、パレットの情報は、長さ・幅・高さ、体積、容積など、パレットの寸法を含む。ここで、パレットの体積は、パレットの外サイズが占めるスペースの大きさを指す。パレットの容積は、パレットの内部収納空間の大きさを指す。パレットの本体が一定の厚さを有するため、パレットの体積は、パレットの容積より大きい。
【００２９】
計算を簡単にするために、本明細書ですべての寸法（たとえば体積・容積）は、長方体の長さ、幅、高さの指標に変換可能である。場合によっては、実際の寸法は、長方体形状ではない可能性があり、この場合、実際の寸法の三次元方向の大きさに基づき、当該実際の寸法を収納可能な最小の長方体形状に変換し、さらにその長方体の長さ、幅、高さの指標を得る。
【００３０】
なお、本発明の実施例における配送車両、パレットは、多種類の異なる規格を含むことができ、すなわち、多種類の異なる荷台サイズと積載量を有する配送車両を含んでもよく、多種類の異なる容積を有するパレットを含んでもよい。本発明の実施例において、これについて具体的に限定しない。
【００３１】
Ｓ３２において、前記複数の配送タスクのうち複数の第１配送タスクに対し、前記複数の第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算し、前記第１配送タスクが積み付けられたパレット毎に第２配送タスクを生成する。
【００３２】
ここで、計算を簡単にするために、本発明の実施例では、前記複数の配送タスクのうちパレットに積み付けることのできる第１配送タスクを１つまたは複数のパレットに積み付け、第１配送タスクのパレットでの荷姿（載置姿勢）を計算し、前記第１配送タスクが積み付けられたパレットに対し新規の第２配送タスクを生成する。具体的に、第２配送タスクの寸法は、パレットの寸法（たとえばパレットの外サイズ）を用いることができる。
【００３３】
また、第２配送タスクの出発拠点、終了拠点、納品期限、重量、段積み可否などの情報は、当該パレットに積み付けられる第１配送タスクから確定される。計算を簡単にするために、本発明の実施例では、同一のパレットには、同じ出発拠点と終了拠点の第１配送タスクしか積み付けられず、しかも同一パレットのすべての配送タスクの納品期限の差は、ある所定の時間範囲内にあることが最適である。この場合、第２配送タスクの出発拠点、終了拠点、納品期限は、当該パレットのいずれか一つの第１配送タスクから設定され、当該第２配送タスクの重量は、当該パレットに積み付けられるすべての配送タスクの総重量から確定される。また、当該第２配送タスクの段積み可否は、当該パレットの各配送タスクの段積み属性から設定される。たとえば、いずれか一つの配送タスクが段積み不可の場合、当該パレットの第２配送タスクも段積み不可に設定されるが、すべての配送タスクが段積み可の場合、当該パレットの第２配送タスクは、段積み可に設定される。
【００３４】
また、本発明の少なくとも一つの実施例において、上記Ｓ３２では、前記複数の第１配送タスクで同一の出発拠点、目的拠点、納品期限を持つ配送タスクを同一の配送タスク群に集約し、それから、各配送タスク群に対し、同一のパレットへ同一の配送タスク群の配送タスクの積み付けしかできないという制約条件に基づいて、当該配送タスク群のうちの配送タスクが前記パレットに積み付けられる荷姿を計算する。
【００３５】
上記Ｓ３２では、複数の第１配送タスクを１つまたは複数のパレットに積み付け、当該パレットに対し１つの第２配送タスクを仮想化する。
【００３６】
また、複数の第１配送タスクをパレットに積み付ける際に、従来技術の様々なビンパッキングアルゴリズムで処理可能であり、本発明の実施例ではこれに対し具体的に限定しない。なお、ビンパッキング計算の際に、第１配送タスクの段積み可否属性を考慮してビンパッキング計算を行う。たとえば、ビンパッキング計算において、段積み不可の第１配送タスクの高さを、当該第１配送タスクが積み付けられるパレットの高さにすることによって、当該第１配送タスクの段積みの発生を回避する。
【００３７】
Ｓ３３において、前記複数の配送車両に基づいて、前記第２配送タスクの配送計画候補を生成し、各搬送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算し、配送車両に割り当てられた配送タスクを当該配送車両へ積み付けることができない場合、前記配送計画候補を除外する。
【００３８】
ここで、Ｓ３３では、従来技術の様々なＶＲＰを解くアルゴリズムで配送計画候補の探索生成を行うことができ、配送計画候補の探索生成において、本発明の実施例では従来のビンパッキングアルゴリズムを用い、各配送車両に割り当てられる配送タスクの当該配送車両での荷姿を計算し、各配送車両に割り当てられる配送タスクを対応する配送車両に積み付けることができるかを判断し、割り当てられる配送車両に積み付けることのできない配送タスクがあれば、前記配送計画候補を除外し、新たに新規の配送計画候補を生成する。
【００３９】
上記Ｓ３３では、第２配送タスクに対し配送計画候補を計算し、さらに、各配送車両に割り当てられる第２配送タスクの当該配送車両での荷姿を計算し、配送車両に割り当てられる第２配送タスクを割り当てられた配送車両に積み付けることができない場合、前記配送計画候補を除外する。
【００４０】
具体的に、前記配送計画候補の探索生成において、すべての配送タスクの割り当てが完了するまで、配送タスクの割り当てを逐一に行う。配送車両の余剰空間が大きい場合、一般的に、現在割り当てられた配送タスクを積み付けることができない問題が存在しないことを考慮し、計算効率を上げて配送計画の生成を加速化するために、本発明の実施例では、未割当の配送タスクを一つの目標配送車両に割り当てる際に、当該配送タスクを当該目標配送車両に割り当てた後に当該目標配送車両の積載率が第１所定積載率より低くなるかを判断する。当該積載率が第１所定積載率より低くなると、配送タスクを目標配送車両に積み付けることができるかの判断を実行せず、直接に引き続き次の未割当の配送タスクを割り当て、上記積載率の判断過程を繰り返して行う。一方、当該積載率が第１所定積載率以上である場合、当該目標配送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算し、当該目標配送車両に割り当てられた配送タスを当該目標配送車両へ積み付けることができるかを判断し、判断結果が否である場合、前記配送計画候補を除外する。
【００４１】
以上のステップによって、本発明の実施例では、小さい寸法の第１配送タスクをパレットに積み付け、同一のパレットの第１配送タスクに対し１つの新規の第２配送タスクを仮想化することによって、ＶＲＰ計算及びビンパッキング計算に係る配送タスクの数を削減し、配送計画の生成効率を上げることができる。また、車両経路問題と荷物の荷姿を同時に考慮したため、本発明の実施例は、配送計画の積載率を上げるとともに走行距離を削減することができる。
【００４２】
また、本発明の少なくとも一つの実施例によれば、上記Ｓ３２で、前記複数の第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算する前に、前記複数の配送タスクの寸法を前記パレットと比較し、前記パレットに積み付けることのできる配送タスクを前記第１配送タスクとする。また、パレットの寸法が多様であることを考慮した場合、簡単な実現方式として、最小寸法のパレットを判断基準とし、当該最小のパレットより小さい寸法の配送タスクを第１配送タスクとする。
【００４３】
同一の配送車両に積み付けられる複数の配送タスクは、異なる拠点で荷下ろしを行う可能性がある。たとえば、荷台では、のちに配送される配送タスクａの積載位置が、先に配送される配送タスクｂの積載位置の前にあれば、配送タスクｂの荷下ろしを行い際に、一般的に配送タスクａを荷台から降ろしてから配送タスクｂを降ろす必要があり、それから配送タスクａを再び荷台に積み付けることになるため、荷下ろし効率が低下する。
【００４４】
荷下ろし効率を上げるために、本発明の少なくとも一つの実施例によれば、上記Ｓ３３では、各配送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算する際に、前記配送計画候補のうちの各配送車両に対し、当該配送車両の拠点間の配送順を抽出する。当該配送車両の荷台を奥行き方向に複数のサブ領域に分割し、前記配送順とは逆の方向に、各拠点で荷下ろしが必要な配送タスクに対し順に積み付け処理を行う。具体的に、各拠点での積み付け処理では、当該配送車両の当該拠点で荷下ろしが必要な荷物を、当該拠点に対応するサブ領域に積み込む。ここで、当該配送車両の当該拠点で荷下ろしが必要な荷物を当該サブ領域に積み込むことができる場合、当該荷物に対応する配送タスクを当該サブコンテナに追加するが、当該サブ領域に積み付けることができない場合、積み付けが完了するまで、当該拠点に対応するサブ領域の追加、そして、追加のサブ領域への積み付けを繰り返して実行する。すべての拠点の積み付け処理が完了した後に、当該配送車両に割り当てられた配送タスクの当該配送車両での荷姿を得、当該配送車両の配送タスク積付け済みサブ領域の奥行長さの合計値が荷台の長さを超えたかに基づき、当該配送車両に割り当てられた配送タスクを当該配送車両に積み付けることができるかの判断結果を取得する。
【００４５】
また、本発明の少なくとも一つの実施例によれば、前記配送計画候補を生成した後に、
前記配送計画候補における各配送車両のトリップを抽出し、各トリップで配送車両について拠点で荷物の積み付けが完成した後の積載率が第２所定積載率より大きくなるかを判断し、否である場合、前記配送計画候補を除外し、新たに新規の配送計画候補を生成する。上記処理によって、積載率が低すぎる配送計画を廃棄し、生成される配送計画には所望の積載率を有することが保証される。
【００４６】
また、本発明の少なくとも一つの実施例によれば、上記Ｓ３３の後に、所定の評価基準に従って、前記配送計画の評価結果を生成し、さらに、前記配送計画候補の評価結果に基づき、１つまたは複数の配送計画候補を最終配送計画として出力する。具体的に、前記評価基準は、配送車両の走行経路の長さ及び車両の積載率など、タスクのコストに関連する様々な要素を考慮するが、本発明の実施例では、これについて具体的に限定しない。
【００４７】
前記複数の配送タスクには第１配送タスク以外の第３配送タスクも存在することを考慮し、第３配送タスクを含む配送計画候補を生成するために、本発明の実施例では、上記Ｓ３３で前記第２配送タスクの配送計画候補を生成する前に、前記複数の配送タスクのうち前記第１配送タスクを除いた第３配送タスクを前記第２配送タスクと合併する。それから、上記Ｓ３３では、合併後の配送タスクに対し前記配送計画候補を生成する。図４を参照し、本発明の実施例は、別の配送計画生成方法をさらに提案する。図４に示すように、当該方法は、以下のステップを含む。
【００４８】
Ｓ４１において、複数の配送タスク、複数のパレット及び複数の配送車両の情報を取得する。
【００４９】
ここで、上記Ｓ４１は、図１のＳ３１に類似するため、記載の簡略化のためにここでは繰り返して記載しない。
【００５０】
Ｓ４２において、前記複数の配送タスクのうち、寸法がパレットより小さい複数の第１配送タスクに対し、前記複数の第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算し、前記第１配送タスクが積み付けられたパレット毎に第２配送タスクを生成し、前記複数の配送タスクのうち第１配送タスクを除いた第３配送タスクと合併し、合併後の第４配送タスクを得る。
【００５１】
ここで、本発明の実施例は、複数の配送される複数の配送タスクを第１配送タスクと第３配送タスクに分ける。ここで、第１配送タスクの寸法は、所定のパレットより小さく、第２配送タスクの寸法は、パレット以上である。具体的に、第１配送タスクの寸法がパレットより小さいことは、第１配送タスクの荷物を当該所定のパレットに積み付けることができることを指し、第２配送タスクについては、体積制限要素によって当該所定のパレットに積み付けることができない。なお、本発明の実施例は、必要性に応じて、パレットに積載可能な配送タスクのサイズを設定し、たとえば、パレットの長さ、幅、高さに基づき、配送タスクの長さ、幅、高さの上限を設定する。本発明の実施例は、これについて具体的に限定しない。
【００５２】
また、パレットの寸法が多様であることを考慮した場合、簡単な実現方式として、最小寸法のパレットを上記所定のパレットとし、寸法が当該所定のパレットより小さい配送タスクは、第１配送タスクであり、寸法が当該所定のパレット以上である配送タスクは、第２配送タスクである。
【００５３】
この場合、本発明の少なくとも一つの実施例によれば、上記Ｓ４２では、前記複数の第１配送タスクで同一の出発拠点、目的拠点、納品期限を持つ配送タスクを同一の配送タスク群に集約し、それから、各配送タスク群に対し、同一のパレットへ同一の配送タスク群の配送タスクの積み付けしかできないという制約条件に基づいて、当該配送タスク群のうちの配送タスクが前記パレットに積み付けられる荷姿を計算する。
【００５４】
ここで、第１配送タスクが積み付けられたパレットの積載率を上げ、さらに配送車両の積載率を上げるために、積載率がある所定積載率（第３所定積載率とする）より小さく、同じ出発拠点と目標拠点でかつ納品期限の差が所定閾値を超えないパレットを同一のパレット群に集約し、それから、各パレット群に対し、当該パレット群のうちの各パレットの配送タスクを抽出し、抽出された配送タスクがパレットに積み付けられる荷姿を新たに計算し、新たに積み付けられたパレットに対し第２配送タスクを生成する。具体的に、抽出された配送タスクを積み付ける際に、これらの配送タスクが今までに積み付けられたパレットを用いて積み付けてもよく、上記パレット以外の新規のパレットを用いて積み付けてもよい。本発明の実施例は、これについて具体的に限定しない。
【００５５】
上記Ｓ４２では、第１配送タスクを１つまたは複数のパレットに積み付け、それから当該パレットを仮想的な第２配送タスクとし、当該第２配送タスク及びその関連属性（配送タスクの出発拠点、終了拠点、納品期限、寸法（配送対象の長さ・幅・高さ、体積）、重量、段積み可否などの情報）の仮想荷物の配送タスクを生成し、それから第３配送タスクと合併し、合併後の配送タスクを得る。記載を簡単にするために、上記合併後の配送タスクを第４配送タスクと称する。第４配送タスクは、第２配送タスクと第３配送タスクを含むことがわかる。
【００５６】
具体的に、複数の第１配送タスクをパレットに積み付ける際に、従来技術の様々なビンパッキングアルゴリズムで処理することができる。本発明の実施例は、これについて具体的に限定しない。
【００５７】
Ｓ４３において、前記複数の配送車両に基づき、第４配送タスクの配送計画を生成し、各配送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算し、配送車両に割り当てられた配送タスクを当該配送車両に積み付けることができない場合、前記配送計画候補を除外する。
【００５８】
ここで、Ｓ４３では、従来技術の様々なＶＲＰを解くアルゴリズムで配送計画候補の探索生成を行うことができ、配送計画候補の生成において、現在の配送計画候補に未割当の配送タスクを挿入するたびに、各配送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算し、当該配送計画候補の配送タスクを対応する配送車両に積み付けることができるかの判断し、いずれか一つの配送タスクを対応する配送車両に積み付けることができない場合、現在の配送計画候補を除外し、新たに新規の配送計画候補を生成する。
【００５９】
以上のステップによって、本発明の実施例では、第２配送タスクと第３配送タスクを含む配送タスクに対する配送計画候補の生成を実現することができ、配送計画候補の生成においてＶＲＰとビンパッキング問題を同時に考慮したため、配送計画の積載率を上げるとともに走行距離を削減することができる。
【００６０】
以上の方法に基づき、本発明の実施例は、上記方法を実施する装置をさらに提案する。図５に示すように、本発明の実施例における配送計画生成装置５０は、当該配送計画生成装置１０は、複数の配送タスク、複数のパレット及び複数の配送車両の情報を取得するためのデータ取得ユニット５１と、前記複数の配送タスクのうち複数の第１配送タスクに対し、前記複数の第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算し、前記第１配送タスクが積み付けられたパレット毎に第２配送タスクを生成するための第１計算ユニット５２と、前記複数の配送車両に基づいて、前記第２配送タスクの配送計画候補を生成し、各搬送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算し、配送車両に割り当てられた配送タスクを当該配送車両へ積み付けることができない場合、前記配送計画候補を除外するための第２計算ユニット５３とを含む。
【００６１】
また、本発明の少なくとも一つの実施例によれば、前記第１計算ユニット５２は、さらに、前記複数の第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算する前に、前記複数の配送タスクの寸法を前記パレットと比較し、前記パレットに積み付けることのできる配送タスクを前記第１配送タスクとすることに用いられる。
【００６２】
また、本発明の少なくとも一つの実施例によれば、前記第２計算ユニット５３は、さらに、前記複数の配送タスクのうち前記第１配送タスクを除いた第３配送タスクを前記第２配送タスクと合併し、合併後の配送タスクに対し前記配送計画候補を生成することに用いられる。
【００６３】
また、本発明の少なくとも一つの実施例によれば、前記第１計算ユニット５２は、さらに、前記複数の第１配送タスクで同一の出発拠点、目的拠点、納品期限を持つ配送タスクを同一の配送タスク群に割り当てることと、各配送タスク群に対し、同一のパレットへ同一の配送タスク群の配送タスクの積み付けしかできないという制約条件に基づいて、当該配送タスク群のうちの配送タスクが前記パレットに積み付けられる荷姿を計算することとに用いられる。
【００６４】
また、本発明の少なくとも一つの実施例によれば、前記第１計算ユニット５２は、さらに、前記第１配送タスクが前記複数のパレットに積み付けられる荷姿を計算するプロセスで、段積みできない第１配送タスクの高さを、当該第１配送タスクが積み付けられるパレットの高さとすることに用いられる。
【００６５】
また、本発明の少なくとも一つの実施例によれば、前記第２計算ユニット５３は、さらに、前記配送計画候補を生成するプロセスで、未割当の配送タスクを一つの目標配送車両に割り当てる際に、当該配送タスクを当該目標配送車両に割り当てた後に当該目標配送車両の積載率が第１所定積載率より低くなるかを判断することと、当該積載率が第１所定積載率より低くなると、引き続き次の未割当の配送タスクを割り当てることと、当該積載率が第１所定積載率以上である場合、当該目標配送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算し、当該目標配送車両に割り当てられた配送タスを当該目標配送車両へ積み付けることができるかを判断し、判断結果が否である場合、前記配送計画候補を除外することに用いられる。
【００６６】
また、本発明の少なくとも一つの実施例によれば、前記第２計算ユニット５３は、さらに、各配送車両に割り当てられた配送タスクの当該配送車両での荷姿を計算する際に、前記配送計画候補のうちの各配送車両に対し、当該配送車両の拠点間の配送順を抽出することと、当該配送車両の荷台を奥行き方向に複数のサブ領域に分割し、前記配送順とは逆の方向に、各拠点で荷下ろしが必要な配送タスクに対し順に積み付け処理を行うことと、すべての拠点の積み付け処理が完了した後に、当該配送車両に割り当てられた配送タスクの当該配送車両での荷姿を得、当該配送車両の配送タスク積付け済みサブ領域の奥行長さの合計値が荷台の長さを超えたかに基づき、当該配送車両に割り当てられた配送タスクを当該配送車両に積み付けることができるかの判断結果を取得することに用いられる。
【００６７】
また、本発明の少なくとも一つの実施例によれば、前記第２計算ユニット５３は、さらに、前記配送計画候補を生成した後に、前記配送計画候補における各配送車両のトリップを抽出し、各トリップで配送車両について拠点で荷物の積み付けが完成した後の積載率が第２所定積載率より大きくなるかを判断し、否である場合、前記配送計画候補を除外し、新たに新規の配送計画候補を生成することに用いられる。
【００６８】
また、本発明の少なくとも一つの実施例によれば、前記第１計算ユニット５２は、さらに、前記各パレットの第２配送タスクの配送計画候補を生成した後に、前記パレットの積載率が第３所定積載率より低く、同じ出発拠点と目標拠点でかつ納品期限の差が所定閾値を超えない複数のパレットを同一のパレット群に集約することと、各パレット群に対し、当該パレット群のうちの各パレットの配送タスクを抽出し、抽出された配送タスクがパレットに積み付けられる荷姿を新たに計算し、新たに積み付けられたパレットに対し第２配送タスクを生成することに用いられる。
【００６９】
本発明の少なくとも一つの実施例によれば、コンピュータプログラムが格納されているコンピュータ読み取り可能な記憶媒体をさらに提案し、前記コンピュータプログラムがプロセッサによって実行されると、上記のいずれか一つの方法実施例に記載の配送計画生成方法が実現される。
【００７０】
本発明の少なくとも一つの実施例によれば、メモリと、プロセッサと、メモリに格納されてプロセッサで実行可能なコンピュータプログラムを含む配送計画生成システムをさらに提案し、前記コンピュータプログラムが前記プロセッサによって実行されると、上記のいずれか一つの方法実施例に記載の配送計画生成方法が実現される。
【００７１】
次に、より詳細な例を通じて、本発明の実施例の配送計画生成方法、装置及びシステムを説明する。
【００７２】
本発明の実施例の上記技術手段を理解することに役立つために、以下、いくつかの例の具体的なフローを通じて本発明の実施例の方法をより具体的に記載する。
【００７３】
図６を参照し、本発明の実施例の配送車両の配送計画生成方法の一つの例示的なフローとして、ステップ２０１〜ステップ２０３の間の具体的な処理のステップが示されている。
【００７４】
メインの演算処理３００の実行に先立ち、データ読み込み処理２１０で関連モジュールから拠点マスタデータ（ｍａｓｔｅｒ  ｄａｔａ）、車両マスタデータ、パレットマスタデータ（ｐａｌｌｅｔ  ｍａｓｔｅｒ）、配送タスクデータを順次読み込む。その後、メインの演算処理３００の前処理として計算条件設定ステップ２２０、及び第１の積付け処理であるパレット積付け計算２３０を行う。
【００７５】
メインの演算処理３００では、最適な配送計画が得られるよう、演算ループ３０１内で予め設定された演算処理回数の上限まで繰り返し配送計画の作成を行い、最も最適解に近い計画を演算処理の結果として配送計画出力２０２を行う。演算処理においては、配送タスクに配送車両を割り当てる際に、“近傍探索”などの配送計画作成アルゴリズムを使って、様々な組合せのパターンを配送計画の候補として各演算ループで１つ（或いは複数）の配送計画を生成することができる。
【００７６】
車両荷姿判定３５０では、この配送計画候補３０２内の各拠点における配送タスクの積込みによって、配送車両に割り当てられた配送タスクについて、割り当てられた配送車両の荷台（載置台ともいう）に積付けが可能かどうかを判断する。判断結果が不可（ＮＧ）となった場合は、当該配送計画候補を除外し、新たに別の配送計画候補３０２を生成する。
【００７７】
一方、配送計画候補について所定条件違反がなく或いは一定の所定条件を満たすと、総コスト計算処理３１０を実施する。また、生成された配送計画候補では、配送順序不一致の配送タスクの件数がある所定値以下であり、割り当てられた配送車両の台数が所定数以下であると、演算ループ３０１を途中終了する判定条件を満たしたため、前記演算処理回数の上限に達する前に演算ループ３０１を抜け、当該処理までの演算結果から適切な配送計画候補を選択し、配車計画の出力処理２０２を行うことができる。
【００７８】
データ読み込み処理２１０で読み込むデータ形式の一例を図７、図８、図９、図１０に示す。図７の拠点データモジュール１４２から読み込まれた拠点データには、拠点名４１１、拠点位置を示す緯度４１２・経度４１３、拠点のエリア４１４、配送タスクを受付ける車両タイプを限定する場合の車格制限４１５、拠点営業開始時間４１６、営業終了時間４１７、荷卸に要する時間４１８、などの情報を指定する。
【００７９】
図８の車両データモジュール１４３から読み込まれた車両データには、車両を一意に特定する車両ＩＤ４３１、車格４３２、運転手或いは連絡先４３３、車両出発時の出発拠点４３４と終了時の終了拠点４３５、車両の荷台形状４３６（幅（ｍ）ｘ奥行（ｍ）ｘ高さ（ｍ）などで示す）、車両重量の上限値４３７（ｔ・ｋｇなど）、車両作業開始時刻４３８、終了時刻４３９、当該車両が管轄するエリア４４０、などの情報を指定する。
【００８０】
図９のパレットデータモジュール１４４から読み込まれたパレットデータには、第１の積付け処理（パレットへの積付け）のためのパレット形状を指定する。パレット形状は、パレットに積付ける際の内側の形状を示す内形状４５３と、配送車両に積付ける際に利用する外形状４５２の２つがある。また、段積み可否４５５が否のパレットは、配送車両の荷台に積み付ける際に当該パレットの上下方向に別の荷物・パレットがあってはならないことを示し、当該パレットについて段積みが可能か否かを示す。また、空コンテナ返却先４５６と折り畳み後形状４５７などのデータをさらに含んでもよい。
【００８１】
図１０の配送タスクデータモジュール１４５から読み込まれた配送タスクデータには、各配送タスク（配送タスク４８２・４８３など）の配送日付４７１、配送元となる出発地点４７２、配送先となる到着地点４７３、荷物を配送元で引取る引き取り期限４７４、配送先に納品する納品期限４７５、配送タスクの形状４７６、個数４７７、重量４７８を指定する。配送車両の車格に制限がある場合は、車格制限４７９をさらに指定する。さらに、積付けるパレットに制限がある場合は、パレット制限４８０を指定し、さらに当該配送タスクの段積み可否４８１などを指定する。
【００８２】
図１１の計算条件設定２２０は、配送計画生成或いは積付け計算に必要な計算パラメータの設定項目４９１であり、計算前にその都度入力データの一部として読込むこともできるし、デフォルト値４９２としてプログラム起動時に読込むこと或いは指定値４９３を設定することもできる。ここで計算回数は、図６の繰返しループ３０１の繰り返し回数を指定し、走行速度は、配送車両の計算上の走行速度を指定し、パレット積み付け制約は、後述する同一パレットに積み付けられる配送タスクの関連制約条件を考慮するかどうかを指定し、パレット積載率制約条件とパレット混載条件は、後述するパレット積付け時の判定条件に用いることができる。
【００８３】
第１の積付け処理に関し、図６で示すパレット積付け計算２３０の処理フロー詳細を図１２に示す。パレット積付け対象判定２３１では、図１０の配送タスクデータモジュール１４５の配送タスクの形状４７６と図９のパレットデータモジュール１４４のパレットデータの内形状４５３を比較し、パレット内に積み込み可能な配送タスクと不可のものを分類する。パレットへ積み込み不可の配送タスクは、パレットへの積付け対象外として本処理フローから除外する。配送タスク分類２３２では、図１１の計算条件設定におけるパレット積込み制約を参照し、配送タスクを配送タスク群に分類する。図１１の例でいうと、図１０の配送タスクで同一ＯＤ（同一の出発地、目的地）、かつ同一の納品期限を持つ配送タスクを同一の配送タスク群に集約する。次に、配送群毎にパレットへの積付け処理を繰り返し行う（ステップ２３３）。積付け計算では、パレットの内形状に基づき、計算上配送タスクの割当て先となるコンテナを複数生成するが必要がある（ステップ２３４）。図９の例では、パレットデータの内形状４５３を参照しコンテナを３つ生成する。次に、配送タスクデータ１４５の段積み可否４８１を参照し、段積み不可の場合、配送タスクの形状４７６の高さを、当該配送タスクが積み込まれる目標コンテナの高さに設定する（ステップ２３５）。こうすることで、積み付け過程では当該配送タスクの上或いは下に別の配送タスクを積み付けることを回避する。コンテナへの積付けであるステップ２３６では、一般的なビンパッキング（ｂｉｎ  ｐａｒｋｉｎｇ）問題を解くソルバー（ｓｏｌｖｅｒ）やライブラリ、ＯＳＳを利用することができる。本事例では三次元の積付けであるため、三次元に時間軸を考慮した四次元ビンパッキング問題用のアルゴリズムを優先的に選択するのがよい。本積付け処理の結果、特定コンテナに対し配送タスクの形状を考慮した荷姿が出力される。
【００８４】
本処理フローでは、１つのコンテナに対し複数の配送タスクを積付け、配送タスク群のうち未割当ての配送タスクがあるかを判断し（ステップ２３７）、残りがある場合は、残りの配送タスクを抽出して（２３８）、再度コンテナに積付けるという処理を、未割当の配送タスクが無くなるまで繰り返して行う。また、従来技術では、ビンパッキングのアルゴリズムによっては一括で処理できるものもあり、その場合はステップ２３７と２３８の処理を割愛できる。
【００８５】
全ての配送タスク群の配送タスクを積み付けた後、当該配送タスク群で積付け済みのパレットに配送タスクを紐づけ集約する処理を行う（２３９）。上記処理によって、図１０の配送タスクは、当該パレット毎に一つの仮想的な配送タスクとして集約され、のちに車両へ積み付けるタスク数を削減することができる。全ての配送群の積付け処理が終わった後、パレット積付け対象外の配送タスクと前記仮想的な配送タスクを統合することで、第２の積付け処理を含むメインの演算処理３００で、上記の仮想的な配送タスクは、他の配送タスクと同様に扱われる。
【００８６】
第２の積付け処理に関し、メインの演算処理３００の詳細を図１３に示す。まず、配送計画生成に必要な前記入力データと前記計算条件を基に、配送計画生成エンジン（ＶＲＰ：  Ｖｅｈｉｃｌｅ  Ｒｏｕｔｉｎｇ  Ｐｒｏｂｌｅｍ）を利用して配送計画候補を生成する（３０２）。ＶＲＰは、一般にＮＰ困難のため、繰返し計算を行うことで最適な結果（＝配送計画）を探索するアルゴリズムを用いる。
【００８７】
配送計画探索では、未割当の配送タスクを割当先の車両に適当な配送順で挿入する（３０３）。次に、当該車両に既に割当てられている配送タスクとこれから挿入する配送タスクの合計積載率（形状４７６から計算）が所定値以上の割合（例：７５％）であるかを判定する（３０４）。コンテナへの積付け計算３５３は、一般に計算時間を多く要する処理であるため、閾値判定処理３０４を入れることで、明らかに積付け可能なケースでの積付け計算３５３を不要とし、計算時間を短縮する目的を実現することができる。もちろん、計算機が十分に高速な場合など、計算時間が問題とならないケースでは、本判定処理３０４を実行しなくてもよい。
【００８８】
上記所定値以上の場合は、積付け計算の対象となるコンテナ（この場合挿入対象車両の荷台）と積付ける荷物（既存配送タスク＋挿入する配送タスク）を特定し、第２の積付けメイン処理となる積付け計算３６０に渡す（３０５）。積付け計算３６０では、コンテナ作成にあたり、車両データモジュール１４３の載置台形状４３６からコンテナの形状を複数取得する（３５１）。次に、積付け計算の対象となる配送タスクデータモジュール１４５の配送タスクデータから段積み可否４８１を参照し、段積み不可の場合、当該配送タスク形状４７６の高さをコンテナの高さに設定する（３５２）。コンテナへの積付け３５３は、パレット積付けと同様に、従来技術のビンパッキング問題の解法を適用できる。コンテナへの積付け３５３処理の結果、積付け可否が出力として得られる。或いは積付け後の全体の荷姿の奥行が車両の荷台の奥行（コンテナ長）と比較して長いかを判定する（３５４）。荷物の荷姿の奥行が長い場合は、荷物が荷台を超えるため積付け不可と判断される。積付け不可の場合は、配送計画生成処理で制約条件違反が生じたと判定し（３５５）、当該配送計画候補を棄却の上、配送計画候補生成処理３０２を再度行う。この際、配送計画候補生成処理３０２まで戻らず、配送計画生成におけるコストを追加することでも同様の効果が得られる。積付け可否３５４で積付け可能と判定された場合は、荷物の荷姿を確定し配送計画生成（ＶＲＰ）のコスト計算３１０に進む。
【００８９】
配送車両に複数の荷物を積んで、複数の配送先に配達する輸送形態では、一番最後の配送先に降ろす荷物を最初に積まないと、各配送先で荷物の出し入れが発生し非常に効率が悪くなる。これは、荷台は基本的には後方からしか荷物を出し入れできないためである。また、デポ（配送の起点・終点）発着の場合は、デポを出発して配送完了後デポに戻って来る迄を１トリップ（ｏｎｅ  ｔｒｉｐ）とする。配送車両への荷物の積載率を上げてトリップ数を削減することも配送業務における重要なＫＰＩの一つである。よって、トラックへの積付け計算３６０において、この配送順を考慮した積付けの実施方法を図１４に示す。
【００９０】
図１４の実施の前提として、図１１の計算条件設定を読込み、積込み順制約が有効になっているかを確認する。図１４の処理に入る前に、配送計画候補と対象車両、及び積付け計算の対象となるコンテナに積付けられる荷物は確定しているものとする（３０５）。まず、対象車両の配送順と挿入対象の配送タスクが含まれるトリップを抽出する（３６１）。ここからの処理で、当該トリップにおける最初のデポでの積込みで、配送の逆順で荷物を積付けていく。逆順で積付ける際に、荷台を奥行方向に複数のサブ領域（サブコンテナ）に分割する。サブ領域の形状は、車両データモジュール１４３の載置台形状４３６から幅と高さを取得した上、当該トリップで積込む配送タスクの奥行を使って生成する（３６２）。配送タスクの荷物を積付ける時に荷物を回転可能な場合、奥行だけでなく幅と高さを使ってサブコンテナを生成することもできる。
【００９１】
次に、当該配送トリップの配送拠点を逆順に繰返し、荷台の奥から積み付け（奥のほうが先で、外のほうが後の方式で、荷台の最奥から荷台の入り口のほうへ積み付けを行う）、サブコンテナへの積付けを繰り返す（３６３）。前記生成したコンテナに対し当該配送拠点で荷下ろしする配送タスクを抽出して積付けを行う（３６４）。ここでは図１３のコンテナへの積付け３５３と同様の処理を行う。積付け結果を取得し積付け可否の判定を行う（３６５）。積付け不可の場合、当該サブコンテナへのこれ以上の積付けは無理と判断し、当該サブコンテナを積付済みとして荷物の荷姿確定、サブコンテナの新規追加（３６６）、再度サブコンテナへの積付け（３６４）を行う。積付け可能な場合、当該サブコンテナに当該配送タスクを追加し（３６７）、次のループにおいて配送拠点で当該サブコンテナへの積付けをさらに行う。全ての配送拠点でサブコンテナへの積付けが終了した後に、図１３における積付け可否判定処理３５４を行う。この場合、積付け済みサブコンテナの奥行長さの合計値が当該トラックの載置台の奥行を超えた場合、積付け不可と判定し、その逆の場合、積み付け可と判定する。
【００９２】
前述の通り、各トリップにおける積載率は、配送業務における重要なＫＰＩの一つである。このため、トリップの積載率が所定値を満たすように配送計画を生成する要求がある。このために、図１３のメイン演算ループにおいて積付け処理３５４完了後、配送計画コスト計算３１０の前に積載率が所定値を満たすか判定する処理を入れることができる（図１５）。前記所定値は、図１１の計算条件設定処理モジュール１４６で設定してもよい。まず、当該車両の配送計画候補から全てのトリップを抽出し（３７１）、各トリップでデポでの積込みの際に所定の積載率を超えるか繰返し判定する（３７２，３７３）。所定のトラック積載率を超えない場合、図１３のメインの演算処理における配送計画候補生成３０２で再度新規の配送計画候補を生成する（３７４）。
【００９３】
第１の積付け処理でパレット積込み制約に基づき同一配送タスク群の配送タスクをパレットに積付けるが、同一配送タスク群の配送タスクが少ないことで、当該配送タスク群に対応するパレット上の荷物が少ないことが存在する可能性がある。この場合、パレット容積の無駄が多く車両積載率も下がるため、本事例ではパレット積込み制約を緩和してパレット上に別の配送タスク群の配送タスクを混載させることで積載率を向上することができる。具体的に、図１３の積付け計算３６０で荷台（コンテナ）への積付け３５３を行う前に、図１６に示すパレットへの積付け処理を再度実行することで実現する。まず、第１の積付け処理でパレットに積付け一つに統合された配送タスクを対象に、図１１の計算条件１４６で示すパレット積載率条件（例：２０％）を下回る配送タスクを抽出する（３８１）。次に、抽出されたパレットから、図１１のパレット混載条件に基づき混載可能なパレット群でグループ分けをする（３８２）。これを元に混載なパレット群で繰返し第１の積付け処理を行う（３８３）。当該パレット群から一旦すべての配送タスクを取り出し、これまでと同様にコンテナを登録する（３８５）。当該配送タスク群と前記コンテナを用いて積付け計算を実施し（３８６）、図１２の処理２３９と同様に再度パレットに積付けた配送タスクをパレットに紐づけ荷姿を確定させる。これで全パレットの荷姿が決またため、のちの積付け処理３５３に進む。
【００９４】
メインの演算ループ３００の後、配送計画の出力２０２で表示処理などを行う。出力する配送計画は１つに限らず、一般的に、演算の結果、総走行距離、総配送時間、要する車両台数、未割当配送タスク数、属性不一致（要件を満たさない）の配送タスク数など、複数の観点でよい配送計画を１つまたは複数選択し各々出力するのでもよい。画面出力例を図１７Ａ〜１７Ｃに示す。図１７Ａは、配送車両（車両６１１〜６１３）毎の運行状態を時系列（時点６２１・６６１・６２２、６２３など）にガントチャート様式で表示する配送スケジュール６００であり、たとえば配送計画で経過する拠点、車両移動状態及び休み状態（６３１〜６３７、６４１〜６４８、６５１〜６５５）などである。図１７Ｂは、ある車両について地図上に表示する配送経路７１１の例であり、配送計画に含まれる配送拠点（７１１・７１３・７１４・７１５など）と配送トリップ７２１を含む。図１７Ｃは、当該配送経路の特定拠点における荷物の荷姿８００からなる。
【００９５】
ここでは、図１７で車両Ｂ２３４５の出力を例にとって説明する。配送スケジュール６００の表示上は、車両Ｂ２３４５（６１２）が縦軸のラベルとして表示され、右側には具体的な運行状態が時系列沿って表示されている。配送スケジュール６００と配送経路７００は連動して動作することが可能である。例えば、配送スケジュール６００の画面上で指定した車両のみについて配送経路７００上で表示することや、配送スケジュール６００で横軸となる時間軸で特定時刻６６１を指定すると配送経路７００上で当該車両の計画上の位置７３１を表示すること、などである。当該車両の運行状態が“移動”である場合に、車両位置７３１を地図上で特定するには、移動速度が一定である場合は、目的地と出発地間の経路を細かく分割し、出発地から当該時刻に達した地点を表示位置とすればよい。荷物の荷姿８００は、当該車両の当該位置における荷台の内容を表示する。図１７Ｃの例は３次元の例である。もっとも外側の最大の長方体８１１は、荷台を示し、点線で構成する各長方体８２１は、パレットを示し、大きいサイズの配送タスクの荷物８２１は、直接荷台に積み付け可能であり、小さいサイズの配送タスクは、パレットに積み込み可能である。もちろん、高さを考慮しないケースなどは２次元的なレイアウト（ｌａｙｏｕｔ）を採用してもよい。第１の積付け処理で、パレットに積付けた荷物の荷姿は図の例であると、パレット毎に、点線枠（もちろんほかの色のラインでもよい）でパレットを表示する（８２１）。図１７は画面出力例であるが、本発明の実施例では、同等の表示内容をＰＤＦファイルや紙などの出力媒体に出力してもよい。
【００９６】
次に、本発明の実施例における配送計画生成システムの別の実施形態を、図１８のブロック図を用いて説明する。図１８は、図４で計算機１００単体で動作するとした所を、サーバ・クライアント型構成とし、１台のサーバ１０２と複数台のクライアント計算機１０１・１１７の構成を例にとって示したものである。サーバ１０２、クライアント１０１は、図４の計算機１００と基本的には同じハードウェア構成とすることができる。すなわち、ＣＰＵ１０４、主記憶装置１０５、二次記憶装置１０６、メインバス１０３、グラフィックボード１０７、ネットワークインタフェースカード（ＮＩＣ）、画面出力インタフェース、などを有する。サーバ１０２は、イントラネットやインターネット１１１を介して遠隔地のクライアント１０２と連携して図６に示す演算処理及び出力処理を行う。図１９に当該別の実施形態における処理・データの接続関係を示す。クライアント１０１は、まずサーバ１０２に安全に接続するためＡＰＩ１１６に対してＩＤ／ＰＷなどでの認証処理を行って１：１で接続し、実行待ち状態に入る。この際、サーバ側ではクライアント１０１専用に動作するプロセス（ｐｒｏｃｅｓｓ）或いはスレッド（ｔｈｒｅａｄ）を立上げることで、複数のクライアント（例：クライアント１１７）からの実行要求を同時並行で処理することができる。入力データ読み込み２１０では、拠点データモジュール１４２、車両データモジュール１４３、パレットデータモジュール１４４、配送タスクデータモジュール１４５の関連データをクライアント１０１から読み込んでもよい。図１７の例の様に、配送タスクデータモジュール１４５のデータのみをクライアント１０１から、拠点データモジュール１４２・車両データモジュール１４３・パレットデータモジュール１４４のデータをサーバ１０２から読み込んでもよい。拠点情報や車両情報は通常変更される頻度が少ないため、マスタデータ（ｍａｓｔｅｒ  ｄａｔａ）としてサーバ側に配置してデータ入力処理モジュール１２２の負荷を削減するのが効率的である。データは、通常ＣＳＶ、表形式、データベースのテーブルなどの形式で保存される。データ入力処理モジュール１２２の結果、配送タスクデータモジュール１４５のデータがネットワーク１１１を介してサーバ１０２のＡＰＩインタフェース１１６から読み込まれる。その後、計算条件設定処理モジュール１２３を経て入力ＡＰＩデータ５００が生成される。或いは図１７の様に、データ入力処理モジュール１２２がＡＰＩインタフェース１１６を介して拠点データモジュール１４２のデータを入手し、サーバ１０２のＡＰＩインタフェース１１６から読み込む形式でもよい。すなわち、計算条件設定処理１２３の一部をデータ入力処理モジュール１２２で行うことに相当する。計算条件設定処理モジュール１２３では、荷物積付け処理モジュール１２５と連携して第１の積み付け処理を実行し、パレットの荷姿を生成する。拠点間距離データモジュール１４１は、道路情報データモジュール１５１と拠点データモジュール１４２のデータを使ってサーバ１０２上で生成される。
【００９７】
なお、道路情報データ１５１は、ＮＩＣ１０８を経由してインターネットなど外部の地図情報提供サービス１１２からオンデマンド（ｏｎ  ｄｅｍａｎｄ）で収集するのでもよい。その後、メイン演算処理３００に相当する最適解探索処理１２４を実施し、荷台への荷物積み付け処理１２５と連携して生成された１つ以上の出力ＡＰＩデータ５５０をＡＰＩ１１６を介してクライアント１０１に渡す。配車計画出力処理モジュール１２６では、図６の配送計画出力２０２に相当する処理を実行し、画面などへの結果出力を行う。クライアント１０１で出力する配送経路７００で用いる地図は、ＮＩＣ１１３を経由してインターネットなど外部の地図情報提供サービス１１２からオンデマンド（ｏｎ  ｄｅｍａｎｄ）で収集するのでもよい。
【図１】
2020173789.tif 000003
【図２】
2020173789.tif 000004
【図３】
2020173789.tif 000005
【図４】
2020173789.tif 000006
【図５】
2020173789.tif 000007
【図６】
2020173789.tif 000008
【図７】
2020173789.tif 000009
【図８】
2020173789.tif 000010
【図９】
2020173789.tif 000011
【図１０】
2020173789.tif 000012
【図１１】
2020173789.tif 000013
【図１２】
2020173789.tif 000014
【図１３】
2020173789.tif 000015
【図１４】
2020173789.tif 000016
【図１５】
2020173789.tif 000017
【図１６】
2020173789.tif 000018
【図１７Ａ】
2020173789.tif 000019
【図１７Ｂ】
2020173789.tif 000020
【図１７Ｃ】
2020173789.tif 000021
【図１８】
2020173789.tif 000022
【図１９】
2020173789.tif 000023