JP2003285930A - 輸送計画作成方法およびシステム - Google Patents
輸送計画作成方法およびシステムInfo
- Publication number
- JP2003285930A JP2003285930A JP2002092989A JP2002092989A JP2003285930A JP 2003285930 A JP2003285930 A JP 2003285930A JP 2002092989 A JP2002092989 A JP 2002092989A JP 2002092989 A JP2002092989 A JP 2002092989A JP 2003285930 A JP2003285930 A JP 2003285930A
- Authority
- JP
- Japan
- Prior art keywords
- transportation
- vehicle
- collection
- schedule
- delivery destination
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 130
- 238000012384 transportation and delivery Methods 0.000 claims abstract description 126
- 238000012545 processing Methods 0.000 claims description 64
- 108090000623 proteins and genes Proteins 0.000 claims description 56
- 238000003860 storage Methods 0.000 claims description 21
- 230000002068 genetic effect Effects 0.000 claims description 20
- 230000035772 mutation Effects 0.000 claims description 17
- 238000003780 insertion Methods 0.000 claims description 14
- 230000037431 insertion Effects 0.000 claims description 14
- 238000013439 planning Methods 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 7
- 238000002360 preparation method Methods 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 claims 1
- 108700026220 vif Genes Proteins 0.000 claims 1
- 238000007726 management method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000011156 evaluation Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012966 insertion method Methods 0.000 description 2
- OWNRRUFOJXFKCU-UHFFFAOYSA-N Bromadiolone Chemical compound C=1C=C(C=2C=CC(Br)=CC=2)C=CC=1C(O)CC(C=1C(OC2=CC=CC=C2C=1O)=O)C1=CC=CC=C1 OWNRRUFOJXFKCU-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010353 genetic engineering Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013068 supply chain management Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
(57)【要約】
【課題】物流センターから配送先への荷物輸送と、集荷
先から物流センターへの荷物輸送を混載した車両の集配
送先での時間制約を守った効率的な輸送スケジュールを
作成する輸送計画作成方法およびシステムを提供するこ
とを目的とする。 【解決手段】輸送スケジュールを作成する際、物流セン
ターや集配送先拠点の位置情報を入力し、輸送すべき荷
物の荷物量、集配送先、到着時刻の時間制約を含む荷物
情報を入力し、輸送車両の積載量限界を含む輸送車両情
報を入力する。更に輸送スケジュール作成時に各車両の
巡回先拠点での、到着の遅延が猶予される最大時間と積
載可能な集荷荷物と配送荷物の最大量のテーブルを作成
し、複数車両の巡回拠点からなる輸送スケジュールへの
荷物の集配送先拠点の追加可否の判定を前記テーブルに
より行って、前記時間制約を守った条件下で前記各情報
を用いて輸送車両のスケジュールを作成する。
先から物流センターへの荷物輸送を混載した車両の集配
送先での時間制約を守った効率的な輸送スケジュールを
作成する輸送計画作成方法およびシステムを提供するこ
とを目的とする。 【解決手段】輸送スケジュールを作成する際、物流セン
ターや集配送先拠点の位置情報を入力し、輸送すべき荷
物の荷物量、集配送先、到着時刻の時間制約を含む荷物
情報を入力し、輸送車両の積載量限界を含む輸送車両情
報を入力する。更に輸送スケジュール作成時に各車両の
巡回先拠点での、到着の遅延が猶予される最大時間と積
載可能な集荷荷物と配送荷物の最大量のテーブルを作成
し、複数車両の巡回拠点からなる輸送スケジュールへの
荷物の集配送先拠点の追加可否の判定を前記テーブルに
より行って、前記時間制約を守った条件下で前記各情報
を用いて輸送車両のスケジュールを作成する。
Description
【0001】
【発明の属する技術分野】本発明は、物流分野における
スケジューリング作成を計算機で行う技術に関し、特
に、複数の輸送トラックを用いて多数の拠点に対し集荷
と配送を行う輸送計画の作成方法およびシステムに関す
る。
スケジューリング作成を計算機で行う技術に関し、特
に、複数の輸送トラックを用いて多数の拠点に対し集荷
と配送を行う輸送計画の作成方法およびシステムに関す
る。
【0002】
【従来の技術】物流システムでの輸送スケジュール作成
技術としては、いわゆる巡回セールスマン問題やビーク
ルルーティング問題に相当する一定地域内に存在する顧
客先の効率的な巡回計画を作成する技術がすでに開発さ
れている(例えば、特開平5-135070号「配送スケジュー
リング装置」)。
技術としては、いわゆる巡回セールスマン問題やビーク
ルルーティング問題に相当する一定地域内に存在する顧
客先の効率的な巡回計画を作成する技術がすでに開発さ
れている(例えば、特開平5-135070号「配送スケジュー
リング装置」)。
【0003】また、例えば、特開平10-124588号「地理
情報に基づくスケジュール作成装置」では、地理情報と
共に、顧客先間の最短経路決定にニューラルネットを用
いることで、最適なスケジュール作成を行っている。特
開平8-115495号「自動配車装置」では、多数の配送先を
クラスタリングして、各クラスター内で輸送ルートを作
成する方式を実現している。更に、特開平9-305669号
「配送計画方法と装置」では、トラックの積載量制約と
稼働時間制約を守った上で効率的な配車計画を作成する
ために、いわゆるスウィープ法(増井忠幸他著「ロジス
ティクスのOR」槇書店 1998年)に基づく技法を用いて
いる。また更に、小規模な輸送ルートを高速に作成する
方法として、2opt法やLK法などのアルゴリズムも開発さ
れてきている(茨木俊秀著、「離散最適化法とアルゴリ
ズム」、1993年岩波書店出版)。
情報に基づくスケジュール作成装置」では、地理情報と
共に、顧客先間の最短経路決定にニューラルネットを用
いることで、最適なスケジュール作成を行っている。特
開平8-115495号「自動配車装置」では、多数の配送先を
クラスタリングして、各クラスター内で輸送ルートを作
成する方式を実現している。更に、特開平9-305669号
「配送計画方法と装置」では、トラックの積載量制約と
稼働時間制約を守った上で効率的な配車計画を作成する
ために、いわゆるスウィープ法(増井忠幸他著「ロジス
ティクスのOR」槇書店 1998年)に基づく技法を用いて
いる。また更に、小規模な輸送ルートを高速に作成する
方法として、2opt法やLK法などのアルゴリズムも開発さ
れてきている(茨木俊秀著、「離散最適化法とアルゴリ
ズム」、1993年岩波書店出版)。
【0004】
【発明が解決しようとする課題】トラック輸送などを対
象とした物流スケジューリングは、荷物を指定された時
刻に正確に輸送するとともに、トラックなどの機材や運
用に関わる人員や物流センターなどの設備の利用効率を
向上させ、またコスト削減することを目的としている。
象とした物流スケジューリングは、荷物を指定された時
刻に正確に輸送するとともに、トラックなどの機材や運
用に関わる人員や物流センターなどの設備の利用効率を
向上させ、またコスト削減することを目的としている。
【0005】トラックでの輸送は、一般的に物流センタ
ーから顧客先などへの一方向の輸送が多く、従来技術で
挙げたスケジューリング作成方法は、このような物流セ
ンターから顧客先などへの配送か、顧客先から物流セン
ターへの集荷の一方だけを扱っているものが多い。しか
し、トラック輸送を主体とした物流の効率を片方向の輸
送だけで十分に向上させることは困難である。したがっ
て、顧客先から物流センターへの荷物と物流センターか
ら顧客先の荷物とを混在させて輸送する必要がある。
ーから顧客先などへの一方向の輸送が多く、従来技術で
挙げたスケジューリング作成方法は、このような物流セ
ンターから顧客先などへの配送か、顧客先から物流セン
ターへの集荷の一方だけを扱っているものが多い。しか
し、トラック輸送を主体とした物流の効率を片方向の輸
送だけで十分に向上させることは困難である。したがっ
て、顧客先から物流センターへの荷物と物流センターか
ら顧客先の荷物とを混在させて輸送する必要がある。
【0006】例えば、特開平8-115495号「自動配車装
置」では、複数の届け先の車両別のエリア範囲を決定す
るために、トラックの積載量に基づくクラスタリングを
用いている。しかし、この手法では、物流センターから
顧客先などへの配送荷物の荷量と、顧客先から物流セン
ターに輸送する荷物の荷量を区別できないため、両者が
混在した輸送を扱うことはできない。
置」では、複数の届け先の車両別のエリア範囲を決定す
るために、トラックの積載量に基づくクラスタリングを
用いている。しかし、この手法では、物流センターから
顧客先などへの配送荷物の荷量と、顧客先から物流セン
ターに輸送する荷物の荷量を区別できないため、両者が
混在した輸送を扱うことはできない。
【0007】また、特開平9-305669号「配送計画方法と
装置」は、物流センターと配送先間の双方向輸送を扱え
る。しかし、スウィープ法をトラック輸送のルート作成
に用いているため、作成される輸送ルート自体の効率が
悪く、充分な輸送効率の向上を実現できないと言う問題
点がある。更に、ジャストインタイム(Just In Time)
納入やサプライチェーンマネージメントの実現に必要な
時間を指定した輸送に対応したトラック輸送のルート作
成も、スウィープ法では実現できないという問題点もあ
る。
装置」は、物流センターと配送先間の双方向輸送を扱え
る。しかし、スウィープ法をトラック輸送のルート作成
に用いているため、作成される輸送ルート自体の効率が
悪く、充分な輸送効率の向上を実現できないと言う問題
点がある。更に、ジャストインタイム(Just In Time)
納入やサプライチェーンマネージメントの実現に必要な
時間を指定した輸送に対応したトラック輸送のルート作
成も、スウィープ法では実現できないという問題点もあ
る。
【0008】また、物流センターと顧客先との間で双方
向輸送を行う場合には、トラックの構造上、物流センタ
ーから顧客先への荷物を全て配送した後でないと、顧客
先から物流センターへの荷物を積載できない場合も多
い。通常このような条件下では、物流センターから配送
を行った配送先を、逆順に辿って物流センターへ戻るこ
とも多い。単純なスウィープ法では、このような輸送ル
ートを作成することもできないと言う問題点があった。
向輸送を行う場合には、トラックの構造上、物流センタ
ーから顧客先への荷物を全て配送した後でないと、顧客
先から物流センターへの荷物を積載できない場合も多
い。通常このような条件下では、物流センターから配送
を行った配送先を、逆順に辿って物流センターへ戻るこ
とも多い。単純なスウィープ法では、このような輸送ル
ートを作成することもできないと言う問題点があった。
【0009】本発明は、物流センターから配送先への荷
物輸送と、集荷先から物流センターへの荷物輸送とを混
在できるようにするとともに、車両の集配送先での時間
制約を守って効率的な輸送スケジュールを作成する輸送
計画作成方法およびシステムを提供することを目的とす
る。
物輸送と、集荷先から物流センターへの荷物輸送とを混
在できるようにするとともに、車両の集配送先での時間
制約を守って効率的な輸送スケジュールを作成する輸送
計画作成方法およびシステムを提供することを目的とす
る。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、請求項1に係る発明は、少なくとも入出力装置と処
理装置と記憶装置とを有するシステムを用いて物流セン
ターと集配送先拠点との間で荷物を集荷・配送する車両
の輸送スケジュールを作成する輸送計画作成方法であっ
て、物流センターと集配送先拠点の位置情報である拠点
情報を入力する拠点情報登録ステップと、各荷物の荷物
量、集荷・配送の別、集配送先拠点、および配送時間制
約を含む荷物情報を入力する荷物情報登録ステップと、
輸送車両の積載量の限界情報を含む輸送車両情報を入力
する輸送車両情報登録ステップと、前記ステップにより
入力した情報から輸送車両の輸送スケジュールを作成す
る輸送スケジュール作成ステップと、作成した輸送スケ
ジュールを出力する輸送スケジュール出力ステップとを
備えたことを特徴とする。
め、請求項1に係る発明は、少なくとも入出力装置と処
理装置と記憶装置とを有するシステムを用いて物流セン
ターと集配送先拠点との間で荷物を集荷・配送する車両
の輸送スケジュールを作成する輸送計画作成方法であっ
て、物流センターと集配送先拠点の位置情報である拠点
情報を入力する拠点情報登録ステップと、各荷物の荷物
量、集荷・配送の別、集配送先拠点、および配送時間制
約を含む荷物情報を入力する荷物情報登録ステップと、
輸送車両の積載量の限界情報を含む輸送車両情報を入力
する輸送車両情報登録ステップと、前記ステップにより
入力した情報から輸送車両の輸送スケジュールを作成す
る輸送スケジュール作成ステップと、作成した輸送スケ
ジュールを出力する輸送スケジュール出力ステップとを
備えたことを特徴とする。
【0011】請求項2に係る発明は、請求項1に記載の
輸送計画作成方法において、前記輸送スケジュール作成
ステップは、複数輸送車両の輸送スケジュールからなる
初期集団を作成する初期スケジュール作成ステップと、
作成した初期スケジュール集団を遺伝的操作により改良
するスケジュール改良ステップとを含む遺伝的アルゴリ
ズムを用いて、輸送スケジュールを作成するものである
ことを特徴とする。
輸送計画作成方法において、前記輸送スケジュール作成
ステップは、複数輸送車両の輸送スケジュールからなる
初期集団を作成する初期スケジュール作成ステップと、
作成した初期スケジュール集団を遺伝的操作により改良
するスケジュール改良ステップとを含む遺伝的アルゴリ
ズムを用いて、輸送スケジュールを作成するものである
ことを特徴とする。
【0012】請求項3に係る発明は、請求項2に記載の
輸送計画作成方法において、前記輸送スケジュール作成
ステップは、集荷・配送対象の荷物を一意に識別するID
を輸送に利用する車両の巡回順序で一次元に並べた遺伝
子構造を用いた遺伝的アルゴリズムにより輸送スケジュ
ールを作成するものであり、該遺伝的アルゴリズムは交
差処理を含み、該交差処理では、ランダムに第1の遺伝
子と第2の遺伝子の二つの遺伝子を選択し、ランダムに
第1の遺伝子中の交差位置を決め、第1の遺伝子の前記
交差位置よりも前に記録されている輸送スケジュールに
対し、その輸送スケジュールに含まれていない第2の遺
伝子中の荷物の集配送先拠点をその順序に従って、前記
輸送スケジュールにNI(Nearest Insertion)法で挿入す
ることを特徴とする。
輸送計画作成方法において、前記輸送スケジュール作成
ステップは、集荷・配送対象の荷物を一意に識別するID
を輸送に利用する車両の巡回順序で一次元に並べた遺伝
子構造を用いた遺伝的アルゴリズムにより輸送スケジュ
ールを作成するものであり、該遺伝的アルゴリズムは交
差処理を含み、該交差処理では、ランダムに第1の遺伝
子と第2の遺伝子の二つの遺伝子を選択し、ランダムに
第1の遺伝子中の交差位置を決め、第1の遺伝子の前記
交差位置よりも前に記録されている輸送スケジュールに
対し、その輸送スケジュールに含まれていない第2の遺
伝子中の荷物の集配送先拠点をその順序に従って、前記
輸送スケジュールにNI(Nearest Insertion)法で挿入す
ることを特徴とする。
【0013】請求項4に係る発明は、請求項2に記載の
輸送計画作成方法において、前記遺伝的アルゴリズムは
突然変異処理を含み、該突然変異処理では、ランダムに
選択した遺伝子に記録されている一つの荷物を選択し、
またランダム距離を一つ選択し、前記選択した荷物の集
配送先拠点から、前記ランダム距離以内の集配送先の荷
物を、前記選択した遺伝子から削除し、再度NI法で挿入
することを特徴とする。
輸送計画作成方法において、前記遺伝的アルゴリズムは
突然変異処理を含み、該突然変異処理では、ランダムに
選択した遺伝子に記録されている一つの荷物を選択し、
またランダム距離を一つ選択し、前記選択した荷物の集
配送先拠点から、前記ランダム距離以内の集配送先の荷
物を、前記選択した遺伝子から削除し、再度NI法で挿入
することを特徴とする。
【0014】請求項5に係る発明は、請求項3または4
の何れか1つに記載の輸送計画作成方法において、前記
NI法による集配送先の輸送スケジュールへの挿入処理
は、輸送スケジュール中の各集配・配送先拠点における
各車両に積載している物流センターから配送先拠点への
荷物量と集荷拠点から物流センターへの荷物量から、各
拠点出発時の車両積載量を算出するステップと、その拠
点よりも、その車両の輸送ルート中で前方に位置する拠
点出発時の車両積載量の最大値と、その車両の輸送ルー
トで後方に位置する拠点での出発時車両積載量の最大値
を、予め算出して記憶装置に格納するステップと、輸送
ルートに新たな集配先を挿入する場合、前記記憶装置に
格納した輸送ルートの後方での車両積載量の最大値と前
記集配先での集荷量との和を算出し、その値が車両積載
量上限を超えないこと、および、前記記憶装置に格納し
た輸送ルートの前方での車両積載量の最大値と前記集配
先への配送量との和を算出し、その値が車両積載上限を
超えないことをチェックし、上限を超えていない輸送ル
ート中のポイントへの挿入だけを行うステップとを含む
ことを特徴とする。
の何れか1つに記載の輸送計画作成方法において、前記
NI法による集配送先の輸送スケジュールへの挿入処理
は、輸送スケジュール中の各集配・配送先拠点における
各車両に積載している物流センターから配送先拠点への
荷物量と集荷拠点から物流センターへの荷物量から、各
拠点出発時の車両積載量を算出するステップと、その拠
点よりも、その車両の輸送ルート中で前方に位置する拠
点出発時の車両積載量の最大値と、その車両の輸送ルー
トで後方に位置する拠点での出発時車両積載量の最大値
を、予め算出して記憶装置に格納するステップと、輸送
ルートに新たな集配先を挿入する場合、前記記憶装置に
格納した輸送ルートの後方での車両積載量の最大値と前
記集配先での集荷量との和を算出し、その値が車両積載
量上限を超えないこと、および、前記記憶装置に格納し
た輸送ルートの前方での車両積載量の最大値と前記集配
先への配送量との和を算出し、その値が車両積載上限を
超えないことをチェックし、上限を超えていない輸送ル
ート中のポイントへの挿入だけを行うステップとを含む
ことを特徴とする。
【0015】請求項6に係る発明は、請求項5に記載の
輸送計画作成方法において、前記NI法を用いて輸送スケ
ジュールを作成する処理は、新たな荷物の集配送先拠点
を輸送スケジュールに追加した時点で、追加対象の輸送
車両に関する、前記各車両の輸送ルート上の各集配先拠
点での、輸送ルート前方および後方の車両積載量の最大
値を再算出して、記憶装置に格納するステップを含むこ
とを特徴とする。
輸送計画作成方法において、前記NI法を用いて輸送スケ
ジュールを作成する処理は、新たな荷物の集配送先拠点
を輸送スケジュールに追加した時点で、追加対象の輸送
車両に関する、前記各車両の輸送ルート上の各集配先拠
点での、輸送ルート前方および後方の車両積載量の最大
値を再算出して、記憶装置に格納するステップを含むこ
とを特徴とする。
【0016】請求項7に係る発明は、請求項3または4
の何れか1つに記載の輸送計画作成方法において、前記
NI法による集配送先の輸送スケジュールへの挿入処理
は、一台の車両の輸送ルート上の各集配送先拠点で、車
両の到着時刻と指定されている集配送時間から、その車
両についてその拠点への到着遅延が許容される時間であ
る猶予時間を算出するステップと、輸送ルート上で、そ
の拠点と、その拠点よりも後方の集配送先拠点での到着
遅延時間の最小値を算出し、集配先拠点毎に、上記到着
遅延時間の最小値を記憶装置上に格納するステップと、
NI法によりその車両の輸送ルートに新たな集配送先拠点
を挿入する場合に、挿入集配送先の直後の集配先への車
両到着時間が、この新たな集配先挿入により、記憶装置
上に格納した到着遅延時間の最小値を越えない場合にだ
け、輸送ルート中の、そのポイントへの新集配送先の挿
入を行うステップとを含むことを特徴とする。
の何れか1つに記載の輸送計画作成方法において、前記
NI法による集配送先の輸送スケジュールへの挿入処理
は、一台の車両の輸送ルート上の各集配送先拠点で、車
両の到着時刻と指定されている集配送時間から、その車
両についてその拠点への到着遅延が許容される時間であ
る猶予時間を算出するステップと、輸送ルート上で、そ
の拠点と、その拠点よりも後方の集配送先拠点での到着
遅延時間の最小値を算出し、集配先拠点毎に、上記到着
遅延時間の最小値を記憶装置上に格納するステップと、
NI法によりその車両の輸送ルートに新たな集配送先拠点
を挿入する場合に、挿入集配送先の直後の集配先への車
両到着時間が、この新たな集配先挿入により、記憶装置
上に格納した到着遅延時間の最小値を越えない場合にだ
け、輸送ルート中の、そのポイントへの新集配送先の挿
入を行うステップとを含むことを特徴とする。
【0017】請求項8に係る発明は、請求項7に記載の
輸送計画作成方法において、前記NI法による集配送先の
輸送スケジュールへの挿入処理は、新たな集配送先拠点
を輸送ルートに挿入した時点で、その挿入を行った車両
に関する、輸送ルート上の各集配先拠点での車両到着遅
延の猶予時間を再計算して記憶装置に格納することを特
徴とする。
輸送計画作成方法において、前記NI法による集配送先の
輸送スケジュールへの挿入処理は、新たな集配送先拠点
を輸送ルートに挿入した時点で、その挿入を行った車両
に関する、輸送ルート上の各集配先拠点での車両到着遅
延の猶予時間を再計算して記憶装置に格納することを特
徴とする。
【0018】請求項9に係る発明は、少なくとも入出力
装置と処理装置と記憶装置とを有し、物流センターと集
配送先拠点との間で荷物を集荷・配送する車両の輸送ス
ケジュールを作成する輸送計画作成システムであって、
物流センターと集配送先拠点の位置情報である拠点情報
を入力する拠点情報登録手段と、各荷物の荷物量、集荷
・配送の別、集配送先拠点、および配送時間制約を含む
荷物情報を入力する荷物情報登録手段と、輸送車両の積
載量の限界情報を含む輸送車両情報を入力する輸送車両
情報登録手段と、前記手段により入力した情報から輸送
車両の輸送スケジュールを作成する輸送スケジュール作
成手段と、作成した輸送スケジュールを出力する輸送ス
ケジュール出力手段とを備えたことを特徴とする。
装置と処理装置と記憶装置とを有し、物流センターと集
配送先拠点との間で荷物を集荷・配送する車両の輸送ス
ケジュールを作成する輸送計画作成システムであって、
物流センターと集配送先拠点の位置情報である拠点情報
を入力する拠点情報登録手段と、各荷物の荷物量、集荷
・配送の別、集配送先拠点、および配送時間制約を含む
荷物情報を入力する荷物情報登録手段と、輸送車両の積
載量の限界情報を含む輸送車両情報を入力する輸送車両
情報登録手段と、前記手段により入力した情報から輸送
車両の輸送スケジュールを作成する輸送スケジュール作
成手段と、作成した輸送スケジュールを出力する輸送ス
ケジュール出力手段とを備えたことを特徴とする。
【0019】請求項10に係る発明は、請求項9に記載
の輸送計画作成システムにおいて、前記輸送スケジュー
ル作成手段は、複数輸送車両の輸送スケジュールからな
る初期集団を作成する初期スケジュール作成手段と、作
成した初期スケジュール集団を遺伝的操作により改良す
るスケジュール改良手段とを含む遺伝的アルゴリズムを
用いて、輸送スケジュールを作成するものであることを
特徴とする。
の輸送計画作成システムにおいて、前記輸送スケジュー
ル作成手段は、複数輸送車両の輸送スケジュールからな
る初期集団を作成する初期スケジュール作成手段と、作
成した初期スケジュール集団を遺伝的操作により改良す
るスケジュール改良手段とを含む遺伝的アルゴリズムを
用いて、輸送スケジュールを作成するものであることを
特徴とする。
【0020】
【発明の実施の形態】以下、図面を用いて本発明の実施
の形態を説明する。本実施形態では、物流センターに所
属する複数台の車両(トラック等)が物流センターを出
発して、複数の集配先へ荷物を輸送する複数の車両の輸
送計画を作成するものとする。
の形態を説明する。本実施形態では、物流センターに所
属する複数台の車両(トラック等)が物流センターを出
発して、複数の集配先へ荷物を輸送する複数の車両の輸
送計画を作成するものとする。
【0021】図1は、本実施形態のシステムの全体構成
図である。本システムは、入力装置(101)、プリンタな
どの出力装置(102)、ディスプレイなどの表示装置(10
3)、処理装置(104)、および記憶装置(109)を備える。処
理装置(104)は、入力処理部(106)、輸送スケジュール生
成部(107)、および結果出力部(108)を含む一連のプログ
ラム(105)を実行する。また、記憶装置(109)には、拠点
情報(110)、荷物情報(111)、輸送車両情報(112)、距離
テーブル(113)、道路地図(114)、およびこれらから作成
される輸送ルート情報(115)が格納される。また、輸送
ルート作成に用いる積載量テーブル(116)、遅延猶予時
間テーブル(117)、遺伝子情報(118)および車両管理情
報(119)も格納される。
図である。本システムは、入力装置(101)、プリンタな
どの出力装置(102)、ディスプレイなどの表示装置(10
3)、処理装置(104)、および記憶装置(109)を備える。処
理装置(104)は、入力処理部(106)、輸送スケジュール生
成部(107)、および結果出力部(108)を含む一連のプログ
ラム(105)を実行する。また、記憶装置(109)には、拠点
情報(110)、荷物情報(111)、輸送車両情報(112)、距離
テーブル(113)、道路地図(114)、およびこれらから作成
される輸送ルート情報(115)が格納される。また、輸送
ルート作成に用いる積載量テーブル(116)、遅延猶予時
間テーブル(117)、遺伝子情報(118)および車両管理情
報(119)も格納される。
【0022】図2〜図10は、図1中の記憶装置(109)
に格納される情報の一例を示す。
に格納される情報の一例を示す。
【0023】図2は、図1中の拠点情報(110)の一例を
示す。拠点情報(110)には、物流センターや荷物の配送
先拠点の位置情報を格納する。具体的には、物流センタ
ーや集配送先拠点を一意に識別する拠点ID(201)、拠点
の名称(202)、拠点の住所(203)、拠点の位置を示す緯度
(204)と経度(205)等が格納される。
示す。拠点情報(110)には、物流センターや荷物の配送
先拠点の位置情報を格納する。具体的には、物流センタ
ーや集配送先拠点を一意に識別する拠点ID(201)、拠点
の名称(202)、拠点の住所(203)、拠点の位置を示す緯度
(204)と経度(205)等が格納される。
【0024】図3は、図1中の荷物情報(111)の一例を
示す。荷物情報(111)には、輸送の対象となる各荷物に
関する情報を格納する。具体的には、個々の荷物に1か
ら順次付与した荷物インデックス(301)、荷物を一意に
識別する荷物ID(302)、物流センターから配送先に送る
荷物か、集配先拠点から物流センターに集荷する荷物か
を表す集配/配送(303)、荷物の集配送先を示す拠点ID(3
04)、荷量(305)、およびその集配送先での荷物集配の締
め切り時刻を示す時間制約(306)が格納される。
示す。荷物情報(111)には、輸送の対象となる各荷物に
関する情報を格納する。具体的には、個々の荷物に1か
ら順次付与した荷物インデックス(301)、荷物を一意に
識別する荷物ID(302)、物流センターから配送先に送る
荷物か、集配先拠点から物流センターに集荷する荷物か
を表す集配/配送(303)、荷物の集配送先を示す拠点ID(3
04)、荷量(305)、およびその集配送先での荷物集配の締
め切り時刻を示す時間制約(306)が格納される。
【0025】図4は、図1中の輸送車両情報(112)の一
例を示す。輸送車両情報(112)には、利用可能な車両の
積載重量に関する能力や限界、また、車両の稼働時間に
ついての情報を格納する。具体的に、輸送車両情報(11
2)には、車両を一意に識別するために付与した車両No(4
01)、車両の種類を一意に識別する輸送車両種別ID(40
2)、その種類の車両の積載重量限界値(403)、および、
その車両の物流センターからの出発時間(404)と配送業
務を終える終了時間(405)が格納される。
例を示す。輸送車両情報(112)には、利用可能な車両の
積載重量に関する能力や限界、また、車両の稼働時間に
ついての情報を格納する。具体的に、輸送車両情報(11
2)には、車両を一意に識別するために付与した車両No(4
01)、車両の種類を一意に識別する輸送車両種別ID(40
2)、その種類の車両の積載重量限界値(403)、および、
その車両の物流センターからの出発時間(404)と配送業
務を終える終了時間(405)が格納される。
【0026】図5は、図1中の距離テーブル(113)の一
例を示す。距離テーブル(113)には、輸送スケジュール
作成で必要になる、拠点間のトラックなどの輸送車両で
の走行距離・時間に関する情報を格納する。具体的に
は、出発拠点の拠点ID1(501)と到着拠点の拠点ID2(50
2)、および、その拠点間の距離(503)と拠点間の走行所
用時間(504)が格納される。
例を示す。距離テーブル(113)には、輸送スケジュール
作成で必要になる、拠点間のトラックなどの輸送車両で
の走行距離・時間に関する情報を格納する。具体的に
は、出発拠点の拠点ID1(501)と到着拠点の拠点ID2(50
2)、および、その拠点間の距離(503)と拠点間の走行所
用時間(504)が格納される。
【0027】図6は、図1中の積載量テーブル(116)の
一例を示す。積載量テーブル(116)は、輸送スケジュー
ル作成時に各車両毎に作成するテーブルである。このテ
ーブルは、各車両の集配送先拠点毎での集荷荷物および
配送荷物の積載可能量を算出するために必要な前方最大
積載量と後方最大積載量を格納する。前方最大積載量に
は、物流センターを出発してその拠点に到着するまで
に、その車両に積載される最大荷物量を格納する。つま
り、車両の最大積載量と、この前方最大積載量の差し
か、その拠点への配送荷物を車両に積載することができ
ない。同様に、後方最大積載量には、その拠点を出発し
て、物流センターに帰着するまでの間で、そのトラック
に積載される最大荷物量を格納する。つまり、車両の最
大積載量と、この後方最大積載量の差しか、その拠点で
の集荷荷物を車両に積載することはできない。
一例を示す。積載量テーブル(116)は、輸送スケジュー
ル作成時に各車両毎に作成するテーブルである。このテ
ーブルは、各車両の集配送先拠点毎での集荷荷物および
配送荷物の積載可能量を算出するために必要な前方最大
積載量と後方最大積載量を格納する。前方最大積載量に
は、物流センターを出発してその拠点に到着するまで
に、その車両に積載される最大荷物量を格納する。つま
り、車両の最大積載量と、この前方最大積載量の差し
か、その拠点への配送荷物を車両に積載することができ
ない。同様に、後方最大積載量には、その拠点を出発し
て、物流センターに帰着するまでの間で、そのトラック
に積載される最大荷物量を格納する。つまり、車両の最
大積載量と、この後方最大積載量の差しか、その拠点で
の集荷荷物を車両に積載することはできない。
【0028】具体的に、積載量テーブル(116)には、車
両を識別するための車両No(601)、その車両に割り当て
られている巡回拠点数(602)、その巡回拠点数分の巡回
先拠点のID(603)、その拠点での前方最大積載量(60
4)、および後方最大積載量(605)を格納する。なお、拠
点ID0(603)は、車両が出発する物流センターの拠点IDと
する。つまり前方最大積載量0(604)には物流センター
出発時の荷物積載量が設定され、後方最大積載量0(605)
にはその車両が物流センター出発後に再度物流センター
に帰着するまでの各拠点出発時の最大荷量が設定され
る。それ以降の巡回拠点の拠点IDは、それぞれ拠点ID1
(606)、…、拠点IDN(609)で表し、各拠点の前方最大積
載量は、それぞれ前方最大積載量1(607)、…、前方最大
積載量N(610)で表し、各拠点の後方最大積載量は、それ
ぞれ後方最大積載量1(608)、…、後方最大積載量N(611)
で表す。
両を識別するための車両No(601)、その車両に割り当て
られている巡回拠点数(602)、その巡回拠点数分の巡回
先拠点のID(603)、その拠点での前方最大積載量(60
4)、および後方最大積載量(605)を格納する。なお、拠
点ID0(603)は、車両が出発する物流センターの拠点IDと
する。つまり前方最大積載量0(604)には物流センター
出発時の荷物積載量が設定され、後方最大積載量0(605)
にはその車両が物流センター出発後に再度物流センター
に帰着するまでの各拠点出発時の最大荷量が設定され
る。それ以降の巡回拠点の拠点IDは、それぞれ拠点ID1
(606)、…、拠点IDN(609)で表し、各拠点の前方最大積
載量は、それぞれ前方最大積載量1(607)、…、前方最大
積載量N(610)で表し、各拠点の後方最大積載量は、それ
ぞれ後方最大積載量1(608)、…、後方最大積載量N(611)
で表す。
【0029】図7は、図1中の遅延猶予時間テーブル(1
17)の一例を示す。遅延猶予時間テーブル(117)は、輸送
ルート作成時に各車両毎に作成するテーブルである。こ
れは、各車両の集配送先拠点の到着時刻がどれだけ遅れ
ても、その拠点以降の巡回拠点での時間制約が守られる
かを示す猶予時間を格納する。具体的には、車両を一意
に識別する車両No(701)、その車両が巡回する集配送先
巡回拠点数(702)、拠点1の拠点ID1(703)と猶予時間1(7
04)、拠点2の拠点ID2(705)と猶予時間2(706)、…、拠
点Nの拠点IDN(707)と猶予時間N(708)を格納する。
17)の一例を示す。遅延猶予時間テーブル(117)は、輸送
ルート作成時に各車両毎に作成するテーブルである。こ
れは、各車両の集配送先拠点の到着時刻がどれだけ遅れ
ても、その拠点以降の巡回拠点での時間制約が守られる
かを示す猶予時間を格納する。具体的には、車両を一意
に識別する車両No(701)、その車両が巡回する集配送先
巡回拠点数(702)、拠点1の拠点ID1(703)と猶予時間1(7
04)、拠点2の拠点ID2(705)と猶予時間2(706)、…、拠
点Nの拠点IDN(707)と猶予時間N(708)を格納する。
【0030】図8は、図1中の輸送スケジュール作成部
(107)で用いる遺伝的アルゴリズムによる輸送ルート算
出で用いる遺伝子表現の一例を示す。遺伝子には、トラ
ックなどの輸送車両で配送する荷物の荷物インデックス
0(801)〜インデックスN(806)がそれぞれ格納される。
(107)で用いる遺伝的アルゴリズムによる輸送ルート算
出で用いる遺伝子表現の一例を示す。遺伝子には、トラ
ックなどの輸送車両で配送する荷物の荷物インデックス
0(801)〜インデックスN(806)がそれぞれ格納される。
【0031】図9は、図1中の車両管理情報(119)の一
例を示す。車両管理情報(119)は、輸送スケジュール作
成部(107)で用いる遺伝子情報(118)の車両への対応関係
を示す情報を格納する。遺伝子情報(118)は、単に荷物
インデックスを一次元に並べた配列であり、どの荷物が
どの車両に積載されているかは記録されていない。この
車両管理情報(119)には、各車両に積載される荷物が、
遺伝子情報(118)のどの部分に対応しているかを示すた
めに、車両管理情報を車両毎に格納する。具体的には、
車両を一意に識別する車両No(901)、車両種別(902)、そ
の車両に積載する荷物の遺伝子上での開始位置を示す遺
伝子開始位置(903)、終了位置を示す遺伝子終了位置(90
4)を格納する。
例を示す。車両管理情報(119)は、輸送スケジュール作
成部(107)で用いる遺伝子情報(118)の車両への対応関係
を示す情報を格納する。遺伝子情報(118)は、単に荷物
インデックスを一次元に並べた配列であり、どの荷物が
どの車両に積載されているかは記録されていない。この
車両管理情報(119)には、各車両に積載される荷物が、
遺伝子情報(118)のどの部分に対応しているかを示すた
めに、車両管理情報を車両毎に格納する。具体的には、
車両を一意に識別する車両No(901)、車両種別(902)、そ
の車両に積載する荷物の遺伝子上での開始位置を示す遺
伝子開始位置(903)、終了位置を示す遺伝子終了位置(90
4)を格納する。
【0032】図10は、図1中の輸送ルート情報(115)
の一例を示す。輸送ルート情報(115)は、本発明に係わ
る方法によって作成される輸送スケジュールで車両が巡
回する拠点と、その車両の巡回順序を示す情報を格納す
る。具体的には、車両No(1001)、車両の物流センターか
らの出発時刻(1002)や巡回する集配送の巡回拠点数(100
3)、荷物インデックス(1004)、その荷物の集配送先拠点
の拠点ID(1005)と、その拠点への到着時刻(1006)を格納
する。また、合計の集荷荷物量(1007)や配送荷物量(100
8)、総走行距離(1009)を格納する。
の一例を示す。輸送ルート情報(115)は、本発明に係わ
る方法によって作成される輸送スケジュールで車両が巡
回する拠点と、その車両の巡回順序を示す情報を格納す
る。具体的には、車両No(1001)、車両の物流センターか
らの出発時刻(1002)や巡回する集配送の巡回拠点数(100
3)、荷物インデックス(1004)、その荷物の集配送先拠点
の拠点ID(1005)と、その拠点への到着時刻(1006)を格納
する。また、合計の集荷荷物量(1007)や配送荷物量(100
8)、総走行距離(1009)を格納する。
【0033】図11は、図1中の処理装置(104)が実行
するプログラム(105)の概要を示すフローチャートであ
る。まず、入力処理ステップ(1101)で、拠点情報(11
0)、荷物情報(111)、および輸送車両情報(112)等の輸送
計画を作成するために必要な情報をユーザが入力する。
この処理の詳細は、図12で後述する。次の輸送スケジ
ュール作成ステップ(1102)では、入力処理ステップ(110
1)によって得られた情報から、最適と考えられる輸送計
画を決定する。ここで輸送計画の決定とは、入力された
全ての荷物を配送先に届けることが可能なトラックが従
うべき荷物のトラックへの割り当てとスケジュール(輸
送スケジュール情報)を決定することを指す。この処理
の詳細は、図13で後述する。次に、結果出力処理ステ
ップ(1103)では、作成した輸送スケジュールを、その評
価とともに出力する。この処理の詳細は、図22で後述
する。
するプログラム(105)の概要を示すフローチャートであ
る。まず、入力処理ステップ(1101)で、拠点情報(11
0)、荷物情報(111)、および輸送車両情報(112)等の輸送
計画を作成するために必要な情報をユーザが入力する。
この処理の詳細は、図12で後述する。次の輸送スケジ
ュール作成ステップ(1102)では、入力処理ステップ(110
1)によって得られた情報から、最適と考えられる輸送計
画を決定する。ここで輸送計画の決定とは、入力された
全ての荷物を配送先に届けることが可能なトラックが従
うべき荷物のトラックへの割り当てとスケジュール(輸
送スケジュール情報)を決定することを指す。この処理
の詳細は、図13で後述する。次に、結果出力処理ステ
ップ(1103)では、作成した輸送スケジュールを、その評
価とともに出力する。この処理の詳細は、図22で後述
する。
【0034】図12は、図11中の入力処理ステップ(1
101)の詳細を示すフローチャートである。まず、拠点情
報登録ステップ(1201)で、図2に示した拠点情報(110)
の登録を行う。次に荷物情報登録ステップ(1202)で、図
3に示した荷物情報(111)の登録を行う。次に輸送車両
情報登録ステップ(1203)で、図4に示した輸送車両情報
(112)の登録を行う。次に距離テーブル生成処理(1204)
で、拠点間の距離とトラックによる走行所要時間を道路
地図(114)を参照して計算し、図5に示した距離テーブ
ル(113)を生成する。なお、道路地図(114)はカーナビゲ
ーションで利用されるような道路およびその道路間の接
続関係や距離情報が格納されているものが予め用意され
ているものとする。
101)の詳細を示すフローチャートである。まず、拠点情
報登録ステップ(1201)で、図2に示した拠点情報(110)
の登録を行う。次に荷物情報登録ステップ(1202)で、図
3に示した荷物情報(111)の登録を行う。次に輸送車両
情報登録ステップ(1203)で、図4に示した輸送車両情報
(112)の登録を行う。次に距離テーブル生成処理(1204)
で、拠点間の距離とトラックによる走行所要時間を道路
地図(114)を参照して計算し、図5に示した距離テーブ
ル(113)を生成する。なお、道路地図(114)はカーナビゲ
ーションで利用されるような道路およびその道路間の接
続関係や距離情報が格納されているものが予め用意され
ているものとする。
【0035】図13は、図11中の輸送スケジュール作
成処理(1102)の詳細を示すフローチャートである。輸送
スケジュール作成処理は、GA(遺伝的アルゴリズム)に従
っている。まず、ランダム性を含んだ方法によって、そ
れぞれが異なる初期解の集団を作成する(ステップ130
1)。この処理の詳細は、図18で後述する。次に変数I
に1を代入する(ステップ1302)。次に遺伝的処理による
解集団の改良を行う(ステップ1303)。この処理の詳細
は、図19で後述する。この解集団の改良処理によっ
て、解集団の少なくとも一部分は変化し、ステップ1303
〜1305の処理の繰り返しによって解集団は徐々に最適な
解へ近づいて行く。ステップ1303の処理の後、解集団の
評価を行う(ステップ1304)。評価はルート情報から算出
される車両の走行距離や利用車両台数などさまざまな要
素に対し行われ、その結果によって解集団中の個々の解
に対して順位がつけられる。この評価結果が上位の解
を、次世代の解として選択する(ステップ1305)。次に変
数Iに1を加える(ステップ1306)。
成処理(1102)の詳細を示すフローチャートである。輸送
スケジュール作成処理は、GA(遺伝的アルゴリズム)に従
っている。まず、ランダム性を含んだ方法によって、そ
れぞれが異なる初期解の集団を作成する(ステップ130
1)。この処理の詳細は、図18で後述する。次に変数I
に1を代入する(ステップ1302)。次に遺伝的処理による
解集団の改良を行う(ステップ1303)。この処理の詳細
は、図19で後述する。この解集団の改良処理によっ
て、解集団の少なくとも一部分は変化し、ステップ1303
〜1305の処理の繰り返しによって解集団は徐々に最適な
解へ近づいて行く。ステップ1303の処理の後、解集団の
評価を行う(ステップ1304)。評価はルート情報から算出
される車両の走行距離や利用車両台数などさまざまな要
素に対し行われ、その結果によって解集団中の個々の解
に対して順位がつけられる。この評価結果が上位の解
を、次世代の解として選択する(ステップ1305)。次に変
数Iに1を加える(ステップ1306)。
【0036】変数Iが予め設定されているGAの処理世代
数G_MAXを越えるか、次世代の集団中の最良解の評価値
が予め与えられている目標値よりも良いかをチェックす
る(ステップ1307)。もし条件が成立すれば、現在の解集
団で最良の解を出力して(ステップ1308)処理を終え
る。ステップ1307で条件が成立しなければ、ステップ13
03に戻り遺伝的処理による解集団の改良を繰り返す。
数G_MAXを越えるか、次世代の集団中の最良解の評価値
が予め与えられている目標値よりも良いかをチェックす
る(ステップ1307)。もし条件が成立すれば、現在の解集
団で最良の解を出力して(ステップ1308)処理を終え
る。ステップ1307で条件が成立しなければ、ステップ13
03に戻り遺伝的処理による解集団の改良を繰り返す。
【0037】図14および図15は、図13の遺伝的ア
ルゴリズムを用いた輸送スケジュール作成処理の初期解
集団の作成(ステップ1301)や遺伝的処理による解集団の
改良(ステップ1303)で用いるNI(Nearest Insertion)法
による輸送ルート構築処理の詳細を示すフローチャート
である。初期解集団の作成処理(ステップ1301)および解
集団の改良処理(ステップ1303)の詳細は、図18、19
に後述する。
ルゴリズムを用いた輸送スケジュール作成処理の初期解
集団の作成(ステップ1301)や遺伝的処理による解集団の
改良(ステップ1303)で用いるNI(Nearest Insertion)法
による輸送ルート構築処理の詳細を示すフローチャート
である。初期解集団の作成処理(ステップ1301)および解
集団の改良処理(ステップ1303)の詳細は、図18、19
に後述する。
【0038】このNI法による処理は、複数台の輸送車両
の輸送スケジュールの中に、一つの荷物の集配送先拠点
への輸送を追加する処理である。この処理では、輸送ス
ケジュールに対応する遺伝子情報(118)と車両管理情報
(119)が構築されているとする。また、各車両毎に積載
量テーブル(116)および遅延猶予時間テーブル(117)も事
前に構築されているとする。この両テーブルの構築方法
は、図16、17に後述する。
の輸送スケジュールの中に、一つの荷物の集配送先拠点
への輸送を追加する処理である。この処理では、輸送ス
ケジュールに対応する遺伝子情報(118)と車両管理情報
(119)が構築されているとする。また、各車両毎に積載
量テーブル(116)および遅延猶予時間テーブル(117)も事
前に構築されているとする。この両テーブルの構築方法
は、図16、17に後述する。
【0039】まず、変数Pに新たに輸送スケジュールを
割り当てる挿入対象荷物の集配送先拠点IDを代入する
(ステップ1401)。次に、その挿入対象荷物の荷量を荷物
情報(111)を参照して変数Lに代入する(ステップ1402)。
次に、変数Truckに0、Posに0を代入する(ステップ140
3)。また、変数D_MINに、その計算機で表せる最大の数M
ax_Valueを設定し、変数Iに1を代入する(ステップ140
4)。
割り当てる挿入対象荷物の集配送先拠点IDを代入する
(ステップ1401)。次に、その挿入対象荷物の荷量を荷物
情報(111)を参照して変数Lに代入する(ステップ1402)。
次に、変数Truckに0、Posに0を代入する(ステップ140
3)。また、変数D_MINに、その計算機で表せる最大の数M
ax_Valueを設定し、変数Iに1を代入する(ステップ140
4)。
【0040】次に、変数Iと既に輸送スケジュールに割
り当てられているトラック台数を表す変数Max_Truckの
値を比較する(ステップ1405)。既に輸送ルートの作成が
行われた車両の輸送ルート中への、荷物輸送のための最
適な拠点挿入位置を決定するために、変数Iの値が、Max
_Truckよりも小さい間、ステップ1406〜1423の処理を繰
り返す。
り当てられているトラック台数を表す変数Max_Truckの
値を比較する(ステップ1405)。既に輸送ルートの作成が
行われた車両の輸送ルート中への、荷物輸送のための最
適な拠点挿入位置を決定するために、変数Iの値が、Max
_Truckよりも小さい間、ステップ1406〜1423の処理を繰
り返す。
【0041】まず、車両管理情報(119)を参照してI番目
の車両の遺伝子開始位置を取り出して変数Jに代入する
(ステップ1406)。次に、I番目の車両の輸送ルート中
に、新しい荷物輸送のため拠点Pへの輸送を割り当て可
能かを以下の手順で判定する。
の車両の遺伝子開始位置を取り出して変数Jに代入する
(ステップ1406)。次に、I番目の車両の輸送ルート中
に、新しい荷物輸送のため拠点Pへの輸送を割り当て可
能かを以下の手順で判定する。
【0042】まず、変数Jの値が、車両管理情報(119)中
のI番目の車両の遺伝子終了位置+1を越えていないか判
定する(ステップ1407)。変数Jの値がI番目の車両の遺伝
子終了位置+1を越えていない場合には、変数JがI番目の
荷物の開始遺伝子位置と等しいかを判定する(ステップ
1408)。変数JがI番目の荷物の開始遺伝子位置と等しい
場合には、変数P1に物流センターの拠点IDを代入する
(ステップ1410)。変数JがI番目の荷物の開始遺伝子位
置と異なる場合には、I番目の車輌の(J-1)番目の荷物の
集配送先拠点のIDを代入する(ステップ1409)。
のI番目の車両の遺伝子終了位置+1を越えていないか判
定する(ステップ1407)。変数Jの値がI番目の車両の遺伝
子終了位置+1を越えていない場合には、変数JがI番目の
荷物の開始遺伝子位置と等しいかを判定する(ステップ
1408)。変数JがI番目の荷物の開始遺伝子位置と等しい
場合には、変数P1に物流センターの拠点IDを代入する
(ステップ1410)。変数JがI番目の荷物の開始遺伝子位
置と異なる場合には、I番目の車輌の(J-1)番目の荷物の
集配送先拠点のIDを代入する(ステップ1409)。
【0043】次に、変数Jの値と、I番目の車両の遺伝子
終了位置+1を比較する(ステップ1411)。両者が等しい
場合には、変数P2に物流センターの拠点IDを設定する
(ステップ1413)。異なる場合には、変数P2にI番目の車
両のJ番目の荷物の集配送先拠点のIDを代入する(ステッ
プ1412)。
終了位置+1を比較する(ステップ1411)。両者が等しい
場合には、変数P2に物流センターの拠点IDを設定する
(ステップ1413)。異なる場合には、変数P2にI番目の車
両のJ番目の荷物の集配送先拠点のIDを代入する(ステッ
プ1412)。
【0044】次に、新たに輸送スケジュールに加える荷
物が物流センターから配送先への配送荷物か、集配先か
ら物流センターに輸送する集荷荷物かを判定する(ステ
ップ1414)。集荷荷物の場合には、I番目の車両の積載
量テーブル(116)を参照して、変数MにJ番目の巡回先拠
点での後方最大積載量を代入する(ステップ1415)。ステ
ップ1414で配送荷物の場合には、変数Mには前方最大積
載量を代入する(ステップ1416)。
物が物流センターから配送先への配送荷物か、集配先か
ら物流センターに輸送する集荷荷物かを判定する(ステ
ップ1414)。集荷荷物の場合には、I番目の車両の積載
量テーブル(116)を参照して、変数MにJ番目の巡回先拠
点での後方最大積載量を代入する(ステップ1415)。ステ
ップ1414で配送荷物の場合には、変数Mには前方最大積
載量を代入する(ステップ1416)。
【0045】次に、MとLの和が、その車両の最大積載量
LMax以下かをチェックする(ステップ1417)。MとLの和が
最大積載量を超えていた場合には、その荷物を、I番目
の車両のJ番目の位置に挿入することはできないと判定
して、ステップ1422に進み、変数Jに1を加えて、ステッ
プ1407に戻り、I番目の車両の次のポイントへの挿入可
能性のチェックを行う。
LMax以下かをチェックする(ステップ1417)。MとLの和が
最大積載量を超えていた場合には、その荷物を、I番目
の車両のJ番目の位置に挿入することはできないと判定
して、ステップ1422に進み、変数Jに1を加えて、ステッ
プ1407に戻り、I番目の車両の次のポイントへの挿入可
能性のチェックを行う。
【0046】ステップ1417で最大積載量以下と判定され
た場合には、次にその挿入により集配送時間制約が守れ
るかをチェックする。まず、距離テーブル(113)を参照
して、拠点P1と拠点P間の走行所要時間と拠点Pと拠点P2
間の走行所要時間の和から拠点P1とP2間の走行所要時間
を引き、変数Tに代入する(ステップ1418)。ここでTime
(X,Y)は拠点XからYへの移動所要時間を表している。
た場合には、次にその挿入により集配送時間制約が守れ
るかをチェックする。まず、距離テーブル(113)を参照
して、拠点P1と拠点P間の走行所要時間と拠点Pと拠点P2
間の走行所要時間の和から拠点P1とP2間の走行所要時間
を引き、変数Tに代入する(ステップ1418)。ここでTime
(X,Y)は拠点XからYへの移動所要時間を表している。
【0047】次に、変数Tの値とI番目の車両のJ番目の
荷物の集配送先拠点での遅延猶予時間とを比較する(ス
テップ1419)。もし、Tが小さければ、その荷物を挿入し
ても、I番目の車両の他の巡回先拠点での時間制約は破
れることはない。そのときには、Tの値と変数D_MINの値
を比較する(ステップ1420)。Tの値が小さければ、今
までに車両の積載量制約と、巡回先拠点の時間制約を満
足した挿入位置の中で、車両の走行時間の増分が最小の
位置なので、Tの値をD_MINに、Iの値をTruckに、Jの値
をPosに代入し(ステップ1421)、ステップ1422に進む。
ステップ1419と1420で条件が成立しない場合には、ステ
ップ1422に進み、変数Jに1を加えて(ステップ1422)、ス
テップ1407に戻り、次の挿入ポイントのチェックを行
う。
荷物の集配送先拠点での遅延猶予時間とを比較する(ス
テップ1419)。もし、Tが小さければ、その荷物を挿入し
ても、I番目の車両の他の巡回先拠点での時間制約は破
れることはない。そのときには、Tの値と変数D_MINの値
を比較する(ステップ1420)。Tの値が小さければ、今
までに車両の積載量制約と、巡回先拠点の時間制約を満
足した挿入位置の中で、車両の走行時間の増分が最小の
位置なので、Tの値をD_MINに、Iの値をTruckに、Jの値
をPosに代入し(ステップ1421)、ステップ1422に進む。
ステップ1419と1420で条件が成立しない場合には、ステ
ップ1422に進み、変数Jに1を加えて(ステップ1422)、ス
テップ1407に戻り、次の挿入ポイントのチェックを行
う。
【0048】ステップ1407でJがI番目の車両の遺伝子の
終了位置を越えた場合には、Iに1を加え(ステップ142
3)、ステップ1405に戻り、次の車両の挿入処理を行う。
終了位置を越えた場合には、Iに1を加え(ステップ142
3)、ステップ1405に戻り、次の車両の挿入処理を行う。
【0049】ステップ1405で、IがMax_Truckの値を超え
た場合には、既存車両の輸送ルート中の全ての経路への
挿入可能性のチェックが終了したので、以下の処理を行
い、荷物を輸送する車両およびその車両の巡回ルート中
での挿入位置を確定する。
た場合には、既存車両の輸送ルート中の全ての経路への
挿入可能性のチェックが終了したので、以下の処理を行
い、荷物を輸送する車両およびその車両の巡回ルート中
での挿入位置を確定する。
【0050】まず、変数TruckとPosの値が両者ともに0
かをチェックする(ステップ1501)。両変数ともに0の場
合には、既存車両には、積載量制約と時間制約を守って
挿入可能な車両が無かったので、新しい車両を追加する
(ステップ1502)。つまり、遺伝子情報(118)の最後尾に、
追加対象の荷物のインデックスを追加するとともに、車
両管理情報(119)に新しいエントリを追加し、その車両
管理情報(119)の遺伝子開始位置と終了位置に、遺伝子
上に追加した荷物の遺伝子上での位置を格納する(ステ
ップ1503)。次に、追加した車両の積載量テーブル(116)
を構築する(ステップ1504)。さらに、追加した車両の
遅延猶予時間テーブル(117)を構築する(ステップ150
5)。次に、Max_Truckに1を加えて(ステップ1506)、処
理を終了する。
かをチェックする(ステップ1501)。両変数ともに0の場
合には、既存車両には、積載量制約と時間制約を守って
挿入可能な車両が無かったので、新しい車両を追加する
(ステップ1502)。つまり、遺伝子情報(118)の最後尾に、
追加対象の荷物のインデックスを追加するとともに、車
両管理情報(119)に新しいエントリを追加し、その車両
管理情報(119)の遺伝子開始位置と終了位置に、遺伝子
上に追加した荷物の遺伝子上での位置を格納する(ステ
ップ1503)。次に、追加した車両の積載量テーブル(116)
を構築する(ステップ1504)。さらに、追加した車両の
遅延猶予時間テーブル(117)を構築する(ステップ150
5)。次に、Max_Truckに1を加えて(ステップ1506)、処
理を終了する。
【0051】ステップ1501で二つの変数が共に0では無
い場合には、Truck番目の車両NoのトラックのPos番目の
集配送荷物の次に新しい荷物を挿入する(ステップ150
7)。つまり、遺伝子情報(118)中の上記位置に荷物を追
加し、Truck番目車両の遺伝子終了位置に1を加え、Truc
k+1番目の車両以降の車両管理情報(119)の遺伝子開始位
置と終了位置に1を加える。次に、Truck番目の車両の積
載量テーブル(116)を再構築する(ステップ1508)。次
に、Truck番目の車両の遅延猶予時間テーブル(117)を再
構築し(ステップ1509)、処理を終了する。
い場合には、Truck番目の車両NoのトラックのPos番目の
集配送荷物の次に新しい荷物を挿入する(ステップ150
7)。つまり、遺伝子情報(118)中の上記位置に荷物を追
加し、Truck番目車両の遺伝子終了位置に1を加え、Truc
k+1番目の車両以降の車両管理情報(119)の遺伝子開始位
置と終了位置に1を加える。次に、Truck番目の車両の積
載量テーブル(116)を再構築する(ステップ1508)。次
に、Truck番目の車両の遅延猶予時間テーブル(117)を再
構築し(ステップ1509)、処理を終了する。
【0052】図16は、積載量テーブル(116)の作成処
理を示すフローチャートである。この処理では、L[]
は、各拠点出発時に車両に積載されている荷物量を格納
するために用いる配列であり、Lfor[]は、この処理で求
める各拠点での前方最大積載量、Lbak[]は、後方最大積
載量を格納する配列である。つまり、この配列の値が積
載量テーブル(116)に格納される値である。
理を示すフローチャートである。この処理では、L[]
は、各拠点出発時に車両に積載されている荷物量を格納
するために用いる配列であり、Lfor[]は、この処理で求
める各拠点での前方最大積載量、Lbak[]は、後方最大積
載量を格納する配列である。つまり、この配列の値が積
載量テーブル(116)に格納される値である。
【0053】まず、変数Nに積載量テーブル(116)作成処
理対象の車両の巡回拠点数を代入する(ステップ160
1)。次に、変数TSに、その車両で物流センターから配
送する総配送荷量を代入する(ステップ1602)。次にL
[0]にTSの値を代入し、変数Iに1を代入する(ステップ16
03)。
理対象の車両の巡回拠点数を代入する(ステップ160
1)。次に、変数TSに、その車両で物流センターから配
送する総配送荷量を代入する(ステップ1602)。次にL
[0]にTSの値を代入し、変数Iに1を代入する(ステップ16
03)。
【0054】IがN以下であるかを判定する(ステップ160
4)。IがN以下の場合には、各集配先出発時のトラックの
荷量を算出する。まず、その車両で輸送するI番目の荷
物が集荷荷物か配送荷物かを判定する(ステップ1605)。
集荷荷物の場合には、変数Rにその荷物の荷量を代入
し、変数Sには0を代入する(ステップ1606)。配送荷物の
場合には、変数Rには0、変数Sにはその荷物の荷量を、
代入する(ステップ1607)。
4)。IがN以下の場合には、各集配先出発時のトラックの
荷量を算出する。まず、その車両で輸送するI番目の荷
物が集荷荷物か配送荷物かを判定する(ステップ1605)。
集荷荷物の場合には、変数Rにその荷物の荷量を代入
し、変数Sには0を代入する(ステップ1606)。配送荷物の
場合には、変数Rには0、変数Sにはその荷物の荷量を、
代入する(ステップ1607)。
【0055】次に、変数L[I]に、L[I-1]+R-Sを算出して
代入する(ステップ1608)。次に、変数Iに1を加えて
(ステップ1609)、ステップ1604に戻り、次の荷物の処理
を行う。
代入する(ステップ1608)。次に、変数Iに1を加えて
(ステップ1609)、ステップ1604に戻り、次の荷物の処理
を行う。
【0056】ステップ1604でIがNを超過した場合には、
そのトラックの各巡回先拠点での積載荷物量は配列L[]
に格納されたので、前方最大積載量と後方最大積載量を
求める。まず、変数Iに1を代入する(ステップ1610)。次
に、IがNを超過していないかをチェックする(ステップ1
611)。IがNを超過していない場合には、I番目からN番目
までのL[]の最大値を求め、Lfor[I]に代入する(ステッ
プ1612)。次に、0番目からI番目までのL[]の最大値を求
め、Lbak[I]に代入する(ステップ1613)。次に、変数Iに
1を加え(ステップ1614)、ステップ1611に戻り、処理を
続ける。ステップ1611でIの値がNを超過したら、処理を
終了する。
そのトラックの各巡回先拠点での積載荷物量は配列L[]
に格納されたので、前方最大積載量と後方最大積載量を
求める。まず、変数Iに1を代入する(ステップ1610)。次
に、IがNを超過していないかをチェックする(ステップ1
611)。IがNを超過していない場合には、I番目からN番目
までのL[]の最大値を求め、Lfor[I]に代入する(ステッ
プ1612)。次に、0番目からI番目までのL[]の最大値を求
め、Lbak[I]に代入する(ステップ1613)。次に、変数Iに
1を加え(ステップ1614)、ステップ1611に戻り、処理を
続ける。ステップ1611でIの値がNを超過したら、処理を
終了する。
【0057】図17は、遅延猶予時間テーブル(117)の
作成処理を示すフローチャートである。この処理では、
T[]は各拠点への車両の到着時刻を格納する配列であ
り、D[]は各拠点での遅延猶予時間を格納する配列であ
る。
作成処理を示すフローチャートである。この処理では、
T[]は各拠点への車両の到着時刻を格納する配列であ
り、D[]は各拠点での遅延猶予時間を格納する配列であ
る。
【0058】まず、変数Nに、積載量テーブル(116)作成
処理対象の車両の巡回拠点数を代入する(ステップ170
1)。次に、輸送車両情報(112)を参照してT[0]にその車
両の物流センターの出発時間を設定し、変数Iに1を代入
する(ステップ1702)。
処理対象の車両の巡回拠点数を代入する(ステップ170
1)。次に、輸送車両情報(112)を参照してT[0]にその車
両の物流センターの出発時間を設定し、変数Iに1を代入
する(ステップ1702)。
【0059】次に、IがN以下かをチェックする(ステッ
プ1703)。IがN以下の場合には、T[I-1]と、そのトラッ
クの(I-1)番目の荷物の集配送先とI番目の荷物の集配送
先拠点間の走行所要時間を距離テーブルを参照して求め
た値とを加えて、その結果をT[I]に設定する(ステップ
1704)。次に、変数Iに1を加えて(ステップ1705)、ス
テップ1703に戻り、処理を続ける。
プ1703)。IがN以下の場合には、T[I-1]と、そのトラッ
クの(I-1)番目の荷物の集配送先とI番目の荷物の集配送
先拠点間の走行所要時間を距離テーブルを参照して求め
た値とを加えて、その結果をT[I]に設定する(ステップ
1704)。次に、変数Iに1を加えて(ステップ1705)、ス
テップ1703に戻り、処理を続ける。
【0060】ステップ1703でIがNを超過した場合には、
その車両の各巡回先拠点への到着時刻が配列T[]に求ま
ったので、次に各拠点での遅延猶予時間を求める。ま
ず、その車両の最終の巡回先拠点での遅延猶予時間D[N]
を、その拠点での制約時間からT[N]の値を引いて求める
(ステップ1706)。次に、Iから1減じる(ステップ1707)。
その車両の各巡回先拠点への到着時刻が配列T[]に求ま
ったので、次に各拠点での遅延猶予時間を求める。ま
ず、その車両の最終の巡回先拠点での遅延猶予時間D[N]
を、その拠点での制約時間からT[N]の値を引いて求める
(ステップ1706)。次に、Iから1減じる(ステップ1707)。
【0061】次に、Iが1以上かをチェックする(ステッ
プ1708)。Iが1以上の場合には、変数Dにその車両のI
番目の荷物の集配送先拠点での遅延猶予時間を求めて代
入する。具体的には、I番目の荷物の制約時間から、そ
の拠点への到着時間T[I]を減じて求める(ステップ170
9)。次に、I番目の荷物輸送に対する遅延猶予時間D[I]
として、変数Dの値とD[I+1]の値の小さい方の値を代入
する(ステップ1710)。次に変数Iの値を1減じて(ステッ
プ1711)、ステップ1708に戻り、処理を続ける。ステッ
プ1708で、Iが0に到達していれば処理を終える。
プ1708)。Iが1以上の場合には、変数Dにその車両のI
番目の荷物の集配送先拠点での遅延猶予時間を求めて代
入する。具体的には、I番目の荷物の制約時間から、そ
の拠点への到着時間T[I]を減じて求める(ステップ170
9)。次に、I番目の荷物輸送に対する遅延猶予時間D[I]
として、変数Dの値とD[I+1]の値の小さい方の値を代入
する(ステップ1710)。次に変数Iの値を1減じて(ステッ
プ1711)、ステップ1708に戻り、処理を続ける。ステッ
プ1708で、Iが0に到達していれば処理を終える。
【0062】図18は、図13中の初期解集団生成処理
(1301)の詳細を示すフローチャートである。なお、一つ
の解には複数の車両の巡回スケジュール(輸送ルート)
が登録されており、解集団はさらに複数の解を含んでい
る。本処理が実行される際、変数SIZEには、予め初期集
団に登録する遺伝子の個体数を設定しておく。また、変
数LENにはルートに登録される荷物(配送先拠点)の数
を設定しておく。
(1301)の詳細を示すフローチャートである。なお、一つ
の解には複数の車両の巡回スケジュール(輸送ルート)
が登録されており、解集団はさらに複数の解を含んでい
る。本処理が実行される際、変数SIZEには、予め初期集
団に登録する遺伝子の個体数を設定しておく。また、変
数LENにはルートに登録される荷物(配送先拠点)の数
を設定しておく。
【0063】まず、変数Iに1を代入する(ステップ180
1)。次にIがSIZEよりも小さい間、ステップ1803から180
6の処理を繰り返して、SIZEで指定された個数の遺伝子
を生成する。まず、各要素に値が設定されていない空の
遺伝子を記憶するエリアを生成する(ステップ1803)。次
に、荷物情報(111)の荷物をランダムな順序に並べかえ
た配列T[]を作成する(ステップ1804)。続いて、空の
遺伝子に、配列T[]に登録した荷物を、この順序で図1
4に示した挿入方式により順次挿入する(ステップ180
5)。次に変数Iに1を加えて(ステップ1806)、ステップ18
02に戻り、順次遺伝子の生成を行う。
1)。次にIがSIZEよりも小さい間、ステップ1803から180
6の処理を繰り返して、SIZEで指定された個数の遺伝子
を生成する。まず、各要素に値が設定されていない空の
遺伝子を記憶するエリアを生成する(ステップ1803)。次
に、荷物情報(111)の荷物をランダムな順序に並べかえ
た配列T[]を作成する(ステップ1804)。続いて、空の
遺伝子に、配列T[]に登録した荷物を、この順序で図1
4に示した挿入方式により順次挿入する(ステップ180
5)。次に変数Iに1を加えて(ステップ1806)、ステップ18
02に戻り、順次遺伝子の生成を行う。
【0064】図19は、図13中の解集団の改良(ステ
ップ1303)の詳細を示すフローチャートである。遺伝的
処理は、解集団を変化させ、改良を行うGAの中心的な処
理である。
ップ1303)の詳細を示すフローチャートである。遺伝的
処理は、解集団を変化させ、改良を行うGAの中心的な処
理である。
【0065】まず、変数SIZEに解集団に登録されている
解の個数を代入する(ステップ1901)。次に、C_NUMに、S
IZEに予め設定されている交差率を掛けた値を超えない
最大整数を代入する(ステップ1902)。次に変数Iに1を
代入する(ステップ1903)。IがC_NUMを超えたかどう
かを判断する(ステップ1904)。IがC_NUM以下の場合に
は、ステップ1904〜1907の処理を繰り返して交差処理を
行う。交差処理とは、二つの異なる解から、両者の性質
を継承した新しい解を作成する処理である。交差処理を
行うか否かは、所定の確率でランダムに決定する。交差
処理を行う場合、解集団から異なる二つの解(遺伝子)
を選択し(ステップ1905)、選択した二つの解(遺伝子)
を元に、交差処理を行い、交差処理で新たに生成された
解(遺伝子)を解集団に加える(ステップ1906)。この交
差処理の詳細は、図20で後述する。次に、Iに1を加え
(ステップ1907)、ステップ1904に戻り、次の交差処理
を行う。
解の個数を代入する(ステップ1901)。次に、C_NUMに、S
IZEに予め設定されている交差率を掛けた値を超えない
最大整数を代入する(ステップ1902)。次に変数Iに1を
代入する(ステップ1903)。IがC_NUMを超えたかどう
かを判断する(ステップ1904)。IがC_NUM以下の場合に
は、ステップ1904〜1907の処理を繰り返して交差処理を
行う。交差処理とは、二つの異なる解から、両者の性質
を継承した新しい解を作成する処理である。交差処理を
行うか否かは、所定の確率でランダムに決定する。交差
処理を行う場合、解集団から異なる二つの解(遺伝子)
を選択し(ステップ1905)、選択した二つの解(遺伝子)
を元に、交差処理を行い、交差処理で新たに生成された
解(遺伝子)を解集団に加える(ステップ1906)。この交
差処理の詳細は、図20で後述する。次に、Iに1を加え
(ステップ1907)、ステップ1904に戻り、次の交差処理
を行う。
【0066】ステップ1904でIがC_NUMを超過していた
ら、突然変異処理に移る。突然変異処理とは、一つの解
を部分的に変化させて、新しい解を作成する処理であ
る。突然変異処理を行うか否かも、所定の確率でランダ
ムに決定する。突然変異処理を行う場合は、変数M_NUM
に、SIZEに予め設定されている突然変異率を掛けた値を
超えない最大整数を代入し(ステップ1908)、変数Iに1
を代入する(ステップ1909)。
ら、突然変異処理に移る。突然変異処理とは、一つの解
を部分的に変化させて、新しい解を作成する処理であ
る。突然変異処理を行うか否かも、所定の確率でランダ
ムに決定する。突然変異処理を行う場合は、変数M_NUM
に、SIZEに予め設定されている突然変異率を掛けた値を
超えない最大整数を代入し(ステップ1908)、変数Iに1
を代入する(ステップ1909)。
【0067】次に、IがM_NUMを超えたかどうかを判断す
る(ステップ1910)。IがM_NUM以下の場合には、ステッ
プ1910〜1913の処理を繰り返して突然変異処理を行う。
まず、解集団から、ランダムに一つの解(遺伝子)を選
択する(ステップ1911)。次に、選択した解に突然変異
処理を行い、その解(遺伝子)を解集団に加える(ステ
ップ1912)。この処理の詳細は、図21で説明する。続
いて変数Iに1を加え(ステップ1913)、ステップ1910に戻
り、突然変異処理を続ける。
る(ステップ1910)。IがM_NUM以下の場合には、ステッ
プ1910〜1913の処理を繰り返して突然変異処理を行う。
まず、解集団から、ランダムに一つの解(遺伝子)を選
択する(ステップ1911)。次に、選択した解に突然変異
処理を行い、その解(遺伝子)を解集団に加える(ステ
ップ1912)。この処理の詳細は、図21で説明する。続
いて変数Iに1を加え(ステップ1913)、ステップ1910に戻
り、突然変異処理を続ける。
【0068】図20は、図19のステップ1906の交差処
理の詳細を示すフローチャートである。まず、変数N
に、各解(遺伝子)に登録されている荷物数を代入する
(ステップ2001)。次に、次に、交差対象の二つの解
(遺伝子)を配列G1[],G2[]にコピーする。(ステップ20
02)。次に、交差点を決定するために、2以上N-1以下の
整数をランダムに生成して変数Pに代入する(ステップ20
03)。次に、G1のP番目以降の荷物データインデックスを
削除する(ステップ2004)。つまり削除対象の要素に-1を
代入する。次に変数Iに1を代入する(ステップ2005)。
理の詳細を示すフローチャートである。まず、変数N
に、各解(遺伝子)に登録されている荷物数を代入する
(ステップ2001)。次に、次に、交差対象の二つの解
(遺伝子)を配列G1[],G2[]にコピーする。(ステップ20
02)。次に、交差点を決定するために、2以上N-1以下の
整数をランダムに生成して変数Pに代入する(ステップ20
03)。次に、G1のP番目以降の荷物データインデックスを
削除する(ステップ2004)。つまり削除対象の要素に-1を
代入する。次に変数Iに1を代入する(ステップ2005)。
【0069】次に、IがN以下の間、ステップ2007から20
09の処理を繰り返す。まず、G2[I]が配列G1[]中に含ま
れているか否かを判定する(ステップ2007)。もし含まれ
ていない場合には、G2[I]の表す荷物インデックスの荷
物の配送先をG1に追加する(ステップ2008)。この処理
は、図14に示したNI法の処理手順により行う。次に変
数Iに1を加えて(ステップ2009)、ステップ2006に戻り、
処理を繰り返す。ステップ2007でG2[I]が配列G1[]中に
含まれている場合は、G2[I]の表す荷物インデックスの
荷物の配送先をG1に追加せず、変数Iに1を加えて(ステ
ップ2009)、ステップ2006に戻り、処理を繰り返す。ス
テップ2006でIがNに達したときは、処理を終了する。
09の処理を繰り返す。まず、G2[I]が配列G1[]中に含ま
れているか否かを判定する(ステップ2007)。もし含まれ
ていない場合には、G2[I]の表す荷物インデックスの荷
物の配送先をG1に追加する(ステップ2008)。この処理
は、図14に示したNI法の処理手順により行う。次に変
数Iに1を加えて(ステップ2009)、ステップ2006に戻り、
処理を繰り返す。ステップ2007でG2[I]が配列G1[]中に
含まれている場合は、G2[I]の表す荷物インデックスの
荷物の配送先をG1に追加せず、変数Iに1を加えて(ステ
ップ2009)、ステップ2006に戻り、処理を繰り返す。ス
テップ2006でIがNに達したときは、処理を終了する。
【0070】図21は、図19のステップ1912の突然変
異処理の詳細を示すフローチャートである。予め、変数
Nには遺伝子のサイズを設定しておく。
異処理の詳細を示すフローチャートである。予め、変数
Nには遺伝子のサイズを設定しておく。
【0071】まず、突然変異対象としてランダムに選択
された解(遺伝子)を配列G[]にコピーする(ステップ21
01)。次に、変数Lに、物流センターとその物流センター
から最も遠い配送先拠点との間の距離を代入する(ステ
ップ2102)。変数Rに0以上0.3以下の実数をランダムに選
択して設定する(ステップ2103)。次に、変数L1に変数L
の値とRの値の積を代入する(ステップ2104)。次に、遺
伝子上での突然変異箇所を定めるために、変数Pに1以上
N以下の正の整数をランダムに選択して代入する(ステッ
プ2105)。次に、変数Iに1を代入し、変数Jに0を代入
する(ステップ2106)。変数KにはG[P]の値、つまり荷物
情報のインデックス値を代入する(ステップ2107)。
された解(遺伝子)を配列G[]にコピーする(ステップ21
01)。次に、変数Lに、物流センターとその物流センター
から最も遠い配送先拠点との間の距離を代入する(ステ
ップ2102)。変数Rに0以上0.3以下の実数をランダムに選
択して設定する(ステップ2103)。次に、変数L1に変数L
の値とRの値の積を代入する(ステップ2104)。次に、遺
伝子上での突然変異箇所を定めるために、変数Pに1以上
N以下の正の整数をランダムに選択して代入する(ステッ
プ2105)。次に、変数Iに1を代入し、変数Jに0を代入
する(ステップ2106)。変数KにはG[P]の値、つまり荷物
情報のインデックス値を代入する(ステップ2107)。
【0072】Iの値がN-1以下の間、ステップ2109から21
12の処理を繰り返す。まず、インデックスがKの荷物の
集配送先拠点とG[I]の荷物の集配送先拠点との距離がL1
以下か判定する(ステップ2109)。条件が成立する場合に
は、T[J]にG[I]の値を代入し、G[I]には-1を代入する
(ステップ2110)。次にJに1を加え(ステップ2111)、Iに1
を加えて(ステップ2112)、ステップ2108に戻り、処理を
続ける。ステップ2108でIの値がNの値を超えた場合に
は、配列Gの中で値が-1の要素を削除して、前方に詰め
合わせる。このとき、輸送便インデクス内に荷物を一つ
も載せていない便があれば、削除する(ステップ2113)。
次に、配列Tに格納されているJ個の荷物インデックスの
荷物をGに追加する(ステップ2114)。この追加の処理
は、図14に示した順次NI法を用いる。追加処理が終わ
ったら、突然変異処理を終了する。
12の処理を繰り返す。まず、インデックスがKの荷物の
集配送先拠点とG[I]の荷物の集配送先拠点との距離がL1
以下か判定する(ステップ2109)。条件が成立する場合に
は、T[J]にG[I]の値を代入し、G[I]には-1を代入する
(ステップ2110)。次にJに1を加え(ステップ2111)、Iに1
を加えて(ステップ2112)、ステップ2108に戻り、処理を
続ける。ステップ2108でIの値がNの値を超えた場合に
は、配列Gの中で値が-1の要素を削除して、前方に詰め
合わせる。このとき、輸送便インデクス内に荷物を一つ
も載せていない便があれば、削除する(ステップ2113)。
次に、配列Tに格納されているJ個の荷物インデックスの
荷物をGに追加する(ステップ2114)。この追加の処理
は、図14に示した順次NI法を用いる。追加処理が終わ
ったら、突然変異処理を終了する。
【0073】図22は、図11のステップ1103の結果出
力処理の詳細を示すフローチャートである。まず各輸送
車両の通過拠点を地図上に表示する(ステップ2201)。次
に、輸送スケジュール作成処理によって得られたスケジ
ュールとその所用車両台数や走行距離などの値とともに
表やグラフを作成し、表示する(ステップ2202)。次に、
印刷指示があればそのグラフや表を印刷する(ステップ2
203)。
力処理の詳細を示すフローチャートである。まず各輸送
車両の通過拠点を地図上に表示する(ステップ2201)。次
に、輸送スケジュール作成処理によって得られたスケジ
ュールとその所用車両台数や走行距離などの値とともに
表やグラフを作成し、表示する(ステップ2202)。次に、
印刷指示があればそのグラフや表を印刷する(ステップ2
203)。
【0074】
【発明の効果】以上説明したように、本発明によれば、
物流センターから配送先拠点への荷物と、集配先拠点か
ら物流センターへの荷物を、各集配送先拠点での車両の
到着時刻に制約がある場合にも、複数台の車両を用いて
効率的な輸送を行う輸送スケジュールを作成することが
できる。
物流センターから配送先拠点への荷物と、集配先拠点か
ら物流センターへの荷物を、各集配送先拠点での車両の
到着時刻に制約がある場合にも、複数台の車両を用いて
効率的な輸送を行う輸送スケジュールを作成することが
できる。
【図1】本実施の形態のシステムを示す全体構成図であ
る。
る。
【図2】拠点情報の構成の一例を示す図である。
【図3】荷物情報の構成の一例を示す図である。
【図4】輸送車両情報の構成の一例を示す図である。
【図5】拠点問の距離テーブルの一例を示す図である。
【図6】積載量テーブルの一例を示す図である。
【図7】遅延猶予時間テーブルの一例を示す図である。
【図8】輸送ルートの遺伝子表現の一例を示す図であ
る。
る。
【図9】車両管理情報の例を示す図である。
【図10】輸送ルート情報の構成を示す図である。
【図11】全体的な処理の流れを示すフローチャートで
ある。
ある。
【図12】入力処理の詳細を示すフローチャートであ
る。
る。
【図13】輸送スケジュール作成処理の詳細を示すフロ
ーチャートである。
ーチャートである。
【図14】NI法を用いた輸送スケジュールへの集配送先
拠点の追加処理のフローチャート(その1)である。
拠点の追加処理のフローチャート(その1)である。
【図15】NI法を用いた輸送スケジュールへの集配送先
拠点の追加処理のフローチャート(その2)である。
拠点の追加処理のフローチャート(その2)である。
【図16】積載量テーブルの作成処理の詳細を示すフロ
ーチャートである。
ーチャートである。
【図17】遅延猶予時間テーブル作成処理の詳細を示す
フローチャートである。
フローチャートである。
【図18】初期集団生成処理の詳細を示すフローチャー
トである。
トである。
【図19】遺伝的処理の概要を示すフローチャートであ
る。
る。
【図20】交差処理の詳細を示すフローチャートであ
る。
る。
【図21】突然変異処理の詳細を示すフローチャートで
ある。
ある。
【図22】本発明の結果出力処理の詳細を示すフローチ
ャートである。
ャートである。
101…入力装置、102…出力装置、103…表示装
置、104…処理装置、105…プログラム、106…
入力処理部、107…輸送スケジュール作成部、108
…結果出力部、109…記憶装置、110…拠点情報、
111…荷物情報、112…輸送車両情報、113…距
離テーブル、114…道路地図、115…輸送ルート情
報、116…積載量テーブル、117…遅延猶予時間テ
ーブル、118…遺伝子情報、119…車両管理情報。
置、104…処理装置、105…プログラム、106…
入力処理部、107…輸送スケジュール作成部、108
…結果出力部、109…記憶装置、110…拠点情報、
111…荷物情報、112…輸送車両情報、113…距
離テーブル、114…道路地図、115…輸送ルート情
報、116…積載量テーブル、117…遅延猶予時間テ
ーブル、118…遺伝子情報、119…車両管理情報。
フロントページの続き
(72)発明者 久保田 仙
神奈川県横浜市中区尾上町6丁目81番地
日立ソフトウエアエンジニアリング株式会
社内
(72)発明者 前川 拓也
神奈川県横浜市中区尾上町6丁目81番地
日立ソフトウエアエンジニアリング株式会
社内
Claims (10)
- 【請求項1】少なくとも入出力装置と処理装置と記憶装
置とを有するシステムを用いて物流センターと集配送先
拠点との間で荷物を集荷・配送する車両の輸送スケジュ
ールを作成する輸送計画作成方法であって、 物流センターと集配送先拠点の位置情報である拠点情報
を入力する拠点情報登録ステップと、 各荷物の荷物量、集荷・配送の別、集配送先拠点、およ
び配送時間制約を含む荷物情報を入力する荷物情報登録
ステップと、 輸送車両の積載量の限界情報を含む輸送車両情報を入力
する輸送車両情報登録ステップと、 前記ステップにより入力した情報から輸送車両の輸送ス
ケジュールを作成する輸送スケジュール作成ステップ
と、 作成した輸送スケジュールを出力する輸送スケジュール
出力ステップとを備えたことを特徴とする輸送計画作成
方法。 - 【請求項2】請求項1に記載の輸送計画作成方法におい
て、 前記輸送スケジュール作成ステップは、 複数輸送車両の輸送スケジュールからなる初期集団を作
成する初期スケジュール作成ステップと、作成した初期
スケジュール集団を遺伝的操作により改良するスケジュ
ール改良ステップとを含む遺伝的アルゴリズムを用い
て、輸送スケジュールを作成するものであることを特徴
とする輸送計画作成方法。 - 【請求項3】請求項2に記載の輸送計画作成方法におい
て、 前記輸送スケジュール作成ステップは、集荷・配送対象
の荷物を一意に識別するIDを輸送に利用する車両の巡回
順序で一次元に並べた遺伝子構造を用いた遺伝的アルゴ
リズムにより輸送スケジュールを作成するものであり、 該遺伝的アルゴリズムは交差処理を含み、該交差処理で
は、ランダムに第1の遺伝子と第2の遺伝子の二つの遺
伝子を選択し、ランダムに第1の遺伝子中の交差位置を
決め、第1の遺伝子の前記交差位置よりも前に記録され
ている輸送スケジュールに対し、その輸送スケジュール
に含まれていない第2の遺伝子中の荷物の集配送先拠点
をその順序に従って、前記輸送スケジュールにNI(Neare
st Insertion)法で挿入することを特徴とする輸送計画
作成方法。 - 【請求項4】請求項2に記載の輸送計画作成方法におい
て、 前記遺伝的アルゴリズムは突然変異処理を含み、該突然
変異処理では、ランダムに選択した遺伝子に記録されて
いる一つの荷物を選択し、またランダム距離を一つ選択
し、前記選択した荷物の集配送先拠点から、前記ランダ
ム距離以内の集配送先の荷物を、前記選択した遺伝子か
ら削除し、再度NI法で挿入することを特徴とする輸送計
画作成方法。 - 【請求項5】請求項3または4の何れか1つに記載の輸
送計画作成方法において、 前記NI法による集配送先の輸送スケジュールへの挿入処
理は、 輸送スケジュール中の各集配・配送先拠点における各車
両に積載している物流センターから配送先拠点への荷物
量と集荷拠点から物流センターへの荷物量から、各拠点
出発時の車両積載量を算出するステップと、 その拠点よりも、その車両の輸送ルート中で前方に位置
する拠点出発時の車両積載量の最大値と、その車両の輸
送ルートで後方に位置する拠点での出発時車両積載量の
最大値を、予め算出して記憶装置に格納するステップ
と、 輸送ルートに新たな集配先を挿入する場合、前記記憶装
置に格納した輸送ルートの後方での車両積載量の最大値
と前記集配先での集荷量との和を算出し、その値が車両
積載量上限を超えないこと、および、前記記憶装置に格
納した輸送ルートの前方での車両積載量の最大値と前記
集配先への配送量との和を算出し、その値が車両積載上
限を超えないことをチェックし、上限を超えていない輸
送ルート中のポイントへの挿入だけを行うステップとを
含むことを特徴とする輸送計画作成方法。 - 【請求項6】請求項5に記載の輸送計画作成方法におい
て、 前記NI法を用いて輸送スケジュールを作成する処理は、 新たな荷物の集配送先拠点を輸送スケジュールに追加し
た時点で、追加対象の輸送車両に関する、前記各車両の
輸送ルート上の各集配先拠点での、輸送ルート前方およ
び後方の車両積載量の最大値を再算出して、記憶装置に
格納するステップを含むことを特徴とする輸送計画作成
方法。 - 【請求項7】請求項3または4の何れか1つに記載の輸
送計画作成方法において、 前記NI法による集配送先の輸送スケジュールへの挿入処
理は、 一台の車両の輸送ルート上の各集配送先拠点で、車両の
到着時刻と指定されている集配送時間から、その車両に
ついてその拠点への到着遅延が許容される時間である猶
予時間を算出するステップと、 輸送ルート上で、その拠点と、その拠点よりも後方の集
配送先拠点での到着遅延時間の最小値を算出し、集配先
拠点毎に、上記到着遅延時間の最小値を記憶装置上に格
納するステップと、 NI法によりその車両の輸送ルートに新たな集配送先拠点
を挿入する場合に、挿入集配送先の直後の集配先への車
両到着時間が、この新たな集配先挿入により、記憶装置
上に格納した到着遅延時間の最小値を越えない場合にだ
け、輸送ルート中の、そのポイントへの新集配送先の挿
入を行うステップとを含むことを特徴とする輸送計画作
成方法。 - 【請求項8】請求項7に記載の輸送計画作成方法におい
て、 前記NI法による集配送先の輸送スケジュールへの挿入処
理は、 新たな集配送先拠点を輸送ルートに挿入した時点で、そ
の挿入を行った車両に関する、輸送ルート上の各集配先
拠点での車両到着遅延の猶予時間を再計算して記憶装置
に格納することを特徴とする輸送計画作成方法。 - 【請求項9】少なくとも入出力装置と処理装置と記憶装
置とを有し、物流センターと集配送先拠点との間で荷物
を集荷・配送する車両の輸送スケジュールを作成する輸
送計画作成システムであって、 物流センターと集配送先拠点の位置情報である拠点情報
を入力する拠点情報登録手段と、 各荷物の荷物量、集荷・配送の別、集配送先拠点、およ
び配送時間制約を含む荷物情報を入力する荷物情報登録
手段と、 輸送車両の積載量の限界情報を含む輸送車両情報を入力
する輸送車両情報登録手段と、 前記手段により入力した情報から輸送車両の輸送スケジ
ュールを作成する輸送スケジュール作成手段と、 作成した輸送スケジュールを出力する輸送スケジュール
出力手段とを備えたことを特徴とする輸送計画作成シス
テム。 - 【請求項10】請求項9に記載の輸送計画作成システム
において、 前記輸送スケジュール作成手段は、 複数輸送車両の輸送スケジュールからなる初期集団を作
成する初期スケジュール作成手段と、作成した初期スケ
ジュール集団を遺伝的操作により改良するスケジュール
改良手段とを含む遺伝的アルゴリズムを用いて、輸送ス
ケジュールを作成するものであることを特徴とする輸送
計画作成システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002092989A JP2003285930A (ja) | 2002-03-28 | 2002-03-28 | 輸送計画作成方法およびシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002092989A JP2003285930A (ja) | 2002-03-28 | 2002-03-28 | 輸送計画作成方法およびシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2003285930A true JP2003285930A (ja) | 2003-10-07 |
Family
ID=29237656
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002092989A Pending JP2003285930A (ja) | 2002-03-28 | 2002-03-28 | 輸送計画作成方法およびシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2003285930A (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009086995A (ja) * | 2007-09-28 | 2009-04-23 | Toshiba Corp | 郵便物集配システムおよび郵便物集配方法 |
| JP2011118758A (ja) * | 2009-12-04 | 2011-06-16 | Fujitsu Ltd | 業務支援装置および業務支援プログラム |
| WO2017068871A1 (ja) * | 2015-10-21 | 2017-04-27 | ソニー株式会社 | 情報処理装置、情報処理方法及び輸送システム |
| CN113496589A (zh) * | 2020-04-02 | 2021-10-12 | 丰田自动车株式会社 | 自主行驶车辆的运行管理装置以及运行管理方法 |
| CN113807785A (zh) * | 2021-09-22 | 2021-12-17 | 北京京东振世信息技术有限公司 | 一种物品运输的方法和装置 |
| EP4009242A1 (en) | 2020-12-01 | 2022-06-08 | Fujitsu Limited | Optimization apparatus and optimization method |
| CN113657790B (zh) * | 2021-08-24 | 2024-05-24 | 北京百度网讯科技有限公司 | 配送路径确定方法、装置、电子设备及可读存储介质 |
-
2002
- 2002-03-28 JP JP2002092989A patent/JP2003285930A/ja active Pending
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009086995A (ja) * | 2007-09-28 | 2009-04-23 | Toshiba Corp | 郵便物集配システムおよび郵便物集配方法 |
| JP2011118758A (ja) * | 2009-12-04 | 2011-06-16 | Fujitsu Ltd | 業務支援装置および業務支援プログラム |
| WO2017068871A1 (ja) * | 2015-10-21 | 2017-04-27 | ソニー株式会社 | 情報処理装置、情報処理方法及び輸送システム |
| US10845797B2 (en) | 2015-10-21 | 2020-11-24 | Sony Corporation | Information processing device, information processing method, and transportation system |
| CN113496589A (zh) * | 2020-04-02 | 2021-10-12 | 丰田自动车株式会社 | 自主行驶车辆的运行管理装置以及运行管理方法 |
| CN113496589B (zh) * | 2020-04-02 | 2023-02-17 | 丰田自动车株式会社 | 自主行驶车辆的运行管理装置以及运行管理方法 |
| EP4009242A1 (en) | 2020-12-01 | 2022-06-08 | Fujitsu Limited | Optimization apparatus and optimization method |
| CN113657790B (zh) * | 2021-08-24 | 2024-05-24 | 北京百度网讯科技有限公司 | 配送路径确定方法、装置、电子设备及可读存储介质 |
| CN113807785A (zh) * | 2021-09-22 | 2021-12-17 | 北京京东振世信息技术有限公司 | 一种物品运输的方法和装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Dethloff | Vehicle routing and reverse logistics: The vehicle routing problem with simultaneous delivery and pick-up: Fahrzeugeinsatzplanung und Redistribution: Tourenplanung mit simultaner Auslieferung und Rückholung | |
| CN102542395B (zh) | 一种应急物资调度系统及计算方法 | |
| Powell et al. | Real-time optimization of containers and flatcars for intermodal operations | |
| CN111626577B (zh) | 一种车辆调度方法和装置 | |
| Haridass et al. | Scheduling a log transport system using simulated annealing | |
| CN113033866A (zh) | 一种紧急订单配送调度优化方法 | |
| Stolk et al. | Combining vehicle routing and packing for optimal delivery schedules of water tanks | |
| CN113177752B (zh) | 一种路线规划方法、装置及服务器 | |
| Phuc et al. | Ant colony optimization for multiple pickup and multiple delivery vehicle routing problem with time window and heterogeneous fleets | |
| JP2005043974A (ja) | 輸送スケジュール作成方法及びシステム | |
| Ramírez-Villamil et al. | Integrating clustering methodologies and routing optimization algorithms for last-mile parcel delivery | |
| JP4025652B2 (ja) | 輸送計画作成システム及び方法 | |
| Setiawan et al. | On modelling and solving heterogeneous vehicle routing problem with multi-trips and multi-products | |
| JP2003285930A (ja) | 輸送計画作成方法およびシステム | |
| CN117075601A (zh) | 卡车与无人机同步运行协同配送的卡车路径规划方法 | |
| JP2008230816A (ja) | 調達物流スケジュール作成システム | |
| Coltorti et al. | Ant colony optimization for real-world vehicle routing problems | |
| JP2004001975A (ja) | 双方向輸送スケジュール作成方法 | |
| JP2002108998A (ja) | 輸送計画作成方法およびシステム | |
| JP2003285931A (ja) | 輸送計画作成方法およびシステム | |
| JP2003109170A (ja) | 輸送計画作成方法およびシステム | |
| Al Theeb et al. | Optimization of the heterogeneous vehicle routing problem with cross docking logistic system | |
| JP2003157312A (ja) | 輸送計画作成方法 | |
| JP4098018B2 (ja) | 配送計画システム及び配送計画方法 | |
| JP2003137437A (ja) | 輸送計画作成方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040607 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061219 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061225 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070502 |