JP5612817B2 - Method, computer system and computer program for determining delivery routes of multiple vehicles - Google Patents

Method, computer system and computer program for determining delivery routes of multiple vehicles Download PDF

Info

Publication number
JP5612817B2
JP5612817B2 JP2008283530A JP2008283530A JP5612817B2 JP 5612817 B2 JP5612817 B2 JP 5612817B2 JP 2008283530 A JP2008283530 A JP 2008283530A JP 2008283530 A JP2008283530 A JP 2008283530A JP 5612817 B2 JP5612817 B2 JP 5612817B2
Authority
JP
Japan
Prior art keywords
solution
vehicles
local search
solutions
vehicle
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.)
Expired - Fee Related
Application number
JP2008283530A
Other languages
Japanese (ja)
Other versions
JP2010111452A (en
Inventor
裕之 岡野
裕之 岡野
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2008283530A priority Critical patent/JP5612817B2/en
Publication of JP2010111452A publication Critical patent/JP2010111452A/en
Application granted granted Critical
Publication of JP5612817B2 publication Critical patent/JP5612817B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、複数の地点に車両で物品を届けるための配送経路を求める方法、装置及びプログラムに関する。詳細には、車両数及び車両間の稼働率等のばらつきの観点から、局所探索法を行なうことによって、より少ない車両数の解を求める方法に関する。   The present invention relates to a method, an apparatus, and a program for obtaining a delivery route for delivering an article to a plurality of points by a vehicle. More specifically, the present invention relates to a method for obtaining a solution with a smaller number of vehicles by performing a local search method from the viewpoint of variations in the number of vehicles and the operation rate between vehicles.

配送経路問題については、種々の解法が提案されている。例えば、遺伝アルゴリズム法(特許文献1、4)、最近傍法(特許文献2)、クラスタリング法(特許文献3)などがある。   Various solutions have been proposed for the delivery route problem. For example, there are a genetic algorithm method (Patent Documents 1 and 4), a nearest neighbor method (Patent Document 2), a clustering method (Patent Document 3), and the like.

該配送経路問題では、車両数の低減が最も重要な目的であり、車両数が同じであるならば、走行距離(あるいは走行時間)が短縮されることが次に重要な目的である。この2つの目的は、多くの場合、同時には達成できないトレードオフの関係にある。例えば、図1に示すように配置された6つの配送地点に、物品を3個まで積載できる車両で、中央にある拠点から物品を1つずつ届ける場合、(B)の経路は車両数2であるので、(A)の経路より良いと言えるが、走行距離だけを見ると(A)の方が短く、より良い経路であることが分かる。   In the delivery route problem, the most important purpose is to reduce the number of vehicles. If the number of vehicles is the same, the next most important purpose is to shorten the travel distance (or travel time). These two objectives are often in a trade-off relationship that cannot be achieved simultaneously. For example, in the case of vehicles capable of loading up to three articles at six delivery points arranged as shown in FIG. 1 and delivering articles one by one from a central base, the route of (B) is 2 vehicles. Therefore, it can be said that it is better than the route of (A), but if only the travel distance is viewed, it can be seen that (A) is shorter and is a better route.

上の例について、すべての解を列挙して車両数と走行距離についてプロットしたのが図2である。△を記した解が(A)経路に対応し、○を記した解が(B)経路に対応する。前者は、所定の初期解から走行距離を短縮する方向に局所探索して得られた解であり、走行距離の点では最も優れた解である。ところが、車両数の点では、後者より劣る。   In the above example, FIG. 2 shows a list of all the solutions and a plot of the number of vehicles and the travel distance. The solution marked with Δ corresponds to the route (A), and the solution marked with ○ corresponds to the route (B). The former is a solution obtained by performing a local search in the direction of shortening the travel distance from a predetermined initial solution, and is the most excellent solution in terms of travel distance. However, the number of vehicles is inferior to the latter.

この問題に対処するために、局所探索で得られた解に対し所定の評価値を悪くする方向に解を更新することを許容する方法が知られている。その一つがタブー探索(非特許文献1)である。タブー探索は、評価値がより良い近傍の配送経路に遷移するときに、タブーリスト中の操作を行なわないことにより、探索を停滞させることなく最適解を探す方法である。しかし、車両数を低減する様に方向付けする手段は何も採られておらず、車両数に関しては、ランダムな方向へ探索される。たとえ車両数が低減された解が見つかったとしても、それは偶然に過ぎない。上記特許文献1、2、及び4においてもその点は同様である。また、上記クラスタリング法(特許文献3)は、配送地点がある程度地理的にまとまっている場合への適用に限定されてしまう。
特開2001−2334113号公報 特開2001−283136号公報 特開2003−26335号公報 特開2005−43974号公報 I. H. Osman, “Metastrategy simulated annealing and tabu search algorithms for the vehicle routing problem”, Annals of Operations Research, Vol. 41, pp. 421−451, 1993.
In order to deal with this problem, there is known a method that allows a solution obtained by a local search to be updated in a direction that deteriorates a predetermined evaluation value. One of them is tabu search (Non-Patent Document 1). The tabu search is a method for searching for an optimal solution without stagnation of the search by not performing an operation in the tabu list when the evaluation value transits to a nearby delivery route. However, no means for directing to reduce the number of vehicles is taken, and the number of vehicles is searched in a random direction. Even if a solution with a reduced number of vehicles is found, it is only a coincidence. The same applies to Patent Documents 1, 2, and 4. In addition, the clustering method (Patent Document 3) is limited to application to a case where delivery points are geographically organized to some extent.
JP 2001-2334113 A JP 2001-283136 A JP 2003-26335 A JP 2005-43974 A I. H. Osman, “Metastrately simulated annealing and tab search algorithms for the vehicle routing probe”, Anals of Operations Research, Vol. 41, pp. 421-451, 1993.

そこで、本発明は配送経路問題における最も重要な目的である、車両数が低減された解を求める方法を提供する。   Therefore, the present invention provides a method for obtaining a solution with a reduced number of vehicles, which is the most important object in the delivery route problem.

即ち、本発明は、下記の方法である。
記憶手段を備えるコンピュータにより、複数の車両が、或る拠点から複数の配送地点に物品を届ける配送計画を作成する方法であって、
所与の現在の解Sの近傍解からなる解集合(N(S))について、所与の終了条件に達するまで、局所探索を反復して、前記Sを更新して、最適解Sbestを求めるステップを含み、
該局所探索において、車両数が最も少ない解を探索するステップ、次いで、車両数が最も少ない解が複数ある場合には、該複数の解について、下記式(1)で定義される、車両ごとの評価値B(t)(t∈N(S))の、下記式(2)で定義される車両間のばらつきの少なさを示す指標β(t)が最も小さい解を探索するステップを含む、ことを特徴とする方法。
(t)=Σi∈Ck(t)/M (1)

β(t) = 1−Σk∈σ(t)(t)/|σ(t)| (2)

ここで、
:各配送地点iの所与の特徴量
M:1つの車両が訪問する配送地点の特徴量の上限値もしくは特徴量の全車両に亘る総和
σ(t):解tで使用される車両の集合
|σ(t)|:解tで使用される車両の合計数
(t):車両k∈σ(t)が訪問する配送地点の集合
m:1より大きい数値
That is, the present invention is the following method.
A method of creating a delivery plan in which a plurality of vehicles deliver articles from a certain base to a plurality of delivery points by a computer having storage means,
For a solution set (N (S)) consisting of neighboring solutions of a given current solution S, the local search is repeated until the given termination condition is reached, and the S is updated to obtain the optimal solution S best . Including the step of seeking
In the local search, a step of searching for a solution having the smallest number of vehicles, and when there are a plurality of solutions having the smallest number of vehicles, the plurality of solutions are defined for each vehicle defined by the following equation (1). And a step of searching for a solution having the smallest index β (t) indicating a small variation between vehicles of the evaluation value B k (t) (tεN (S)) defined by the following formula (2). A method characterized by that.
B k (t) = Σ iεC k (t) p i / M (1)

β (t) = 1- Σkεσ (t) B k (t) m / | σ (t) | (2)

here,
p i : given feature quantity of each delivery point i M: upper limit value of feature quantity at delivery point visited by one vehicle or total sum of feature quantities over all vehicles σ (t): vehicle used in solution t Set of
| σ (t) |: Total number of vehicles used in solution t C k (t): Set of delivery points visited by vehicle kεσ (t)

上記本発明は、配送経路問題に、車両数が少なくなるように荷物等を割り当てる等の方向付けした点を特徴とする。これにより、巡回セールスマン問題に積載容量や稼動時間枠を制約として課した上記各従来の方法における問題、即ち、経路としては短くても、各車両の積荷が少なくなる結果、車両数が増えてしまうという問題を解決する。   The present invention is characterized in that the delivery route problem is directed such as allocating luggage so that the number of vehicles is reduced. As a result, the problem with each of the above conventional methods imposed on the traveling salesman problem with restrictions on loading capacity and operating time frame, that is, even if the route is short, the number of vehicles increases as a result of less loading of each vehicle. To solve the problem.

図3は、本発明を実装することができるコンピュータ・ハードウェアの例を示すブロック図である。該コンピュータ・システム(301)は、CPU(302)とメイン・メモリ(303)と含み、これらはバス(304)に接続されている。CPU(302)は好ましくは、32ビットまたは64ビットのアーキテクチャに基づくものであり、例えば、インテル社のXeon(商標)シリーズ、Core(商標)シリーズ、Atom(商標)シリーズ、Pentium(商標)シリーズ、Celeron(商標)シリーズ、AMD社のPhenom(商標)シリーズ、Athlon(商標)シリーズ、Turion(商標)シリーズ及びSempron(商標)などを使用することができる。バス(304)には、ディスプレイ・コントローラ(305)を介して、LCDモニタなどのディスプレイ(306)が接続される。ディスプレイ(306)は、そのコンピュータ・システム(301)上で動作中のソフトウェアについての情報を、適当なグラフィック・インターフェースで表示するために使用される。バス(304)にはまた、IDE又はSATAコントローラ(307)を介して、ハードディスク又はシリコン・ディスク(308)と、CD−ROM、DVD又はBlu−rayドライブ(309)が接続されている。CD−ROM、DVD又はBDドライブ(309)は、必要に応じて、CD−ROM、DVD−ROM又はBDからプログラムをハードディスク又はシリコン・ディスク(308)に導入するために使用される。バス(304)には更に、キーボード・マウスコントローラ(110)を介して、或いはUSBコントローラ(図示せず)を介して、キーボード(311)及びマウス(312)が接続されている。 FIG. 3 is a block diagram illustrating an example of computer hardware in which the present invention can be implemented. The computer system (301) includes a CPU (302) and a main memory (303), which are connected to a bus (304). The CPU (302) is preferably based on a 32-bit or 64-bit architecture, such as Intel's Xeon (TM) series, Core (TM) series, Atom (TM) series, Pentium (TM) series, The Celeron (TM) series, the AMD Phenom (TM) series, the Athlon (TM) series, the Turion (TM) series, and the Empron (TM) can be used. A display (306) such as an LCD monitor is connected to the bus (304) via a display controller (305). The display (306) is used to display information about the software running on the computer system (301) with a suitable graphic interface. A hard disk or silicon disk (308) and a CD-ROM, DVD or Blu-ray drive (309) are also connected to the bus (304) via an IDE or SATA controller (307). The CD-ROM, DVD or BD drive (309) is used to introduce a program from the CD-ROM, DVD-ROM or BD to a hard disk or silicon disk (308) as required. Further, a keyboard (311) and a mouse (312) are connected to the bus (304) via a keyboard / mouse controller (110) or a USB controller (not shown).

以下、図4に示す本発明の方法を示すフローチャートを参照して、本発明の方法を説明する。先ず、所与の初期解を現在の解S及び最適解Sbestとして設定し、及び、局所探索の反復回数を表すτを1に設定する(401)。 Hereinafter, the method of the present invention will be described with reference to the flowchart showing the method of the present invention shown in FIG. First, a given initial solution is set as the current solution S and the optimum solution S best , and τ representing the number of iterations of the local search is set to 1 (401).

該初期最適解Sbestは、公知の方法で得られた解であってよい。例えば、図5に示すように、あらかじめ記憶された配送地点のデータを用いて、配送地点ごとに、他の総ての地点への距離を、短い順で地点を並べたリスト(以下「近傍リスト」という)を準備しておき、ある地点から最も近い未訪問の地点を探索することによって初期の最適解を生成することができる(最近傍法)。ここで、各地点間の距離は、デジタル道路ネットワーク上の最短路計算などで求めておき、地点対地点の表の形式で保持する。また、地点間の距離をユークリッド距離で表し、該近傍リストの代わりにk−d木というデータ構造を用い、同じく最近傍法などで初期最適解を求めてもよい。その他の初期最適解生成法としては、挿入法やセービング法などがある(例えば、M.M.Solomon,”Algorithms for the vehicle routing and scheduling problems with time windows constraints”, Operations Research,Vol.35, No.2, pp254−265,1987 )。後述する実験では、車両をある台数分(25台)用意しておき、いずれかの車両が訪問できる未訪問の地点のうち、現在位置に最も近い地点を、次々に訪問する方法(並列最近傍法)を用いて、初期最適解を求めた。 The initial optimal solution S best may be a solution obtained by a known method. For example, as shown in FIG. 5, a list in which the distances to all other points are arranged in a short order for each delivery point (hereinafter referred to as “neighbor list”) using delivery point data stored in advance. The initial optimum solution can be generated by searching for an unvisited point closest to a certain point (nearest neighbor method). Here, the distance between each point is calculated | required by the shortest path calculation etc. on a digital road network, and is hold | maintained in the format of the table of a point-to-point. Alternatively, the distance between points may be expressed as an Euclidean distance, and an initial optimal solution may be obtained by a nearest neighbor method or the like using a data structure called a kd tree instead of the neighborhood list. Other initial optimal solution generation methods include an insertion method and a saving method (for example, M. M. Solomon, “Algorithms for the vehicle routing and scheduling programs with time windows constraints,” Operation 35, Operations Re, 35). .2, pp254-265, 1987). In the experiment to be described later, a method is provided in which a certain number of vehicles (25) are prepared, and one of the unvisited points where any vehicle can visit one after another, the points closest to the current position are sequentially visited (parallel nearest neighbors). Method) to obtain an initial optimal solution.

解tの表現形式は任意であってよい。例えば図6において、中央部の□で示す拠点から地点1、2、5に配送する経路と、4、6、3、7を配送する経路の解は、便宜的に拠点の番号を0として、(0,1,2,5,0,4,6,3,7) と表現してよい。通常は、目的関数を効率的に計算するための情報を含むデータ構造として表現される。例えば、地点1、2、5への配送量が10, 10, 20だった場合、経路上のその地点までの総配送量を計算しておき、地点1には10、地点2には20、地点5には40を関係付けておくことで、配送経路の最後の地点5に関係付けられた総配送量を確かめるだけで、その車両の積載量を知ることができる。 The expression format of the solution t may be arbitrary. For example, in FIG. 6, the solution of the route delivered from the base indicated by □ to the points 1, 2, 5 and the route delivered 4, 6, 3, 7 is set to 0 for convenience. It may be expressed as (0,1,2,5,0,4,6,3,7). Usually, it is expressed as a data structure including information for efficiently calculating the objective function. For example, if the delivery amount to points 1, 2, and 5 is 10, 10, 20, calculate the total delivery amount to that point on the route, 10 for point 1, 20 for point 2, By associating 40 with the point 5, it is possible to know the loading amount of the vehicle only by confirming the total delivery amount associated with the last point 5 in the delivery route.

図4に戻ると、図示していないが、前記Sの近傍解からなる解集合N(S)を予め保存しておき、もしくは、所与の方法により求める。近傍解を生成するためには、任意の手法を用いてよく、例えば図7に示すように、或る経路中の2本の辺を切って新たな2本でつなぎなおす方法(2−Opt法)、配送地を他の経路に入れるパスシフト法(Path shift法)、経路中の配送地を交換するパス交換法(Path swap法)等を用いることができる。   Returning to FIG. 4, although not shown in the figure, a solution set N (S) consisting of the S neighboring solutions is stored in advance or obtained by a given method. In order to generate a neighborhood solution, an arbitrary method may be used. For example, as shown in FIG. 7, a method of cutting two sides in a certain route and reconnecting them with two new ones (2-Opt method) ), A path shift method (Path shift method) for putting a delivery place in another route, a path exchange method (Path swap method) for exchanging a delivery place in a route, and the like can be used.

好ましくは、近傍解を作成するに先立ち、O(1)フィージビリティー・チェックを行う。これは、近傍解の数は地点数の2乗オーダー以上あり、すべての近傍解について局所探索を行なおうとすると時間がかかるからである。上記O(1)はオーダーワンと読み、配送地点数によらず定数時間で実行できることを意味する。該O(1)フィージビリティー・チェックは、経路中の削除する辺をまず決め、その辺の長さをヒントに走行距離が短縮されうる地点を限定した上で近傍解を生成する。例えば、2−opt法で交換される2本の辺の内、少なくとも一方は短くならないと交換後の走行距離が短縮されないので、図8(1)のように、まず地点Aに着目し削除する辺をABと決めれば、交換相手の辺は地点Aを中心に、辺ABを半径にした円の内側にある地点だけを調べれば見つかるはずである。各地点を中心にしてある半径以内の地点を求めるためには、上記近傍リストを用いると便利である。図8(1)では、地点D及びEが候補になる。また、パスシフト法についても、図8(2)のように半径DEの円の内側だけを見ることで探索候補の近傍解を限定することができる。BD>DEかつBE>DEのケースについては、AB+BC−ACを半径にして地点AあるいはCを中心にして探索して、近傍解を生成する(詳しくは、N.Park, H.Okano and H.Imai, ”A path−exchange−type local search algorithm for vehcle routing and its efficient search strategy” Journal of Operations Research Society of Japan, Vol.43, No.1,pp.197−208, 2000を参照されたい)。   Preferably, O (1) feasibility check is performed prior to creating a neighborhood solution. This is because the number of neighboring solutions is more than the square order of the number of points, and it takes time to perform a local search for all neighboring solutions. The above O (1) is read as order one and means that it can be executed in a constant time regardless of the number of delivery points. In the O (1) feasibility check, a side to be deleted in the route is first determined, and a neighborhood solution is generated by limiting points where the travel distance can be shortened by using the length of the side as a hint. For example, since at least one of the two sides to be exchanged by the 2-opt method is not shortened, the mileage after the exchange is not shortened. Accordingly, as shown in FIG. If the side is determined to be AB, the exchange partner's side should be found by examining only the points inside the circle with the side AB as the radius centered on the point A. In order to obtain a point within a radius centered on each point, it is convenient to use the neighborhood list. In FIG. 8 (1), the points D and E are candidates. Also, with respect to the path shift method, it is possible to limit the neighborhood solution of the search candidate by looking only inside the circle with the radius DE as shown in FIG. In the case of BD> DE and BE> DE, a search is performed centering on point A or C with AB + BC-AC as the radius, and a neighborhood solution is generated (for details, see N. Park, H. Okano and H.). Imai, “A path-exchange-type local search algorithm for vehle routing and it's effective search strategy”, Journal of Operations Research.

該解集合について、局所探索を行う(405)。本発明は、該局所探索において、車両数の比較を第1に行った後に、下記式(1)で定義される、車両ごとの評価値B(t)の、下記式(2)で定義される車両間のばらつきの少なさを示す指標β(t)が小さい解を探索し、車両数を減少する方向付けを行なうことを特徴とする。
(t)=Σi∈Ck(t)/M (1)

β(t) = 1−Σk∈σ(t)(t)/|σ(t)| (2)
A local search is performed for the solution set (405). The present invention is defined by the following formula (2) of the evaluation value B k (t) for each vehicle, which is defined by the following formula (1) after first comparing the number of vehicles in the local search. It is characterized by searching for a solution having a small index β (t) indicating a small variation between vehicles to be directed and reducing the number of vehicles.
B k (t) = Σ iεC k (t) p i / M (1)

β (t) = 1- Σkεσ (t) B k (t) m / | σ (t) | (2)

上記式(1)において、pは各配送地点iの所与の特徴量であり、これを1つの車両が訪問する配送地点の特徴量の上限値もしくは特徴量の全車両に亘る総和(M)で除することによって、車両の稼動状態、例えば積載率、を表す評価値B(t)を得る。該特徴量p及びMの第1の例は、pが下記式(3)で表される稼働時間の近似値であり、Mが車両の稼動時間の上限値である。
=nni + ti (3)

式(3)において、nniは、配送地点iに最も近い配送地点への距離と、2番目に近い配送地点への距離の平均値であり、tiは配送地点iでの作業時間(荷物の積み下ろし等)である。第2の例は、pが配送地点iへの配送量であり、Mが車両の積載量の上限値、即ち、積載容量である。第3の例は、pが配送地点iに割り当てられた定数であり、Mがその上限値もしくは総和である。前記定数が1の場合、Mは総地点数とする。第4の例は、pが配送地点iに割り当てられた乱数であり、Mが全車両に亘る乱数の総和である。好ましくは、pは上記稼働時間の近似値である。
In the above formula (1), p i is a given feature quantity of each delivery point i, and this is the upper limit value of the feature quantity at the delivery point visited by one vehicle or the sum of the feature quantities over all vehicles (M ) To obtain an evaluation value B k (t) representing the operating state of the vehicle, for example, the loading rate. A first example of the feature amount p i and M, p i is an approximation of the operating time of the following formula (3), M is the upper limit value of the operating time of the vehicle.
p i = nn i + t i (3)

In Equation (3), nn i is the average value of the distance to the delivery point closest to the delivery point i and the distance to the second closest delivery point, and t i is the working time at the delivery point i (package) Unloading etc.). In the second example, pi is the delivery amount to the delivery point i, and M is the upper limit value of the load amount of the vehicle, that is, the load capacity. In the third example, p i is a constant assigned to the delivery point i, and M is the upper limit value or the sum. When the constant is 1, M is the total number of points. In the fourth example, p i is a random number assigned to the delivery point i, and M is a total sum of random numbers over all vehicles. Preferably, p i is an approximation of the operating time.

式(2)で求められるβ(t)は、評価値B(t)の車両間のばらつきの少なさを表す指標である。該β(t)がより小さくなる方向、即ち、ばらつきが大きくなる方向、に局所探索することによって、車両数を減少することができる。式(2)において、B(t)のべき数mは、1より大きい数値であり、1.5〜3が好ましく、より好ましくは1.5〜2である。B(t)を解tにおいて使用される車両の合計数|σ(t)|で除して正規化する。 Β (t) obtained by the equation (2) is an index representing a small variation in the evaluation value B k (t) between vehicles. The number of vehicles can be reduced by performing a local search in a direction in which β (t) becomes smaller, that is, in a direction in which variation increases. In the formula (2), the power m of B k (t) is a numerical value greater than 1, preferably 1.5 to 3, and more preferably 1.5 to 2. Normalize by dividing B k (t) m by the total number of vehicles used in solution t | σ (t) |.

該β(t)は、上記第2の例、即ち特徴量pがiへの配送量、Mが積載容量の場合、所謂ビンパッキング問題に局所探索を適用する際に、解空間を平滑にするために使用されるものと同様のものである。ビンパッキング問題は、使用するビンの数を最小化するようなビンへのアイテムの詰め方を求める問題である。しかし、この問題の目的関数はビンの数であり、ビンの充填率など別の要素が考慮されないため解空間が平坦で、局所探索がうまく働かない。そのために提案されたのが、ばらつきの指標である(詳細はT.Osogami and H. Okano “Local search algorithms for the bin packing problem and their relationships to various construction heuristics”, Journal of Heuristics, Vol. 9, pp.29−49, 2003を参照されたい)。この指標は、空に近いビンと満杯に近いビンがある時、空に近いビンから満載に近いビンにアイテムを移動することにより値が減少する。図9は、容量1のビンが2つあり、大きさ0.25のアイテムが4つある場合の、3通りの詰め方を示したものである。図9(1)の詰め方は、他の2つの詰め方と比べばらつきが少なく、望ましくない。図9(2)の詰め方はばらつきが大きく、あと1つのアイテムを移動すれば右の詰め方に以降できる状態である。図9(3)はビンが1つ空になっており、最も望ましい。本発明はこの指標を、配送経路問題に適する方法で初めて適用することによって、車両数の低減を達成する。 The β (t) is the smoothing of the solution space when applying the local search to the so-called bin packing problem when the feature amount pi is the delivery amount to i and M is the load capacity. It is the same as that used to do. The bin packing problem is a problem of finding how to pack items in a bin that minimizes the number of bins used. However, the objective function of this problem is the number of bins, and other factors such as the bin filling rate are not considered, so the solution space is flat and local search does not work well. To that end, an index of variability was proposed (for details, see T. Osogami and H. Okano, “Local search algorithms for the bin pouring and the irrestriction to the same relationship”. 29-49, 2003). This indicator decreases in value by moving items from a near empty bin to a full bin when there are near empty and full bins. FIG. 9 shows three ways of packing when there are two bins of capacity 1 and four items of size 0.25. The filling method shown in FIG. 9A is not desirable because it has less variation than the other two filling methods. The filling method in FIG. 9 (2) has a large variation, and if one item is moved, it can be changed to the right filling method. In FIG. 9 (3), one bin is empty, which is most desirable. The present invention achieves a reduction in the number of vehicles by applying this index for the first time in a way that is suitable for the delivery route problem.

再び図4を参照すると、係数aが「0」に設定される(402)。該係数は、上記β(t)を局所探索における目的関数に含めるか否かを表し、0の場合には目的関数に含まれず、1の場合には目的関数に含まれる。このように、車両数及び稼働時間もしくは走行距離を短くする方向の探索(第1局所探索)によって現在解Sが更新されなかったときには、車両間での積載量等のばらつきを大きくする方向の探索(第2局所探索)を行なうことによって、車両数の低減を達成する。図4記載の態様では、第1局所探索を先ず行い、次に、第2局所探索を行っているが、逆の順序であってもよい。 Referring to FIG. 4 again, the coefficient a is set to “0” (402). This coefficient represents whether or not β (t) is included in the objective function in the local search. When it is 0, it is not included in the objective function, and when it is 1, it is included in the objective function. As described above, when the current solution S is not updated by the search for the direction in which the number of vehicles and the operation time or the travel distance are shortened (first local search), the search for the direction in which the variation in the load amount between the vehicles is increased. A reduction in the number of vehicles is achieved by performing (second local search). In the aspect shown in FIG. 4, the first local search is performed first and then the second local search is performed. However, the reverse order may be used.

係数aの設定は、上記反復回数τの愚奇を判断することによって行われる(403)。第1回目(τ=0)の第1局所探索該(a=0)では、目的関数にβ(t)は含まれない。第1局所探索が終了し現在解Sが更新されなかったときには、τが一つ増加されて(412)、奇数と判断される結果(403)、係数aが「1」とされ(404)、β(t)が目的関数に組み込まれて、第2局所探索が行なわれる(405)。   The coefficient a is set by judging whether the number of iterations τ is strange (403). In the first local search (a = 0) of the first time (τ = 0), β (t) is not included in the objective function. When the first local search is completed and the current solution S is not updated, τ is increased by 1 (412), the result of being determined as an odd number (403), and the coefficient a is set to “1” (404). β (t) is incorporated into the objective function and a second local search is performed (405).

第1(a=0)及び第2局所探索(a=1)は、下記式(4)で表される目的関数を用いて行われる。

f(t,a) = (|σ(t)|,aβ(t),Σk∈σ(t)dk(t)) (4)

ここで括弧は左から右の順に(lexicographic order)評価されることを表し、dk(t)は問題設定、即ち、求めるべき解が最短距離であるか最短時間であるか、に応じて解tにおける車両kの走行距離あるいは稼動時間を表す。例えば、(A,B)と(C,D)という2つの目的関数値がある時、コンピュータにおけるこれらの比較は次のように行われる:
if (A>C) then assert (A,B) > (C,D)
else if (A<C) then assert (A,B) < (C,D)
else if (B>D) then assert (A,B) > (C,D)
else if (B<D) then assert (A,B) < (C,D)
else assert (A,B) = (C,D)
式(4)において、a=1の場合(第2局所探索)において、βよりも上位で総車両数|σ|を比較する。これは、車両数が減少してもβが増大する、つまり大小関係に矛盾が生じる場合がある事が見出されたからである。
The first (a = 0) and second local search (a = 1) are performed using an objective function represented by the following formula (4).

f (t, a) = (| σ (t) |, aβ (t), Σk∈σ (t) d k (t)) (4)

Here, parentheses indicate that evaluation is performed in lexicographic order from left to right, and d k (t) is a solution setting, that is, depending on whether the solution to be obtained is the shortest distance or the shortest time. It represents the travel distance or operating time of the vehicle k at t. For example, if there are two objective function values (A, B) and (C, D), these comparisons in the computer are done as follows:
if (A> C) then assert (A, B)> (C, D)
else if (A <C) then assert (A, B) <(C, D)
else if (B> D) then assert (A, B)> (C, D)
else if (B <D) then assert (A, B) <(C, D)
else assert (A, B) = (C, D)
In Formula (4), when a = 1 (second local search), the total number of vehicles | σ | is compared with β. This is because it has been found that even if the number of vehicles decreases, β increases, that is, there may be a contradiction in the magnitude relationship.

a=0のとき(第1局所探索)は、車両数が最も少ない解を探索し、車両数が最も少ない解が複数ある場合には、該複数の解のうち車両の走行距離もしくは稼動時間の全車両に亘る和が最も小さい解を探索する(405)。図4において「arg min」(405)は、最小の値を得る引数を意味する。なお、最も小さい解が複数あった場合には、そのうちの任意のものを選んでよい。得られた解Sを最初に設定した最適解Sbestと、上記と同様に比較し、局所探索で得られた解Sの目的関数値がより小さい場合には、SをSbestとして保存し、最適解を更新する(407)。 When a = 0 (first local search), a solution with the smallest number of vehicles is searched, and when there are a plurality of solutions with the smallest number of vehicles, the travel distance or operating time of the vehicle among the plurality of solutions. The solution with the smallest sum over all the vehicles is searched (405). In FIG. 4, “arg min” (405) means an argument for obtaining the minimum value. If there are multiple smallest solutions, any one of them may be selected. And the optimal solution S best of the solutions S b the first set obtained, compared in the same manner as described above, when the objective function value of the solution S b obtained in local search is smaller than the S b as S best Save and update the optimal solution (407).

次いで、所定の終了条件を満たしているか否かが判断され(408)、満たしていればSbestを出力して終了する(409)。終了条件としては、反復回数の上限、計算時間の上限、最適解が更新されなかった直近の反復回数の上限などを用いる。終了条件が満たされていない場合には、第1局所探索で得られた解Sと現在の解Sについて、上記と同様に比較する(410)。前記解Sの車両数が現在解Sの車両数より小さいか、車両数が同じであっても車両の走行距離もしくは稼動時間の全車両に亘る和が小さい場合には(410でYes)、Sを現在解Sとして保存して現在解を更新し、該新たな現在解Sの近傍解が読み出されもしくは作成され(図示していない)て、再度第1局所探索が行なわれる。そうでない場合には、局所探索の反復回数τを1つ増加し(412)、第2局所探索に入る。 Next, it is determined whether or not a predetermined end condition is satisfied (408), and if it is satisfied, S best is output and the process ends (409). As the termination condition, the upper limit of the number of iterations, the upper limit of the calculation time, the upper limit of the latest number of iterations for which the optimum solution has not been updated, and the like are used. If the termination condition is not satisfied, the solution S b and the current solution S obtained in the first local search, compared in the same manner as described above (410). If the number of vehicles in the solution S b is smaller than the number of vehicles in the current solution S, or the total number of vehicles traveling distance or operating time is small even if the number of vehicles is the same (Yes in 410), S b is saved as the current solution S, the current solution is updated, a neighborhood solution of the new current solution S is read or created (not shown), and the first local search is performed again. Otherwise, the local search iteration number τ is increased by 1 (412), and the second local search is entered.

第2局所探索では、τが偶数になることによって(403でYes)、係数aが1となり(404)、β(t)が目的関数に組み込まれ、現在の解Sの近傍について、先ず車両数が最も少ない解を探索し、車両数が最も少ない解が複数ある場合には、該複数解のうち前記指標β(t)が最も小さい解を探索し、β(t)が最も小さい解が複数ある場合には、β(t)が同じである解のうち車両の走行距離もしくは稼動時間の和を比較して、走行距離もしくは稼動時間の和が最も小さい解を探索する。得られた解Sについて、最適解Sbestと第1局所探索で用いた目的関数により比較する。即ち、解SがSbestより車両数が少ないか、車両数が同じであっても走行距離等が小さいかを比較し、そうである場合には、該SをSbestと置く(407)。次いで、所定の終了条件に達しているか否かが判断され(408)、達している場合にはSbestを出力して終了する(409)。達していない場合には、得られた解Sを現在の解Sと、第2局所探索で用いた目的関数を用いて比較する。即ち、車両数がより小さい場合、車両数は同じであるが指標β(t)がより小さい場合、又は車両数及びβ(t)が同じであるが走行距離もしくは稼動時間の和がSより小さい場合には、Sにより現在解Sが更新される(411)。次いで、新たな現在解の近傍解集合を読み出し、もしくは作成し(図示していない)第2局所探索を繰り返す(405)。現在解Sが更新されなかったときにはτを一つ増加して、aを0とし(402)、第1局所探索を行なう。このようにして、所定の終了条件に達するまで、第1局所探索と第2局所探索が交互に繰り返されて、車両数が最も少ない最適解Sbestを得る。 In the second local search, when τ becomes an even number (Yes in 403), the coefficient a becomes 1 (404), β (t) is incorporated in the objective function, and the number of vehicles is first determined in the vicinity of the current solution S. When there are a plurality of solutions with the smallest number of vehicles, a solution with the smallest index β (t) is searched for and a plurality of solutions with the smallest β (t) are found. In some cases, the solutions with the same β (t) are compared with the sum of the travel distance or operation time of the vehicle, and the solution with the smallest sum of travel distance or operation time is searched. The obtained solution S b, comparing the objective function used in the optimal solution S best with the first local search. I.e., solutions S b is less the number of vehicles than S best, even number of vehicles is the same Compares the travel distance and the like is small, and if so, places the S b and S best (407 ). Next, it is determined whether or not a predetermined end condition has been reached (408). If the predetermined end condition has been reached, S best is output and the process ends (409). Reached in the case no, the current and solution S solutions S b obtained are compared using an objective function used in the second local search. That is, when the number of vehicles is smaller, the number of vehicles is the same but the index β (t) is smaller, or the number of vehicles and β (t) are the same, but the sum of travel distance or operating time is smaller than S If the current solution S is updated by S b (411). Next, a neighborhood set of new current solutions is read or created (not shown), and the second local search is repeated (405). When the current solution S is not updated, τ is incremented by one, a is set to 0 (402), and a first local search is performed. In this way, the first local search and the second local search are alternately repeated until the predetermined end condition is reached, and the optimal solution S best with the smallest number of vehicles is obtained.

実施例1
ランダムに生成した時間枠のない入力データに本発明の方法を適用した。配送地点は矩形領域内にランダム一様分布で100点配置し、矩形領域の中央に拠点を配置した。各配送地点に配送する荷物はランダムに1〜10個の中から設定し、最大稼動時間は、積載容量が十分大きいトラック3台で100点を訪問できる程度とした。初期最適解は、車両を25台用意しておき、いずれかの車両が訪問できる未訪問の地点のうち、現在位置に最も近い地点を、次々に訪問する方法(並列最近傍法)を用いて求めた。
Example 1
The method of the present invention was applied to randomly generated input data without a time frame. 100 distribution points were placed in a rectangular area with a random uniform distribution, and a base was placed in the center of the rectangular area. The number of packages to be delivered to each delivery point was randomly set from 1 to 10, and the maximum operation time was such that 100 trucks with a sufficiently large capacity could visit 100 points. The initial optimal solution is to prepare 25 vehicles and use the method of visiting the points closest to the current position among the unvisited points that any vehicle can visit (parallel nearest neighbor method) one after another. Asked.

結果を図10に示す。車両の積載容量を、荷物の総量をW、本実施例の場合、荷物の平均値5個×100=500個、として、W/5からWまで変化させた場合に(横軸)、各手法が反復10回で得た最適な車両数の平均(縦軸)を示している。同図において、LSは第1局所探索(a=0)のみ行った場合、TSは後述するタブー探索、BP(load)は車両の評価値を積載率としたもの、BP(util)は車両の評価値を稼動率の近似値としたもの、BP(rand)は配送地点の特徴量を乱数としたもの、BP(const)は配送地点の特徴量を定数(本実施例では100)としたものである。BP(util^3)は車両の評価値を稼動率の近似値とし、m=3としたものである。なお、その他の設定ではm=2とした。各車両の積載容量が(W/5)×3の場合の各手法の結果は、LS=4.2, TS=4.0, BP(load)=3.4, BP(util)=3.3, BP(rand)=3.4, BP(const)=3.5, BP(util^3)=3.4 であった。 The results are shown in FIG. Each method when the load capacity of the vehicle is changed from W / 5 to W (horizontal axis) assuming that the total amount of the load is W, and in this embodiment, the average value of the load is 5 × 100 = 500. Indicates the average (vertical axis) of the optimal number of vehicles obtained in 10 iterations. In the figure, when only the first local search (a = 0) is performed for LS, TS is a tabu search described later, BP (load) is the vehicle evaluation value as a loading factor, and BP (util) is the vehicle The evaluation value is an approximate value of the operation rate, BP (rand) is a characteristic value of the delivery point, and BP (const) is the characteristic value of the delivery point is a constant (100 in this embodiment). It is. BP (util ^ 3) is an evaluation value of the vehicle, which is an approximate value of the operation rate, and m = 3. In other settings, m = 2. The results of each method when the loading capacity of each vehicle is (W / 5) × 3 are LS = 4.2, TS = 4.0, BP (load) = 3.4, BP (util) = 3. 3, BP (rand) = 3.4, BP (const) = 3.5, BP (util ^ 3) = 3.4.

上記結果から以下のことが分った。目的関数にβ(t)項を入れた第2局所探索を行うと、最大積載量の制約の強弱(横軸)によらず、局所探索やタブー探索と比べて少ない車両数の解を得ることができる。この点は、配送地点の特徴量として定数や乱数を用いても同様である。特徴量の中でも、稼動率の近似値を用いると、より少ない車両数の経路を求めることができる。   The following was found from the above results. When a second local search is performed with the β (t) term in the objective function, a solution with a smaller number of vehicles is obtained compared to the local search or tabu search regardless of the maximum load capacity constraint (horizontal axis). Can do. This also applies to the case where constants or random numbers are used as the feature quantities of the delivery points. Among the feature amounts, when an approximate value of the operation rate is used, a route with a smaller number of vehicles can be obtained.

比較するタブー探索は、非特許文献1記載の方法を参考にした方法を用いた。図11にそのフローを示す。同図において、b(s,t)は解sから近傍解t∈N(s)を生成するために着目した地点(base)を表す。一度探索したbaseをタブーリストに蓄えておき、タブーリストに入れられているbaseを近傍解の探索候補から外す様にした。また、タブーリストの大きさの上限値θは、地点数の10分の1とし、連続して10回の反復で、現在解Sが更新されなければ、タブーリストを初期化するようにした。同図、ステップ1103の近傍探索において、タブーリストに入っているbaseを避ける判断をする。ステップ1104及び1105でタブーリストを更新する。ステップ1108において、探索で得られた近傍解Sbが現在解Sより良くない場合でも、現在解が連続して更新されない反復回数が10回以内の間は(ステップ1111)、「山登り」の動きを許して局所探索を続行した。 The tabu search to compare used the method which referred the method of the nonpatent literature 1. FIG. 11 shows the flow. In the figure, b (s, t) represents a point (base) focused on to generate a neighborhood solution tεN (s) from the solution s. The bases that have been searched once are stored in the tabu list, and the bases in the tabu list are removed from the search candidates for the neighborhood solution. In addition, the upper limit value θ of the size of the taboo list is set to 1/10 of the number of points, and the taboo list is initialized if the current solution S is not updated in 10 iterations continuously. In the figure, in the neighborhood search in step 1103, it is determined to avoid the base included in the taboo list. In steps 1104 and 1105, the tabu list is updated. In step 1108, even when neighborhood solutions S b obtained in the search is not better than the current solution S, while number of iterations is not updated current solutions is continuously within 10 times (step 1111), the motion of "climbing" Continued local search with forgiveness.

実施例2
次に、時間枠付きのテストインスタンスとして広く利用されているSolomonのインスタンス(詳細はM.M.Solomon, “Algorithms for the vehicle routing and scheduling problems with time windows constraints”, Operations Research, Vol. 35, No. 2, pp.254−265, 1987を参照されたい)を用いて本発明の方法を上記タブー探索と比較した。地点数はいずれも100点である。Solomonのインスタンスには6つのクラス(ランダムな点配置、クラスタ化された点配置など)がある。各クラスの1つの問題について、実施例1と同様に車両数25台の初期解から出発し、ThinkPad X32 (Intel Pentium M 1.8GHz CPU)で100秒まで実行して得られた解および収束の様子を下表1及び図12〜17に示す。
Example 2
Next, an instance of Solomon that is widely used as a test instance with a time frame (for details, see MM Solomon, “Algorithms for the vehicle routing and scheduling programs with time windows constraints,” Operation 35, Research 35, Operations 35). 2, pp.254-265, 1987) to compare the method of the present invention with the above tabu search. There are 100 points. There are six classes of instances of Solomon (random point placement, clustered point placement, etc.). One problem in each class, starting from the initial solution with 25 vehicles, as in Example 1, and the solution and convergence obtained by running up to 100 seconds on a ThinkPad X32 (Intel Pentium M 1.8GHz CPU) Is shown in Table 1 and FIGS.

Figure 0005612817
*1:http://w.cba.neu.edu/~msolomon/heuristi.htmを参照されたい。

R201及びRC201は、車両の積載容量が十分大きいため、最大稼動時間の制約が利いて経路長が制限されるインスタンスである。R201は地点の配置がランダムで、RC201は地点がランダムな配置とクラスタ化された配置の混合になっている。これら2つのインスタンスについて、本発明の方法とTSの差が顕著であり、本発明の方法における第2局所探索の効果が大きいことが分かった。
Figure 0005612817
* 1: Refer to http://w.cba.neu.edu/~msolomon/heuristi.htm.

R201 and RC201 are instances in which the path length is limited due to the limitation of the maximum operation time because the vehicle loading capacity is sufficiently large. R201 has a random arrangement of points, and RC201 is a mixture of a random arrangement of points and a clustered arrangement. Regarding these two instances, the difference between the method of the present invention and TS is remarkable, and it was found that the effect of the second local search in the method of the present invention is large.

R101、RC101はR201、RC201と比べて最大稼動時間が長い。R101も同様に最大稼動時間の制約が利いて経路長が制限される。RC101は最大稼働時間と積載容量の両方の制約が強く、いずれかの制約が利くことで経路長が制限される。R101は地点の配置がランダムで、RC101は地点がランダムな配置とクラスタ化された配置の混合になっている。これらのインスタンスについても、本発明の方法がTSよりも少ない車両数の解を見つけた。   R101 and RC101 have a longer maximum operating time than R201 and RC201. Similarly, R101 is also restricted in the maximum operation time and the path length is limited. The RC 101 has strong restrictions on both the maximum operating time and the load capacity, and the path length is limited by any of the restrictions. R101 has a random arrangement of points, and RC101 is a mixture of a random arrangement of points and a clustered arrangement. For these instances as well, the method of the present invention found a solution for fewer vehicles than TS.

C101、C201はそれぞれ、クラスタ化された地点配置であり、C101は最大稼動時間が長いインスタンス、C201は短いインスタンスである。最大稼働時間と積載容量の両方の制約が強く、いずれかの制約が利くことで経路長が制限される。C101ではいずれの方法でも最適解が得られたが、C201では本発明の方法がTSよりも少ない車両数の解を見つけた。   C101 and C201 are clustered point arrangements, where C101 is an instance with a long maximum operating time and C201 is a short instance. The restrictions on both the maximum operating time and the load capacity are strong, and the path length is limited by either restriction. In C101, the optimum solution was obtained by either method, but in C201, the method of the present invention found a solution having a smaller number of vehicles than TS.

本発明の方法は、様々なタイプの配送経路問題において、車両数がより低減された解を見出すのに有効である。 The method of the present invention is effective in finding solutions with a reduced number of vehicles in various types of delivery route problems.

配送経路と車両数の関係の一例を示す説明図である。It is explanatory drawing which shows an example of the relationship between a delivery route and the number of vehicles. 図1に示す例に於ける解を、車両数と走行距離についてプロットしたグラフである。It is the graph which plotted the solution in the example shown in FIG. 1 about the number of vehicles and the travel distance. 本発明を実装することができるコンピュータ・ハードウェアの例を示すブロック図である。FIG. 11 is a block diagram illustrating an example of computer hardware in which the present invention can be implemented. 本発明の方法を示すフローチャートである。3 is a flowchart illustrating the method of the present invention. 近傍リストの構造の例を示す説明図である。It is explanatory drawing which shows the example of the structure of a neighborhood list. 配送経路の解を例示する説明図である。It is explanatory drawing which illustrates the solution of a delivery route. 近傍解の生成方法を示す説明図である。It is explanatory drawing which shows the production | generation method of a neighborhood solution. O(1)フィージビリティー・チェックの方法を示す説明図である。It is explanatory drawing which shows the method of O (1) feasibility check. ビンパッキング問題における異なる解におけるβ(t)を示す説明図である。It is explanatory drawing which shows (beta) (t) in the different solution in a bin packing problem. 実施例1の結果を示すグラフである。3 is a graph showing the results of Example 1. 実施例1及び2で用いたタブーサーチのフローチャートである。5 is a flowchart of tabu search used in Examples 1 and 2. 実施例2において、インスタンスC101についての結果を示すグラフである。In Example 2, it is a graph which shows the result about instance C101. 実施例2において、インスタンスC201についての結果を示すグラフである。In Example 2, it is a graph which shows the result about instance C201. 実施例2において、インスタンスR101についての結果を示すグラフである。In Example 2, it is a graph which shows the result about instance R101. 実施例2において、インスタンスR201についての結果を示すグラフである。In Example 2, it is a graph which shows the result about instance R201. 実施例2において、インスタンスRC101についての結果を示すグラフである。In Example 2, it is a graph which shows the result about instance RC101. 実施例2において、インスタンスRC201についての結果を示すグラフである。In Example 2, it is a graph which shows the result about instance RC201.

符号の説明Explanation of symbols

301 コンピュータ・システム
302 CPU
303 メイン・メモリ
304 バス
305 ディスプレイ・コントローラ
306 ディスプレイ
311 キーボード
301 Computer system 302 CPU
303 Main memory 304 Bus 305 Display controller 306 Display 311 Keyboard

Claims (11)

記憶手段を備えるコンピュータにより、複数車両の配送経路を求めるための方法であって、
所与の現在の解Sの近傍解からなる解集合(N(S))を作成し、前記解集合(N(S))について、所与の終了条件に達するまで、局所探索を反復して、前記現在の解Sを更新して、最適解Sbestを求めるステップを含み、
該局所探索において、車両数が最も少ない解を探索するステップ、次いで、車両数が最も少ない解が複数ある場合には、該複数の解について、下記式(1)で定義される、車両ごとの評価値B(t)(t∈N(S))の、下記式(2)で定義される車両間のばらつきの少なさを示す指標β(t)が最も小さい解を探索するステップと、
β(t)が最も小さい解が複数ある場合には該複数の解について、走行距離もしくは稼動時間の全車両に亘る和が最も小さい解を探索するステップとを含み、
(t)=Σi∈Ck(t)/M (1)
β(t) = 1−Σk∈σ(t)(t)/|σ(t)| (2)
ここで、
:各配送地点iの所与の特徴量
M:1つの車両が訪問する配送地点の特徴量の上限値もしくは特徴量の全車両に亘る総和
σ(t):解tで使用される車両の集合
|σ(t)|:解tで使用される車両の合計数
(t):車両k∈σ(t)が訪問する配送地点の集合
m:1より大きい数値であり、
前記解集合(N(S))を作成するに先立ち、配送地点数によらず定数時間で実行できるフィージビリティー・チェックを行い、走行距離が短縮され得る地点を限定した上で近傍解を生成することを特徴とする、複数車両の配送経路を求めるための方法。
A method for obtaining delivery routes of a plurality of vehicles by a computer having a storage means,
Create a solution set (N (S)) that is a neighborhood solution of a given current solution S, and repeat the local search for the solution set (N (S)) until a given termination condition is reached. , Updating the current solution S to obtain an optimal solution S best ,
In the local search, a step of searching for a solution having the smallest number of vehicles, and when there are a plurality of solutions having the smallest number of vehicles, the plurality of solutions are defined for each vehicle defined by the following equation (1). A step of searching for a solution having the smallest index β (t) indicating a small variation between vehicles of the evaluation value B k (t) (tεN (S)) defined by the following equation (2) ;
when there are a plurality of solutions having the smallest β (t), a step of searching for a solution having the smallest sum of travel distance or operating time over all vehicles for the plurality of solutions,
B k (t) = Σ iεC k (t) p i / M (1)
β (t) = 1- Σkεσ (t) B k (t) m / | σ (t) | (2)
here,
p i : given feature quantity of each delivery point i M: upper limit value of feature quantity at delivery point visited by one vehicle or total sum of feature quantities over all vehicles σ (t): vehicle used in solution t Set of
| σ (t) |: Total number of vehicles used in solution t C k (t): Set of delivery points visited by vehicle kεσ (t)
Prior to creating the solution set (N (S)), a feasibility check that can be executed in a constant time regardless of the number of delivery points is performed, and a neighborhood solution is generated after limiting points where the travel distance can be shortened. A method for determining a delivery route for a plurality of vehicles .
前記最適解Sbestを求めるステップが、下記1)〜9)のステップを所与の終了条件に達するまで反復するステップであり、
1)前記解集合について、第1局所探索を行なうステップであって
(i)車両数が最も少ない解を探索するステップ、
(ii)車両数が最も少ない解が複数ある場合には、該複数の解のうち車両の走行距離もしくは稼動時間の全車両に亘る和が最も小さい解を探索するステップ、
からなる第1局所探索を行なうステップ、
2)第1の局所探索で得られた解Sが前記最適解Sbestに比べて車両数が少ないか、車両数は同じであるが車両の走行距離もしくは稼動時間の全車両に亘る和が小さい場合には、前記解Sを最適解Sbestとして保存して該最適解Sbestを更新するステップ、
3)前記終了条件に達しているか否かを判断し、該終了条件に達している場合にはSbestを出力するステップ、
4)ステップ3)で終了条件に達していないと判断された場合には、第1の局所探索で得られた解Sが現在の解Sよりも車両数が少ないか、車両数が同じであっても走行距離もしくは稼動時間の全車両に亘る和が小さい場合には、解Sを現在の解Sとして保存して現在の解Sを更新し、次いで、前記ステップ1)に戻るステップ、
5)前記ステップ4)で現在の解が更新されなかった場合には前記ステップ1)の現在の解Sの近傍解からなる解集合について、第2局所探索を行なうステップであって
(a)車両数が最も少ない解を探索するステップ、
(b)車両数が最も少ない解が複数ある場合には、該複数の解のうち前記指標β(t)が最も小さい解を探索するステップ、
(c)β(t)が最も小さい解が複数ある場合には、該複数の解のうち車両の走行距離もしくは稼動時間の全車両に亘る和が最も小さい解を探索するステップ、
を含む第2局所探索を行なうステップ、
6)第2局所探索で得られた解Sが、前記最適解Sbestよりも車両数が少ないか、車両数が同じであっても走行距離もしくは稼動時間の全車両に亘る和が小さい場合には、前記解Sを最適解Sbestとして保存し、該最適解Sbestを更新するステップ、
7)前記終了条件に達しているか否かを判断し、該終了条件に達している場合にはSbestを出力するステップ、
8)ステップ7)で終了条件に達していないと判断された場合には、第2の局所探索で得られた解Sが現在の解Sよりも車両数が少ないか、車両数が同じであっても前記指標β(t)が小さいか、又は車両数及び指標β(t)が同じであっても走行距離もしくは稼動時間の全車両に亘る和が小さい場合に、該Sを現在の解Sとして保存して現在の解Sを更新し、該更新された現在の解Sの近傍解からなる解集合について、再度第2局所探索を行うステップ、
9)ステップ8)でSが更新されなかった場合に、上記ステップ1)に戻るステップ、
であることを特徴とする請求項1に記載の方法。
The step of obtaining the optimal solution S best is a step of repeating the following steps 1) to 9) until a given end condition is reached;
1) A step of performing a first local search for the solution set, and (i) a step of searching for a solution having the smallest number of vehicles,
(Ii) when there are a plurality of solutions having the smallest number of vehicles, a step of searching for a solution having the smallest sum of the traveling distance or operation time of the vehicle over all vehicles among the plurality of solutions;
Performing a first local search comprising:
2) The solution S b obtained in the first local search has a smaller number of vehicles than the optimum solution S best , or the number of vehicles is the same, but the sum of the vehicle travel distance or operation time over all vehicles is If small, updating the optimal solution S best to save the solution S b as the optimal solution S best,
3) determining whether or not the end condition is reached, and outputting the S best if the end condition is reached;
4) If it is determined not to reach the termination condition in step 3), or less number of vehicles than the first solution S b is the current solution S obtained in the local search, the vehicle speed is the same If the sum of travel distance or operating time over all the vehicles is small, the solution S b is saved as the current solution S, the current solution S is updated, and then the step returns to step 1).
5) A step of performing a second local search for a solution set consisting of neighboring solutions of the current solution S in step 1) when the current solution is not updated in step 4). Searching for the smallest number of solutions,
(B) when there are a plurality of solutions having the smallest number of vehicles, a step of searching for a solution having the smallest index β (t) among the plurality of solutions;
(C) when there are a plurality of solutions having the smallest β (t), a step of searching for a solution having the smallest sum of the travel distance or operating time of the vehicle over all the vehicles among the plurality of solutions;
Performing a second local search including:
6) Solution S b obtained in the second local search, the optimal solution S or less number of vehicles than best, if the sum be a number of vehicles are the same over the entire vehicle mileage or operating time is less in stores the solution S b as the optimal solution S best, updating the optimal solution S best,
7) determining whether or not the end condition is reached, and outputting the S best if the end condition is reached;
8) When it is determined not to reach the termination condition in step 7), or a small number of vehicles than a second solution S b is the current solution S obtained in the local search, the vehicle speed is the same If the index β (t) is small or the sum of the travel distance or operation time over all vehicles is small even if the number of vehicles and the index β (t) are the same, the S b Updating the current solution S as a solution S, and performing a second local search again for a solution set consisting of neighboring solutions of the updated current solution S;
9) If S is not updated in step 8), return to step 1) above;
The method of claim 1, wherein:
前記特徴量pが下記式(3)で定義される値であり、
=nni + ti (3)
(nni:配送地点iに最も近い配送地点への移動時間と、2番目に近い配送地点への移動時間の平均値
i:配送地点iでの作業時間)であり、
Mが車両の稼動時間の上限値である、請求項1または2に記載の方法。
A value the feature amount p i is defined by the following formula (3),
p i = nn i + t i (3)
(Nn i : average value of travel time to delivery point closest to delivery point i and travel time to delivery point closest to delivery point t i : working time at delivery point i)
The method according to claim 1, wherein M is an upper limit value of an operating time of the vehicle.
前記特徴量pが配送地点iへの配送量であり、Mが車両の積載量の上限値である、請求項1または2に記載の方法。 The feature amount p i is the delivery amount to the delivery point i, M is the upper limit value of the load of the vehicle, the method according to claim 1 or 2. 前記特徴量pが配送地点iに割り当てられた定数であり、Mがその総和もしくは上限値である、請求項1または2に記載の方法。 Wherein a constant feature amount p i is assigned to the delivery point i, M is the sum or the upper limit value thereof, the method according to claim 1 or 2. 前記定数が1であり、Mが地点数である、請求項記載の方法。 The method of claim 5 , wherein the constant is 1 and M is the number of points. 前記特徴量pが配送地点iに割り当てられた乱数であり、Mが乱数の全車両に亘る総和である、請求項1または2に記載の方法。 Wherein a random number feature amount p i is assigned to the delivery point i, M is the sum over the entire vehicle random number, The method of claim 1 or 2. 前記mが1.5〜3の数である、請求項1〜のいずれか1項記載の方法。 Wherein m is a number of 1.5 to 3, any one method according to claim 1-7. 前記終了条件が計算時間である、請求項1〜のいずれか1項記載の方法。 Wherein a termination condition calculation time, any one method according to claim 1-8. 複数車両の配送経路を求めるためのコンピュータ・システムであって、
拠点、配送地点、車両及び物品の情報を記録する記憶手段と、
現在の解Sを保存する現在解記憶手段と、
最適解Sbestを保存する最適解記憶手段と、
前記記憶手段から拠点、配送地点、車両及び物品の情報を読取り、初期の現在解S及び最適解Sbestを求めて、前記現在解記憶手段及び最適解記憶手段に書き込む初期値設定手段と、
前記現在解Sの近傍解からなる解集合(N(S))を所与の方法により求める解集合計算手段と、
前記解集合計算手段から各近傍解(t)を読み取り、第1局所探索を行なう手段であって、
(i)現在解Sよりも車両数が最も少ない解を探索する手段と、
(ii)車両数が最も少ない解が複数ある場合には、該複数の解のうち車両の走行距離もしくは稼動時間の全車両に亘る和が最も小さい解を探索する手段と、
を含む第1局所探索手段と、
前記解集合について、第2局所探索を行なう手段であって、
(a)車両数が最も少ない解を探索する手段と、
(b)車両数が最も少ない解が複数ある場合には、該複数の解のうち、下記式(1)で定義される、車両ごとの評価値B(t)の、下記式(2)で定義される車両間のばらつきの少なさを示す指標β(t)を計算し及び該指標β(t)が最も小さい解を探索する探索手段と、
(t)=Σi∈Ck(t)/M (1)
β(t) = 1−Σk∈σ(t)(t)/|σ(t)| (2)
ここで、
σ(t):解tが使用する車両の集合
|σ(t)|:解tで使用される車両の合計数
(t):車両k∈σ(t)が訪問する配送地点の集合
:各配送地点iの所与の特徴量
M:1つの車両が訪問する配送地点の特徴量の上限値もしくは特徴量の全車両に亘る総和
m:1より大きい数値
(c)β(t)が小さい解が無い場合には、β(t)が同じ解のうち車両の走行距離もしくは稼動時間の和がより小さい解を探索する探索手段と、
を含む第2局所探索手段と、
前記第1もしくは第2探索手段から出力された解Sを前記Sbestと比較して、SがSbestよりも車両数が少ないか、車両数が同じであっても走行距離もしくは稼動時間の全車両に亘る和が小さい場合には、Sbestを更新すると同時に、前記最適解記憶手段に書き込む最適解更新手段と、
解SとSbestの比較後に、局所探索終了条件に達しているか否かを判断し、該終了条件に達している場合には前記Sbestを出力する終了条件判断手段と、
該終了条件に達していない場合には、前記第1もしくは第2探索手段から出力された解Sを現在の解Sと比較して、Sが前記第1探索手段の解である場合にはSよりも車両数が少ないか、車両数が同じであっても走行距離もしくは稼動時間の和が小さい場合に、Sが前記第2探索手段の解である場合には、Sよりも車両数が少ないか、車両数が同じであっても前記指標β(t)が小さいか、車両数及び指標β(t)が同じであっても走行距離もしくは稼動時間の全車両に亘る和が小さい場合に、Sを更新すると共に、前記現在解記憶手段に書き込む現在解更新手段と、
現在の解Sが更新されなかった場合に、前記第1局所探索から前記第2局所探索へ、もしくは、前記第2局所探索から第1局所探索へと切り替えて、前記終了条件に達するまで交互に行なわせる局所探索制御手段と、
を含み、
前記解集合(N(S))を作成するに先立ち、配送地点数によらず定数時間で実行できるフィージビリティー・チェックを行い、走行距離が短縮され得る地点を限定した上で近傍解を生成する、複数車両の配送経路を求めるためのコンピュータ・システム。
A computer system for determining a delivery route for a plurality of vehicles ,
Storage means for recording information on bases, delivery points, vehicles and articles;
Current solution storage means for storing the current solution S;
Optimal solution storage means for storing the optimal solution S best ;
An initial value setting unit that reads information on a base, a delivery point, a vehicle, and an article from the storage unit, obtains an initial current solution S and an optimal solution S best , and writes the initial solution S and the optimal solution storage unit;
Solution set calculation means for obtaining a solution set (N (S)) consisting of neighboring solutions of the current solution S by a given method;
Means for reading each neighborhood solution (t) from the solution set calculation means and performing a first local search,
(I) means for searching for a solution having the smallest number of vehicles than the current solution S;
(Ii) when there are a plurality of solutions having the smallest number of vehicles, a means for searching for a solution having the smallest sum of the traveling distance or operation time of the vehicle over all vehicles among the plurality of solutions;
First local search means including:
Means for performing a second local search for the solution set,
(A) means for searching for a solution having the smallest number of vehicles;
(B) When there are a plurality of solutions having the smallest number of vehicles, the following equation (2) of the evaluation value B k (t) for each vehicle defined by the following equation (1) among the plurality of solutions. A search means for calculating an index β (t) indicating a small variation between vehicles defined by the above and searching for a solution having the smallest index β (t);
B k (t) = Σ iεC k (t) p i / M (1)
β (t) = 1- Σkεσ (t) B k (t) m / | σ (t) | (2)
here,
σ (t): set of vehicles used by solution t
| σ (t) |: Total number of vehicles used in solution t C k (t): Set of delivery points visited by vehicle kεσ (t) p i : A given feature quantity of each delivery point i M: The upper limit value of the feature quantity at the delivery point visited by one vehicle or the sum of the feature quantities over all vehicles m is a value greater than m: 1 (c) If there is no solution with a small β (t), β (t Search means for searching for a solution having a smaller sum of vehicle travel distance or operation time among the same solutions;
Second local search means including:
Comparing the solution S b output from the first or second search means and said S best, S b Do small number of vehicles than S best, mileage or operation time even number of vehicles is the same If the sum over all vehicles is small, the optimum solution update means for updating S best and simultaneously writing the optimum solution storage means,
After comparing the solutions S b and S best , it is determined whether or not a local search end condition has been reached, and when the end condition has been reached, an end condition determination unit that outputs the S best ;
If it does not reach the termination condition, the solution S b output from the first or second search means in comparison with the current solution S, when S b is a solution of the first searching means or has less number of vehicles than S, if even number of vehicles is less than or equal the sum of the travel distance or running time, when the S b is a solution of the second searching means is the vehicle than S Even if the number is small, even if the number of vehicles is the same, the index β (t) is small, or even if the number of vehicles and the index β (t) are the same, the total travel distance or working time over all the vehicles is small A current solution update means for updating S and writing to the current solution storage means,
When the current solution S is not updated, the first local search is switched to the second local search, or the second local search is switched to the first local search, and alternately until the end condition is reached. Local search control means to be performed;
Including
Prior to creating the solution set (N (S)), a feasibility check that can be executed in a constant time regardless of the number of delivery points is performed, and a neighborhood solution is generated after limiting points where the travel distance can be shortened. A computer system for determining delivery routes for multiple vehicles .
請求項1〜のいずれか1項に記載の方法の各ステップをコンピュータ・システムに実行させる、複数車両の配送経路を求めるためのコンピュータ・プログラム。 Claim 1 to perform the steps of the method according to any one of 9 to a computer system, a computer program for determining the delivery route of the plurality of vehicles.
JP2008283530A 2008-11-04 2008-11-04 Method, computer system and computer program for determining delivery routes of multiple vehicles Expired - Fee Related JP5612817B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008283530A JP5612817B2 (en) 2008-11-04 2008-11-04 Method, computer system and computer program for determining delivery routes of multiple vehicles

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008283530A JP5612817B2 (en) 2008-11-04 2008-11-04 Method, computer system and computer program for determining delivery routes of multiple vehicles

Publications (2)

Publication Number Publication Date
JP2010111452A JP2010111452A (en) 2010-05-20
JP5612817B2 true JP5612817B2 (en) 2014-10-22

Family

ID=42300345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008283530A Expired - Fee Related JP5612817B2 (en) 2008-11-04 2008-11-04 Method, computer system and computer program for determining delivery routes of multiple vehicles

Country Status (1)

Country Link
JP (1) JP5612817B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108921338B (en) * 2018-06-20 2022-04-19 广东工业大学 Multi-vehicle workshop logistics transportation scheduling method
CN109359771A (en) * 2018-10-11 2019-02-19 福建龙易配信息科技有限公司 A kind of line haul vehicle and goods matching algorithm based on big data
CN109978245B (en) * 2019-03-15 2023-06-20 中国科学技术大学 Missile vehicle dispatching method based on estimated shortest time of use as index
WO2021106977A1 (en) * 2019-11-28 2021-06-03 公立大学法人 滋賀県立大学 Transportation route determination method, computer program, and transportation route determination device
CN112288347A (en) * 2020-02-21 2021-01-29 北京京东振世信息技术有限公司 Method, device, server and storage medium for determining route of cold chain distribution
CN112990528A (en) * 2020-06-28 2021-06-18 青岛盈智科技有限公司 Logistics transportation stowage management method and device
CN112001678B (en) * 2020-08-26 2022-07-19 莆田烟草物流有限公司 Method for reducing tobacco delivery mileage
CN113723804B (en) * 2021-08-30 2023-08-22 合肥工业大学 Vehicle-machine collaborative distribution method and system considering multiple unmanned aerial vehicle stations

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112925A (en) * 1998-10-07 2000-04-21 Ibm Japan Ltd Method/system for generating delivery route for miniaturizing number of routes
JP2001282897A (en) * 2000-03-31 2001-10-12 Hitachi Software Eng Co Ltd Apparatus for creating delivery plan, method for the same and storage medium storing program of the method
JP2002302257A (en) * 2001-04-05 2002-10-18 Mitsubishi Electric Corp Delivery planning method and program for executing the same

Also Published As

Publication number Publication date
JP2010111452A (en) 2010-05-20

Similar Documents

Publication Publication Date Title
JP5612817B2 (en) Method, computer system and computer program for determining delivery routes of multiple vehicles
Ceschia et al. Local search for a multi-drop multi-container loading problem
Theys et al. Using a TSP heuristic for routing order pickers in warehouses
Braekers et al. Exact and meta-heuristic approach for a general heterogeneous dial-a-ride problem with multiple depots
Kuo et al. A variable neighborhood search for the multi-depot vehicle routing problem with loading cost
Leung et al. Simulated annealing for the vehicle routing problem with two-dimensional loading constraints
CN110189077B (en) Multi-stage vehicle-cargo matching method considering three-dimensional loading constraint
Zhang et al. Integrated ant colony and tabu search approach for time dependent vehicle routing problems with simultaneous pickup and delivery
Sze et al. A hybridisation of adaptive variable neighbourhood search and large neighbourhood search: Application to the vehicle routing problem
Bräysy et al. A well-scalable metaheuristic for the fleet size and mix vehicle routing problem with time windows
Ting et al. Multi-vehicle selective pickup and delivery using metaheuristic algorithms
Ho et al. Local search heuristics for the probabilistic dial-a-ride problem
Goeke et al. Modeling single-picker routing problems in classical and modern warehouses: INFORMS journal on computing meritorious paper awardee
JP2021174262A (en) Delivery plan creation support program, delivery plan creation support method, and information processing device
JP5190110B2 (en) Course creation system and course creation method
Rüther et al. A grouping genetic algorithm for multi depot pickup and delivery problems with time windows and heterogeneous vehicle fleets
CN110930092B (en) Distribution route adjusting method and device, electronic equipment and storage medium
JP5845716B2 (en) Program for determining route, information processing method and apparatus
CN111461395A (en) Temporary distribution center site selection method and system
Redi et al. An improved variable neighborhood search for the open vehicle routing problem with time windows
Lu et al. Multi-restart iterative search for the pickup and delivery traveling salesman problem with FIFO loading
Jachimowski et al. Simulated annealing algorithm for the multi-level vehicle routing problem
Yu et al. A Simulated Annealing Heuristic for the Vehicle Routing Problem with Cross-docking
CN114169488B (en) Hybrid element heuristic algorithm-based vehicle path acquisition method with capacity constraint
CN113450055B (en) Cargo reduction method, device, equipment and storage medium based on transportation overload

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140328

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140819

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20140819

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140905

R150 Certificate of patent or registration of utility model

Ref document number: 5612817

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees