Computers & Operations Research 30 (2003) 397 – 410
www.elsevier.com/locate/dsw
Optimal routing of multiple-load AGV subject to LIFO loading constraints G. Levitina;∗ , R. Abezgaouzb a
The Israel Electric Corporation Ltd., Reliability Department, Planning, Development and Technology Division, P.O. Box 10, 31000 Haifa, Israel b The Israel Institute of Technology (Technion), Faculty of Industrial Engineering & Management, Israel Received 1 January 2001; received in revised form 1 October 2001
Abstract When simple automated guided vehicles (AGVs) having no random access load transfer mechanism are used for carrying multiple loads between workstations, the loads cannot be handled independently. This paper considers the case when loads are placed in 5at pallets and each new picked up pallet is loaded on the top of batch of pallets already carried by the AGV. To avoid use of excessive space and time needed to reorder pallets in the batch, the loading–unloading procedures should be performed in accordance with last-in-7rst-out (LIFO) rule. In this paper we formulate the condition of existence of AGV routes in which, it visits each workstation only once and meets LIFO constraint. We also suggest an algorithm for 7nding the shortest one among such routes. Examples are provided to illustrate the performance of the algorithm. Scope and purpose The loads transfer task is de7ned by an oriented graph G = (V; E) in which vertices vi (1 6 i 6 N ) correspond to loading=unloading nodes in a network. Arc (vi ; vj ) ∈ E corresponds to existence of load to be transferred from node vi to node vj . The distance between each pair of nodes is de7ned by a matrix D = {d(vi ; vj ); 1 6 i 6 N; 1 6 j 6 N }. An autonomous agent has to deliver loads in accordance with graph G. The loads are stored in the stack of the agent and are loaded and unloaded using last-in-7rst-out (LIFO) rule. To ful7ll the transfer task the agent has to pass through all the existing vertices in some order that ensures that for each arc (vi ; vj ) ∈ E vertex vi is visited before vertex vj . Conditions of existence of a sequence of vertices which allow all the loads to be transferred without violating LIFO rule and visiting each vertex only once are formulated. An algorithm for 7nding the shortest tour meeting LIFO constraints is developed. The possible applications of the algorithm are scheduling automated guided multiple load vehicles or routing
∗
Corresponding author. Tel.: +972-4-864-860; fax: +972-4-864-9780. E-mail address:
[email protected] (G. Levitin).
0305-0548/02/$ - see front matter ? 2002 Elsevier Science Ltd. All rights reserved. PII: S 0 3 0 5 - 0 5 4 8 ( 0 1 ) 0 0 1 0 6 - X
398
G. Levitin, R. Abezgaouz / Computers & Operations Research 30 (2003) 397 – 410
autonomous intelligent agents with stack memory organization in computer networks. ? 2002 Elsevier Science Ltd. All rights reserved. Keywords: Optimal routing; Autonomous agent; Last-in-7rst-out rule; Automated guided vehicle
1. Introduction Automated guided vehicles (AGVs) with multiple load carrying capacities are widely used in modern automated manufacturing as an alternative to increasing size of single load AGVs 5eet. A multiple-load vehicle can accomplish material transportation tasks by simultaneously carrying on a board a number of loads with diEerent destinations [1]. This is especially bene7cial in manufacturing systems where loading–unloading process is much more time-consuming than transportation. Indeed, using multi-load AGVs allows for minimization of loading–unloading procedures by picking up batches of loads with diEerent destinations and unloading batches of loads coming from diEerent sources at each workstation. The maximum bene7t from using multiple load AGVs can be achieved when no limitations on AGV carrying capacity are imposed and all the loads can be loaded and unloaded independently [2]. The last condition requires AGVs to be equipped with shuttle tops or roller decks, which makes vehicles expensive and prevents them to be compact (which is especially important for systems operating in limited spaces). DiEerent aspects of multiple-load AGV management are studied in J works of Hodgson et al. [3], Ozden [4], Bartoldi and Platzman [5], Nayyar and Khator [6], Occena and Yokota [7], Tanchoco and Co [1], Lin et al. [8], Lee et al. [9] and Sinriech and Palni [10]. These works deal basically with eEect of AGV load capacity and with AGV dispatching when loads can be handled independently. A comprehensive review of these studies is provided by Bilge and Tanchoco [2]. In many cases simple AGVs are also used for carrying multiple loads. Since simple AGVs have no facilities for handling diEerent loads independently, excessive unloading and loading procedures are often required at a workstation to access loads destined to it if loads destined to other workstations block them. When materials are transported in 5at containers (pallets), each pallet picked up by AGV is placed on the top of batch of pallets loaded previously. In this case unloading of arbitrary pallet is possible only after unloading of all the pallets located above it. If AGV arrives to some workstations having pallets destined to other workstations above pallets destined to this workstation, the former should be unloaded from the AGV and loaded back after unloading proper pallets. This procedure requires special space to store temporarily unloaded pallets and time to carry out excessive loading and unloading (further referred to as rearrangement). To avoid space and time wastes the AGV route can be planned in a way that prevents rearrangements. Such routes should meet last-in-7rst-out (LIFO) condition in which pallet loaded last (on the top of batch) is unloaded 7rst. It can be easily seen that LIFO condition can always be met by visiting some workstations several times (single load AGVs always meet LIFO condition but make a lot of excessive travels between stations). In this paper, we formulate the condition of existence of AGV routes in which it visits each workstation only once and meets LIFO constraint. We also suggest an algorithm for 7nding the shortest one among such routes. It is assumed that
G. Levitin, R. Abezgaouz / Computers & Operations Research 30 (2003) 397 – 410
399
no limitations on the AGV capacity are imposed. Another assumption is that the distance between pick up and delivery positions for the same workstations are much less than the distances among diEerent workstations (in most cases the pick up and delivery positions coincide). If the route meeting LIFO constraint and visiting each workstation only once does not exist, the transportation problem can be solved by three diEerent ways: 1. using additional AGVs, 2. visiting some workstations more than once, 3. performing excessive unloading and loading procedures. In the 7rst case the transportation problem is decomposed to several smaller ones, each of which can be solved by the suggested algorithm. In the second and third cases the sum of travel and loading–unloading times minimization problem can be formulated. To solve these problems a heuristics can be used based on the suggested algorithm [11]. Observe that the suggested algorithm deals with a 7xed set of transfer requirements, which means it cannot be applied directly in dynamic environment where new transfer requests appear during accomplishment of a given transportation task. One of possible solutions of the dynamic transportation problem is division of the transfer requests according to certain decision epochs so that a rout for each epoch is kept unchanged until 7nished. The number of requests in each epoch can be determined by technological reasons or by eOciency of optimal routing problem solution. In the later case, the routing problem should be solved for several sets of transfer requests before the AGV starts its route. 2. Problem formulation The material transportation task can be de7ned by an oriented graph G = (V; E) in which vertices vi ∈ V (1 6 i 6 N ) correspond to workstations. Existence of arc (vi ; vj ) ∈ E corresponds to existence of pallets to be transferred from station vi to vj . The distances between stations are de7ned by a matrix D = {d(vi ; vj ); 1 6 i 6 N; 1 6 j 6 N }. To ful7ll the transportation task AGV has to pass through all the existing vertices in some order that ensures that for each arc (vi ; vj ) ∈ E vertex vi (loading AGV) is visited before vertex vj (unloading). According to Volchenkov [12] such an order is referred to as packing (note that packing is impossible for graphs containing loops). The graph packing is represented by the list P = {p1 ; : : : ; pN } of numbers of vertices corresponding to order of their visiting. We’ll use expression a ¡ b to indicate that vertex a is visited before vertex b (a is located left to b in the list P). The length of the packing is determined as N −1
d(vpj ; vpj+1 ):
j=1
The AGV route can be represented by packing graph (PG) in which all the vertices are located along a straight line in order P from left to right (see example in Fig. 1C). Consider packing P of a graph G in which a ¡ b ¡ c ¡ d. If there exist arcs (a; c) and (b; d) the LIFO order is impossible. Indeed pallet loaded at position b is loaded upon pallet loaded at
400
G. Levitin, R. Abezgaouz / Computers & Operations Research 30 (2003) 397 – 410
position a, but pallet loaded at position a should be unloaded at position c before unloading of the pallet loaded at position b. In such a situation unloading is impossible without rearrangement, which corresponds to arcs crossing in PG. Packing providing LIFO order (avoiding arcs crossing in PG) is referred to as planar packing (PP). Volchenkov [12] formulated conditions of PP existence for arbitrary graph (graph feasibility) and suggested an algorithm for building PP for feasible graph. In [13], a simpli7ed version of the algorithm was presented and some optimization procedures were developed for 7nding PP meeting speci7c constraints. In this paper, an algorithm for building shortest AGV path avoiding rearrangements is suggested which 7nds minimal length PP for feasible graphs. Note that the same problem formulation can be used for optimal routing of autonomous intelligent agents in computer networks. Indeed, suppose that an agent performs information transfer task in a network and stores information in its stack memory. If the agent arrives to some node having data destined to other node above data destined to this node, the data rearrangement procedure is necessary. This procedure needs additional time and memory resources. Finding a route meeting the LIFO constraint can improve the eOciency of the agent.
3. Building minimal length PP for a feasible graph In accordance with Volchenkov [12] and Levitin [13], we use the following de7nitions: Half-degree of in8ow (out8ow) of a vertex is a number of arcs entering (leaving) the vertex (for example in Fig. 1A vertex v12 has half-degree of in5ow 3 and half-degree of out5ow 1). Contour is a subgraph containing an initial vertex vi , an end vertex vj and two diEerent paths connecting vi and vj (in Fig. 1A the graph contains four contours (v9 ; v12 ; v13 ), (v3 ; v5 ; v10 ), (v1 ; v6 ; v11 ; v13 ) and (v6 ; v11 ; v13 )). Singular contour is a contour in which one of paths from vi to vj consists of single arc (vi ; vj ) (note that all the contours in Fig. 1A are singular and compare them with non-singular contour in Fig. 2A). This arc is named singular arc (all the singular arcs in Fig. 1A are dashed). Removal of the singular arc from a contour transforms the latter to a directed route. It was proven in [12] that presence of a singular arc in each contour of graph G is a necessary condition for the graph to have PP and that connectivity of the graph G is not violated by removing singular arcs. Normal covering tree T is the graph obtained by removing all the singular arcs from graph G (note that T is a special case of spanning tree). In T each vertex has half-degree of out5ow (HDO) equal to one except a 7nal vertex vN with zero HDO (root of tree T ). There exists a single path from each vertex of T to 7nal vertex vN (the normal covering tree of the graph presented in Fig. 1A is presented in Fig. 1B). Continuation of vertex vi C(vi ), is a set of all vertices for which the path connecting them to the root of T contains vi (for example in Fig. 1B C(v11 ) = {v1 ; v2 ; v6 }). The following proposition is proven in [12]. Proposition 1. In PP for each vertex vi and an arbitrary pair of vertices a and b belonging to C(vi ) (a ¡ b); every vertex d for which (a ¡ d ¡ b) should also belong to C(vi ).
G. Levitin, R. Abezgaouz / Computers & Operations Research 30 (2003) 397 – 410
401
Fig. 1. Illustrative example 1: (A) transportation task graph, (B) normal covering tree, (C) optimal planar packing.
To build the minimal length PP the following additional de7nitions are introduced: (vi ) is a subset of C(vi ) consisting of all its vertices with zero half-degree of in5ow (HDI) i.e. leaves of tree T (for example in Fig. 1B (v11 ) = {v1 ; v2 }). It can be easily seen that subsequence of PP containing vertices belonging to C(vi ) can start only from vertices belonging to (vi ). !(vi ) is set of all the vertices directly preceding vi in T : !(vi ) = {vk : (vk ; vi ) ∈ E} (note that !(vi ) ⊂ C(vi )). For example in Fig. 1B !(v11 ) = {v6 }. (vk ; vi ) is the shortest path starting at vk ∈ (vi ), passing through all the vertices belonging to C(vi ) and 7nishing at vi (note that according to Proposition 1 any subsequence belonging to PP starting at vk ∈ (vi ) and 7nishing at vi must contain all the vertices from C(vi ) and no vertices not belonging to C(vi )). Let (vk ; vi ) be the length of (vk ; vi ). For vertices vj with zero HDI (vj )={vj } and (vj ; vj ) = 0. It is assumed that for arbitrary vertex vi set !(vi ) contains n vertices and (vm ; vk ) are known for each vm ∈ (vk ) and for each vk from !(vi ).
402
G. Levitin, R. Abezgaouz / Computers & Operations Research 30 (2003) 397 – 410
Fig. 2. Illustrative example 2: (A) nonsingular contour, (B) packing graph for nonsingular contour, (C) decomposition of nonsingular contour, (D) packing graph (planar packing) for decomposed singular contour.
Theorem 1. For each vm ∈ (vi ) the shortest path (vm ; vi ) in T is obtained by ;nding sequence vi(1) ; : : : ; vi(n) of all the vertices from !(vi ) starting with vi(1) for which vm ∈ (vi(1) ) and minimizing the following sum: n min {d(vi(k −1) ; vx ) + (vx ; vi(k) )} + d(vi(n) ; vi ): (1) (vm ; vi(1) ) + k=2
vx ∈(vi(k) )
Proof. According to Proposition 1; path in PP between arbitrary vx ∈ (vi(k) ) and vi(k) must contain all the vertices from C(vi(k) ) and no other vertices. Therefore; the sequence vi(1) ; : : : ; vi(n) of all the vertices belonging to !(vi ) determines a path in which all the vertices from C(vi(1) ) precede vertices from C(vi(2) ) and so on till vertices from C(vi(n) ). Each subsequence of vertices belonging to some C(vi(k) ) terminates at vi(k) . To pass through all the vertices of C(vi(k) ) after visiting vertices of C(vi(k −1) ) one has to go from vi(k −1) to some vertex vx ∈ (vi(k) ) and then to pass through all vertices of C(vi(k) ). Having shortest paths (vx ; vi(k) ) for each vx ∈ (vi(k) ) one can choose vx that minimizes sum d(vi(k −1) ; vx ) + (vx ; vi(k) ). This sum determines the length of path from vi(k −1) to vi(k) . The path starting at some vm determines the subset of vertices C(vi(1) ) to be visited 7rst and the length of subsequence (vm ; vi(1) ). For an arbitrary order of visiting the rest of subsets C(vi(2) ); : : : ; C(vi(n) ), the total path length is determined by the sum of the lengths of the paths between vertices vi(1) and vi(2) , vi(2) and vi(3) ; : : : ; vi(n−1) and vi(n) and by the length of the arc connecting the last
G. Levitin, R. Abezgaouz / Computers & Operations Research 30 (2003) 397 – 410
403
vertex in the sequence vi(n) with vi . Finding the permutation of vertices vi(2) ; : : : ; vi(n) minimizing expression (1) determines, therefore, the shortest path from vm to vi . n Note that in order to determine (vm ; vi ) one has to check k=2 |(vi(k) )| options for each permutation (corresponding to diEerent starting vertices for subsequences C(vi(k) )), where |(vi(k) )| is cardinality of (vi(k) ). Let us refer to all the vertices belonging to arcs from contours of G where singular arc was removed except the arc that is the closest to vN as -vertices. It is proven in [13] that if for arbitrary vi one of the vj ∈ !(vi ) is an -vertex, a subsequence of PP containing vertices from C(vi ) must start with vertices from C(vj ). It is also proven that in a feasible graph there can be no more than one -vertex in each set !(vi ). This means that if for arbitrary vi one of vj ∈ !(vi ) is an -vertex, only vertices from (vj ) can be considered as possible starting points for path containing all the vertices of C(vi ) and only for vertices vx ∈ (vj ) (vx ; vi ) should be evaluated rather than for vertices of the entire set (vi ). This rule as well as Theorem 1 is used to develop a recursive algorithm for the shortest PP determination for a feasible graph. (Note that the two conditions of graph feasibility are: each contour belonging to the graph is singular and each set !(vi ) has no more than one -vertex). The algorithm solves a sequence of small combinatorial problems for determining the shortest path between any vertex vi with HDI ¿ 0 and a vertex from (vi ) including all vertices of C(vi ). It recursively determines in a bottom-up order length of shortest path from each vertex with zero HDI to upstream vertices up to vN . Since each shortest path from vx to vi includes shortest path from vx to one of vj ∈ !(vi ) there is no need to store the intermediate value (vx ; vj ) when (vx ; vi ) is already obtained using (1). Therefore, for each vertex vx with zero HDI, the value of the x index can be stored equal to the length of the shortest path obtained already from this vertex to a vertex closest to vN . With the algorithm proceeding, the values of x are modi7ed till the length of the shortest path to vN is obtained. Index is used for marking vertices to which shortest paths are already obtained. Index is used for marking -vertices. Index is used for marking vertices that cannot be starting points because of the existence of -vertices. Algorithm 1. 1. For each vertex of G set = = 0. 2. Remove singular arcs from G converting it to normal covering tree T . Set = 1 for all the -vertices. 3. For all the vertices vj with zero HDI in T (vj ∈ (vN )) set j = 1 and j = j = 0. 4. Find all the vertices i with i = 0 for which all the preceding vertices vm ∈ !(vi ) have m = 1. 5. For each vertex i determined in step 4 do the following: 5.1. If there exists vertex vm ∈ !(vi ) with m = 1; set j = 1 for each vj ∈ (vi ); but vj ∈ (vm ). 5.2. For each vertex vj from (vi ) for which j = 0 determine (vj ; vi ) minimizing (1). Values of (vx ; vi(k) ) used in (1) are stored in x for each vx ∈ (vi ). 5.3. Assign obtained values of (vj ; vi ) to corresponding j . 5.4. Set i = 1. 6. If there are still vertices with = 0 in T return to step 4. 7. Choose the vertex vx with minimal x and x = 0 as starting point and corresponding (vx ; vN ) as optimal path with length x = (vx ; vN ).
404
G. Levitin, R. Abezgaouz / Computers & Operations Research 30 (2003) 397 – 410
Table 1 Distance matrix Vertex No.
1
2
3
4
5
6
7
8
9
10
11
12
13
1 2 3 4 5 6 7 8 9 10 11 12 13
0 5 4 2 1 2 7 1 6 6 7 2 4
0 10 1 9 9 5 8 4 7 7 5 6
0 7 4 3 6 1 8 7 10 7 9
0 1 6 3 6 9 2 8 8 5
0 8 9 8 2 5 8 1 2
0 4 1 3 8 9 8 1
0 9 5 1 6 9 8
0 6 4 7 5 9
0 4 6 5 9
0 1 9 1
0 1 3
0 9
0
4. Illustrative example 1 Consider a feasible graph presented in Fig. 1A with symmetric distance matrix presented in Table 1. Singular arcs in the graph are dashed and -vertices are marked with asterisks. Removal of singular arcs from four singular contours of the graph transforms it into normal covering tree (see Fig. 1B). The algorithm builds the shortest PP in three stages (each stage corresponds to entrance into step 4). It proceeds from vertices v5 ; v6 and v12 (7rst stage) through vertices v10 and v11 (second stage) toward v13 (third stage) each time 7nding shortest paths to these vertices from vertices with zero HDI and j = 0 (possible starting points). In the 7rst stage = 1 assigned to vertices v2 ; v7 and v8 because of presence of -vertices. All the paths considered by the algorithm during its proceeding are presented in Table 2. The shortest subsequences from each considered starting vertex vj ∈ (vi ) to vertex vi are marked in bold. One can see that after the algorithm termination all the shortest paths from possible starting points to end point v13 are obtained. The starting vertex v3 provides the best solution with path length (v3 ; v13 ) = 58 (the corresponding PP is marked in bold italic in Table 2 and PG is presented in Fig. 1C). 5. Building minimal length PP for a group of unconnected feasible graphs Consider a number of unconnected feasible graphs. Each feasible graph has its end vertex with zero HDO. Let us connect all these end vertices to a new common vertex v∗ (dummy vertex) by zero length arcs (dummy arcs) to combine all the unconnected graphs into connected dummy end graph (DEG). It can be easily seen that addition of dummy arcs does not create contours and, therefore, the DEG composed from feasible graphs is also feasible.
G. Levitin, R. Abezgaouz / Computers & Operations Research 30 (2003) 397 – 410
405
Table 2 Building minimal length PP Stage
Vertex chosen at step 4 (vi )
!(vi )
Vertices vj ∈ (vi ) with j = 0
Possible paths from vj to vi
Length of path
j = (vj ; vi )
1
v5 v6
v3 v1 ; v2
v3 v1
v7 ; v8 ; v9
v9
4 14 19 24
4 14
v12
v3 v5 v1 v2 v6 v9 v7 v8 v12 v9 v8 v7 v12
v10
v4 ; v5
v11
v6
v3 v4 v1
(v3 ; v5 )v4 v10 v4 (v3 ; v5 )v10 (v1 ; v6 )v11
7 16 23
7 16 23
v13
v10 ; v11 ; v12
v3
(v3 ; v10 )(v1 ; v11 )(v9 ; v12 )v13 (v3 ; v10 )(v9 ; v12 )(v1 ; v11 )v13
70 58
58
v4
(v4 ; v10 )(v1 ; v11 )(v9 ; v12 )v13 (v4 ; v10 )(v9 ; v12 )(v1 ; v11 )v13
79 67
67
(v1 ; v11 )(v3 ; v10 )(v9 ; v12 )v13 (v1 ; v11 )(v4 ; v10 )(v9 ; v12 )v13 (v1 ; v11 )(v9 ; v12 )(v3 ; v10 )v13 (v1 ; v11 )(v9 ; v12 )(v4 ; v10 )v13
72 79 63 73
(v9 ; v12 )(v3 ; v10 )(v1 ; v11 )v13 (v9 ; v12 )(v4 ; v10 )(v1 ; v11 )v13 (v9 ; v12 )(v1 ; v11 )(v3 ; v10 )v13 (v9 ; v12 )(v1 ; v11 )(v4 ; v10 )v13
69 75 62 69
2
3
v1
v9
19
63
62
Theorem 2. Finding the shortest PP for a group of unconnected feasible graphs is equivalent to ;nding shortest PP for DEG containing these graphs. Proof. According to Algorithm 1; in the 7nal stage of 7nding the shortest PP for the DEG; the optimal sequence of passing subgraphs C(vj ) is obtained for set of vertices vj ∈ !(v∗ ). According to the de7nition of DEG; set !(v∗ ) contains all end vertices of the unconnected feasible graphs. Therefore; Algorithm 1 7nds the optimal sequence of passing all the vertices belonging to the group of graphs. According to (1) the length of the path obtained is equal to length of paths containing all these vertices plus length of arc connecting one of vertices from !(v∗ ) to v∗ (dummy arc). Since the length of all the dummy arcs is zero; the obtained length of path is equal to length of PP for the group of feasible graphs. Note that any infeasible graph can be decomposed (transformed to feasible one) by duplicating some vertices (which corresponds to visiting some workstations more than once). The simplest example of such decomposition is presented in Fig. 2.
406
G. Levitin, R. Abezgaouz / Computers & Operations Research 30 (2003) 397 – 410
Fig. 3. Allocation of workstations for Illustrative example 2.
6. Illustrative example 2 Consider a system consisting of 55 workstations. The allocation of the workstations is presented in Fig. 3 (the location coordinates of the 55 stations are determined as follows: xj = |100 sin(j)|; yj = |100 cos( j)|; 1 6 i 6 55; where function z rounds z down to the closest integer). The distances for arbitrary pair of stations i and j are determined as d(vi ; vj ) = (xi − xj )2 + (yi − yj )2 . An AGV has a total of 63 transfer requirements. These transfer requirements correspond to four unconnected graphs presented in Fig. 4. The dummy vertex v56 is introduced to connect the unconnected subgraphs. Note that d(vi ; v56 ) = 0 for 1 6 i 6 55. This dummy vertex is connected with root vertices of the subgraphs v52 ; v53 ; v54 and v55 by dummy arcs (dashed arcs in Fig. 4). The optimal PP obtained by the algorithm is presented in Fig. 5. The length of the shortest AGV path obtained is (v10 ; v55 ) = 2459:1. Note that the total load of AGV leaving station vj can be easily obtained as the number of intersections between the PG arcs and a vertical line placed between vj and the vertex next to vj in the PG. Observe that the AGV is maximally loaded when leaving station 13 carrying 7 pallets. The suggested algorithm can 7nd also shortest PPs starting from a given vertex. Table 3 contains some of such PPs given for comparison with the optimal one. 7. Computational e(ort Finding the permutation of vertices belonging to each set !(vi ), which minimizes expression (1) is a complicated combinatorial problem. Therefore, the greatest computational burden falls on step 5.2
G. Levitin, R. Abezgaouz / Computers & Operations Research 30 (2003) 397 – 410
407
Fig. 4. Transportation task graph for Illustrative example 2.
of the suggested algorithm. The size of set !(vi ) for diEerent vi is the crucial factor that determines the algorithm complexity. It can be easily seen that the time needed to 7nd optimal path (vm ; vi ) is exponential function of |!(vi )| and linear function of |(vi )|. Indeed one has to check all the possible permutations of |!(vi )| − 1 vertices vi(k) ∈ !(vi ) for (2 6 k 6 |!(vi )|) and for each permutation to check nk=2 |(vi(k) )| starting vertices for subsequences C(vi(k) ). To evaluate computational eEort of the algorithm, 40 randomly generated problems were solved for diEerent feasible graphs (having no singular arcs) with N = 50. For each problem average HDI (which is equal to |!(v)|) of three vertices with greatest HDI was calculated. The dependence of the algorithm running time on this index is presented in Table 4 (for each range of indices minimal, maximal and average times were obtained). The presence of singular arcs in the graph can drastically reduce the complexity of the problem. Indeed, if an -vertex exists in !(vi ), all the vertices not belonging to its continuation cannot be considered as candidates for starting points of any subsequence which ends in vi . This reduces the number of references to combinatorial optimization procedure 5.2. To evaluate this eEect, 10 feasible graphs were randomly generated and optimal solutions were obtained by the algorithm. The
408
G. Levitin, R. Abezgaouz / Computers & Operations Research 30 (2003) 397 – 410
Fig. 5. Optimal planar packing for Illustrative example 2. Table 3 Shortest PPs starting from diEerent initial vertices Initial vertex 6 23 48 50 21
Shortest PP 6 43 23 36 48 36 50 36 21 10
14 42 24 41 37 41 37 41 31 3
11 49 25 47 43 47 43 47 19 2
12 48 33 10 42 10 42 10 20 1
PP length 13 18 29 36 41 47 10 3 2 1 4 5 9 17 28 35 27 26 34 40 46 53 50 37 54 21 31 19 20 30 38 44 51 55 24 23 25 33 7 8 15 16 22 32 39 45 52 7 8 15 16 22 32 39 45 52 50 37 43 42 49 48 54 6 14 11 12 13 18 29 3 2 1 4 5 9 17 28 35 27 26 34 40 46 53 21 31 19 20 30 38 44 51 55 49 50 54 25 23 24 33 7 8 15 16 22 32 39 45 52 6 14 11 12 13 18 29 3 2 1 4 5 9 17 28 35 27 26 34 40 46 53 21 31 19 20 30 38 44 51 55 49 48 54 25 23 24 33 7 8 15 16 22 32 39 45 52 6 14 11 12 13 18 29 3 2 1 4 5 9 17 28 35 27 26 34 40 46 53 21 31 19 20 30 38 44 51 55 30 38 44 51 55 50 37 43 42 49 48 54 6 14 11 12 13 18 29 36 41 47 4 5 9 17 28 35 27 26 34 40 46 53 25 23 24 33 7 8 15 16 22 32 39 45 52
2462.5 2548.7 2540.6 2516.8 2492.5
comparison of running times for these graphs with running times needed for the same graphs with all the singular arcs removed shows that presence of the singular arcs can reduce the time up to 80 times.
G. Levitin, R. Abezgaouz / Computers & Operations Research 30 (2003) 397 – 410
409
Table 4 Solution time (s) as a function of greatest vertices HDI in the graph Greatest 6% HDI
Average
Minimal
Maximal
0; : : : ; 3 3; : : : ; 5 5; : : : ; 7 7; : : : ; 10
0.05 0.16 3.80 451.20
0.03 0.07 0.61 9.71
0.07 0.23 6.13 1202
Table 5 Solution time (s) as a function of graph size N N
Average
Minimal
Maximal
20 50 100
0.027 0.16 5.89
0.0094 0.07 0.31
0.032 0.23 16.57
To evaluate the eEect of the graph size N on the computational eEort 10 diEerent feasible graphs (with greatest HDI varied from 3 to 5) were generated for each of sizes: N = 20; 50 and 100. The minimal, average and maximal running times obtained are presented in Table 5. Note that quite large graphs with moderate HDI of its vertices can be solved in a very short time. 8. Conclusions This paper presents an algorithm for 7nding shortest tour meeting LIFO constraints for a set of transportation tasks. It is assumed that the set of tasks cannot be changed during their accomplishment (static problem) and that the transporter load capacity is unlimited. The algorithm can be used for routing of multiple-load AGV in production system environment or for routing of autonomous intelligent agents in computer networks. Conditions are formulated for existence of a single route meeting LIFO constraints for a given oriented graph representing a transportation task. If the conditions are met, the algorithm 7nds the minimum length path that visits each station once and obeys LIFO rule. The graphs not meeting the conditions can be transformed to feasible ones by duplicating some nodes. This procedure corresponds to visiting some stations several times. It is shown that the algorithm 7nds the optimal path for moderate size problems in a short time. The crucial factor in5uencing the computation time is the maximal number of transfer requirements with the same destination (maximal HDI of the graph vertices). References [1] Tanchoco J, Co C. Real time control strategies for multiple-load AGVs. In: Tanchow J, editor. Material 5ow systems in manufacturing. London: Chapman and Hall, 1994.
410
G. Levitin, R. Abezgaouz / Computers & Operations Research 30 (2003) 397 – 410
[2] Bilge U, Tanchoco J. AGV Systems with multi-load carriers—basic issues and potential bene7ts. Journal of Manufacturing Systems 1997;16(3):159–74. [3] Hodgson T, King R, Monteith S. Developing control rules for an AGVs using Markov decision processes. Material 5ow 1987;4(1–2):85–96. J [4] Ozden M. A simulation study of multiple-load carrying automated guided vehicle vehicles in a 5exible manufacturing system. International Journal of Production Research 1988;26(8):1353–66. [5] Bartoldi J, Platzman L. Decentralized control of automated guided vehicles on a simple loop. IIE Transactions 1989;21(1):76–81. [6] Nayyar P, Khator S. Operation control of multi-load vehicles in an automated guided vehicle system. Computers and Industrial Engineering 1993;25(1– 4):503–6. [7] Occe˜na L, Yokota T. Analysis of the AGV loading capacity in a JIT environment. Journal of Manufacturing Systems 1993;12(1):24–35. [8] Lin J, Chang C, Liu W. Load-routing control in a tandem con7guration automated guided vehicle system. International Journal of Production Research 1994;32(2):411–27. [9] Lee J, Tangjarukij M, Zvu Z. Load selection of automated guided vehicles in 5exible manufacturing systems. International Journal of Production Research 1996;34(12):3383–400. [10] Sinriech D, Palni L. Scheduling pickups and deliveries in a multiple-load discrete carrier environment. IIE Transactions 1998;30(11):1035–47. [11] Abezgaouz R. Optimal AGV routing subject to shifting constraints. MSc thesis, The Israel Institute of Technology, Faculty of Industrial Engineering & Management, 2000 (in Hebrew). [12] Volchenkov S. Organization of calculations that allows the use of stack memory. Engineering Cybernetics 1982;20(1). [13] Levitin G. Organization of computations that enables one to use stack memory optimally. Soviet Journal of Computer & System Science 1986;24(6):151–9.