[go: up one dir, main page]

JP2005043974A - Transportation schedule creation method and system - Google Patents

Transportation schedule creation method and system Download PDF

Info

Publication number
JP2005043974A
JP2005043974A JP2003200186A JP2003200186A JP2005043974A JP 2005043974 A JP2005043974 A JP 2005043974A JP 2003200186 A JP2003200186 A JP 2003200186A JP 2003200186 A JP2003200186 A JP 2003200186A JP 2005043974 A JP2005043974 A JP 2005043974A
Authority
JP
Japan
Prior art keywords
transportation
vehicle
schedule
transport
package
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
Application number
JP2003200186A
Other languages
Japanese (ja)
Inventor
Takashi Onoyama
隆 小野山
Takashi Yanagida
崇 柳田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2003200186A priority Critical patent/JP2005043974A/en
Publication of JP2005043974A publication Critical patent/JP2005043974A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Traffic Control Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】輸送スケジュール作成において、輸送時間制約を含む多数の制約条件の充足と共に、必要車両台数が抑制を同時に満足する必要がある。
【解決手段】輸送スケジュールを作成する際に、輸送拠点の位置情報を入力し、荷物の荷物量、輸送先、輸送指定時間含む荷物情報と、輸送車両の積載量限界を含む輸送車両情報を入力し、拠点の地理的位置、輸送指定時間等の制約条件を解析して、同一車両での輸送が不可能な荷物を予め算出するとともに、複数車両の輸送ルートからなる輸送スケジュール構築時に、構築途上の複数輸送ルートに、新たな輸送先を追加する場合に、追加対象の車両の走行距離増分が、その輸送先追加前の走行距離の一定割合を越えない場合にだけ追加を行うことで、スケジュール作成中の車両ルートに、既に割当てられている輸送先拠点から遠距離の拠点への輸送割当てを防止する。
【選択図】 図1
In creating a transportation schedule, it is necessary that the number of necessary vehicles simultaneously satisfy the suppression while satisfying a number of constraints including transportation time constraints.
When creating a transportation schedule, the location information of the transportation base is input, and the luggage information including the luggage volume, the transportation destination, the designated transportation time, and the transportation vehicle information including the loading capacity limit of the transportation vehicle are input. Analyzing constraints such as the geographical location of the base and designated transportation time, and calculating in advance the luggage that cannot be transported by the same vehicle, and developing a transportation schedule consisting of transportation routes of multiple vehicles When adding a new transport destination to the multiple transport routes, the schedule is only added if the mileage increment of the target vehicle does not exceed a certain percentage of the travel distance before adding the transport destination. The transportation assignment from the transportation destination base already assigned to the vehicle route being created to the base far away is prevented.
[Selection] Figure 1

Description

【0001】
【発明の属する技術分野】
本発明は、物流分野におけるスケジューリング作成を計算機で行う方法および装置、システム、プログラムに関するものであり、具体的には計算機を利用した物流計画の作成方法に関するものである。
【0002】
【従来の技術】
物流システムでの、輸送スケジュール作成技術としては、いわゆる巡回セールスマン問題やビークルルーティング問題に相当する一定地域内に存在する顧客先の効率的な巡回計画を作成する技術はすでに開発されている(特開平5−135070号公報「配送スケジューリング装置」)。
【0003】
例えば、特開平10−124588号公報「地理情報に基づくスケジュール作成装置」は地理情報と共に、顧客先間の最短経路決定にニューラルネットを用いることで、最適なスケジュール作成を行っている。
【0004】
また、特開平8−115495号公報「自動配車装置」では、多数の配送先をクラスタリングして、各クラスター内で輸送ルートを作成する方式を実現している。
【0005】
更に、特開平9−305669号公報「配送計画方法と装置」は、トラックの積載量制約と稼働時間制約を守った上で効率的な配車計画を作成するために、いわゆるスウィープ法(増井忠幸他著「ロジスティクスのOR」槇書店 1998年)に基づく技法を用いている。
【0006】
更に、小規模な輸送ルートを高速に作成する方法として、2opt法やLK法などのアルゴリズムも開発されてきている(茨木俊秀「離散最適化法とアルゴリズム」岩波書店 1993年)。
【0007】
【特許文献1】
特開平5−135070号公報
【特許文献2】
特開平10−124588号公報
【特許文献3】
特開平8−115495号公報
【特許文献4】
特開平9−305669号公報
【非特許文献1】
増井忠幸他著「ロジスティクスのOR」槇書店 1998年
【非特許文献2】
茨木俊秀「離散最適化法とアルゴリズム」岩波書店 1993年
【0008】
【発明が解決しようとする課題】
トラック輸送などを対象とした物流のスケジュール作成は、一般にトラックなどの機材や物流センターなどの設備利用効率の向上や運用に関わる人員の業務効率向上を通して物流コストの削減を目的としている。また、サプライチェーンマネージメントと進展に伴い、ジャスト・イン・タイムでの輸送も求められている。更に、実際のトラックの運用を考えると、スケジュール作成時には、トラックの運行エリアや、利用車種の制限、利用車庫など様々な制約条件を考慮しなければならない。
【0009】
また、実際の運用では、顧客からの受注や、トラックや物流センターの要員の確保にも時間的余裕が必要なため、スケジュール作成に要する時間も限られている。このため、輸送車両のスケジュール作成を自動化するためには、単にスケジュールの最適性だけでなく、実用的な応答性能も要求される。
【0010】
しかし、物流スケジュールの作成は、数学的には巡回セールスマン問題やビークルルーティング問題に分類される問題であり、実用的な処理時間内に厳密解を求めることが不可能である。従って、高精度の近似解法が必要とされる。
【0011】
しかしながら、単純なスィープ法やセービング法などの近似解法では、最適解から数十%誤差を含む解が生成されることもあり、実用化は困難である。このため、タブーサーチやSA(Simulated Annealing)法、GA(Genetic Algorithm:遺伝的アルゴリズム)などの最適化技法を適用した解法が提案されている。
【0012】
これらの技法を適用しても、先に記したような制約条件がある場合には、スケジュール作成時に、これら多数の制約条件のチェックが必要となり、応答性能上の問題が発生する。
【0013】
【課題を解決するための手段】
上記問題を解決するために、請求項1に関わる発明は、少なくとも入出力装置と処理装置と記憶装置を有し、物流センターから輸送先拠点への荷物輸送を行う複数車両の、各車両への輸送担当荷物の割当と、各車両の輸送ルートを作成する輸送スケジュール作成システムであって、物流センターや、輸送先などの拠点の位置情報を入力する拠点情報登録ステップと、各荷物の荷物量、輸送先拠点・配送時間制約を含む荷物情報を入力する荷物情報登録ステップと、トラックなどの輸送車両の積載量限界などを含む輸送車両情報を入力する輸送便情報登録ステップと、同一車両で巡回可能な輸送拠点を入力する輸送エリア情報登録ステップと、拠点の地理的位置や各拠点の輸送時間制約などの制約条件を解析し、同一車両での巡回が不可能な荷物の情報を示す排他荷物情報を生成する制約条件解析ステップと、これらの情報からトラックなどの輸送車両の輸送スケジュールを作成する輸送スケジュール作成ステップと、作成した輸送スケジュールを出力するスケジュール出力ステップとを備えた輸送スケジュール作成方法であり、輸送スケジュール作成スッテプは、GA(Genetic Algorithm:遺伝的アルゴリズム)を用い、つまり、輸送スケジュールを複数生成する初期集団作成ステップと、その初期スケジュール集団を突然変異及び交差処理等の遺伝的操作を適用して改良するスケジュール改良スッテプからなり、更に、初期集団作成ステップとスケジュール改良ステップにおいて、各車両への荷物割当時に制約条件解析ステップにおいて作成された排他荷物情報を参照して、同一車両に積載可能な荷物を決定することを特徴とする。
【0014】
請求項2に係る発明は、請求項1記載の輸送スケジュール作成ステップに適用した遺伝的アルゴリズムにおいて、輸送対象の荷物を一意に識別するIDを設け、そのIDを輸送に利用する車両の巡回順序で一次元に並べた遺伝子構造を用い、その交差処理においてはランダムに二つの遺伝子を選択して、その交差位置を決め、一方の遺伝子の交差位置よりも前に記録されている輸送スケジュールと、その輸送スケジュールに含まれていない荷物を、もう一方の遺伝子中に現れる順序に従って、先の一方の遺伝子の交差位置よりも前方の輸送スケジュールに含まれている車両のルートへNI法(Nearest Insertion Method:最近隣挿入法)で追加した場合の、その輸送車両の距離の増分が、その輸送車両の、その荷物追加前の走行距離の一定割合を越えない場合にだけ追加し、追加できない荷物は、他の追加可能な荷物の追加処理の後に、再度、その時点の輸送スケジュールに含まれている輸送車両のルートへNI法を用いて追加し、制約条件を満足する輸送車両がない場合には輸送車両のスケジュールへの追加を行うことを特徴とする。
【0015】
請求項3に係る発明は、請求項1記載の輸送スケジュール作成ステップに適用した遺伝的アルゴリズムの突然変異操作において、ランダムに選択した遺伝子に記録されている一つの荷物を選択し、その荷物の輸送先拠点および、更にランダム距離を一つ選択して、先に選択した輸送先拠点から、その距離以内の集配送先の荷物を、遺伝子から削除し、これら荷物を輸送スケジュールに含まれている輸送車両のルートへNI法(Nearest Insertion Method:最近隣挿入法)で追加した場合に、その輸送車両の走行距離の増分が、その輸送車両の元の走行距離の一定割合を越えない場合にだけ再度追加し、追加できない荷物は、他の追加可能な荷物の追加処理の後に、再度、その時点で、輸送スケジュールに含まれている輸送車両のルートへNI法を用いて追加し、制約条件を満足する輸送車両がない場合には輸送車両のスケジュールへの追加を行うことを特徴とする。
【0016】
【発明の実施の形態】
以下、本発明の一実施例を図面を用いて説明する。
【0017】
本実施形態では、輸送は物流センターに所属する複数台の輸送車両(トラック等)が物流センターを出発して、複数の輸送先拠点への荷物を行うスケジュールの作成を想定している。この実施例は、荷物の配送を想定しているが、当然複数の拠点から物流センターに荷物を集める、集荷スケジュールの作成にも適用できるものである。
【0018】
図1は、本発明のシステムの構成図である。
【0019】
本システムは、入力装置(101)、プリンタなどの出力装置(102)、ディスプレイなどの表示装置(103)、処理装置(104)、記憶装置(105)を備える。
【0020】
処理装置(104)は、入力処理部(107)、制約条件解析処理部(108)、輸送スケジュール作成部(109)および結果出力部(110)を含む一連のプログラム(106)を実行する。
【0021】
また、記憶装置(105)には、拠点情報(111)、荷物情報(112)、輸送車両情報(113)、輸送エリア定義情報(114)、距離テーブル(115)、道路地図(116)、排荷物情報(117)及び、これらから作成される。輸送ルート情報(118)が格納される。また、輸送ルート作成に用いる、遺伝子情報(119)及び車両管理情報(120)も格納される。
【0022】
図2は図1の記憶装置(105)に格納される拠点情報(111)の一例を示している。
【0023】
拠点情報(111)には、物流センターや荷物の集配送先拠点の位置情報を格納する。具体的には、物流センターや輸送先拠点を一意に識別する拠点ID(201)、拠点の名称(202)、拠点の住所(203)、拠点の位置を示す緯度(204)と経度(205)等が格納される。
【0024】
図3は図1の記憶装置(105)に格納される荷物情報(112)の一例を示している。
【0025】
荷物情報(112)には、輸送の対象となる各荷物に関する情報を格納する。具体的には、個々の荷物に1から順次付与した荷物インデックス(301)、荷物を一意に識別する荷物ID(302)、物流センターから配送先に送る荷物か、荷物の輸送先を示す拠点ID(303)、荷量(304)、その輸送先への車両の到着指定時間帯を示す時間制約(305)からなる。
【0026】
図4は図1の記憶装置(105)に格納される輸送車両情報(113)の一例を示している。
【0027】
輸送車両情報(113)には、利用可能な車両の積載重量に関する能力や限界、また、車両の稼働時間についての情報を格納する。具体的には、輸送車両情報には、車両を一意に識別するために1から順次付与した車両No(401)、その種類の車両の積載重量限界値(402)、および、その車両の物流センターからの出発時間(403)と配送業務を終える終了時間(404)からなる。
【0028】
図5は図1の記憶装置(105)に格納される輸送エリア定義情報(114)の一例を示している。
【0029】
エリア定義情報(114)には、各拠点のエリアIDを登録する。このエリアIDが同一であることは、同一のエリアIDを付与された拠点は、同一の輸送車両で巡回が可能であることを表す。つまり、輸送スケジュール作成時に、異なるエリアIDを有する拠点の荷物は同一の輸送車両には割当てない。
【0030】
具体的には、エリア定義情報には、拠点ID(501)と、そのエリアID(502)を登録する。また、本実施例では、このエリア定義情報に登録されていない拠点は、どのエリアを巡回する輸送車両でも輸送可能として扱う。
【0031】
図6は図1の記憶装置(105)に格納される排他荷物情報(117)の一例を示している。
【0032】
排他荷物情報(117)は、制約条件解析処理部(108)により、輸送先拠点の地理的位置や輸送時間制約等の制約条件を解析し、同一車両での輸送が不可能な荷物の情報が設定されている。つまり、荷物インデックスがIとJの荷物が同一車両に混載して輸送ができない場合には、この排他荷物情報を表すテーブルの(I,J)要素と(J,I)要素には1を設定する。それ以外の要素には0を設定する。
【0033】
図7は図1の記憶装置(105)に格納される距離テーブル(115)の一例を示している。
【0034】
距離テーブル(117)には、二つの拠点のID(701と702)及び、その拠点ID1(701)から拠点ID2(702)への輸送車両による走行距離(703)及び走行所要時間(704)を格納する。
【0035】
図8は図1の記憶装置(105)に格納される輸送ルート情報(118)の一例を示している。
【0036】
輸送ルート情報(118)は、本発明に係わる方法によって作成される輸送スケジュールで車両が巡回する拠点と、その車両の巡回順序を示す情報を格納する。具体的には車両No(801)、車両の巡回拠点数(802)、や輸送先拠点の拠点ID(803)と、その拠点への到着時間(804)、その拠点との輸送を行う荷物のインデックス(805)を格納する。また、合計荷物量(810)や総走行距離(811)を格納する。
【0037】
図9の遺伝子情報(116)は輸送スケジュール作成部(109)で用いる遺伝的アルゴリズムによる輸送スケジュール作成で用いる遺伝子表現の一例を示している。遺伝子には、トラックなどの輸送車両で配送する荷物の荷物インデックス(901)がそれぞれ格納される。
【0038】
車両管理情報(120)には、輸送スケジュール作成部(109)で用いる遺伝子情報(119)の車両への対応関係を示す情報を格納する。遺伝子情報(119)は、単に荷物インデックスを一次元に並べた配列であり、どの荷物がどの車両に積載されているかは記録されていない。この車両管理情報には、各車両に積載される荷物が、遺伝子情報のどの部分に対応しているかを示すために、以下の情報を車両毎に格納する。つまり車両を一意に識別する車両No(904)、その車両に積載する荷物の遺伝子上での開始位置を示す遺伝子開始位置(905)、終了位置を示す遺伝子終了位置(906)からなる。
【0039】
図10は、図1中の処理装置(104)が実行するプログラム(106)の概要を示すフローチャートである。まず入力処理ステップ(1001)で、拠点情報(111)、荷物情報(112)、輸送車両情報(113)、輸送エリア定義情報(114)等の輸送計画を作成するために必要な情報をユーザが入力する。この処理の詳細は図11に後述する。次の制約条件解析処理(1002)では、輸送先拠点の地理的位置や輸送時間制約等の制約条件を解析し、排他荷物情報(117)を生成する。この処理の詳細は、図12に後述する。次の輸送スケジュール作成ステップ(1003)では、入力処理ステップ(1001)によって得られた情報から、最適と考えられる輸送計画を決定する。ここで輸送計画の決定とは、入力された全ての荷物を配送先に届けることが可能なトラックが従うべき荷物のトラックへの割り当てとスケジュール(輸送スケジュール情報)を決定することを指す。この処理の詳細は図13に後述する。次に、結果出力処理ステップ(1004)では、作成したスケジュールを、その評価とともに出力する。この処理の詳細は図23で後述する。
【0040】
図11は、図10中の入力処理ステップ(1001)の詳細を示すフローチャートである。まず、拠点情報登録ステップ(1101)で、拠点情報(111)の登録を行う。次に、荷物情報登録ステップ(1002)で、荷物情報(112)の登録を行う。次に輸送車両情報登録ステップ(504)で、輸送車両情報 (113)の登録を行う。次に輸送エリア登録処理(1104)で、輸送エリア定義情報(114)の登録を行う。次に距離テーブル生成処理(1105)で拠点間の距離とトラックによる走行所要時間を道路地図(116)を参照して生成する。なお、道路地図(116)はカーナビゲーションで利用されるような道路及びその道路間の接続関係や距離情報が格納されているものが予め用意されているものとする。
【0041】
図12は図10中の制約条件解析処理(1002)の詳細を示すフローチャートである。ここでは、各拠点の地理的条件や、荷物毎に指定されている時間制約を解析して、同一車両に混載して輸送できない荷物を決定し、排他荷物情報(117)を生成する。こ具体的には、まず、排他荷物情報を初期化する(1201)。つまり、二次元配列である排他荷物情報の全要素に0を代入する。以下、排他荷物情報は二次元配列XL[I,J]と記述する。次に、二つの荷物を同一車両に混載した場合に、制約違反が生ずるか否かを以下の処理により判定する。
【0042】
まず、変数Iに1を代入する(1202)。次にIの値と荷物情報に登録されている荷物数を表す変数L_MAXを比較する(1203)。IがL_MAXよりも大きい場合には処理を終える、IがL_MAX以下の場合には、以下の処理を行う。まず、変数JにI+1を代入する(1204)。次に、JとL_MAXを比較する(1205)。もしJがL_MAXよりも大きければ、ステップ1220に進み、変数Iに1を加え(1220)、次ステップ1203に戻り処理を繰り返す。
【0043】
ステップ1205でJがL以下ならば、荷物情報(112)の荷物インデックス(301)がIとJの荷物の同一車両への混載が制約条件違反を生じるか否かを判定するために以下の処理を行う。
【0044】
まず、荷物IとJの荷物の輸送先拠点の輸送エリア定義に登録されているエリアIDが異なっているかチェックする(1206)。もし、二つの拠点共にエリアIDが登録されていて、両者のエリアIDが異なる場合にだけこの条件は成立する。本実施例では、少なくとも片方の拠点のエリアIDが登録されていない場合には、そのエリア情報が登録されていない拠点は、他のエリアIDの拠点を巡回する輸送車両の荷物と混載可能であるとしているので、上記以外の場合には条件は成立しない。
【0045】
次に、二つの拠点を巡回する車両が、車両の走行時間上限内で走行可能か判定する。つまり、変数D1に物流センターと荷物Iの輸送先拠点の走行所要時間を距離テーブルを参照して代入する(1207)。次に、変数D1にセンターと荷物Jの輸送先拠点の走行所要時間を同じようにして代入する(1208)。次に、変数D3に荷物Iと荷物Jの輸送先拠点間の走行所要時間を同じようにして代入する(1209)。次に、変数DにD1とD2とD3の和を代入する(1210)。次に、変数Dの値とトラックの走行時間上限を比較する(1211)。Dがトラック走行時間上限を超過している場合には(ステップ1211でNoの場合)、排他情報テーブルの(I,J)要素と(J,I)要素に1を代入し(1217,1218)して、次の荷物の組合せに移る。
【0046】
ステップ1211の判定でYesの場合には、二つの荷物がそれぞれの輸送指定時間枠内に輸送可能か調べるために以下の処理を行う。まず変数BIに荷物Iの輸送指定時間枠の開始時刻を代入する(1212)。
【0047】
次に、変数EIに荷物Iの輸送指定時間枠の終了時刻を代入する(1213)。次に、変数BJに荷物Jの輸送指定時間枠の開始時刻を代入する(1214)。次に、変数EJに荷物Jの輸送指定時間枠の終了時刻を代入する(1215)。
【0048】
次に、D3が(EJ−BI)以下またはD3が(EI−BJ)以下かチェックする(1216)。条件が成立しない場合には、ステップ1217,1218で排他荷物情報の(I,J)及び(J,I)要素に1を設定する。ステップ1216で条件が成立した場合には、荷物Iと荷物Jは時間制約からだけでは同一車両での輸送が不可能とは判定できないので、排他荷物情報の(I,J)及び(J,I)要素は0のまま、次の処理に移る。
【0049】
次に、変数Jに1を加え(1219)ステップ1205に戻る。ステップ1205の判定結果がYesの場合にはステップ1220に進み変数Iに1を加えステップ1203に戻る。
【0050】
図13は、図10中の輸送スケジュール作成処理(1003)の詳細を示すフローチャートである。このスケジュール作成処理は、GA(遺伝的アルゴリズム)に従っている。まず、ランダム性を含んだ方法によって、それぞれが異なる初期解集団を作成する(1301)。この処理の詳細は図19に後述する。次に、変数Iに1を代入する(1302)。次に遺伝的処理による解集団の改良を行う(1303)。この処理の詳細は図20で後述する。(1303)の処理によって、解集団の少なくとも一部分は変化し、(1303)〜(1305)の処理の繰り返しによって解集団は徐々に最適な解へ近づいて行く。(1302)の処理の後、集団の評価を行う(1304)。評価はルート情報から算出される車両の走行距離や利用車両台数などさまざまな要素に対し行われ、その結果によって解集団中の個々の解に対して順位がつけられる。この評価結果が上位の解を、次世代の解として選択する(1305)。次に変数Iに1を加える(1306)。
【0051】
Iが予め設定されているGAの処理世代数G_MAXを越えるか、次世代の集団中の最良解の評価値が予め与えられている目標値よりも良いかチェックする(1307)。もし条件が成立すれば、現在の解集団で最良の解を出力して(1308)処理を終える。ステップ1307で条件が成立しなければ、ステップ1303に戻り遺伝的処理による解集団の改良を繰り返す。
【0052】
図14は、図13の遺伝的アルゴリズムを用いた輸送スケジュール作成処理の初期解集団の作成(1301)、解集団の改良処理(1303)で用いる荷物の輸送スケジュールへの荷物の追加処理の詳細を示すフローチャートである。この処理は、複数台の輸送車両からなる輸送スケジュールに、一つの荷物の集配送を追加する処理である。
【0053】
配列Lに、追加する荷物の荷物インデックスが登録されているとする。また、配列Lに登録されている荷物数は変数L_MAXに登録されているとする。まず、変数Iに1を代入する(1401)。次にIとL_MAXを比較する(1402)。IがL_MAX以下の場合(1402でNoの場合)には、以下の処理を行う。まず荷物L[I]を輸送可能な車両があるかチェックする(1403)。この処理の詳細は図15で説明する。ステップ1403の処理で、輸送可能な車両がある場合には、荷物L[I]をその車両に追加し(1405)、L[I]に−1を代入して(1406)、変数Iに1を加え(1407)、ステップ1402に戻り次の荷物の処理に移る。ステップ1404でNoの場合には、ステップ1407に移る。
【0054】
ステップ1402の判定がYesの場合には、ステップ1408に移り、変数Iに1を代入する。
【0055】
次に、変数IとL_MAXの値を比較する(1409)。IがL_MAXより大きい場合には、処理を終える。IがL_MAX以下の場合には以下の処理を行う。
【0056】
まず、L[I]が−1と等しいかチェックする(1410)。等しい場合には、L[I]は既に車両への割当て済みなのでステップ1415に進み変数Iに1を加え次の荷物の処理に移る。
【0057】
ステップ1410でL[I]が−1と等しくない場合には、次の処理を行う。
【0058】
まず、荷物L[I]を輸送可能な車両があるかチェックする(1411)。この処理の詳細は図16で説明する。
【0059】
もし追加可能な車両があれば、その車両に荷物L[I]を追加する(1413)。追加可能な車両が無い場合には、新たな車両を、荷物L[I]の輸送用に割当てる(1414)。次に、変数Iに1を加え(1415)、ステップ1409に戻り、次の荷物の処理に移る。
【0060】
図15は図14中のステップ1403の処理の詳細を示すフローチャートである。
【0061】
この処理では、追加対象の荷物を積載可能な輸送車両を探索し、もしある場合には変数Truckにその車両の番号及び荷物の積載位置を変数Pに代入する。もし無い場合にはPには−1が設定される。
【0062】
Max_Truckには、既に荷物の輸送を割当て済みの輸送車両数が設定されているものとする。
【0063】
まず、変数Kに1を代入し、変数Dには、利用する計算機で表現できる最大の整数Max_Valueを設定し、変数TruckとPには−1を設定する(1501)。次に、変数KとMax_Truckの値を比較する(1502)。もしKがMax_Truckよりも大きければ、処理を終える。
【0064】
KがMax_Truck以下の場合には、次の処理を行う。まず、K番目の輸送車両に荷物の追加が可能か否かをチェックする(1503)。この処理の詳細は図17に後述する。追加可能な場合には、ステップ1503の処理で設定される、その車両の運行時間の増分D_MINと変数Dの値を比較する(1505)。もしDが大きければ、DにはD_MINの値を代入し、TruckにはK、PにはPosを代入する(1506)。変数D_MIN及びPosにはステップ1503の処理で値が設定される。DがD_MIN以下ならば、ステップ1507に移り次の車両のチェックを行う。
【0065】
図16は図14中のステップ1411の処理の詳細を示すフローチャートである。
【0066】
この処理では、追加対象の荷物を積載可能な輸送車両を探索し、もしある場合には変数Truckにその車両の番号及び荷物の積載位置を変数Pに代入する。もし無い場合にはPには−1が設定される。
【0067】
Max_Truckには、既に荷物の輸送を割当て済みの輸送車両数が設定されているものとする。
【0068】
まず、変数Kに1を代入し、変数Dには、利用する計算機で表現できる最大の整数Max_Valueを設定し、変数TruckとPには−1を設定する(1601)。次に、変数KとMax_Truckの値を比較する(1602)。もしKがMax_Truckよりも大きければ、処理を終える。
【0069】
KがMax_Truck以下の場合には、次の処理を行う。まず、K番目の輸送車両に荷物の追加が可能か否かをチェックする(1603)。この処理の詳細は図18に後述する。追加可能な場合には、ステップ1603の処理で設定される、その車両の運行時間の増分D_MINと変数Dの値を比較する(1605)。もしDが大きければ、DにはD_MINの値を代入し、TruckにはK、PにはPosを代入する(1606)。変数D_MIN及びPosにはステップ1603の処理で値が設定される。DがD_MIN以下ならば、ステップ1607に移り次の車両のチェックを行う。
【0070】
図17は、図15のフロー図中のステップ1503の詳細を示すフローである。
【0071】
この処理では、スケジュールに追加する荷物の荷物インデックスを変数Lに代入してあるものとする。また、荷物Lが追加可能か判定する対象の車両番号が設定されているとする。この処理が終わると、荷物Lの輸送が車両T_Noで可能であった場合には、変数Posに追加位置が設定され、D_MINに、その荷物の追加による車両の走行時間の増分値が設定される。追加できなかった場合には、Posには−1、D_MINにはMax_Valueが設定される。変数まず、変数Zに荷物Lの輸送先拠点のIDを代入する(1701)。次に、変数Vに荷物Lの荷量を代入する(1702)。次に変数Posに−1を、D_MINに利用する計算機で表現可能な最大数(Max_Valueと表記する)を設定する(1703)。次に変数Iに車両管理情報(120)を参照して、T_No番目の車両の遺伝子開始位置を設定する(1704)。次に変数THにT_No番目のの車両の総走行時間を代入する(1705)。次に、荷物LとT_No番目の車両に積載されている荷物が同一車両で輸送不可能でないかを排他荷物情報を参照して判定する(1706)。つまり、荷物LとT_No番目の車両に積載されている荷物の荷物インデックスを用いて、二次元配列である排他荷物情報を参照して、その要素が1の場合には同一車両では輸送できないと判定する。ステップ1706のチェックで載せあわせが不可能と判定された場合には、処理を終える(1707)。それ以外の場合には、以下の処理を行う。
【0072】
次に、変数Iの値と、その車両の遺伝子終了位置+1の値を比較する(1708)。Iが大きい場合には、処理を終える。Iが前記の値を超えていない場合には、次の処理を行う。
【0073】
まず、IがT_No番目の車両の遺伝子開始位置と比較する(1709)。等しい場合には、変数Xには車両が出発する物流センターを表す拠点IDを代入する(1711)。等しくない場合には、その車両の遺伝子情報中の(I−1)番目の荷物の集配送先の拠点IDを代入する(1710)。次に、IとT_No番目の車両の遺伝子終了位置+1の値と比較する。もし等しければ、変数Yには物流センターの拠点IDを代入する(1714)。等しくない場合には、YにT_No番目の車両のI番目の荷物の集配送先拠点のIDを代入する(1713)。
【0074】
次に、荷量Vの荷物Lを、I番目の車両のX番目の輸送荷物とY番目の輸送荷物の間に積載可能かチェックする(1715)。つまり、追加対象荷物が、配送荷物の場合には、車両が出発する物流センターから、X番目の輸送荷物の集配送先拠点までの間で、その車両の荷量にLを加えた値が、その車両の最大積載量を超過しないかチェックする。また、その荷物が集荷荷物の場合には、その車両のY番目の荷物の集配送先拠点から、物流センターに戻るまでの間の各集配送先拠点での積載荷量にLを加えた値が、その車両の最大積載量を超過していないかをチェックする。
【0075】
次にT_DeltaにXとZ間の所要時間と、ZとY間の所要時間の和からXとY間の所要時間を差し引いた値を代入する(1716)。次に、その車両のY以降の荷物の輸送で巡回する集配送先の車両到着時間にDelta_Tを加えた値が、時間制約を破らないかチェックする(1717)。図17ではTIME(X,Y)で拠点XからYへの車両の走行所用時間を表している。次に、T_DeltaがTHの0.25倍を超えていないかチェックする(1718)。超えている場合には、処理を終える。超えていない場合には、以下の処理を行う。
【0076】
次D_MINとT_Deltaを比較する(1719)。T_Deltaが小さければ、D_MINにT_Deltaの値を代入し、PosにIの値を代入する(1720)。
【0077】
次に、Iに1を加え(1721)、ステップ1708に戻り次の追加位置のチェックに移る。
【0078】
図18は、図16のフロー図中のステップ1603の詳細を示すフローである。
【0079】
この処理では、スケジュールに追加する荷物の荷物インデックスを変数Lに代入してあるものとする。また、荷物Lが追加可能か判定する対象の車両番号が設定されているとする。この処理が終わると、荷物Lの輸送が車両T_Noで可能であった場合には、変数Posに追加位置が設定され、D_MINに、その荷物の追加による車両の走行時間の増分値が設定される。追加できなかった場合には、Posには−1、D_MINにはMax_Valueが設定される。変数まず、変数Zに荷物Lの輸送先拠点のIDを代入する(1801)。次に、変数Vに荷物Lの荷量を代入する(1802)。次に変数Posに−1を、D_MINに利用する計算機で表現可能な最大数(Max_Valueと表記する。)を設定する(1803)。次に変数Iに車両管理情報(120)を参照して、T_No番目の車両の遺伝子開始位置を設定する(1804)。次に、荷物LとT_No番目の車両に積載されている荷物が同一車両で輸送不可能でないかを排他荷物情報()を参照して判定する(1805)。つまり、荷物LとT_No番目の車両に積載されている荷物の荷物インデックスを用いて、二次元配列である排他荷物情報を参照して、その要素が1の場合には同一車両では輸送できないと判定する。ステップ1805のチェックで載せあわせが不可能と判定された場合には、処理を終える(1806)。それ以外の場合には、以下の処理を行う。
【0080】
次に、変数Iの値と、その車両の遺伝子終了位置+1の値を比較する(1807)。Iが大きい場合には、処理を終える。Iが前記の値を超えていない場合には、次の処理を行う。
【0081】
まず、IがT_No番目の車両の遺伝子開始位置と比較する(1808)。等しい場合には、変数Xには車両が出発する物流センターを表す拠点IDを代入する(1810)。等しくない場合には、その車両の遺伝子情報中の(I−1)番目の荷物の集配送先の拠点IDを代入する(1809)。次に、IとT_No番目の車両の遺伝子終了位置+1の値と比較する。もし等しければ、変数Yには物流センターの拠点IDを代入する(1813)。等しくない場合には、YにT_No番目の車両のI番目の荷物の集配送先拠点のIDを代入する(1812)。
【0082】
次に、荷量Vの荷物Lを、I番目の車両のX番目の輸送荷物とY番目の輸送荷物の間に積載可能かチェックする(1814)。つまり、追加対象荷物が、配送荷物の場合には、車両が出発する物流センターから、X番目の輸送荷物の集配送先拠点までの間で、その車両の荷量にLを加えた値が、その車両の最大積載量を超過しないかチェックする。また、その荷物が集荷荷物の場合には、その車両のY番目の荷物の集配送先拠点から、物流センターに戻るまでの間の各集配送先拠点での積載荷量にLを加えた値が、その車両の最大積載量を超過していないかをチェックする。
【0083】
次にT_DeltaにXとZ間の所要時間と、ZとY間の所要時間の和からXとY間の所要時間を差し引いた値を代入する(1815)。次に、その車両のY以降の荷物の輸送で巡回する集配送先の車両到着時間にDelta_Tを加えた値が、時間制約を破らないかチェックする(1816)。図17ではTIME(X,Y)で拠点XからYへの車両の走行所用時間を表している。次D_MINとT_Deltaを比較する(1817)。T_Deltaが小さければ、D_MINにT_Deltaの値を代入し、PosにIの値を代入する(1818)。
【0084】
次に、Iに1を加え(1819)、ステップ1807に戻り次の追加位置のチェックに移る。
【0085】
図19は図13中の初期解集団生成処理(1301)の詳細を示すフローチャートである。
【0086】
なお、一つの解には複数の車両の巡回スケジュールが登録されている。また、解集団は複数の解を含んでいる。
【0087】
変数SIZEには、予め初期集団に登録する遺伝子の個体数を設定しておく。また、変数LENにはルートに登録される配送先拠点の数を設定しておく。
【0088】
まず、変数Iに0を代入する(1901)。次にIがSIZEよりも小さい間、(1903)から(1906)の処理を繰り返してSIZEで指定された個数の遺伝子を生成する。
【0089】
まず、各要素に値が設定されていない空の遺伝子を記憶するエリアを生成する(1903)。
【0090】
次に、荷物情報の荷物をランダムな順序に並べかえた配列Tを作成する(1904)。
【0091】
次に、空の遺伝子に、配列Tに登録した荷物を、この順序で図14に示した追加手順により順次追加する(1905)。
【0092】
次に変数Iに1を加えて(1906)次の初期解の作成に移る。
【0093】
図20は、図13中の解集団の改良(1303)の詳細を示すフローチャートである。遺伝的処理は、解集団の変化、改良を行うGAの中心的な処理である。
【0094】
まず、変数SIZEに解集団に登録されている解の個数を代入する(2001)。次にC_NUMにSIZEに予め設定されている交差率を掛けて、その値を超えない最大整数を代入する(2002)。次に、変数Iに1を代入する。IがC_NUM以下の場合には、次の処理を繰り返して交差処理を行う(2004)。
【0095】
まず、解集団から異なる二つの解(遺伝子)を選択する(2005)。
【0096】
次に、選択した二つの解(遺伝子)を元に、交差処理を行い、交差処理で新たに生成された解(遺伝子)を解集団に加える(2006)。
【0097】
この交差処理の詳細は、図21で詳細を説明する。
【0098】
次に、Iに1を加え(2007)ステップ2004に戻り次の交差処理に移る。
【0099】
ステップ2004でIがC_NUMを超過していれば、次に突然変異処理に移る。つまり、変数M_NUMにSIZEに予め設定されている突然変異率を掛け、その値を超えない最大整数を代入する(2008)。
【0100】
次に、変数Iに1を代入する(2009)。
【0101】
次に、IがM_NUMの値以下の間、次の処理を繰り返す(2010)。
【0102】
まず、解集団から、ランダムに一つの解(遺伝子)を選択する(2011)。
【0103】
次に選択した解に突然変異処理を行い、その解(遺伝子)を解集団に加える(2012)。この処理の詳細は図22で説明する。
【0104】
次に変数Iから1を加え(2213)、ステップ2210に戻り処理を続ける。
【0105】
図21は、図20中の交差処理(2006)の詳細を示すフローチャートである。
【0106】
まず、変数Nに各解(遺伝子)に登録されている荷物数を代入する(2101)。
【0107】
次に、交差対象の二つの解(遺伝子)を配列G1,G2にコピーする(2102)。次に、交差点を決定するために、2以上N−1以下の整数をランダムに生成して変数Pに代入する(2103)。
【0108】
次に、G1のP番目以降の荷物データインデックスを削除する(2104)。つまり削除対象の要素に−1を代入する。次に変数Iに1を代入する(2105)。
【0109】
次に、IがN以下の間(2106)、次の処理を行う。
【0110】
G2[I]が配列G1中には含まれていないかチェックする(2107)。もし、含まれていない場合には、その荷物情報を図14に示した処理手順によりG1の輸送スケジュール中に追加する(2108)。
【0111】
次に、変数Iに1を加え(2109)、次の処理に移る。
【0112】
ステップ2107で条件が成立しない場合には、ステップ2109に移り次の処理に移る。
【0113】
ステップ2106でIがNを越えれば処理を終える。
【0114】
図22は図20中の突然変異処理(2012)の詳細を示すフローチャートである。
【0115】
まず、突然変異処理対象の解(遺伝子)を配列G[]にコピーする(2201)。次に、物流センターから最も遠い集配送先拠点と、物流センターからの距離を変数Lに代入する(2202)。
【0116】
変数Rに0と0.3の範囲の実数をランダムに生成して代入する(2203)。
【0117】
次に、変数L1に変数Lの値とRの値の積を代入する(2204)。
【0118】
次に、遺伝子上での突然変異箇所を定めるために、変数Pに1以上N以下の整数をランダムに選択して代入する(2205)。
【0119】
次に、変数Iに0、Jに0を代入する(2206)。
【0120】
変数KにはG[P]の値、つまり荷物情報のインデックス値を代入する(2207)。
【0121】
IがN以下の間(2208)、次の処理を繰り返す。
【0122】
インデックスがKの荷物の集配送先拠点とG[I]の荷物の集配送先拠点の距離がL1以下かチェックする(2209)。
【0123】
条件が成立する場合には、T[J]にG[I]の値を代入し、G[I]には−1を代入する(2210)。
【0124】
次に、変数Jに1を加え(2211)、Iにも1を加え(2212)、ステップ2208に戻り処理を続ける。
【0125】
ステップ2208でIの値がNの値を超えた場合には、配列Gの中で値が−1の要素を削除して、前方に詰め合わせる(2213)。
【0126】
次に、配列Tに格納されているJ個の荷物の集配送先拠点を先頭から順次図7に示した処理手順により配列Gの輸送スケジュールの中に追加する(2214)。
【0127】
図23は図10中の結果出力処理(1004)の詳細を示すフローチャートである。まず各輸送便の通過拠点を地図上に表示する(2301)。次に、輸送スケジュール作成処理によって得られたスケジュールとその所用車両台数や走行距離などの値とともに表やグラフを作成し、表示する(2302)。次に印刷指示があればグラフや表を印刷する(2703)。
【0128】
【発明の効果】
以上説明したように、本発明によれば、輸送スケジュール作成時に充足しなければならない、制約条件を事前に解析し、これら制約条件の違反により互いに同一車両では輸送できない二つの荷物の組を予め作成することで、各車両の輸送ルート作成時に、上記の排他的な荷物の組み合わせ発生を回避することで、スケジュール作成時に、同一車両への荷物乗せ合わせの組み合わせを削減することができ、これによりスケジュール作成の応答速度向上を実現できる。更に、GAを適用したスケジュール作成方法において、交差処理や突然変異処理において、作成途上のスケジュールに、荷物追加を行う場合、既存輸送ルートへの荷物輸送の追加による、その輸送ルートの走行距離の増分が、既存ルートの走行距離の一定割合を超過する場合には、その荷物輸送の追加を行わないことで、既存ルートに遠方の輸送先拠点を追加することを抑制することで、輸送車量間の走行距離の差異を減少させると共に、一度全ての荷物輸送先拠点の追加を試みた後、上記条件により追加できなかった荷物だけを再度追加し、この段階で輸送車両が不足した場合に、輸送車両の追加を行うことで、不要な輸送車両の追加を抑制する。
【図面の簡単な説明】
【図1】本発明のシステム構成図である。
【図2】本発明の記憶装置に含まれる拠点情報の構成を示す図である。
【図3】本発明の記憶装置に含まれる荷物情報の構成を示す図である。
【図4】本発明の記憶装置に含まれる輸送車両情報の構成を示す図である。
【図5】本発明の記憶装置に含まれるエリア定義情報の構成を示す図である。
【図6】本発明の記憶装置に含まれる排他荷物情報の構成を示す図である。
【図7】本発明の記憶装置に含まれる距離テーブルの構成を示す図である。
【図8】本発明の記憶装置に含まれる輸送ルート情報の構成を示す図である。
【図9】本発明の記憶装置に含まれる遺伝的アルゴリズムを用いた輸送スケジュール作成に用いる、遺伝子情報の構成を示す図である。
【図10】本発明の全体的な処理の流れを示すフローチャートである。
【図11】本発明の入力処理を示すフローチャートである。
【図12】本発明の制約条件解析処理を示すフローチャートである。
【図13】本発明の輸送スケジュール作成処理を示すフローチャートである。
【図14】本発明の輸送スケジュール作成で用いる、輸送スケジュールへの荷物追加処理のフローチャートである。
【図15】本発明の荷物追加処理で用いる、追加車両チェック1処理のフローチャートである。
【図16】本発明の荷物追加処理で用いる、追加車両チェック2処理のフローチャートである。
【図17】本発明の追加車両チェック処理1で用いる、荷物追加チェック処理1のフローチャートである。
【図18】本発明の追加車両チェック処理2で用いる、荷物追加チェック処理2のフローチャートである。
【図19】本発明の初期集団生成処理のフローチャートである。
【図20】本発明の遺伝的処理の概要を示すフローチャートである。
【図21】本発明の交差処理を示すフローチャートである。
【図22】本発明の突然変異処理を示すフローチャートである。
【図23】本発明の結果出力処理を示すフローチャートである。
【符号の説明】
101…入力装置、102…出力装置、103…表示装置、104…処理装置、105…記憶装置、106…プログラム、107…入力処理部、108…制約条件解析処理部、109…輸送スケジュール作成部、110…結果出力部、111…拠点情報、112…荷物情報、113…輸送車両情報、114・・・距離テーブル、115…道路地図、116・・・排他荷物情報、117…輸送ルート情報、118…遺伝子情報、119…車両管理情報。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method, an apparatus, a system, and a program for performing scheduling creation in the physical distribution field using a computer, and more specifically, to a method for creating a physical distribution plan using a computer.
[0002]
[Prior art]
As a transportation schedule creation technology in the logistics system, a technology for creating an efficient patrol plan for customers existing in a certain area corresponding to the so-called traveling salesman problem and vehicle routing problem has already been developed. No. 5-135070, “Distribution Scheduling Device”).
[0003]
For example, Japanese Patent Application Laid-Open No. 10-124588 “Schedule Creation Device Based on Geographic Information” creates an optimal schedule by using a neural network for determining the shortest route between customer customers together with geographic information.
[0004]
Japanese Patent Application Laid-Open No. 8-115495 “Automatic Vehicle Allocation Device” realizes a system in which a large number of delivery destinations are clustered to create a transportation route within each cluster.
[0005]
Further, Japanese Patent Laid-Open No. 9-305669 “Delivery Planning Method and Device” discloses a so-called sweep method (Tadayuki Masui et al.) In order to create an efficient vehicle allocation plan while complying with the load restrictions and operating time restrictions of trucks. The technique based on the book “OR of Logistics” (Tsubaki Shoten 1998) is used.
[0006]
Furthermore, algorithms such as the 2opt method and the LK method have been developed as a method for creating a small transport route at high speed (Toshihide Ibaraki “Discrete Optimization Method and Algorithm” Iwanami Shoten 1993).
[0007]
[Patent Document 1]
JP-A-5-135070
[Patent Document 2]
JP 10-124588 A
[Patent Document 3]
JP-A-8-115495
[Patent Document 4]
JP-A-9-305669
[Non-Patent Document 1]
Tadayuki Masui et al. “OR of Logistics” Tsuji Shoten 1998
[Non-Patent Document 2]
Toshihide Ibaraki “Discrete Optimization Method and Algorithm” Iwanami Shoten 1993
[0008]
[Problems to be solved by the invention]
Logistics schedules for trucking and other purposes are generally aimed at reducing logistics costs by improving equipment utilization efficiency of equipment such as trucks and logistics centers and operational efficiency of personnel involved in operation. With supply chain management and progress, just-in-time transport is also required. Furthermore, considering the actual operation of trucks, when creating a schedule, it is necessary to consider various restrictions such as the truck operating area, restrictions on the type of vehicle used, and garage used.
[0009]
In actual operation, time is also required to create a schedule because it takes time to secure orders from customers and to secure truck and distribution center personnel. For this reason, in order to automate the creation of a transportation vehicle schedule, not only the optimality of the schedule but also a practical response performance is required.
[0010]
However, the creation of a distribution schedule is a problem that is mathematically classified into a traveling salesman problem and a vehicle routing problem, and it is impossible to obtain an exact solution within a practical processing time. Therefore, a highly accurate approximate solution is required.
[0011]
However, an approximate solution such as a simple sweep method or a saving method may generate a solution containing an error of several tens of percent from the optimal solution, and is difficult to put into practical use. For this reason, solutions have been proposed that apply optimization techniques such as tabu search, SA (Simulated Annealing) method, GA (Genetic Algorithm).
[0012]
Even if these techniques are applied, if there are constraints as described above, it is necessary to check many of these constraints when creating a schedule, which causes a problem in response performance.
[0013]
[Means for Solving the Problems]
In order to solve the above-mentioned problem, the invention according to claim 1 includes at least an input / output device, a processing device, and a storage device, and a plurality of vehicles that transport cargo from a distribution center to a transportation destination base to each vehicle. This is a transportation schedule creation system that creates the transportation route of each vehicle by assigning the transportation charge, and the location information registration step for inputting the location information of the logistics center and the location such as the transportation destination, It is possible to travel with the same vehicle, a package information registration step for entering package information including destination locations and delivery time constraints, and a transport information registration step for entering transport vehicle information including the load capacity limit of transport vehicles such as trucks. The transportation area information registration step to enter a proper transportation base and the constraint conditions such as the geographical position of the base and the transportation time restriction of each base are analyzed, and the load that cannot be visited by the same vehicle A constraint condition analysis step for generating exclusive package information indicating the information of the vehicle, a transport schedule creation step for creating a transport schedule for a transport vehicle such as a truck from these pieces of information, and a schedule output step for outputting the created transport schedule The transport schedule creation step uses GA (Genetic Algorithm), that is, the initial population creation step for generating a plurality of transport schedules, and the initial schedule population is mutated and cross-processed. Exclusive package information created in the constraint analysis step when assigning packages to each vehicle in the initial group creation step and schedule improvement step. Reference to, and determines a possible loading luggage same vehicle.
[0014]
According to a second aspect of the present invention, in the genetic algorithm applied to the transportation schedule creation step according to the first aspect, an ID for uniquely identifying a package to be transported is provided, and the ID is used in a traveling order of vehicles used for transportation. Using a gene structure arranged in one dimension, in the crossing process, two genes are selected at random, the crossing position is determined, the transport schedule recorded before the crossing position of one gene, In accordance with the order in which the packages not included in the transport schedule appear in the other gene, the NI method (Nearest Insertion Method: to the route of the vehicle included in the transport schedule ahead of the crossing position of the previous one gene: When added by the nearest neighbor insertion method), the increment of the distance of the transport vehicle is the same as that of the transport vehicle. Baggage that can only be added if it does not exceed a certain percentage of the previous mileage, and can not be added, is added again to the route of the transport vehicle included in the current transport schedule after adding other available baggage. It is added using the NI method, and when there is no transport vehicle that satisfies the constraint condition, the transport vehicle is added to the schedule.
[0015]
The invention according to claim 3 selects one package recorded in a randomly selected gene in the genetic algorithm mutation operation applied to the transport schedule creation step according to claim 1, and transports the package. Select one destination and a random distance, delete the collection and delivery destination packages within that distance from the previously selected destination, and transfer these packages in the transport schedule. When added to the route of a vehicle by the NI method (Nearest Insertion Method), the increase in the travel distance of the transport vehicle does not exceed a certain percentage of the original travel distance of the transport vehicle. Baggage that can be added and not added is included in the transport schedule again at that time, after additional processing of other possible baggage Feeding vehicle route into using NI method to add, if there is no transport vehicle that satisfies the constraints and performs an addition to the schedule of the transport vehicle.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0017]
In the present embodiment, it is assumed that a plurality of transport vehicles (trucks, etc.) belonging to the distribution center depart from the distribution center and prepare a schedule for carrying packages to a plurality of destinations. Although this embodiment assumes delivery of packages, it is naturally applicable to creation of a collection schedule in which packages are collected from a plurality of bases to a distribution center.
[0018]
FIG. 1 is a block diagram of the system of the present invention.
[0019]
The system includes an input device (101), an output device (102) such as a printer, a display device (103) such as a display, a processing device (104), and a storage device (105).
[0020]
The processing device (104) executes a series of programs (106) including an input processing unit (107), a constraint condition analysis processing unit (108), a transportation schedule creation unit (109), and a result output unit (110).
[0021]
The storage device (105) includes base information (111), luggage information (112), transport vehicle information (113), transport area definition information (114), distance table (115), road map (116), discharge map. Package information (117) and created from these. The transport route information (118) is stored. In addition, gene information (119) and vehicle management information (120) used for creating a transportation route are also stored.
[0022]
FIG. 2 shows an example of the base information (111) stored in the storage device (105) of FIG.
[0023]
In the base information (111), location information of a distribution center or a collection / delivery destination base of a package is stored. Specifically, a base ID (201) for uniquely identifying a distribution center or a transport destination base, a base name (202), a base address (203), a latitude (204) and a longitude (205) indicating the base position Etc. are stored.
[0024]
FIG. 3 shows an example of the package information (112) stored in the storage device (105) of FIG.
[0025]
In the package information (112), information regarding each package to be transported is stored. Specifically, a package index (301) sequentially assigned to each package from 1, a package ID (302) for uniquely identifying the package, a package sent from the distribution center to the delivery destination, or a base ID indicating the package transport destination (303), a load amount (304), and a time constraint (305) indicating a designated arrival time zone of the vehicle to the transportation destination.
[0026]
FIG. 4 shows an example of transport vehicle information (113) stored in the storage device (105) of FIG.
[0027]
In the transport vehicle information (113), information on the capacity and limit relating to the load capacity of the usable vehicle and the operation time of the vehicle is stored. Specifically, the transport vehicle information includes a vehicle number (401) sequentially assigned from 1 to uniquely identify the vehicle, a load weight limit value (402) of that type of vehicle, and a distribution center of the vehicle. The departure time (403) and the end time (404) for finishing the delivery work.
[0028]
FIG. 5 shows an example of transport area definition information (114) stored in the storage device (105) of FIG.
[0029]
In the area definition information (114), the area ID of each base is registered. The fact that the area IDs are the same means that the bases to which the same area ID is assigned can patrol with the same transport vehicle. That is, when creating a transportation schedule, a baggage at a base having a different area ID is not assigned to the same transportation vehicle.
[0030]
Specifically, the base ID (501) and the area ID (502) are registered in the area definition information. Further, in this embodiment, a base that is not registered in the area definition information is handled as transportable by any transportation vehicle that travels around any area.
[0031]
FIG. 6 shows an example of exclusive package information (117) stored in the storage device (105) of FIG.
[0032]
The exclusive baggage information (117) is analyzed by the constraint condition analysis processing unit (108) for the constraint conditions such as the geographical location of the transport destination base and the transport time constraint, and information on the packages that cannot be transported by the same vehicle is obtained. Is set. In other words, when the packages with the package indexes I and J cannot be transported together in the same vehicle, 1 is set in the (I, J) element and (J, I) element of the table representing the exclusive package information. To do. Other elements are set to 0.
[0033]
FIG. 7 shows an example of the distance table (115) stored in the storage device (105) of FIG.
[0034]
In the distance table (117), the IDs (701 and 702) of the two bases, the travel distance (703) by the transportation vehicle from the base ID1 (701) to the base ID2 (702), and the travel time (704). Store.
[0035]
FIG. 8 shows an example of transport route information (118) stored in the storage device (105) of FIG.
[0036]
The transportation route information (118) stores information indicating a base where the vehicle circulates in the transportation schedule created by the method according to the present invention and the circulation order of the vehicle. Specifically, the vehicle number (801), the number of traveling sites (802) of the vehicle, the site ID (803) of the transport destination site, the arrival time (804) at the site, and the luggage to be transported to the site The index (805) is stored. Further, the total luggage amount (810) and the total travel distance (811) are stored.
[0037]
The gene information (116) in FIG. 9 shows an example of gene expression used in transport schedule creation by the genetic algorithm used in the transport schedule creation unit (109). The gene stores a package index (901) of a package delivered by a transport vehicle such as a truck.
[0038]
The vehicle management information (120) stores information indicating the correspondence relationship of the gene information (119) used in the transport schedule creation unit (109) to the vehicle. The gene information (119) is simply an array in which the package indexes are arranged one-dimensionally, and it is not recorded which package is loaded on which vehicle. In the vehicle management information, the following information is stored for each vehicle in order to indicate which part of the genetic information corresponds to the load loaded on each vehicle. That is, it consists of a vehicle number (904) for uniquely identifying the vehicle, a gene start position (905) indicating the start position on the gene of the load loaded on the vehicle, and a gene end position (906) indicating the end position.
[0039]
FIG. 10 is a flowchart showing an outline of the program (106) executed by the processing device (104) in FIG. First, in the input processing step (1001), the user obtains information necessary for creating a transportation plan such as base information (111), luggage information (112), transportation vehicle information (113), transportation area definition information (114). input. Details of this processing will be described later with reference to FIG. In the next constraint condition analysis process (1002), the constraint conditions such as the geographical position of the transport destination base and the transport time constraint are analyzed to generate exclusive package information (117). Details of this processing will be described later with reference to FIG. In the next transportation schedule creation step (1003), the transportation plan considered to be optimal is determined from the information obtained in the input processing step (1001). Here, the determination of the transportation plan refers to determining the allocation and schedule (transport schedule information) of the packages to be followed by the truck that can deliver all the input packages to the delivery destination. Details of this processing will be described later with reference to FIG. Next, in the result output processing step (1004), the created schedule is output together with the evaluation. Details of this processing will be described later with reference to FIG.
[0040]
FIG. 11 is a flowchart showing details of the input processing step (1001) in FIG. First, in the base information registration step (1101), the base information (111) is registered. Next, in the package information registration step (1002), the package information (112) is registered. Next, in the transport vehicle information registration step (504), the transport vehicle information (113) is registered. Next, in the transportation area registration process (1104), the transportation area definition information (114) is registered. Next, in the distance table generation process (1105), the distance between the bases and the required travel time by the truck are generated with reference to the road map (116). It is assumed that a road map (116) storing roads used in car navigation, connection relationships between the roads, and distance information is prepared in advance.
[0041]
FIG. 12 is a flowchart showing details of the constraint condition analysis processing (1002) in FIG. Here, the geographical conditions of each base and the time constraints specified for each package are analyzed to determine the packages that cannot be transported mixedly in the same vehicle, and the exclusive package information (117) is generated. Specifically, first, the exclusive package information is initialized (1201). That is, 0 is substituted for all the elements of the exclusive package information that is a two-dimensional array. Hereinafter, the exclusive package information is described as a two-dimensional array XL [I, J]. Next, it is determined by the following processing whether or not a constraint violation occurs when two packages are mixedly loaded in the same vehicle.
[0042]
First, 1 is assigned to the variable I (1202). Next, the value I is compared with a variable L_MAX representing the number of packages registered in the package information (1203). If I is greater than L_MAX, the process is terminated. If I is less than or equal to L_MAX, the following process is performed. First, I + 1 is substituted for variable J (1204). Next, J and L_MAX are compared (1205). If J is larger than L_MAX, the process proceeds to step 1220, 1 is added to the variable I (1220), and the process returns to the next step 1203 to repeat the process.
[0043]
If J is less than or equal to L in step 1205, the following processing is performed to determine whether or not mixed loading of the luggage with the luggage index (301) of the luggage information (112) into the same vehicle causes violation of the constraint condition. I do.
[0044]
First, it is checked whether or not the area IDs registered in the transport area definition of the transport destination bases of the packages I and J are different (1206). This condition is satisfied only when the area IDs are registered in the two bases and the area IDs of the two bases are different. In this embodiment, when the area ID of at least one of the bases is not registered, the base in which the area information is not registered can be mixed with the luggage of the transportation vehicle that circulates the base of the other area ID. Therefore, the condition is not satisfied in cases other than the above.
[0045]
Next, it is determined whether the vehicle traveling around the two bases can travel within the upper travel time limit of the vehicle. In other words, the travel required time of the distribution center and the transport destination base for the package I is substituted into the variable D1 with reference to the distance table (1207). Next, the travel required time of the center and the transport destination base of the package J is similarly substituted into the variable D1 (1208). Next, the travel time between the transport destination bases of the package I and the package J is assigned to the variable D3 in the same manner (1209). Next, the sum of D1, D2, and D3 is substituted for variable D (1210). Next, the value of the variable D is compared with the upper limit of the track traveling time (1211). If D exceeds the track travel time upper limit (No in step 1211), 1 is substituted into the (I, J) and (J, I) elements of the exclusive information table (1217, 1218). Then, move on to the next package combination.
[0046]
If the determination in step 1211 is Yes, the following processing is performed to check whether the two packages can be transported within the respective transport designated time frames. First, the start time of the designated transportation period for the package I is substituted into the variable BI (1212).
[0047]
Next, the end time of the designated transportation time frame for the package I is substituted into the variable EI (1213). Next, the start time of the designated transportation time frame for the package J is substituted into the variable BJ (1214). Next, the end time of the designated transportation time frame for the package J is substituted into the variable EJ (1215).
[0048]
Next, it is checked whether D3 is (EJ-BI) or less or D3 is (EI-BJ) or less (1216). If the condition is not satisfied, 1 is set to the (I, J) and (J, I) elements of the exclusive package information in steps 1217 and 1218. If the condition is satisfied in step 1216, it is not possible to determine that the package I and the package J cannot be transported by the same vehicle only due to time constraints. ) The element remains 0, and the process proceeds to the next process.
[0049]
Next, 1 is added to the variable J (1219), and the process returns to step 1205. If the determination result in step 1205 is Yes, the process proceeds to step 1220, 1 is added to the variable I, and the process returns to step 1203.
[0050]
FIG. 13 is a flowchart showing details of the transportation schedule creation processing (1003) in FIG. This schedule creation process follows GA (genetic algorithm). First, different initial solution groups are created by a method including randomness (1301). Details of this processing will be described later with reference to FIG. Next, 1 is substituted into the variable I (1302). Next, the solution population is improved by genetic processing (1303). Details of this processing will be described later with reference to FIG. By the processing of (1303), at least a part of the solution population changes, and the solution population gradually approaches the optimal solution by repeating the processing of (1303) to (1305). After the processing of (1302), the group is evaluated (1304). The evaluation is performed on various factors such as the travel distance of the vehicle calculated from the route information and the number of vehicles used, and the result gives a ranking to each solution in the solution group. The solution with the highest evaluation result is selected as the next-generation solution (1305). Next, 1 is added to the variable I (1306).
[0051]
It is checked whether I exceeds the preset GA processing generation number G_MAX or whether the evaluation value of the best solution in the next generation group is better than a predetermined target value (1307). If the condition is satisfied, the best solution in the current solution group is output (1308), and the process is terminated. If the condition is not satisfied in step 1307, the process returns to step 1303 and the solution population improvement by genetic processing is repeated.
[0052]
FIG. 14 shows details of the process for adding a package to the package transportation schedule used in the creation of the initial solution group (1301) and the solution group improvement process (1303) of the transportation schedule creation process using the genetic algorithm of FIG. It is a flowchart to show. This process is a process of adding collection and delivery of one package to a transportation schedule composed of a plurality of transportation vehicles.
[0053]
It is assumed that the package index of the package to be added is registered in the array L. Further, it is assumed that the number of packages registered in the array L is registered in the variable L_MAX. First, 1 is substituted into the variable I (1401). Next, I and L_MAX are compared (1402). When I is L_MAX or less (No in 1402), the following processing is performed. First, it is checked whether there is a vehicle capable of transporting the luggage L [I] (1403). Details of this processing will be described with reference to FIG. If there is a vehicle that can be transported in the processing of step 1403, the luggage L [I] is added to the vehicle (1405), -1 is substituted for L [I] (1406), and the variable I is set to 1. (1407), the process returns to step 1402 and proceeds to the processing of the next package. If No in step 1404, the process proceeds to step 1407.
[0054]
If the determination in step 1402 is Yes, the process moves to step 1408 and 1 is substituted into the variable I.
[0055]
Next, the values of the variable I and L_MAX are compared (1409). If I is greater than L_MAX, the process ends. When I is less than or equal to L_MAX, the following processing is performed.
[0056]
First, it is checked whether L [I] is equal to -1 (1410). If equal, L [I] has already been assigned to the vehicle, so the routine proceeds to step 1415, where 1 is added to the variable I and the processing of the next package is started.
[0057]
If L [I] is not equal to −1 in step 1410, the following processing is performed.
[0058]
First, it is checked whether there is a vehicle capable of transporting the luggage L [I] (1411). Details of this processing will be described with reference to FIG.
[0059]
If there is a vehicle that can be added, the luggage L [I] is added to the vehicle (1413). If there is no vehicle that can be added, a new vehicle is allocated for transportation of the load L [I] (1414). Next, 1 is added to the variable I (1415), and the process returns to step 1409 to proceed to the next package processing.
[0060]
FIG. 15 is a flowchart showing details of the processing in step 1403 in FIG.
[0061]
In this process, a transport vehicle that can load the load to be added is searched for. If not, P is set to -1.
[0062]
It is assumed that the number of transport vehicles that have already been assigned to transport packages is set in Max_Truck.
[0063]
First, 1 is substituted for the variable K, the maximum integer Max_Value that can be expressed by the computer to be used is set for the variable D, and −1 is set for the variables Truck and P (1501). Next, the value of variable K and Max_Truck are compared (1502). If K is larger than Max_Truck, the process ends.
[0064]
When K is less than or equal to Max_Track, the following processing is performed. First, it is checked whether or not a baggage can be added to the Kth transport vehicle (1503). Details of this processing will be described later with reference to FIG. If it can be added, the operation time increment D_MIN set in the processing of step 1503 is compared with the value of the variable D (1505). If D is large, the value of D_MIN is substituted for D, K is substituted for Truck, and Pos is substituted for P (1506). Values are set to the variables D_MIN and Pos in step 1503. If D is equal to or less than D_MIN, the process proceeds to step 1507 to check the next vehicle.
[0065]
FIG. 16 is a flowchart showing details of the processing in step 1411 in FIG.
[0066]
In this process, a transport vehicle that can load the load to be added is searched, and if there is, the number of the vehicle and the load position of the load are substituted into the variable P for the variable Truck. If not, P is set to -1.
[0067]
It is assumed that the number of transport vehicles that have already been assigned to transport packages is set in Max_Truck.
[0068]
First, 1 is substituted for the variable K, the maximum integer Max_Value that can be expressed by the computer to be used is set for the variable D, and −1 is set for the variables Truck and P (1601). Next, the variable K is compared with the value of Max_Truck (1602). If K is larger than Max_Truck, the process ends.
[0069]
When K is less than or equal to Max_Track, the following processing is performed. First, it is checked whether or not a package can be added to the Kth transport vehicle (1603). Details of this processing will be described later with reference to FIG. If it can be added, the operation time increment D_MIN set in step 1603 is compared with the value of the variable D (1605). If D is large, D_MIN is substituted for D, K is substituted for Truck, and Pos is substituted for P (1606). Values are set to the variables D_MIN and Pos in step 1603. If D is less than or equal to D_MIN, the process moves to step 1607 to check the next vehicle.
[0070]
FIG. 17 is a flowchart showing details of step 1503 in the flowchart of FIG.
[0071]
In this process, it is assumed that the package index of the package to be added to the schedule is substituted for the variable L. In addition, it is assumed that a vehicle number that is a target for determining whether the luggage L can be added is set. When this processing is completed, if the transportation of the luggage L is possible in the vehicle T_No, an additional position is set in the variable Pos, and an increment value of the traveling time of the vehicle due to the addition of the luggage is set in D_MIN. . If it could not be added, −1 is set in Pos, and Max_Value is set in D_MIN. Variable First, the ID of the transport destination base of the package L is substituted into the variable Z (1701). Next, the load amount of the load L is substituted into the variable V (1702). Next, −1 is set to the variable Pos, and the maximum number (expressed as Max_Value) that can be expressed by the computer used for D_MIN is set (1703). Next, with reference to the vehicle management information (120) for the variable I, the gene start position of the T_Noth vehicle is set (1704). Next, the total travel time of the T_No.th vehicle is substituted into the variable TH (1705). Next, it is determined with reference to the exclusive baggage information whether the baggage loaded on the baggage L and the T_Noth vehicle is not transportable by the same vehicle (1706). That is, using the luggage L and the luggage index of the luggage loaded on the T_Noth vehicle, the exclusive luggage information that is a two-dimensional array is referred to, and if the element is 1, it is determined that the same vehicle cannot be transported. To do. If it is determined in step 1706 that the placement is impossible, the process ends (1707). In other cases, the following processing is performed.
[0072]
Next, the value of the variable I is compared with the value of the gene end position + 1 of the vehicle (1708). If I is large, the process ends. If I does not exceed the above value, the following processing is performed.
[0073]
First, I is compared with the gene start position of the T_Noth vehicle (1709). If they are equal, the base ID representing the distribution center from which the vehicle departs is substituted for the variable X (1711). If they are not equal, the base ID of the collection / delivery destination of the (I-1) th package in the genetic information of the vehicle is substituted (1710). Next, I is compared with the value of the gene end position + 1 of the T_Noth vehicle. If they are equal, the base ID of the distribution center is substituted for the variable Y (1714). If they are not equal, the ID of the collection / delivery destination base of the I-th package of the T_No-th vehicle is substituted for Y (1713).
[0074]
Next, it is checked whether or not the load L of the load V can be loaded between the Xth transport bag and the Yth transport bag of the Ith vehicle (1715). That is, when the additional target baggage is a delivery baggage, a value obtained by adding L to the load amount of the vehicle between the distribution center from which the vehicle departs and the collection and delivery destination base of the Xth transport baggage, Check if the maximum load capacity of the vehicle is exceeded. If the package is a collected package, the value obtained by adding L to the loaded quantity at each collection and delivery destination base from the collection destination of the Yth package of the vehicle until it returns to the distribution center Check if the maximum load capacity of the vehicle has been exceeded.
[0075]
Next, a value obtained by subtracting the required time between X and Y from the sum of the required time between X and Z and the required time between Z and Y is substituted into T_Delta (1716). Next, it is checked whether the value obtained by adding Delta_T to the vehicle arrival time of the collection and delivery destination that circulates in the transportation of the luggage after Y of the vehicle does not break the time constraint (1717). In FIG. 17, TIME (X, Y) represents the travel time of the vehicle from the base X to Y. Next, it is checked whether T_Delta does not exceed 0.25 times TH (1718). If it exceeds, the process ends. If not, the following processing is performed.
[0076]
Next, D_MIN and T_Delta are compared (1719). If T_Delta is small, the value of T_Delta is substituted for D_MIN, and the value of I is substituted for Pos (1720).
[0077]
Next, 1 is added to I (1721), and the process returns to step 1708 to check the next additional position.
[0078]
FIG. 18 is a flowchart showing details of step 1603 in the flowchart of FIG.
[0079]
In this process, it is assumed that the package index of the package to be added to the schedule is substituted for the variable L. In addition, it is assumed that a vehicle number that is a target for determining whether the luggage L can be added is set. When this processing is completed, if the transportation of the luggage L is possible in the vehicle T_No, an additional position is set in the variable Pos, and an increment value of the traveling time of the vehicle due to the addition of the luggage is set in D_MIN. . If it could not be added, −1 is set in Pos, and Max_Value is set in D_MIN. Variable First, the ID of the transportation destination base of the package L is substituted into the variable Z (1801). Next, the load amount of the load L is substituted into the variable V (1802). Next, −1 is set to the variable Pos, and the maximum number (expressed as Max_Value) that can be expressed by the computer used for D_MIN is set (1803). Next, referring to the vehicle management information (120) for the variable I, the gene start position of the T_No.th vehicle is set (1804). Next, it is determined by referring to the exclusive luggage information () whether the luggage loaded on the luggage L and the T_Noth vehicle is not transportable by the same vehicle (1805). That is, using the luggage L and the luggage index of the luggage loaded on the T_Noth vehicle, the exclusive luggage information that is a two-dimensional array is referred to, and if the element is 1, it is determined that the same vehicle cannot be transported. To do. If it is determined in step 1805 that the placement is impossible, the process ends (1806). In other cases, the following processing is performed.
[0080]
Next, the value of the variable I is compared with the value of the gene end position + 1 of the vehicle (1807). If I is large, the process ends. If I does not exceed the above value, the following processing is performed.
[0081]
First, I is compared with the gene start position of the T_Noth vehicle (1808). If equal, the base ID representing the distribution center from which the vehicle departs is substituted for the variable X (1810). If they are not equal, the base ID of the collection / delivery destination of the (I-1) th package in the genetic information of the vehicle is substituted (1809). Next, I is compared with the value of the gene end position + 1 of the T_Noth vehicle. If they are equal, the base ID of the distribution center is substituted for variable Y (1813). If they are not equal, the ID of the collection / delivery destination base of the I-th package of the T_No-th vehicle is substituted for Y (1812).
[0082]
Next, it is checked whether or not the load L of the load V can be loaded between the Xth transport bag and the Yth transport bag of the Ith vehicle (1814). That is, when the additional target baggage is a delivery baggage, a value obtained by adding L to the load amount of the vehicle between the distribution center from which the vehicle departs and the collection and delivery destination base of the Xth transport baggage, Check if the maximum load capacity of the vehicle is exceeded. If the package is a collected package, the value obtained by adding L to the loaded quantity at each collection and delivery destination base from the collection destination of the Yth package of the vehicle until it returns to the distribution center Check if the maximum load capacity of the vehicle has been exceeded.
[0083]
Next, a value obtained by subtracting the required time between X and Y from the sum of the required time between X and Z and the required time between Z and Y is substituted into T_Delta (1815). Next, it is checked whether the value obtained by adding Delta_T to the vehicle arrival time of the collection and delivery destination that circulates in the transportation of the luggage after Y of the vehicle does not break the time constraint (1816). In FIG. 17, TIME (X, Y) represents the travel time of the vehicle from the base X to Y. Next, D_MIN and T_Delta are compared (1817). If T_Delta is small, the value of T_Delta is substituted for D_MIN, and the value of I is substituted for Pos (1818).
[0084]
Next, 1 is added to I (1819), and the process returns to step 1807 to check the next additional position.
[0085]
FIG. 19 is a flowchart showing details of the initial solution group generation processing (1301) in FIG.
[0086]
Note that a traveling schedule for a plurality of vehicles is registered in one solution. The solution group includes a plurality of solutions.
[0087]
The variable SIZE is set in advance with the number of genes to be registered in the initial population. In addition, the number of delivery destination bases registered in the route is set in the variable LEN.
[0088]
First, 0 is substituted for variable I (1901). Next, while I is smaller than SIZE, the processing from (1903) to (1906) is repeated to generate the number of genes specified by SIZE.
[0089]
First, an area for storing an empty gene in which a value is not set for each element is generated (1903).
[0090]
Next, an array T in which packages of package information are rearranged in a random order is created (1904).
[0091]
Next, the packages registered in the array T are sequentially added to the empty gene in this order by the adding procedure shown in FIG. 14 (1905).
[0092]
Next, 1 is added to the variable I (1906), and the next initial solution is created.
[0093]
FIG. 20 is a flowchart showing details of the solution group improvement (1303) in FIG. Genetic processing is the central processing of GA that changes and improves the solution population.
[0094]
First, the number of solutions registered in the solution group is substituted into the variable SIZE (2001). Next, C_NUM is multiplied by SIZE, which is set in advance, and a maximum integer not exceeding that value is substituted (2002). Next, 1 is substituted into the variable I. If I is less than or equal to C_NUM, the next process is repeated to perform the intersection process (2004).
[0095]
First, two different solutions (genes) are selected from the solution population (2005).
[0096]
Next, cross processing is performed based on the two selected solutions (genes), and a solution (gene) newly generated by the cross processing is added to the solution population (2006).
[0097]
Details of this intersection processing will be described with reference to FIG.
[0098]
Next, 1 is added to I (2007), and the process returns to step 2004 to proceed to the next intersection process.
[0099]
If I exceeds C_NUM in step 2004, the process proceeds to the mutation process. In other words, the variable M_NUM is multiplied by a preset mutation rate in SIZE, and a maximum integer not exceeding the value is substituted (2008).
[0100]
Next, 1 is substituted into the variable I (2009).
[0101]
Next, while I is less than or equal to the value of M_NUM, the next process is repeated (2010).
[0102]
First, one solution (gene) is randomly selected from the solution population (2011).
[0103]
Next, mutation processing is performed on the selected solution, and the solution (gene) is added to the solution population (2012). Details of this processing will be described with reference to FIG.
[0104]
Next, 1 is added from variable I (2213), and the process returns to step 2210 to continue the processing.
[0105]
FIG. 21 is a flowchart showing details of the intersection processing (2006) in FIG.
[0106]
First, the number of packages registered in each solution (gene) is substituted into a variable N (2101).
[0107]
Next, the two solutions (genes) to be crossed are copied to the sequences G1 and G2 (2102). Next, in order to determine the intersection, an integer of 2 or more and N-1 or less is randomly generated and assigned to the variable P (2103).
[0108]
Next, the P1 and subsequent package data indexes of G1 are deleted (2104). That is, -1 is assigned to the element to be deleted. Next, 1 is substituted into the variable I (2105).
[0109]
Next, while I is N or less (2106), the following processing is performed.
[0110]
It is checked whether G2 [I] is not included in the array G1 (2107). If not included, the package information is added to the G1 transportation schedule by the processing procedure shown in FIG. 14 (2108).
[0111]
Next, 1 is added to the variable I (2109), and the next process is started.
[0112]
If the condition is not satisfied in step 2107, the process proceeds to step 2109 to proceed to the next process.
[0113]
If I exceeds N in step 2106, the process ends.
[0114]
FIG. 22 is a flowchart showing details of the mutation process (2012) in FIG.
[0115]
First, the solution (gene) to be mutated is copied to the array G [] (2201). Next, the collection / delivery destination base farthest from the distribution center and the distance from the distribution center are substituted into a variable L (2202).
[0116]
A real number in the range of 0 and 0.3 is randomly generated and assigned to the variable R (2203).
[0117]
Next, the product of the value of the variable L and the value of R is substituted into the variable L1 (2204).
[0118]
Next, in order to determine the mutation location on the gene, an integer from 1 to N is randomly selected and substituted for the variable P (2205).
[0119]
Next, 0 is substituted for variable I and 0 is substituted for J (2206).
[0120]
The value of G [P], that is, the index value of the package information is substituted for the variable K (2207).
[0121]
While I is N or less (2208), the next process is repeated.
[0122]
It is checked whether the distance between the collection / delivery destination base for the package with index K and the collection / delivery destination base for the package with G [I] is L1 or less (2209).
[0123]
If the condition is satisfied, the value of G [I] is substituted for T [J], and -1 is substituted for G [I] (2210).
[0124]
Next, 1 is added to variable J (2211), 1 is also added to I (2212), and the process returns to step 2208 to continue the processing.
[0125]
If the value of I exceeds the value of N in step 2208, the element having the value of -1 in the array G is deleted and packed forward (2213).
[0126]
Next, the collection and delivery destination bases of J packages stored in the array T are sequentially added from the top to the transport schedule of the array G by the processing procedure shown in FIG. 7 (2214).
[0127]
FIG. 23 is a flowchart showing details of the result output process (1004) in FIG. First, the passage base of each transport flight is displayed on the map (2301). Next, a table and a graph are created and displayed together with the schedule obtained by the transportation schedule creation processing and the values of the number of vehicles required and the distance traveled (2302). Next, if there is a print instruction, a graph or a table is printed (2703).
[0128]
【The invention's effect】
As described above, according to the present invention, constraints that must be satisfied when creating a transportation schedule are analyzed in advance, and a set of two packages that cannot be transported by the same vehicle due to violation of these constraints is created in advance. Therefore, when creating a transport route for each vehicle, by avoiding the above-mentioned exclusive combination of packages, it is possible to reduce the number of combinations of loading on the same vehicle when creating a schedule. Improving the response speed of creation. Furthermore, in the schedule creation method applying GA, when adding a package to a schedule that is still being created in an intersection process or a mutation process, an increase in the travel distance of the transport route due to the addition of the package transport to the existing transport route However, when a certain percentage of the mileage of the existing route is exceeded, the addition of the cargo transportation is not performed, thereby suppressing the addition of a remote destination base to the existing route. In addition to reducing the difference in mileage, and once trying to add all the cargo transport destinations, only the cargo that could not be added due to the above conditions was added again. By adding vehicles, the addition of unnecessary transport vehicles is suppressed.
[Brief description of the drawings]
FIG. 1 is a system configuration diagram of the present invention.
FIG. 2 is a diagram showing a configuration of base information included in the storage device of the present invention.
FIG. 3 is a diagram showing a structure of package information included in the storage device of the present invention.
FIG. 4 is a diagram showing a configuration of transport vehicle information included in the storage device of the present invention.
FIG. 5 is a diagram showing a configuration of area definition information included in the storage device of the present invention.
FIG. 6 is a diagram showing a configuration of exclusive luggage information included in the storage device of the present invention.
FIG. 7 is a diagram showing a configuration of a distance table included in the storage device of the present invention.
FIG. 8 is a diagram showing a configuration of transport route information included in the storage device of the present invention.
FIG. 9 is a diagram showing a configuration of gene information used for creating a transportation schedule using a genetic algorithm included in the storage device of the present invention.
FIG. 10 is a flowchart showing the overall processing flow of the present invention.
FIG. 11 is a flowchart showing input processing according to the present invention.
FIG. 12 is a flowchart showing a constraint condition analysis process according to the present invention.
FIG. 13 is a flowchart showing a transportation schedule creation process of the present invention.
FIG. 14 is a flowchart of a process for adding a package to a transportation schedule used in creating a transportation schedule according to the present invention.
FIG. 15 is a flowchart of an additional vehicle check 1 process used in the luggage addition process of the present invention.
FIG. 16 is a flowchart of additional vehicle check 2 processing used in the luggage addition processing of the present invention.
FIG. 17 is a flowchart of package addition check processing 1 used in additional vehicle check processing 1 of the present invention.
FIG. 18 is a flowchart of a package addition check process 2 used in the additional vehicle check process 2 of the present invention.
FIG. 19 is a flowchart of the initial group generation processing of the present invention.
FIG. 20 is a flowchart showing an outline of genetic processing of the present invention.
FIG. 21 is a flowchart showing the intersection processing of the present invention.
FIG. 22 is a flowchart showing a mutation process of the present invention.
FIG. 23 is a flowchart showing a result output process of the present invention.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 101 ... Input device, 102 ... Output device, 103 ... Display device, 104 ... Processing device, 105 ... Storage device, 106 ... Program, 107 ... Input processing unit, 108 ... Restriction condition analysis processing unit, 109 ... Transportation schedule creation unit, DESCRIPTION OF SYMBOLS 110 ... Result output part, 111 ... Base information, 112 ... Luggage information, 113 ... Transportation vehicle information, 114 ... Distance table, 115 ... Road map, 116 ... Exclusive luggage information, 117 ... Transportation route information, 118 ... Gene information, 119 ... vehicle management information.

Claims (3)

少なくとも入出力装置と処理装置と記憶装置を有し、物流センターから輸送先拠点への荷物輸送を行う複数車両の、各車両への輸送担当荷物の割当と、各車両の輸送ルートを作成する輸送スケジュール作成システムであって、物流センターや、輸送先などの拠点の位置情報を入力する拠点情報登録ステップと、各荷物の荷物量、輸送先拠点・配送時間制約を含む荷物情報を入力する荷物情報登録ステップと、トラックなどの輸送車両の積載量限界などを含む輸送車両情報を入力する輸送便情報登録ステップと、同一車両で巡回可能な輸送拠点を入力する輸送エリア情報登録ステップと、拠点の地理的位置や各拠点の輸送時間制約などの制約条件を解析し、同一車両での巡回が不可能な荷物の情報を示す排他荷物情報を生成する制約条件解析ステップと、これらの情報からトラックなどの輸送車両の輸送スケジュールを作成する輸送スケジュール作成ステップと、作成した輸送スケジュールを出力するスケジュール出力ステップとを備えた輸送スケジュール作成方法であり、輸送スケジュール作成ステップは、GA(Genetic Algorithm:遺伝的アルゴリズム)を用い、つまり、輸送スケジュールを複数生成する初期集団作成ステップと、その初期スケジュール集団を突然変異及び交差処理等の遺伝的操作を適用して改良するスケジュール改良スッテプからなり、更に、初期集団作成ステップとスケジュール改良ステップにおいて、各車両への荷物割当時に制約条件解析ステップにおいて作成された排他荷物情報を参照して、同一車両に積載可能な荷物を決定することを特徴とする輸送スケジュール作成方法及びシステム。Transportation that has at least an input / output device, a processing device, and a storage device, and assigns the cargo in charge of transportation to each vehicle and creates a transportation route for each vehicle that transports the cargo from the distribution center to the transportation destination base A schedule creation system that includes location information registration steps for entering location information of locations such as distribution centers and transport destinations, and package information for entering package information including the amount of each package, transport destination locations, and delivery time constraints A registration step, a transportation information registration step for inputting transportation vehicle information including a load capacity limit of a transportation vehicle such as a truck, a transportation area information registration step for inputting a transportation base that can be visited by the same vehicle, and a geography of the base Constraints analysis analysis that analyzes the constraint conditions such as the location of the vehicle and the transportation time constraint at each site, and generates exclusive package information that indicates the information of packages that cannot be patrolled by the same vehicle. A transportation schedule creation method comprising: a transportation schedule creation step for creating a transportation schedule for a transportation vehicle such as a truck from these pieces of information; and a schedule output step for outputting the created transportation schedule. Uses GA (Genetic Algorithm), that is, an initial population creation step for generating a plurality of transport schedules, and a schedule for improving the initial schedule population by applying genetic operations such as mutation and crossover processing. In the initial group creation step and the schedule improvement step, the load that can be loaded on the same vehicle is determined by referring to the exclusive bag information created in the constraint analysis step when the baggage is allocated to each vehicle. thing A transportation schedule creation method and system characterized by the above. 請求項1記載の輸送スケジュール作成ステップに適用した遺伝的アルゴリズムは、輸送対象の荷物を一意に識別するIDを設け、そのIDを輸送に利用する車両の巡回順序で一次元に並べた遺伝子構造を用い、その交差処理においてはランダムに二つの遺伝子を選択して、その交差位置を決め、一方の遺伝子の交差位置よりも前に記録されている輸送スケジュールと、その輸送スケジュールに含まれていない荷物を、もう一方の遺伝子中に現れる順序に従って、先に記した一方の遺伝子の交差位置よりも前方の輸送スケジュールに含まれている車両のルートへNI法(Nearest Insertion Method:最近隣挿入法)で追加した場合の、その輸送車両の距離の増分が、その輸送車両の、その荷物追加前の走行距離の一定割合を越えない場合にだけ追加し、追加できない荷物は、他の追加可能な荷物の追加処理の後に、再度、その時点の輸送スケジュールに含まれている輸送車両のルートへNI法を用いて追加し、制約条件を満足する輸送車両がない場合には輸送車両のスケジュールへの追加を行うことを特徴とする請求項1記載の輸送スケジュール作成方法及びシステム。The genetic algorithm applied to the transportation schedule creation step according to claim 1 is provided with an ID for uniquely identifying a package to be transported, and a genetic structure in which the ID is arranged in a one-dimensional manner in a circulation order of vehicles used for transportation. In the crossing process, two genes are selected at random, the crossing position is determined, the transportation schedule recorded before the crossing position of one gene, and the package not included in the transportation schedule In accordance with the order of appearing in the other gene, the NI method (Nearest Insertion Method) is applied to the route of the vehicle included in the transport schedule ahead of the crossing position of the one gene described above. When added, the distance increase of the transport vehicle is a certain percentage of the travel distance of the transport vehicle before adding the package. A package that cannot be added is added only when it does not exceed the limit, and another package that can be added is added again to the route of the transportation vehicle included in the current transportation schedule using the NI method after the processing for adding other packages that can be added. 2. The transport schedule creation method and system according to claim 1, wherein when there is no transport vehicle satisfying the constraint condition, the transport vehicle is added to the schedule. 請求項2記載の遺伝子構造を用いた遺伝的アルゴリズムにおける突然変異操作において、ランダムに選択した遺伝子に記録されている一つの荷物を選択し、その荷物の輸送先拠点および、更にランダム距離を一つ選択して、先に選択した輸送先拠点から、その距離以内の集配送先の荷物を、遺伝子から削除し、これら荷物を輸送スケジュールに含まれている輸送車両のルートへNI法(Nearest Insertion Method:最近隣挿入法)で追加した場合に、その輸送車両の走行距離の増分が、その輸送車両の元の走行距離の一定割合を越えない場合にだけ再度追加し、追加できない荷物は、他の追加可能な荷物の追加処理の後に、再度、その時点で、輸送スケジュールに含まれている輸送車両のルートへNI法を用いて追加し、制約条件を満足する輸送車両がない場合には輸送車両のスケジュールへの追加を行うことを特徴とする請求項1記載の輸送スケジュール作成方法及びシステム。In the mutation operation in the genetic algorithm using the gene structure according to claim 2, one package recorded in a randomly selected gene is selected, and the destination of the package and the random distance are selected as one. Select and delete from the gene the collection and delivery destination packages within that distance from the previously selected transportation destination base, and pass these packages to the route of the transportation vehicle included in the transportation schedule by the NI method (Nearest Insertion Method) : When adding with the nearest neighbor insertion method), if the increment of the travel distance of the transport vehicle does not exceed a certain percentage of the original travel distance of the transport vehicle, it will be added again. After the additional baggage is added, it is added again to the route of the transportation vehicle included in the transportation schedule at that time using the NI method. 2. The transport schedule creation method and system according to claim 1, wherein when there is no transport vehicle satisfying the constraint condition, the transport vehicle is added to the schedule.
JP2003200186A 2003-07-23 2003-07-23 Transportation schedule creation method and system Pending JP2005043974A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003200186A JP2005043974A (en) 2003-07-23 2003-07-23 Transportation schedule creation method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003200186A JP2005043974A (en) 2003-07-23 2003-07-23 Transportation schedule creation method and system

Publications (1)

Publication Number Publication Date
JP2005043974A true JP2005043974A (en) 2005-02-17

Family

ID=34260681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003200186A Pending JP2005043974A (en) 2003-07-23 2003-07-23 Transportation schedule creation method and system

Country Status (1)

Country Link
JP (1) JP2005043974A (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007119127A (en) * 2005-10-26 2007-05-17 Hitachi Software Eng Co Ltd Area split type delivery schedule preparation system
WO2009129295A3 (en) * 2008-04-18 2010-01-28 The Raymond Corporation System for managing operation of industrial vehicles
KR101462337B1 (en) * 2013-04-15 2014-11-20 제주대학교 산학협력단 Method and apparatus of scheduling electric vehicle relocation using genetic algorithms
KR101764026B1 (en) 2015-12-15 2017-08-02 전자부품연구원 Simulation based Pre-Planning Method and System for Optimizing the Transport on National and International Events
JP2017220261A (en) * 2013-03-12 2017-12-14 ユナイテッド パーセル サービス オブ アメリカ インコーポレイテッドUnited Parcel Service of America, Inc. System and method for transferring a package to be delivered to a manned collection and delivery site
US10210474B2 (en) 2013-10-14 2019-02-19 United Parcel Service Of America, Inc. Systems and methods for confirming an identity of an individual, for example, at a locker bank
US10410165B2 (en) 2014-11-14 2019-09-10 United Parcel Service Of America, Inc. Systems and methods for facilitating shipping of parcels for returning items
US10410164B2 (en) 2014-11-14 2019-09-10 United Parcel Service Of America, Inc Systems and methods for facilitating shipping of parcels
US10445682B2 (en) 2013-02-01 2019-10-15 United Parcel Service Of America, Inc. Systems and methods for parcel delivery to alternate delivery locations
CN110378636A (en) * 2018-08-09 2019-10-25 北京京东尚科信息技术有限公司 A kind of intersection picking method and device
US10600022B2 (en) 2016-08-31 2020-03-24 United Parcel Service Of America, Inc. Systems and methods for synchronizing delivery of related parcels via a computerized locker bank
CN113222418A (en) * 2021-05-17 2021-08-06 重庆梅安森科技股份有限公司 Dispatching management method for underground automatic transportation system
JP2023180299A (en) * 2022-06-09 2023-12-21 株式会社日立製作所 Delivery management system and delivery route generation method
US11920229B2 (en) 2015-12-18 2024-03-05 Novelis Inc. High strength 6XXX aluminum alloys and methods of making the same

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007119127A (en) * 2005-10-26 2007-05-17 Hitachi Software Eng Co Ltd Area split type delivery schedule preparation system
WO2009129295A3 (en) * 2008-04-18 2010-01-28 The Raymond Corporation System for managing operation of industrial vehicles
CN102120555A (en) * 2008-04-18 2011-07-13 雷蒙德股份有限公司 System for managing operation of industrial vehicles to prolong battery life
US8515629B2 (en) 2008-04-18 2013-08-20 The Raymond Corporation System for managing operation of an industrial vehicle in restricted areas
US9650233B2 (en) 2008-04-18 2017-05-16 The Raymond Corporation Method for operating an industrial vehicle to manage energy costs
US10445682B2 (en) 2013-02-01 2019-10-15 United Parcel Service Of America, Inc. Systems and methods for parcel delivery to alternate delivery locations
US11620611B2 (en) 2013-03-12 2023-04-04 United Parcel Service Of America, Inc. Systems and methods of locating and selling items at attended delivery/pickup locations
JP2017220261A (en) * 2013-03-12 2017-12-14 ユナイテッド パーセル サービス オブ アメリカ インコーポレイテッドUnited Parcel Service of America, Inc. System and method for transferring a package to be delivered to a manned collection and delivery site
US10909497B2 (en) 2013-03-12 2021-02-02 United Parcel Service Of America, Inc. Systems and methods of reserving space attended delivery/pickup locations
US10783488B2 (en) 2013-03-12 2020-09-22 United Parcel Service Of America, Inc. Systems and methods of locating and selling items at attended delivery/pickup locations
US10402775B2 (en) 2013-03-12 2019-09-03 United Parcel Services Of America, Inc. Systems and methods of re-routing parcels intended for delivery to attended delivery/pickup locations
US10929806B2 (en) 2013-03-12 2021-02-23 United Parcel Service Of America, Inc. Systems and methods of managing item pickup at attended delivery/pickup locations
US10558942B2 (en) 2013-03-12 2020-02-11 United Parcel Service Of America, Inc. Systems and methods for returning one or more items via an attended delivery/pickup location
US10521761B2 (en) 2013-03-12 2019-12-31 United Parcel Service Of America, Inc. Systems and methods of delivering parcels using attended delivery/pickup locations
KR101462337B1 (en) * 2013-04-15 2014-11-20 제주대학교 산학협력단 Method and apparatus of scheduling electric vehicle relocation using genetic algorithms
US10210474B2 (en) 2013-10-14 2019-02-19 United Parcel Service Of America, Inc. Systems and methods for confirming an identity of an individual, for example, at a locker bank
US11182733B2 (en) 2013-10-14 2021-11-23 United Parcel Service Of America, Inc. Systems and methods for confirming an identity of an individual, for example, at a locker bank
US11562318B2 (en) 2013-10-14 2023-01-24 United Parcel Service Of America, Inc. Systems and methods for conveying a parcel to a consignee, for example, after an unsuccessful delivery attempt
US10217079B2 (en) 2013-10-14 2019-02-26 United Parcel Service Of America, Inc. Systems and methods for confirming an identity of an individual, for example, at a locker bank
US10410164B2 (en) 2014-11-14 2019-09-10 United Parcel Service Of America, Inc Systems and methods for facilitating shipping of parcels
US10410165B2 (en) 2014-11-14 2019-09-10 United Parcel Service Of America, Inc. Systems and methods for facilitating shipping of parcels for returning items
KR101764026B1 (en) 2015-12-15 2017-08-02 전자부품연구원 Simulation based Pre-Planning Method and System for Optimizing the Transport on National and International Events
US11920229B2 (en) 2015-12-18 2024-03-05 Novelis Inc. High strength 6XXX aluminum alloys and methods of making the same
US12043887B2 (en) 2015-12-18 2024-07-23 Novelis Inc. High strength 6xxx aluminum alloys and methods of making the same
US10600022B2 (en) 2016-08-31 2020-03-24 United Parcel Service Of America, Inc. Systems and methods for synchronizing delivery of related parcels via a computerized locker bank
US12248906B2 (en) 2016-08-31 2025-03-11 United Parcel Service Of America, Inc. Systems and methods for synchronizing delivery of related parcels via a computerized locker bank
US11587020B2 (en) 2016-08-31 2023-02-21 United Parcel Service Of America, Inc. Systems and methods for synchronizing delivery of related parcels via computerized locker bank
CN110378636A (en) * 2018-08-09 2019-10-25 北京京东尚科信息技术有限公司 A kind of intersection picking method and device
CN113222418A (en) * 2021-05-17 2021-08-06 重庆梅安森科技股份有限公司 Dispatching management method for underground automatic transportation system
JP2023180299A (en) * 2022-06-09 2023-12-21 株式会社日立製作所 Delivery management system and delivery route generation method

Similar Documents

Publication Publication Date Title
Ostermeier et al. Cost‐optimal truck‐and‐robot routing for last‐mile delivery
Le-Anh et al. A review of design and control of automated guided vehicle systems
CN107977739B (en) Method, device and equipment for optimizing logistics distribution path
Mańdziuk New shades of the vehicle routing problem: Emerging problem formulations and computational intelligence solution methods
JP3161529B2 (en) Vehicle dispatching equipment
Lee et al. Vehicle capacity planning system: A case study on vehicle routing problem with time windows
Kaspi et al. Directions for future research on urban mobility and city logistics
JP2005043974A (en) Transportation schedule creation method and system
CN113177752B (en) Route planning method and device and server
Ramírez-Villamil et al. Integrating clustering methodologies and routing optimization algorithms for last-mile parcel delivery
CN115271573A (en) Goods distribution method and device, computer equipment and storage medium
JP7121154B2 (en) Delivery plan creation method, device, system, and computer-readable storage medium
JP2004326711A (en) Vehicle allocation planning method and apparatus
JP4025652B2 (en) Transportation planning system and method
JP2007191296A (en) Main physical distribution network schedule preparation system
KR100470919B1 (en) System and method for backbone transportation planning of hub-and-spoke transportation networks
Jakara et al. VEHICLE ROUTING PROBLEM-CASE STUDY ON LOGISTICS COMPANY IN CROATIA.
JP2003285930A (en) Transportation schedule making method and its system
JP2004001975A (en) How to create a two-way transportation schedule
CN117075601A (en) Truck route planning method for synchronized operation of trucks and drones for collaborative delivery
JP2006240794A (en) Transport schedule preparing system
Wolfenburg New version of the BBS method and its usage for determining and scheduling vehicle routes
Satoh et al. Determining the optimal parcel delivery method using one drone and one truck
JP2002108998A (en) Method and system for planning transportation
JP2003285931A (en) Transportation plan creating method and its system

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060512

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060512