(57)【特許請求の範囲】
【請求項１】
複数の配送エリアに対して、それぞれの配送エリアに属する配送先を複数台のトラックで配送するための配送計画を立案するシステムであって、
前記配送エリア毎の配送先のデータを記憶した顧客データベースと、
配送に用いるトラック毎の属性を記憶したトラックデータベースと、
前記顧客データベースに基づいて顧客間の移動コストに相当する距離データベースを算出する距離データベース算出手段と、
前記トラックデータベースと前記距離データベースとに基づいて、配送先間のセービング値のマトリックスを計算するセービングマトリックス算出手段と、
前記セービングマトリックスからセービング値最大の配送先の組み合わせを検索する検索手段と、
前記検索された配送先が属するルートを合併した場合に制約条件を満たすか否かの判断を行ない、合併可能と判断したときに、それぞれの配送先が属するルートを合併し、かつ、前記検索された配送先の組み合わせに相当するセービングマトリックスの要素を０にする合併判断手段と、
所定の運送機能が満たされていない空きのある状態のトラックを未満量トラックと名付けた場合に、前記ルートのうちに存在する未満量トラックを判定する未満量トラック判定手段と、
全配送エリアにおいて未満量トラックと判定された全てのトラックが担当するルートに属する配送先を仮の顧客として仮顧客データベースを作成し、該仮顧客データベースを一つの仮エリアとし、それと前記未満量トラックのトラックデータベースを用いて、前記仮エリアについての前記距離データベースの計算、セービングマトリックスの作成、検索および合併の処理を行なうことにより、各配送エリアにまたがって全ての未満量トラックを共用する未満量トラック共用手段と、
を備え、全配送エリアで発生した全ての未満量のトラックを自動的に収集して仮の配送エリアを設定し、その中で再度セービング法を実行することにより、全配送エリアを合計した未満量トラック数を最小にする配送計画を作成することを特徴とする配送計画支援装置。
【請求項２】
前記未満量トラック判定手段における未満量トラックの判定基準は、トラックの積載量が最大積載量の所定割合未満、配送先数が最大配送先数の所定割合未満、および稼働時間が最大稼働時間の所定割合未満の３条件の少なくとも１つでも満たした場合に未満量トラックと判断するもの、或いは前記３条件の内の何れか１つまたは２つについて判断し、それらの内の少なくとも１つでも満たした場合に未満量トラックと判断するものである、ことを特徴とする請求項１に記載の配送計画支援装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のエリアに対してセービング法によって配車計画を立てる場合に、各エリアの未満量トラックを判定し、それらを自動的に収集し、トラックの再割り当てを行なうことを可能にする配送計画支援装置に関する。なお、未満量トラックとは所定の運送機能が満たされていない空きのある状態のトラックを意味し、例えば積載量、配送先の数および稼働時間などが最大値（満量）よりも所定量だけ少ない（例えば満量の６０％以下）場合に相当する。
【０００２】
【従来の技術】
配送計画支援装置では、シミュレーテッドアニーリング法や遺伝子アルゴリズムやセービング法と呼ばれるアルゴリズムが用いられている。中でも、セービング法は比較的容易に精度の良い解が得られるため一般によく用いられている。しかし、セービング法は配車に必要なトラックが無制限に存在する場合の解法であるため、セービング法実行時にトラックを必要なだけ用意した場合には、未満量トラックが発生する場合がある。例えば積載量については、各トラックの最大積載量が２.０トンで、その日の合計運送量が８.１トンである場合には、４台の満載トラックと１台の０.１トンだけ運送するトラックが生じる場合が考えられる。このトラックのように空きのある状態のトラックを未満量トラックと呼ぶことにする。その他、配送先の数（例えば最大２０個所）や稼働時間（例えば最大１０時間）についても同様に未満量の状態が生じ得る。そして通常、配送計画は数百もの配送先（ノード）を一括して行なうのではなく、事前に設定された所定の配送エリア（例えば東京都の各区や配送経路が近い区域）毎に区切って、一つの配送エリア毎にセービング法を適用して行なわれるので、各エリア毎にそれぞれ未満量トラックが発生する可能性があり、最大では配送エリアの数だけの未満量トラックが発生する。そのため全体として効率の悪い配車計画となる場合がある。
【０００３】
【発明が解決しようとする課題】
上記のように、従来のセービング法を用いた方法では、配送エリア毎に未満量トラックが発生し、全体として効率の悪い配車計画になる場合がある、という問題があった。
【０００４】
本発明は上記のごとき従来技術の問題を解決するためになされたものであり、複数の配送エリアのそれぞれに対してセービング法によって配車計画を立てる場合に、全エリアを合計した未満量トラック数を減少させ、全体としてトラック配送の効率を向上させることの出来る配送計画支援装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記の目的を達成するため、本発明においては、特許請求の範囲に記載するように構成している。すなわち、本発明においては、まず、第１段階として各配送エリア毎に通常のセービング法を実行し、その内で発生した未満量トラックを判断し、第２段階として、そこで発生した未満量のトラックを自動的に収集して、仮の配送エリアを設定し、その中で再度セービング法を実行することにより、セービング法によって配車計画を立てた結果で発生する未満量トラックを、複数のエリアで共用することによって未満量トラックの発生を最小にするものである。このような構成により、人が配車を行なう場合に、複数のエリアで少しづつ残った配送先をエリアをまたいで一台のトラックで配送させ、全体としてトラック台数を減少させるという結果に近い最適な結果を得ることができる。
【０００６】
【発明の効果】
本発明においては、それぞれの配送エリアに対してセービング法によって配車計画を立てた結果で発生する未満量トラックを、複数のエリアで共用することにより、処理が複雑で実装や理解が困難なシミュレーテッドアニーリング法や遺伝子アルゴリズムなどを用いることなく、アルゴリズムがシンプルで、実装や理解がしやすいセービング法を用いて、全エリアを合計した未満量トラック数を減少させ、全体としてトラック配送の効率を向上させることが出来る、という効果が得られる。
【０００７】
【発明の実施の形態】
図１は、本発明における配送エリアと配送センター（出発地、帰着地）の関係を示す概念図である。図１において、全体のエリアを７個所の配送エリア１〜７に分けてある。丸印は配送先（ノード:顧客）８を示す。配送センター１０から出発して配送先８を結び、配送センター１０に戻る黒線はそれぞれが１台のトラックで配送する経路を示す。また、図１では配送エリア６内にのみ配送先８を示しているが、実際には他の配送エリアにも当然配送先８が存在する。また、配送センター１０内には、配送計画支援装置１１が設けられており、配送計画を立案する。なお、配送センター１０は各配送エリア毎に設けてもよいし、複数の配送エリアに共通に設けてもよいが、全体の配送計画は一つの配送センターで立案する。
【０００８】
図２は配送計画支援装置１１の構成の一例を示すブロック図である。
図２において、入力装置２１は、例えばキーボード等であり、各種の操作信号や顧客データ、トラックデータ等を入力する。出力装置２２は、例えば液晶表示装置やＣＲＴ表示装置等の表示装置やプリンタ等のハードコピー装置であり、演算結果の配送計画を出力する。入出力インターフェイス２３は入力装置２１や出力装置２２と演算装置２４との間の信号の変換やマッチングを行なう。演算装置２４は例えばＣＰＵであり、バス２６を介して入力する信号に応じた配送計画の演算を行ない、その結果を出力する。また、メモリ２５はディスクメモリ、ＲＡＭ、ＲＯＭ等であり、顧客データやトラックデータを記憶したり、各種演算途中のデータを記憶する。
【０００９】
図３および図４は、演算方法の一実施の形態を示すフローチャートである。なお、図３と図４は、▲１▼、▲２▼、▲３▼の部分で相互に接続される。
まず、図３において、ステップＳ５０１ではデータを入力し、ステップＳ５０２では、顧客データベースとトラックデータベースを作成してメモリに記憶する。顧客データベースは配送先の顧客情報であり、配送先の位置（所在地の町名、番地や緯度、経度等）、時間的制約（納品時間等）、荷量などである。また、トラックデータベースは、トラック毎に、最大積載量、出発地・帰着地の位置、稼働時間、出発可能時間などの情報である。なお、顧客データベースおよびトラックデータベースは配送エリア毎に記憶する。
【００１０】
次に、ステップＳ５０３では、上記の顧客データベースに基づいて移動コストを計算し、それを距離データベースとして記憶する。なお、距離データベースは正確には、顧客間の移動距離、移動時間、燃料費、人件費等を含む移動コストであるが、簡略化する場合には、例えば顧客間の移動距離のみで代表することも出来る。
【００１１】
次に、ステップＳ５０６では、距離データベースとトラックデータベースとに基づいて、トラック毎にセービング値を計算し、セービングマトリックスを作成する。以下、セービング値の計算について説明する。なお、ステップＳ５０６〜Ｓ５１８の演算は配送エリア毎に行なう。
【００１２】
図５は、通常のセービング法によるセービング値の計算方法を説明するための図であり、（ａ）は出発地と帰着地が同一場所の場合、（ｂ）は出発地と帰着地が異なる場合を示す。
まず、図５（ａ）に示すように、出発地と帰着地が同じ場合に、出発地ｎｏｄｅ０（ノード０）から、配送先ｎｏｄｅｉ（ノードｉ）とｎｏｄｅｊ（ノードｊ）に配送を行なう場合を考える。それぞれのｎｏｄｅ間の距離をｄ０ｉ、ｄ０ｊ、ｄｉｊとすれば、ピストン輸送（単純に出発地から各配送先に行って戻る）した場合に対して、ｎｏｄｅ０→ｎｏｄｅｉ→ｎｏｄｅｊと巡回した場合における節約距離は、下記（数１）式で示される。
0003767257.tif 000002
上記（数１）の値をセービング値と呼ぶ。
【００１３】
すべてのｎｏｄｅｉ、ｎｏｄｅｊの組み合わせについてセービング値を計算したセービングマトリックスを作成し、セービング値の大きい順にノードを合併していくと、最適に近い配車が可能となる。たとえば、Ｍａｘ（Ｓ）＝Ｓｉｊとしたとき、ｎｏｄｅｉ、ｎｏｄｅｊをひとつのトラックで運ぶようなルートに合併する。その際、合併によってトラックの条件（最大積載量など）が守れない場合は合併しないので、Ｓｉｊ＝０として合併候補から外す。
【００１４】
また、図５（ｂ）に示すように、出発地と帰着地が異なる場合のセービング値は下記（数２）式に示すように拡張できる。なお、図５（ｂ）において、ｎｏｄｅｍ（ノードｍ）は出発地ｎｏｄｅ０とは異なる帰着地である。
0003767257.tif 000003
これは、出発地と帰着地が異なる場合のセービングマトリックスとなる。
【００１５】
次に、再び図３に戻り、ステップＳ５０７では、セービングマトリックス中のセービング値の最大値を与える配送先の組み合わせを検索する。例えば、セービングマトリックス中のセービング値としてＳｍｎが最大であった場合、配送先ノードｍとノードｎが合併候補となる。
【００１６】
次に、ステップＳ５１１（なお、ステップＳ５０９については後述する）では、トラックｔに合併候補のノードｍｎを合併した場合にそれぞれの制約条件を満たすかどうかを判断する。例えば、合併によってトラックｔの最大積載量、最大配送先数、最大稼働時間を超過しないか等をチェックする。制約条件が守られる場合はステップＳ５１３で実際に合併を行なう。そうでない場合は合併を行なわない。そして合併するしないにかかわらず、ステップＳ５１２で合併候補のセービング値を全て０にリセットし、次回以降に合併候補とならないようにする。そしてステップＳ５０７へ戻り、最大セービング値検索以下の処理を繰り返す。
【００１７】
ステップＳ５０９では、Ｓｍｎ＝０か否かを判断する。すなわち、全ての合併候補を検査し、セービング値が全て０となったときには、ステップＳ５１８へ行く。
【００１８】
ステップＳ５１８では、各ルートの配送トラックに対して、未満量トラックか否かを判定する。未満量トラックの判定基準は、例えば、積載量が最大積載量の６０％未満、配送先数が最大配送先数（例えば２０個所）の６０％未満、稼働時間が最大稼働時間（例えば１０時間）の６０％未満の何れか一つでも該当する場合には、そのルートのトラックは未満量であると判定して印をつける。なお、未満量トラックの判定基準としては、上記の積載量、配送先数、稼働時間のうちの何れか一つまたは二つを用いてもよい。また、上記の６０％未満は一例であり、実情に合わせて適宜設定すればよい。
【００１９】
図３のステップＳ５１８から図４のステップＳ５２１とステップＳ５２０および図３のステップＳ５１９を経由してステップＳ５０６へ戻ることにより、上記のマトリックスの作成、検索、合併、判定の処理を全ての配送エリアに対して行なう。
【００２０】
図４のステップＳ５２０で全エリアが終了したものと判断した場合は、ステップＳ５１４で、全配送エリアにおいて未満量トラックとして印をつけられたトラックが担当するルートに属する配送先を仮の顧客として仮顧客データベースを作成する。
また、ステップＳ５１５では、上記の未満量トラックについてのトラックデータベースを作成する。
【００２１】
次に、図４のステップＳ５１５から図３のステップＳ５０３へ戻り、上記の仮顧客データベースを一つの仮の配送エリアとし、それと上記未満量トラックについてのトラックデータベースを用いてステップＳ５０３からステップＳ５１８までの、マトリックス作成、検索、合併、判定の処理を行なう。すなわち、仮顧客データベースを用いて距離データベースを計算し、それとトラックデータベースを用いてセービング値を算出してセービングマトリックスを作成し、仮顧客データベースを一つの仮エリアとしてセービング法による検索・合併を行なう。
【００２２】
そして図４のステップＳ５２１では、仮エリアが処理の対象か否かの判断を行ない、仮エリアであった場合には、全処理が終了したものと判断してステップＳ５０８で演算結果を出力する。出力する演算結果としては、各配送エリア毎のトラックの配送経路（配送すべき配送先とその経路）および仮エリアについての未満量トラックが共用された場合の配送経路（配送すべき配送先とその経路）である。
図６は上記の仮エリアを示す概念図である。図６において、曲線で囲んだ範囲が仮エリア９であり、この範囲内でセービング法を適用する。
【００２３】
上記のように、本発明においては、第１段階では各配送エリア毎に通常のセービング法を実行し、第２段階では、そこで発生した未満量のトラックを自動的に収集して、仮の配送エリアを設定し、その中で再度セービング法を実行することにより、セービング法によって配車計画を立てた結果で発生する未満量トラックを、複数のエリアで共用することによって未満量トラックの発生を最小にすることができる。これは、人が配車を行なう場合に、複数のエリアで少しづつ残った配送先をエリアをまたいで一台のトラックで配送させ、全体としてトラック台数を減少させるという結果に近い最適な結果を得ることができる。
【図面の簡単な説明】
【図１】本発明における配送エリアと配送センターの関係を示す概念図。
【図２】配送計画支援装置１１の構成の一例を示すブロック図。
【図３】演算方法の一実施の形態を示すフローチャートの一部。
【図４】演算方法の一実施の形態を示すフローチャート他の一部。
【図５】セービング法によるセービング値の計算方法を説明するための図であり、（ａ）は出発地と帰着地が同一場所の場合、（ｂ）は出発地と帰着地が異なる場合を示す図。
【図６】仮エリアを示す概念図。
【符号の説明】
１〜７…配送エリア
８…配送先（ノード）
９…仮エリア
１０…配送センター
１１…配送計画支援装置
【図１】
0003767257.tif 000004
【図２】
0003767257.tif 000005
【図３】
0003767257.tif 000006
【図４】
0003767257.tif 000007
【図５】
0003767257.tif 000008
【図６】
0003767257.tif 000009