(57)【要約】【課題】巡回して輸送を行う場合のスケジュールを作成における精度と効率とを向上させる。【解決手段】入力装置１０１と、プリンタなどの出力装置１０２と、ディスプレイなどの表示装置１０３と、処理装置１０４と、記憶装置１０９と、を備えた輸送スケジュール作成システムである。処理装置１０４は、入力処理部１０６と、輸送スケジュール作成部１０７と、結果出力部１０８とを含む。これらの一連のプログラム１０５を実行することにより処理を行うことができる。記憶装置１０９は、拠点情報１１０と、時間帯情報１１１と、荷物情報１１２と、輸送車両情報１１３と、距離情報１１４と、道路地図１１５と、グループ情報１１６と、輸送スケジュール情報１１７とを記憶する。また、輸送ルート作成に用いられる情報、例えば遺伝子情報１１８及び車両管理情報１１９も記憶する。【選択図】  図１
2004217340.tif 000002
【特許請求の範囲】
【請求項１】
物流センターと配送先拠点との間を巡回しながら荷物を輸送する車両の輸送スケジュール作成を行う輸送計画作成システムであって、
時間帯別の輸送密度を算出し、これに基づいて時間帯別の輸送重要度を求める時間帯別輸送重要度算出手段と、
該時間帯別輸送重要度算出手段により求められた最重要時間帯における輸送スケジュールを作成する最重要時間帯輸送スケジュール作成手段と、
該最重要時間帯輸送スケジュール作成手段により作成された前記最重要時間帯における輸送スケジュールを、他の時間帯におけるスケジュール作成に反映させる路線情報引継手段と
を有する輸送計画作成システム。
【請求項２】
前記時間帯別輸送重要度算出手段は、
各時間帯におけるそれぞれの荷物の荷量と該荷物の配送先までの距離との積の総和を算出し、該総和の最も大きい時間帯を求める手段であることを特徴とする請求項１に記載の輸送計画作成システム。
【請求項３】
前記最重要時間帯輸送スケジュール作成手段は、
荷物の配送に関する複数の初期スケジュール案を作成する手段と、
該初期スケジュール案に関して車両の取り換えを行うことによりスケジュール案を改善することができるか否かを判断する手段と、
荷物の積載率の低い車両に関して積載率が高くなるようにスケジュール案を改善する手段と、
車両台数と総走行距離とを勘案してこれらが小さくなるようなスケジュール案を選択する手段と、
類似したスケジュール案のいずれかを除去する処理を行う手段と
を有する請求項１又は２に記載の輸送計画作成システム。
【請求項４】
前記路線情報引継手段は、前記最重要時間帯輸送スケジュール作成手段により作成された最重要時間帯における輸送スケジュールにより前記配送先拠点をグループ化し、前記最重要時間帯における輸送スケジュールを前記グループの他の時間帯にも適用する手段を有する請求項１から３までのいずれか１項に記載の輸送計画作成システム。
【請求項５】
前記時間帯別輸送重要度算出手段は、
前記荷物の荷量と、前記物流センターから前記配送先までの距離の積を、その時間帯に輸送する全ての荷物に対して計算し、それらの値の総和を、その時間帯の時間幅で割って得られる値（以下、「時間帯別輸送密度」と称する。）を求め、その時間帯別輸送密度の値の最も大きい時間帯を最重要時間帯として、複数の時間帯の中で前記最重要時間帯に関して最初にスケジュール作成を行うことを特徴とする輸送計画作成システム。
【請求項６】
物流センターから配送先拠点への荷物を輸送する車両の輸送スケジュール作成を行う輸送計画作成方法であって、
時間帯別の輸送密度を算出し、これに基づいて時間帯別の輸送重要度を求める時間帯別輸送重要度算出ステップと、
該時間帯別輸送重要度算出ステップにより求められた最重要時間帯における輸送スケジュールを作成する最重要時間帯輸送スケジュール作成ステップと、
該最重要時間帯輸送スケジュール作成ステップにより作成された前記最重要時間帯における輸送スケジュールを、他の時間帯におけるスケジュール作成に反映させる路線情報引継ステップと
を有する輸送計画作成方法。
【請求項７】
物流センターから配送先拠点への荷物を輸送する車両の輸送スケジュール作成を行う輸送計画作成方法であって、
前記物流センター及び前記配送先拠点の位置情報を入力する拠点情報登録ステップと、
前記物流センターから前記輸送車両が出発し再び前記物流センターに戻る運用に関する複数の運用時間帯における時間帯情報を入力する時間帯情報入力ステップ及びそれぞれの荷物の荷物量と配送先拠点とを含む荷物情報を入力する荷物情報登録ステップと、
前記輸送車両の積載量限界を含む輸送車両情報を入力する輸送便情報登録ステップと、
前記位置情報と時間帯情報と荷物情報と輸送車両情報とから成る群中から選択される情報に基づいて輸送スケジュールを作成する時間帯の優先度を算出する時間帯別輸送重要度算出ステップと、
前記時間帯別重要度算出ステップにおいて算出した重要度の最も高い時間帯におけるスケジュールを作成する最重要時間帯スケジュール作成ステップと、
前記最重要時間帯のスケジュール作成結果に基づいて、１台の輸送車両が巡回する配送先拠点のグループを表すグループ情報を作成する路線情報引継ぎ処理ステップと、
作成された前記路線情報に基づいて、残りの時間帯のスケジュールを作成するスケジュール作成ステップと
を備えた輸送計画作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、物流分野における車両による荷物等の輸送計画作成システムおよび輸送計画作成方法に関する。
【０００２】
【従来の技術】
物流システムにおける輸送計画作成技術としては、いわゆる巡回セールスマン問題やビークルルーティング問題に相当し、一定地域内に存在する顧客先の効率的な巡回計画を作成する技術が既に知られている（例えば、特許文献１参照）。
【０００３】
また、例えば、地理情報とともに、顧客先間の最短経路決定にニューラルネットを用いることにより最適なスケジュール作成を行う方法も知られている（例えば、特許文献２参照）。また、多数の配送先をクラスタリングして、各クラスター内で輸送ルートを作成する方式（特許文献３参照）、トラックの積載量制約と稼働時間制約を守った上で効率的な配車計画を作成する方式（特許文献４参照）などが知られている。
【０００４】
【特許文献１】
特開平５−１３５０７０号「配送スケジューリング装置」
【特許文献２】
特開平１０−１２４５８８号「地理情報に基づくスケジュール作成装置」
【特許文献３】
特開平８−１１５４９５号「自動配車装置」
【特許文献４】
特開平９−３０５６６９号「配送計画方法と装置」
【０００５】
【発明が解決しようとする課題】
ところで、限られた台数のトラックなどを利用して大量の荷物等を多数の配送先に輸送するための荷物の集積場である物流センターにおいては、通常１日に複数便のトラック輸送を行うことが多い。小規模な物流センターは、１日に午前と午後との２便だけを運行する場合もあるが、より大規模な物流センターは、１日２４時間で運用されトラック便の便数も多くなる。このような物流センターでのトラックなどの車両の輸送スケジュール作成は、各便毎に行うのが一般的である。各種スケジュールは、最適化アルゴリズムを利用して輸送車両の総走行距離などを最小化し輸送コストが削減できるように計画する。このようにして作成した輸送スケジュールとしては、時間帯毎に異なるスケジュールが作成される。つまり、各時間帯により異なる配送先に輸送車両が巡回して輸送を行うことも想定している。このような手法を用いてスケジューリングを行うと、実際には満足のいくスケジューリングができないという問題点があった。
本発明は、より実情に即したスケジューリングシステムを提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明の一観点によれば、物流センターと配送先拠点との間を巡回しながら荷物を輸送する車両の輸送スケジュール作成を行う輸送計画作成システムであって、時間帯別の輸送密度を算出し、これに基づいて時間帯別の輸送重要度を求める時間帯別輸送重要度算出手段と、該時間帯別輸送重要度算出手段により求められた最重要時間帯における輸送スケジュールを作成する最重要時間帯輸送スケジュール作成手段と、該最重要時間帯輸送スケジュール作成手段により作成された前記最重要時間帯における輸送スケジュールを、他の時間帯におけるスケジュール作成に反映させる路線情報引継手段とを有する輸送計画作成システムが提供される。
【０００７】
上記輸送計画作成システムを用いると、最も重要な時間帯における輸送スケジュールに基づいて、他の時間帯における輸送スケジュールを作成するため、荷物と時間との関係が適正化されたスケジュールをほぼ全時間帯について適用することができ、効率的な輸送スケジュールを作成することが可能になる。
【０００８】
前記最重要時間帯輸送スケジュール作成手段は、荷物の配送に関する複数の初期スケジュール案を作成する手段と、該初期スケジュール案に関して車両の取り換えを行うことによりスケジュール案を改善することができるか否かを判断する手段と、荷物の積載率の低い車両に関して積載率が高くなるようにスケジュール案を改善する手段と、車両台数と総走行距離とを勘案してこれらが小さくなるようなスケジュール案を選択する手段と、類似したスケジュール案のいずれかを除去する処理を行う手段とを有するのが好ましい。このような手法を用いると、スケジュール作成処理が効率化され、輸送スケジュール案を短時間で作成することが可能となる。
【０００９】
【発明の実施の形態】
実際の物流センターでは、配送先のグループはある程度固定されて運用されることが多い。この形態は、車両のドライバーの運行ルートへの習熟度が加味される点と、配送先間で物流センターを経由せずに直接輸送を行う場合に適用できる点において有効である。しかしながら、各種最適化技法を適用したスケジュールシステムでは、このような運用を行うスケジュールを作成するのが困難であるという問題があった。
【００１０】
本発明に係る輸送計画作成技術は、複数時間帯での輸送を行う物流センターの車両の運行スケジュールを以下の手順により自動的に作成する。まず、輸送を行う複数時間帯の中で最も輸送密度が高い時間帯を見つける。次いで、その時間帯における車両の運行スケジュールを作成し、そのスケジュールにより同一車両で巡回する配送先を１つのグループとして登録する。他の時間帯でのスケジュール作成は、上記配送先グループに基づいて行う。このようにしてスケジュール作成を行うと、各時間帯において同一車両で輸送を行う配送先グループが同一又は類似しているスケジュールが作成できる。
【００１１】
以下、上記考察に基づき、本発明の一実施の形態による輸送計画作成技術について図面を参照しつつ説明する。本実施の形態による輸送計画作成技術は、輸送形態として物流センターに所属する複数台の車両（トラック等）が物流センターを出発し、複数の拠点への荷物の配送するスケジュールの作成を前提としている。本実施の形態による輸送計画作成技術は、物流センターからの配送のみではなく、集荷先から物流センターへの荷物の集荷、一台の車両により集荷と配送とを行うような輸送形態にも適用できる。
【００１２】
図１は、本実施の形態による輸送計画作成システムの構成例を示すブロック図である。図１に示すように、本実施の形態による輸送計画作成システムは、入力装置１０１と、プリンタなどの出力装置１０２と、ディスプレイなどの表示装置１０３と、処理装置１０４と、記憶装置１０９と、を備えている。処理装置１０４は、入力処理部１０６と、輸送スケジュール作成部１０７と、結果出力部１０８とを含む。これらの一連のプログラム１０５を実行することにより処理を行うことができる。
【００１３】
また、記憶装置１０９は、拠点情報１１０と、時間帯情報１１１と、荷物情報１１２と、輸送車両情報１１３と、距離情報１１４と、道路地図１１５と、グループ情報１１６と、輸送スケジュール情報１１７とを記憶する。また、輸送ルート作成に用いられる情報、例えば遺伝子情報１１８及び車両管理情報１１９も記憶する。
【００１４】
図２（ａ）から図２（ｆ）までは、図１に示す記憶装置１０９内に記憶される情報の一例を示す図である。図１も参照して説明を続ける。図２（ａ）に示すように、拠点情報１１０は、物流センター及び荷物の配送先拠点の位置情報を含む。より具体的には、物流センターや配送先拠点を一意に識別する拠点ＩＤ２０１と、拠点名２０２と、拠点の住所２０３と、拠点の位置を示す緯度２０４及び経度２０５等が格納されている。
【００１５】
図２（ｂ）に示すように、時間帯情報１１１には、物流センターが運用される複数時間帯の情報が格納される。具体的には、時間帯を一意に識別する時間帯ＩＤ２０６と、その時間帯の開始時間を表す輸送開始時刻２０７と、終了時間を表す輸送終了時刻２０８と、が格納される。この時間帯情報１１１としては、その物流センターで１日（又は、スケジュールの管理単位期間、例えば半日、１週間など）内に運用される時間帯数分の情報が格納される。図２（ｃ）に示すように、荷物情報１１２には、輸送の対象となる各荷物に関する情報を格納する。より具体的には、個々の荷物について、荷物を一意に識別する荷物ＩＤ２０９と、その荷物の輸送を行う時間帯を表す取り扱い時間帯ＩＤ２１０と、荷物の配送先を示す配送先ＩＤ２１１と、配送先名称２１２と、配送先の住所２１３と、荷量２１４とを含んで構成される。
【００１６】
図２（ｄ）に示すように、輸送車両情報１１３は、利用可能な車種別の保有台数の情報が格納される。具体的には、車両種別を一意に識別する車両種別ＩＤ２１５と、車両種別名２１６と、保有車両数２１７及びその車両の積載量上限２１８が格納される。図２（ｅ）に示すように、距離情報１１４には、輸送スケジュール作成で必要になる情報であって、拠点間のトラックなどの輸送車両での走行距離・時間に関する情報を格納する。具体的には、出発拠点のＩＤ１（２１９）と到着拠点のＩＤ２（２２０）と、その拠点間の距離２２１と拠点間の走行所要時間２２２とを含む。図２（ｆ）に示すように、グループ情報１１６は、車両が巡回する配送先のグループの情報を格納する。具体的には、グループを一意に表すグループＩＤ２２３と、そのグループに属する配送先拠点数２２４と、そのグループに属する配送先拠点の拠点ＩＤ２２５、２２６…とを含む情報が格納される。
【００１７】
図３は、図１の輸送スケジュール作成部１０７において作成される輸送スケジュール情報１１７の構成例を示す図である。図３に示すように、輸送スケジュール情報には、本実施の形態による手法で作成された輸送スケジュールにより車両が巡回する拠点と、その車両の巡回の順序を示す情報が含まれる。具体的には、車両Ｎｏ３０１と、車両の巡回拠点数３０２と、集荷送先拠点の拠点ＩＤ１（３０３）と、その拠点への到着時間１（３０４）と、その拠点との輸送を行う荷物のインデックス１（３０５）とを、それぞれの拠点に関して格納する。別の拠点ＩＤ２（３０６）も含まれる。加えて、合計荷物量３０９及び総走行距離３１０を格納する。
【００１８】
図４は、遺伝子情報１１８の構造を示す図であり、図４（ａ）に示すように、輸送スケジュール作成部１０７において用いる遺伝的アルゴリズムによる輸送スケジュール作成ステップにおいて利用される遺伝子表現の一例が示される。遺伝子情報としては、トラックなどの輸送車両で配送する荷物の荷物インデックス１〜Ｎ（４０１から４０３）がそれぞれ格納される。ここで、荷物インデックスとは、荷物情報を格納するテーブルにおける当該荷物情報の登録位置を表す情報である。
【００１９】
図４（ｂ）に示すように、車両管理情報１１９には、輸送スケジュール作成部１０７において用いる遺伝子情報１１８の車両への対応関係を示す情報を格納する。遺伝子情報１１８は、単に荷物インデックスを一次元に並べた配列であり、どの荷物がどの車両に積載されているかは記録されていない。この車両管理情報１１９は、各車両に積載される荷物が遺伝子情報のどの部分に対応しているかを示すために、以下の情報を車両毎に格納する。すなわち、車両を一意に識別する車両Ｎｏ４０４と、その車両に積載する荷物の遺伝子上での開始位置を示す遺伝子開始位置４０５と、終了位置を示す遺伝子終了位置４０６とを有している。
【００２０】
図５は、図１の処理装置１０４が実行するプログラム１０５の処理の流れの概要を示すフローチャート図である。まず入力処理ステップ５０１において、拠点情報１１０と、時間帯情報１１１と、荷物情報１１２等との輸送計画を作成するために必要な情報をユーザが入力する。この処理の詳細については図６を参照して後述する。
【００２１】
次の輸送スケジュール作成処理ステップ５０２では、入力処理ステップ５０１によって得られた情報から、最適と考えられる輸送計画を決定する。尚、輸送計画の決定とは、入力された全ての荷物を配送先に届けることが可能なトラックに搭載される荷物のトラックへの割り当てと、それらトラックが巡回するルート（輸送スケジュール情報）とを決定することを指す。この処理の詳細は図１１を参照して後述する。次に、結果出力処理５０３では、作成したスケジュールを、その評価値などとともに出力する。この処理の詳細については図２２を参照して後述する。
【００２２】
図６は、図５中の入力処理ステップ５０１の詳細な処理を示すフローチャート図である。まず、拠点情報登録ステップ６０１において、拠点情報１１０（図１）の登録を行う。次に、時間帯情報登録ステップ６０２において、時間帯情報１１１の登録を行う。次に、荷物情報登録ステップ６０３においては、荷物情報１１２の登録を行う。次に輸送車両情報登録ステップ６０４において、輸送車両情報１１３の登録を行う。次に距離テーブル生成処理６０５において拠点間の距離とトラックによる走行所要時間を、道路地図１１５を参照して生成する。尚、道路地図１１５は、例えばカーナビゲーションにおいて利用される道路及び道路間の接続関係や距離情報が格納されているものが予め用意されているものとする。
【００２３】
図７は、図５中の輸送スケジュール作成処理５０２の詳細を示すフローチャート図である。図７に示すように、まず、ステップ７０１において各時間帯別の輸送密度を算出する。すなわち、各時間帯において、荷物の荷量とその荷物の配送先までの距離との積を全荷物について加算する。この処理の詳細については、図８を参照して後述する。次に、ステップ７０１において算出した輸送密度が最も高い時間帯のスケジュールを作成する（ステップ７０２）。次に、ステップ７０２において作成した時間帯のスケジュール結果から、各輸送車両が巡回する配送先拠点のグループ、即ち路線情報の引き継ぎ処理を行う（ステップ７０３）。この処理の詳細については、図９を参照して後述する。
【００２４】
次に、全ての時間帯のスケジュール作成が終了したか否かを判定する（ステップ７０４）。ステップ７０４において、全ての時間帯のスケジュール作成を終えていれば、輸送スケジュール作成処理を終了する。時間帯のスケジュール作成を終えていない時間帯があれば、スケジュールを作成していない時間帯の中で最も早い時間帯を選択して輸送スケジュールを作成する（７０５）。この処理の詳細については図１０を参照して後述する。
【００２５】
図８は、図７のステップ７０１の時間帯別輸送密度算出処理の詳細を示すフローチャート図である。図８に示すように、まず、変数Ｉに１を設定する（ステップ８０１）。次に、全ての時間帯の処理を終えたか否かを判定する（ステップ８０２）。時間帯の処理が残っていれば、以下の処理を行う。まず、変数Ｓ［Ｉ］に０を設定し、まだ未処理の時間帯の中で最も開始時刻の早い時間帯のＩＤを変数ＩＤ［Ｉ］に設定する（ステップ８０３）。次に、変数Ｔに、その時間帯の輸送終了時刻と輸送開始時刻との差を設定する（ステップ８０４）。ステップ８０５において全ての荷物の処理を終えたか否かを判断し、処理が終わっていなければ、その時間帯の全ての荷物に対して、荷物の荷量と、物流センターからの距離と、の積を求め（ステップ８０６）、再びステップ８０５に戻る。全ての処理を終えると、変数Ｓ［Ｉ］をＴで割りＳ［Ｉ］に代入する（ステップ８０７）。次に、変数Ｉに１を加え（ステップ８０８）、次の時間帯の処理に移る。全ての時間帯の処理を終えると、Ｓ［Ｉ］が最大のＩを求め、変数Ｌに代入する（ステップ８０９）。次に、変数ＭにＩＤ［Ｌ］を代入する（ステップ８１０）。このＭに代入された時間帯ＩＤを有する時間を時間帯別輸送重要度が最も高いと時間帯と判定する。
【００２６】
図９は、図７中の路線情報引継処理の詳細な流れを示すフローチャート図である。図９に示すように、変数Ｉに１を代入する（ステップ９０１）。次に、その時間帯の全輸送車両のスケジュールに対して以下の処理を行う。まず、変数ＮにＩ番目の車輌の積載荷物数を代入する（ステップ９０３）。次に、変数Ｊに１を代入する（ステップ９０４）。ＪがＮ以下の場合には、変数Ｇ［Ｊ］にＩ番目のトラックのＪ番目の荷物の配送先拠点のグループＩＤを代入する（ステップ９０６）。このグループＩＤは、輸送スケジュール情報に登録されている拠点ＩＤが登録されているグループ情報を検索してグループＩＤを設定する。もし、グループ情報に拠点ＩＤが登録されていなければ“０”を設定する。次に、変数Ｊに１を加え（ステップ９０７）、次の荷物に関する処理を行う。全ての荷物に関する処理が終了すると（ステップ９０５においてＹｅｓの場合）、配列Ｇに格納されている最大値Ｍａｘ［Ｇ］と最小値ＭＩＮ［Ｇ］とを比較する（ステップ９０８）。
【００２７】
最大値と最小値とが等しい場合であって、Ｍａｘ［Ｇ］が０と等しい場合には（ステップ９１４においてＹＥＳの場合）、ステップ９１５においてグループＩＤを新たに取得し路線情報を作成しＩ番目の車輌の配送先拠点を追加する。但し、ここで新たに取得するグループＩＤは１以上の整数とする。Ｍａｘ［Ｇ］が０と等しくない場合には、ステップ９１４においてＭａｘ［Ｇ］のグループＩＤのグループ情報にＩ番目の車両の配送先拠点を追加する（ステップ９１６）。
【００２８】
ステップ９０８において、配列Ｇの最大値と最小値とが異なる場合には、以下の処理を行う。まず、新たなグループＩＤを１つ取得し新しいグループ情報を作成する（ステップ９０９）。次に、配列Ｇに登録されているグループＩＤが０以外のグループ情報に登録されている配送先拠点を、新たなグループ情報にコピーする（ステップ９１０）。次に、ステップ９１０において、既に新たなグループ情報にコピーを行った元のグループ情報を削除する（ステップ９１１）。次に、配列ＧのグループＩＤが０の配送先拠点を、ステップ９０９において作成したグループ情報に追加する（ステップ９１２）。次に、変数Ｉに１を加え（ステップ９１３）、次の車両の処理（ステップ９０２）に移る。
【００２９】
図１０は、図７のフローチャート図中の最大輸送密度時間帯スケジュール作成処理７０２と各時間帯のスケジュール作成処理７０５との輸送スケジュール作成処理の概要を示すフローチャート図である。このスケジュール作成処理は、例えば、ＧＡ（遺伝的アルゴリズム）に基づいて行われる。図１０に示すように、まず、ランダム性を含んだ方法により、それぞれが異なる初期解集団を生成する（ステップ１００１）。この処理の詳細は図１８に基づいて後述する。次に、変数Ｉに１を代入する（ステップ１００２）。次に遺伝的処理による解集団の改良を行う（ステップ１００３）。この処理の詳細については、図１９を参照して後述する。ステップ１００３の処理により、解集団のうち少なくとも一部分は変化し、ステップ１００３から１００５の処理の繰り返すことにより、解集団は徐々に最適な解に近づく。ステップ１００２の処理の後、解集団の評価を行う（ステップ１００４）。解集団の評価は、ルート情報から算出される車両の走行距離や利用車両台数など様々な要素に対し行われ、その結果によって解集団中の個々の解に対して順位がつけられる。この評価結果が上位の解を次世代の解として選択する（ステップ１００５）。次に、変数Ｉに１を加える（ステップ１００６）。Ｉが予め設定されているＧＡの処理世代数Ｇ＿ＭＡＸを越えるか、次世代集団中の最良解の評価値が予め与えられている目標値よりも良いかを、ステップ１００７において判断する。もしＩ＞Ｇ＿ＭＡＸ又は評価値が目標値を充足する条件が成立すれば、現在の解集団で最良の解を出力して（ステップ１００８）、この処理を終える。ステップ１００７において上記の条件が成立しなければ、ステップ１００３に戻り、遺伝的処理による解集団の改良を繰り返す。
【００３０】
図１１は、図１０に示す遺伝的アルゴリズムを用いた輸送スケジュール作成処理の初期解集団の作成（ステップ１００１）、解集団の改良処理（ステップ１００３）で用いる荷物の輸送スケジュールへの荷物の追加処理の詳細を示すフローチャート図である。この処理は、複数台の輸送車両からなる輸送スケジュールに、一つの荷物の集配送を追加する処理である。
【００３１】
まず、変数Ｄｅｌｔａ＿ＭＩＮにＭａｘ＿Ｖａｌｕｅを、Ｔ＿Ｎｏに−１を、Ｐｏｓに−１を設定する（ステップ１１０１）。ここでＭａｘ＿Ｖａｌｕｅは使用する計算機で表現できる最大の数値を表している。次にＩに１を代入する（ステップ１１０２）。次に、Ｉと変数Ｍａｘ＿Ｔｒｕｃｋの値を比較する（ステップ１１０３）。ここで、Ｍａｘ＿Ｔｒｕｃｋは既にスケジュールに組み込んだ車両台数を表す変数である。Ｉが小さければ、以下の処理を行う。まず、Ｉ番目の車輌に荷物Ｌを追加可能か否かをチェックする（ステップ１１０４）。この処理の詳細については図１２を参照して説明する。この処理では、指定した車両に荷物積載が可能な場合には、その車両のルートの中で各種制約を満足した上で、その車両の走行距離（走行時間）の増分が最小になる輸送ルート上での順番を変数Ｐに返す。また、変数Ｄｅｌｔａには、走行時間の増分が設定される。次に、変数Ｄｅｌｔａの値がＤｅｌｔａ＿Ｍｉｎより小さいか否かをチェックする（ステップ１１０５）。Ｄｅｌｔａの方が小さければ、Ｄｅｌｔａ＿ＭｉｎにＤｅｌｔａ（１１０６）を代入し、次いで、Ｔ＿ＮｏにＩの値を代入し（ステップ１１０７）、ＰｏｓにＰ（ステップ１１０８）を代入する。この変数Ｄｅｌｔａ及びＰは、図１２で後述するステップ１１０４の処理で値がそれぞれ設定される。次に、変数Ｉに１を加え（ステップ１１０９）、次の車両のチェック処理に移る。ステップ１１０３においてＹｅｓの場合には、全ての車両のチェックが終わっていることを意味するため、次の処理を行う。まず、Ｄｅｌｔａ＿ＭＩＮがＭａｘ＿Ｖａｌｕｅと等しいか否かを判断し（ステップ１１１０）、等しい場合には、荷物を追加可能な車両がなかったと判断され、新しい車両を追加し（ステップ１１１２）、変数Ｍａｘ＿Ｔｒｕｃｋに１を加え（ステップ１１１３）、追加した車両に荷物Ｌを追加する（ステップ１１１４）。より具体的には、遺伝子情報の最後部に荷物Ｌのインデックスを追加するとともに、その追加車両の車両管理情報を追加する。また、その荷物の配送先拠点がグループ情報に登録されていなければ、新たにグループＩＤを取得し、新たなグループ情報を作成し、そのグループ情報に、その配送先拠点を登録する。ステップ１１１０においてＤｅｌｔａ＿ＭＩＮがＭａｘ＿Ｖａｌｕｅと等しくない場合には、ステップ１１１１に進み、荷物ＬをＴ＿Ｎｏ車両のＰｏｓ番目に追加する。
【００３２】
図１２は、図１１のステップ１１１４における荷物追加チェックの詳細を示すフローチャート図である。この処理においては、予めスケジュールへの追加対象の荷物のインデックスが変数Ｌに、また追加可能か否かをチェックする車両の車両Ｎｏが変数Ｔ＿Ｎｏに設定されているとする。この処理が終わると、荷物Ｌの輸送が車両Ｔ＿Ｎｏで可能であった場合には、変数Ｐに追加位置が設定され、Ｄｅｌｔａにその荷物の追加による車両の走行時間の増分値が設定される。追加できなかった場合には、Ｐには−１が設定され、ＤｅｌｔａにはＭａｘ＿Ｖａｌｕｅが設定される。
【００３３】
まず、ステップ１２０１において、変数Ｚに追加対象荷物Ｌの集配送先拠点ＩＤを代入する。次に変数Ｖに荷物Ｌの荷量を設定する（ステップ１２０２）。次に、変数Ｐに−１を、ＤｅｌｔａにＭａｘ＿Ｖａｌｕｅを設定する（ステップ１２０３）。次に、変数Ｉに車両管理情報１１７（図１）を参照して、Ｔ＿Ｎｏ番目の車両の遺伝子開始位置を設定する（ステップ１２０４）。次に、変数Ｉの値と、その車両の遺伝子終了位置＋１の値とを比較する（ステップ１２０５）。Ｉの方が大きい場合には、処理を終了させる。
【００３４】
Ｉが上記の値を超えていない場合には、次の処理を行う。まず、ＩとＴ＿Ｎｏ番目の車両の遺伝子開始位置とを比較する（ステップ１２０６）。両者が等しい場合には、変数Ｘには車両が出発する物流センターを表す拠点ＩＤを代入する（ステップ１２０８）。両者が等しくない場合には、その車両の遺伝子情報中の（Ｉ−１）番目の荷物の集配送先の拠点ＩＤを代入する（ステップ１２０７）。次に、ステップ１２０７、１２０８のいずれに進んだ場合も、ＩとＴ＿Ｎｏ番目の車両の遺伝子終了位置＋１の値とを比較する（ステップ１２０９）。もし両者が等しければ、変数Ｙには物流センターの拠点ＩＤを代入する（ステップ１２１１）。両者が等しくない場合には、ＹにＴ＿Ｎｏ番目の車両のＩ番目の荷物の集配送先拠点のＩＤを代入する（ステップ１２１０）。
【００３５】
ステップ１２１０、１２１１のいずれの処理後にも、拠点ＺがＴ＿Ｎｏ番目の車両に既に積載されている荷物の配送先拠点の属するグループと同一か否かをチェックする（ステップ１２１２）。つまり、拠点Ｚが、既にグループ情報に登録されていれば、拠点ＺのグループＩＤがＴ＿Ｎｏ番目の車両に既に積載されている荷物の配送先拠点のグループＩＤと等しいか否かをチェックする。両者が異なっていれば、追加は不可能とする。両者が等しい場合或いは拠点Ｚが、どのグループ情報にも登録されていない場合には、追加可能とする。次に荷量のチェックに移る（ステップ１２１３）。Ｔ＿Ｎｏ番目のトラックに、荷量Ｖの追加が可能か否か（荷量超過が生じないか否か）をチェックする。
【００３６】
次にＴにＸとＺとの間の所要時間とＺとＹとの間の所要時間との和からＸ−Ｙ間の所要時間を差し引いた値を代入する（ステップ１２１４）。フローチャート図では、Ｔｉｍｅ（Ｘ，Ｙ）で拠点ＸからＹへの車両の走行所用時間を表している。次に、ＴとＤｅｌｔａとを比較し（ステップ１２１５）、ＴがＤｅｌｔａよりも小さければ、ＤｅｌｔａにＴを代入し、ＰにＩの値を代入する（ステップ１２１６）。ＴがＤｅｌｔａ以上の場合には、Ｄｅｌｔａ及びＰの値は変更しない。次に変数Ｉに１を加えてステップ１２０５に戻り、次の追加位置のチェックに移る。
【００３７】
ここで、遺伝的処理の概要について簡単に説明する。まず、図１３から図１７までを参照して、ＧＡを用いたスケジュール作成の概要について説明する。次いで、図１８以下において、より詳細な処理について説明する。
【００３８】
図１７は、物流センター３１と、各拠点４１、４３、４５、５１、５３、５５、５７、６１、６３、６５、６７（以下、拠点４１〜６７と総称する。）との関係を示す図である。物流センター３１を中心として、拠点４１〜６７をトラック１からトラック３までの３台のトラックにより配送することを前提としてスケジューリングを行う。
【００３９】
図１３は、ＧＡ（遺伝的アルゴリズム）を用いたスケジュール作成処理の概要を示すフローチャート図である。図１３に示す手法は、荷物のトラックへの割当てとトラックのルートとを、ＧＡを用いて同時に最適化する手法である。複数のスケジュールを作成し、そのスケジュールを組み合わせ（交差処理）、部分的な改良を行い（突然変異）、より良いスケジュールを作成する。図１３に示すように、まず、ステップＳ１において、初期スケジュール案集団を作成する。物流センター３１（図１７）から遠方の配送先を優先したルート作成や、スウィープ法などのヒューリスティックスを用いて、複数のスケジュール案を作成する。次に、ステップＳ２において、交差処理として、例えば２つのスケジュール案で車両の取り換えを行い、スケジュールの改善を行う。ステップＳ３において、突然変異として、例えば積載率の低いトラックを削除し、他のトラックへの載せ合い等を行うことにより、スケジュールの改善を行う。ステップＳ４において選択として、トラック台数の少ないスケジュール案、さらに、総走行距離の少ないスケジュール案を選択する。ステップＳ５において、次世代集団の作成処理として、類似したスケジュール案を取り除き、最適化の効率を上げる。以上の処理を繰り返すことにより、より良いスケジュール案を作成することができる。
【００４０】
図１４に、スケジュールの表現について説明する。複数のトラックの巡回ルートを、図１４に示すように１つの配列により表現する。例えば、トラック１は荷物１〜７までを、トラック２は、荷物８〜１３までを載せることになる。
【００４１】
図１５は、初期スケジュール案の作成の様子を示す図である。遠方の配送先を優先したり、方面別にトラックを割り当てたりするなど、多種類のヒューリスティックスを組み合わせてＧＡの初期スケジュールを作成する。一例として、方面部別のトラックの割当ては、以下のように行われる。図１５に示すように、スウィープ法は、デポ１５（物流センター）を原点とした極座標で、全での配送先の位置を距離、角度で表現し、デポ１５を中心とした直線１７−１を回転させながら、それぞれの拠点１５の荷物量とトラックの１日の走行距離制限を満足するように配送グループを作成する。
【００４２】
次に、図１６を参照して交差処理について説明する。例えば交差処理の一例は、初期集団の中から、一定の確率で異なるスケジュール案を選択して２つのスケジュール案の間でトラックの取り換えを行う。
【００４３】
突然変異では、例えば積載率の低いトラックを削除し、他のトラックへの荷物の詰め替え、新たなトラックの割当て等を行う。選択処理では、複数のスケジュール案を以下の基準で評価して優秀なものだけを選択する。評価は、例えばトラックの固定費と、運行時間に比例する変動費、また積載率や走行距離などの各種ペナルティを用いて行う。以上の処理により、例えば次に示すようなスケジュールの選択が実現できる。１）トラック台数は少ないほど良い。２）総走行距離が少ないほど良い。３）トラックの積載量が超過が無いこと。４）トラックの走行距離超過が無いこと。
【００４４】
以下、図１８から図２２までを参照して、上記の処理に関するより詳細な説明を行う。図１８は、図１０中の初期解集団生成処理（ステップ１００１）の詳細を示すフローチャート図である。尚、１つの解には複数の車両の巡回スケジュールが登録されている。また、解集団は複数の解を含んでいる。変数ＳＩＺＥには、予め初期集団に登録する遺伝子の個体数を設定しておく。
【００４５】
まず、変数Ｉに０を代入する（ステップ１３０１）。次にＩがＳＩＺＥよりも小さい間、ステップ１３０３から１３０６までの処理を繰り返してＳＩＺＥで指定された個数の遺伝子を生成する。各要素に値が設定されていない空の遺伝子を記憶するエリアを生成する（ステップ１３０３）。次に、荷物情報の荷物をランダムな順序に並べかえた配列Ｔ［］を作成する（ステップ１３０４）。次に、空の遺伝子に、配列Ｔ［］に登録した荷物を、この順序で図１１に示した追加手順により順次追加する（ステップ１３０５）。次に変数Ｉに１を加え（ステップ１３０６）、次の初期解の作成に移る。
【００４６】
図１９は、図１０中の解集団の改良（ステップ１００３）の詳細を示すフローチャート図である。遺伝的処理は、解集団の変化、改良を行うＧＡの中心的な処理である。まず、変数ＳＩＺＥに解集団に登録されている解の個数を代入する（ステップ１４０１）。次に、Ｃ＿ＮＵＭにＳＩＺＥに予め設定されている交差率を掛けて、その値を超えない最大整数を代入する（ステップ１４０２）。次に、変数Ｉに１を代入する。変数ＩがＣ＿ＮＵＭ以下の場合には、次の処理を繰り返して交差処理を行う（ステップ１４０４）。まず、解集団から異なる二つの解（遺伝子）を選択する（ステップ１４０５）。次に、選択した二つの解（遺伝子）を元に交差処理を行い、交差処理で新たに生成された解（遺伝子）を解集団に加える（ステップ１４０６）。この交差処理の詳細は、図２０を参照して詳細を後述する。次に、Ｉに１を加え（ステップ１４０７）、ステップ１４０４に戻り、次の交差処理に移る。
【００４７】
ステップ１４０４において、ＩがＣ＿ＮＵＭを超過していれば、次に突然変異処理に移る。つまり、変数Ｍ＿ＮＵＭにＳＩＺＥに予め設定されている突然変異率を掛け、その値を超えない最大整数を代入する（ステップ１４０８）。次に、変数Ｉに１を代入する（ステップ１４０９）。次に、ＩがＭ＿ＮＵＭの値以下の間、次の処理を繰り返す（ステップ１４１０）。まず、解集団からランダムに１つの解（遺伝子）を選択する（ステップ１４１１）。次に、選択した解に突然変異処理を行い、その解（遺伝子）を解集団に加える（ステップ１４１２）。この処理の詳細は図２１を参照して後述する。次に変数Ｉに１を加え（ステップ１４１３）、ステップ１４１０に戻り処理を継続する。
【００４８】
図２０は、交差処理（ステップ１４０６）の詳細を示すフローチャート図である。まず、変数Ｎに各解（遺伝子）に登録されている荷物数を代入する（ステップ１５０１）。次に、交差対象の二つの解（遺伝子）を配列Ｇ１［］，Ｇ２［］にコピーする（ステップ１５０２）。次に、交差点を決定するために、２以上Ｎ−１以下の整数をランダムに生成して変数Ｐに代入する（ステップ１５０３）。次に、Ｇ１のＰ番目以降の荷物データインデックスを削除する（ステップ１５０４）。つまり、削除対象の要素に−１を代入する。次に変数Ｉに１を代入する（ステップ１５０５）。次に、ＩがＮ以下の間（ステップ１５０６）、以下の処理を行う。Ｇ２［Ｉ］が配列Ｇ１［］中に含まれていないかどうかをチェックする（ステップ１５０７）。もし、含まれていない場合には、その荷物情報を図７に示した処理手順によりＧ１［］の輸送スケジュール中に追加する（ステップ１５０８）。次に、変数Ｉに１を加え（ステップ１５０９）、次の処理に移る。ステップ１５０７において条件が成立しない場合には、ステップ１５０９に移り次の処理を行う。ステップ１５０６においてＩがＮを越えれば処理を終了する。
【００４９】
図２１は、図１９中の突然変異処理（ステップ１４１２）の詳細を示すフローチャート図である。変数Ｎには解に登録されている荷物数が設定されているとする。まず、突然変異処理対象の解（遺伝子）を配列Ｇ［］にコピーする（ステップ１６０１）。次に、物流センターから最も遠い集配送先拠点と、物流センターからの距離を変数Ｌに代入する（ステップ１６０２）。変数Ｒに０と０．３との間の範囲の実数をランダムに生成して代入する（ステップ１６０３）。次に、変数Ｌ１に変数Ｌの値とＲの値の積を代入する（ステップ１６０４）。次に、遺伝子上での突然変異箇所を定めるために、変数Ｐに１以上Ｎ以下の整数をランダムに選択して代入する（ステップ１６０５）。次に、変数Ｉに１、Ｊに１を代入する（ステップ１６０６）。変数ＫにはＧ［Ｐ］の値、つまり荷物情報のインデックス値を代入する（ステップ１６０７）。ＩがＮ以下の間（ステップ１６０８）、次の処理を繰り返す。インデックスがＫの荷物の集配送先拠点とＧ［Ｉ］の荷物の集配送先拠点の距離がＬ１以下かどうかをチェックする（ステップ１６０９）。条件が成立する場合には、Ｔ［Ｊ］にＧ［Ｉ］の値を代入し、Ｇ［Ｉ］には−１を代入する（ステップ１６１０）。次に、変数Ｊに１を加え（ステップ１６１１）、Ｉにも１を加え（ステップ１６１２）、ステップ１６０８に戻り処理を続ける。
【００５０】
ステップ１６０８においてＩの値がＮの値を超えた場合には、配列Ｇの中で値が−１の要素を削除して、前方に詰め合わせる（ステップ１６１３）。次に、配列Ｔに格納されているＪ個の荷物の集配送先拠点を先頭から順次図１１に示した処理手順により配列Ｇの輸送スケジュールの中に追加する（ステップ１６１４）。
【００５１】
図２２は図５中の結果出力処理（ステップ５０３）の詳細を示すフローチャート図である。まず各輸送便の通過拠点を地図上に表示する（ステップ１７０１）。次に、輸送スケジュール作成処理によって得られたスケジュールとその所用車両台数や走行距離などの値とともに表やグラフを作成し、表示する（ステップ１７０２）。次に印刷指示があればグラフや表を印刷する（ステップ１７０３）。
これにより、図１７に示すような、トラック毎に分担する拠点をグループ分けしたスケジュール案を作成することができる。
【００５２】
以上説明したように、本実施の形態によるスケジュール作成システムによれば、物流センターから配送先拠点への荷物と、集配先拠点から物流センターへの荷物を、各集配送先拠点での車両の到着時刻に制約と車両の積載量制約を充足させつつ、効率的な輸送を行う輸送スケジュール作成を行うことができる。
以上、実施の形態に沿って説明したが、本発明はこれらに制限されるものではない。その他、種々の変更、改良、組合せが可能なことは当業者に自明であろう。
【００５３】
【発明の効果】
以上説明したように、本発明によれば、物流センターから配送先拠点への荷物と、集配先拠点から物流センターへの荷物を、各集配送先拠点での車両の到着時刻に制約と車両の積載量制約を充足しつつ効率的に輸送を行う輸送スケジュール作成することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態による輸送計画作成システムの構成例を示すブロック図である。
【図２】図２（ａ）から図２（ｆ）までは、図１の記憶装置に含まれるデータの構成例を示す図である。
【図３】図１の記憶装置に含まれる輸送スケジュールデータの構成例を示す図である。
【図４】本発明の一実施の形態による輸送計画作成システムにおける輸送スケジュール作成ステップにおいて用いられる遺伝的アルゴリズムにおける遺伝子情報の構成例を示す図である。
【図５】本発明の一実施の形態による輸送計画作成システムにおける全体的な処理の流れを示すフローチャート図である。
【図６】本発明の一実施の形態による輸送計画作成システムにおける入力処理の概要を示すフローチャート図である。
【図７】本発明の一実施の形態による輸送計画作成システムにおける輸送スケジュール作成処理の流れを示すフローチャート図である。
【図８】本発明の一実施の形態による輸送計画作成システムにおける時間帯別輸送重要度算出処理の流れを示すフローチャート図である。
【図９】本発明の一実施の形態による輸送計画作成システムにおけるグループ情報引継ぎ処理の流れを示すフローチャート図である。
【図１０】本発明の一実施の形態による輸送計画作成システムにおける輸送スケジュール作成処理の流れを示すフローチャート図である。
【図１１】本発明の一実施の形態による輸送計画作成システムにおける荷物追加チェック処理の流れを示すフローチャート図である。
【図１２】本発明の一実施の形態による輸送計画作成システムにおける荷物追加位置判定処理の流れを示すフローチャート図である。
【図１３】本発明の一実施の形態による輸送計画作成システムにおけるスケジューリング処理の一例を示すフローチャート図であり、ＧＡアルゴリズムを用いた処理例の流れを示す図である。
【図１４】本発明の一実施の形態による輸送計画作成システムにおけるスケジューリング処理において、複数のトラックの巡回ルートを１つの配列で示す図である。
【図１５】本発明の一実施の形態による輸送計画作成システムにおけるスケジューリング処理に一例としてスウィープ法による処理例を示す図である。
【図１６】本発明の一実施の形態による輸送計画作成システムにおけるスケジューリング処理における交差処理の概念を示す図である。
【図１７】本発明の一実施の形態による輸送計画作成システムにおけるグループ分けの概要を示す概念図である。
【図１８】本発明の一実施の形態による輸送計画作成システムにおける本発明の初期集団生成処理の流れを示すフローチャート図である。
【図１９】本発明の一実施の形態による輸送計画作成システムにおける遺伝的処理の流れの概要を示すフローチャート図である。
【図２０】本発明の一実施の形態による輸送計画作成システムにおける交差処理の流れを示すフローチャート図である。
【図２１】本発明の一実施の形態による輸送計画作成システムにおける突然変異処理の流れを示すフローチャート図である。
【図２２】本発明の一実施の形態による輸送計画作成システムにおける結果出力処理の流れを示すフローチャート図である。
【符号の説明】
１０１…入力装置、１０２…出力装置、１０３…表示装置、１０４…処理装置、１０５…プログラム、１０６…入力処理部、１０７…輸送スケジュール作成部、１０８…結果出力部、１０９…記憶装置、１１０…拠点情報、１１１…時間帯情報、１１２…荷物情報、１１３…輸送車両情報、１１４…距離情報、１１５…道路地図、１１６…グループ情報、１１７…輸送スケジュール情報、１１８…遺伝子情報、１１９…車両管理情報。
【図１】
2004217340.tif 000003
【図２】
2004217340.tif 000004
【図３】
2004217340.tif 000005
【図４】
2004217340.tif 000006
【図５】
2004217340.tif 000007
【図６】
2004217340.tif 000008
【図７】
2004217340.tif 000009
【図８】
2004217340.tif 000010
【図９】
2004217340.tif 000011
【図１０】
2004217340.tif 000012
【図１１】
2004217340.tif 000013
【図１２】
2004217340.tif 000014
【図１３】
2004217340.tif 000015
【図１４】
2004217340.tif 000016
【図１５】
2004217340.tif 000017
【図１６】
2004217340.tif 000018
【図１７】
2004217340.tif 000019
【図１８】
2004217340.tif 000020
【図１９】
2004217340.tif 000021
【図２０】
2004217340.tif 000022
【図２１】
2004217340.tif 000023
【図２２】
2004217340.tif 000024