European Journal of Operational Research 166 (2005) 497–506 www.elsevier.com/locate/dsw
O.R. Applications
A shortest-path algorithm for solving the fleet management problem in underground mines Michel Gamache *, Renaud Grimard, Paul Cohen Ecole Polytechnique de Montreal, Dept. (CGM) C.P. 6079, Succ. Centre-Ville, Montreal, Qc, Canada H3C 3A7 Received 20 October 2003; accepted 9 February 2004 Available online 14 May 2004
Abstract This paper describes the problem of managing a fleet of load-haul-dump (LHD) vehicles in an underground mine. The problem consists of dispatching, routing and scheduling vehicles whenever they need to be assigned to a new task. The solution approach is based on a shortest-path algorithm. Each decision takes into account the current status of the mine, the current traffic on all single-lane bi-directional road segments of the haulage network and operational constraints such as the fact that, while LHD vehicles move in forward or reverse modes, their bucket must be in dumping/ loading position at destination. Ó 2004 Elsevier B.V. All rights reserved. Keywords: Fleet management; Dispatching; Routing; Scheduling; Underground mining
1. Introduction In underground mining, one of the major infrastructure costs concerns the excavation for the development of drifts. Drifts constitute the basis of the haulage network and are essential for mining operations. Therefore, during planning phases, mining engineers try to limit as much as possible the development of drifts, thus creating compact haulage networks composed almost exclusively of one-lane bi-directional road segments. Moreover, in order to limit the needs for additional space, underground mines often opt for *
Corresponding author. Tel.: +1-514-340-4711x5920. E-mail address:
[email protected] (M. Gamache).
a fleet of LHD-type vehicles, involved in loading, hauling and dumping ore, waste and backfill material between origin and destination points. In such limited networks, LHDs must share road segments. This situation leads to the necessity of having an efficient fleet management system. Among the decisions taken by the fleet management system, one consists in choosing a new destination for a LHD every time such a vehicle becomes available for a new task, i.e. essentially after the vehicle has loaded or dumped its material. The dispatching decision is based on a predetermined criterion: minimising cycle time, minimising waiting time or idle time, etc. Moreover, the dispatching decision must consider the traffic, i.e. the movement of other LHDs on the network, in order to globally improve the mobility of the vehicles and
0377-2217/$ - see front matter Ó 2004 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2004.03.008
498
M. Gamache et al. / European Journal of Operational Research 166 (2005) 497–506
implicitly increase the productivity of the entire operation. Therefore, the task consists not only in dispatching vehicles from origins to destinations, but also in finding routes for those vehicles that will avoid collisions, queues at loading or dumping points, and deadlock conditions. Due to these difficulties associated with the nature of the haulage network, presently in almost all underground mines, LHDs are preassigned at the beginning of the shift to one origin and one destination. The route between the origin and the destination is always the same and the priority between vehicles at intersection is based on a set of rules managed by operators (e.g. first in, first out) and/or managed by traffic lights. Such operation conditions are simple, but do not use all the potential offered by the environment. Productivity can be improved considering that vehicles must often wait at some loading points or at intersections while other loading points may be available. Based upon the above considerations, a fleet management decision in underground mines consists of three main components: dispatching, routing and scheduling. The aim of dispatching is to choose, for one or many vehicles, a new destination (loading or dumping point). Routing consists in choosing the best route (road segments) from the origin to the destination. Finally, scheduling consists in deciding speeds and the waiting times of vehicles on road segments of a route to avoid conflicts between vehicles. In order to produce optimal decisions, the three components must simultaneously be solved in a unique problem. In this paper, a unified solution approach that deals simultaneously with these three components, based upon ideas exploited in both open-pit mine dispatching and automatic guided vehicles (AGV) management systems, is presented. Section 2 of the paper presents previous works published in the literature. The components of the proposed approach are detailed in Section 3. Finally, extensions to the method are presented in Section 4.
2. Previous works Open-pit mines have used dispatching systems for the last 30 years. The use of such systems was
eased by the availability of monitoring systems and by the fact that dispatching problems in openpit mines do not need to consider routing and scheduling aspects of the problem for each decision. Munirathinam and Yingling (1994) presented a survey of the dispatching systems in open-pit mines. One of their conclusions is that dispatching systems should be based on a plan-driven strategy. Plan-driven systems are made of two components. The first one establishes an optimal production plan by solving a mathematical program (linear or non-linear). This plan indicates, for each type of material, the amount that should be transported between origins and destinations in order to maximise production or minimise transportation costs. It also respects blending and capacity constraints. The second component of a plan-driven system dispatches trucks to shovels in order to minimise the deviation between the current production rates and those identified by the first component. In order to be efficient, plan-driven systems must be updated frequently since the mine status evolves during shifts A plan-driven strategy should also be part of an underground mine dispatching system. Only a few papers deal with fleet management systems for underground mines. Among them, Nikos Vagenas (1991) worked on the management of semi-autonomous LHDs (called RAL), i.e. that travel autonomously but necessitate manual loading and dumping. The system uses a shortest path approach for selecting a route from origin to destination and uses various algorithms to control conflicts the network. The assignment method presented by Vagenas is well suited to underground mines. The method takes into account the relation between vehicles on the network and is based on two modules. The first one, which deals with the choice of a path for a RAL, relies on four algorithms: one for finding the shortest allowable path from the origin to the destination, one for detecting when a vehicle must slow down, one for solving bi-directional conflicts, and one for crossing a traffic zone. The second module, i.e. the dispatching module, uses heuristic procedures for identifying a destination for a RAL. Vehicle localization is mentioned as an issue but no information is provided on how to solve it.
M. Gamache et al. / European Journal of Operational Research 166 (2005) 497–506
Fleet management in underground mines presents similarities with the management of AGV in manufacturing contexts. One method that seems particularly adapted to needs of fleet management in underground mines is the one by Kim and Tanchoco (1991). The authors present an efficient algorithm for finding conflict-free shortest-time routes for AGVs moving in networks composed of bi-directional road segments. The routing and the scheduling aspects of the problem are solved simultaneously, but the destinations of vehicles are chosen first. The solution consists of finding the shortest path on a time-window graph, whose construction is based upon the current and future traffic on the network. Knowing the routes of other vehicles, it is possible to establish at which times intersections are accessed. In the graph, a node represents an intersection of the haulage network and a time window during which this intersection is free. The arc set represents feasible links between free time windows. During the construction of the graph, tests are performed for each possible arc in order to avoid catching-up and head-on conflicts on road segments. Any path from an origin to a destination node represents a conflict-free. The best feasible itineraries are found by using Dijkstra’s shortest path algorithm. To avoid unnecessary computations involved in the search for feasible arcs, the time-window graph is not explicitly constructed but is implicitly considered during the execution of the main procedure. This method represents a major improvement for the detection of conflicts. The use of bi-directional road segments makes it more realistic and suitable for underground mines than any previously published method. However, important differences remain between the manufacturing and the mining contexts. First, the variation of cycle times in underground mines does not allow task execution planning as easily in the manufacturing context. Loading time represents the most widely varying characteristics due to the fact that the bulk material in front of the LHD will require varying amounts regrouping prior to bucket loading. Hauling and dumping times vary significantly less. Adapting the method to an underground mine context require, therefore, to adjust time windows according to the evolution
499
of the operations. This issue is discussed in Section 4. A second important difference is related to the type of vehicles used in the two contexts. LHDs can move forward and backward but must have their bucket in front during loading and dumping phases. This issue is not addressed in the AGVs literature. However, planning turns while travelling from origins to destinations in order to ensure that vehicles are properly oriented upon arrival is an essential feature of a fleet management system for LHDs. A solution to this problem is discussed in Section 3. Krisnamurthy et al. (1993) presented an approach based upon a column generation technique for solving the AGV management problem. Their solution approach considered the assignment of several AGVs at the same time. The method, while being interesting, is inappropriate in a real-time context where a time limit of only a few seconds is allowed for the decision process. However, some elements in the construction of their graph will be re-used in the method proposed in this paper. Langevin et al. (1994) also presented an optimal and more global approach that dealt with two AGVs at the same time, but the decision process once again is too lengthy to be used in a real-time system. Furthermore, the approach finds the optimal schedules for all the tasks to be executed during a shift, something inappropriate in our context, due to the stochastic nature of operations mentioned earlier.
3. The solution approach The solution presented here is inspired by the method proposed by Kim and Tanchoco (1991) and includes also some elements of graph design presented by Vagenas (1991) and Krisnamurthy et al. (1993). This approach has been chosen because it deals within the same solution with the routing and the scheduling aspects of the problem. The model has been adapted to include the dispatching decision into the same solution process. However, important changes to the network are proposed to ensure that LHDs arrive at destination with the right orientation (bucket in front) and to reduce the deadlock occurrences.
500
M. Gamache et al. / European Journal of Operational Research 166 (2005) 497–506
3.1. Construction of the graph Starting from the initial haulage network of the mine, a first network representing road segments (arcs), intersections, dumping and loading points (nodes) is drawn. Nodes representing intersections are duplicated in order to define areas in the mine (extremity of road segments) where vehicles can securely wait for other vehicles to exit an adjacent segment (see Fig. 1). In the context of underground mines, these nodes play another important role: they represent areas where vehicles can change orientation, i.e. from forward to reverse motion. Based upon the positions and tasks of other LHDs on the network, a time-window graph can be computed. Fig. 2 presents an example (and a simplification) of the time-window graph corresponding to the haulage network presented on Fig. 1. The path ‘‘K-J-H-I-L-M-N-O-Q’’ corresponding to a particular vehicle is represented in black. Black rectangles indicate periods of time when nodes are occupied and arcs represent the road segments of the path; e.g. an arc from ‘‘K’’ to ‘‘J’’ indicates that the vehicle uses the road segment ‘‘KJ’’. For each node, a white space represents a time window during which the node (intersection) is free. Two paths cannot occupy the same node at the same time. Arcs linking time windows together
represent a feasible and secure usage of a road segment. Tests are done to ensure that there is a physical link between nodes, to make sure that the second time window can be reached in time, and to avoid the presence of an arc leading to a head-on or a catching-up conflict (such conflicts occur when two arcs cross and use the same pair of nodes). More details on these tests are described in Kim and Tanchoco (1991). The second path ‘‘R-P-N-M-L-I-H-D-B-C-G’’ linking together the grey rectangles on the figure, represents a conflict-free route. This route is one of the feasible routes that can be assigned to a vehicle asking for a new task. The goal is to evaluate implicitly all the possible paths and choose among them the optimal one according to a specified criterion. An illustration of a more complete graph is presented in Fig. 3. In this graph, called the discrete graph, each level represents an intersection of the haulage network and the nodes at each level represent the time units when the intersection is free; these nodes were represented by white spaces in Fig. 2. Arcs between nodes represent feasible links. The graph is constructed only for the duration of a predetermined time horizon starting from the current time, which is associated to a request from a vehicle for a new task. Given the location (origin node) of the vehicle requesting a new task, the set of allowed destina-
Mine network
Basic network Loading point
Loading point
Q
O
P R
N
x Dumping point
M
Waiting point
L G I
C Dumping point
Deadend
A
B
D E F
Loading point
Fig. 1. The basic network.
H
J
K
M. Gamache et al. / European Journal of Operational Research 166 (2005) 497–506
501
Node A Node B Node C Node D Node E Node F Node G Node H Node I Node J Node K Node L Node M Node N Node O Node P Node Q Node R Current time
Time horizon
Fig. 2. The time-window network.
Basic graph (2) (3) A
B
C
Node A
Node B
Sink node
Node C 1
2
3
4
5 6 Time
7
8
9
10
Fig. 3. The addition of the sink node.
tions is determined. For example, if vehicle is located at node ‘‘Q’’ (representing a loading point), it can then go either to node ‘‘G’’ or node ‘‘K’’, where both nodes represent dumping points. The choice of feasible destinations depends not only upon the origin but also upon the type of material that will be hauled. For each dispatching decision, the shortest routes between the specific origin and
all the allowed destinations are evaluated. The choice between these shortest routes depends upon the predetermined dispatching criterion. The shortest routes are found using Dijkstra’s algorithm. Each node of the chosen route indicates the path that will be followed by the LHD in the haulage network as well as the times at which the vehicle crosses intersections; indirectly, it
502
M. Gamache et al. / European Journal of Operational Research 166 (2005) 497–506
provides the speed of the vehicle on each road segment. The resolution approach using Dijkstra’s shortest path algorithm allows to consider into one single problem two aspects of the assignment task: routing and scheduling. 3.2. Dispatching decisions By adding a sink node to the discrete graph and by linking only the nodes representing the allowed destinations to that sink node (see Fig. 3), it is possible to include the third problem, namely the dispatching decision, into the resolution process. In order to achieve this goal, costs on arcs must be representative of the chosen objective criterion. The shortest path between the origin and the sink node will then provide the route, the schedule as well as the destination according to the chosen dispatching criterion. The costs on arcs may represent the time spent on road segments in the haulage network or the waiting time at nodes. In such a model, the cost on the incoming arcs of the sink node is zero. Therefore, the shortest path represents the shortest route in terms of time from an origin to the sink node. In order to determine the destination, one just has to look at the predecessor of the sink node in the solution. It is also possible to modify the costs on arcs of the network to consider another dispatching criterion. For example, if a plan-driven dispatching criterion, similar to those used in open-pit mines, is used, the objective consists of minimising the deviation of production levels from the target levels of the optimal production plan. This deviation can be introduced on the incoming arcs of the sink node. Another possibility is to combine criteria. For example, the shortest route in time from the origin to the destination can act as a first objective criterion and a second criterion may include the deviation from the production plan. The shortestpath algorithm first chooses the shortest route for each destination and, then, among these the one providing the smallest deviation from the production targets. For that purpose, the shortest path algorithm is modified in such a manner that at each node of the discrete graph, except for the
sink node, the dominance between paths is done according to the time criterion, while the dominance at the sink node is done according to the second criterion. Therefore, the cost associated with the deviation from the production targets is included only on the incoming arcs of the sink node, while the costs on the other arcs represent the time spent on the arcs. By using a shortest-path algorithm on the discrete graph, the resolution time is sufficiently rapid to allow assigning a new task to a vehicle in few seconds, so as to respect the real-time constraint imposed in the problem. In fact, most of the time is dedicated to the graph construction. 3.3. Ensuring proper vehicle orientation at destination Some intersections in the haulage network allow vehicles to change their travel orientation in order to be properly oriented (i.e. with bucket in front) at destinations. Fig. 4 illustrates two examples of situations where a vehicle’s orientation changes. The first one corresponds to a vehicle arriving at a destination with a forward orientation and leaving it in reverse. Therefore, whenever a vehicle is properly oriented when arriving at a destination, it must first reverse at the beginning of the next assignment. In the second example, the vehicle uses an intersection to change orientation. While in drift ‘‘A’’, the vehicle moves in reverse; it, then, enters intersection ‘‘B’’ in reverse and exits it to enter drift ‘‘D’’ now in forward orientation. In the basic graph, the path followed is ‘‘A-B1-B2-B3-D’’. A common rule emerges from these two examples: whenever a vehicle crosses a sequence constituted of an odd number of nodes associated to the same intersection (represented in the example by nodes ‘‘B1’’, ‘‘B2’’ and ‘‘B3’’), a change in orientation takes effect; whenever the vehicle crosses a sequence constituted of an even number of nodes associated to the same intersection, it keeps the same orientation. In the second case in Fig. 4, had the vehicle’s path been ‘‘A-B1-B2-C’’ instead of ‘‘A-B1-B2-B3-D’’, then it would have kept the same orientation, as indicated by the fact that it crossed two nodes associated to the same inter-
M. Gamache et al. / European Journal of Operational Research 166 (2005) 497–506 Case n° 1 BEFORE changing orientation
AFTER changing orientation
D
Case n° 2
503
D B-3
B-3
A-1
B-2 C
B-2 C
B-1
B-1
The vehicle crosses A-1 which involves changing orientation
A
The vehicle goes through B-1, B-2 and B-3 (an odd number of nodes) which results in changing orientation
A
Fig. 4. Vehicle orientation changes.
section, i.e. B1 and B2. This simple rule stands for any example. In order to ensure proper orientations at destinations, two approaches can be used. The first one consists of using a resource (a binary variable) that will keep record of the vehicle orientation. At the sink node, a constraint will test if the vehicles have the proper orientation. In this case, the same graph is used but the solution is obtained by solving a shortest path problem with a resource constraint. To avoid the use of a resource and since the size of graphs involved in underground dispatching systems is relatively small, a second approach that consists of duplicating the discrete graph is proposed. One layer represents a copy of the discrete graph corresponding to forward motion while the second copy corresponds to reverse motion. All incident arcs to an intersection node in the previous discrete graph are removed from each level of the new graph and replaced by inter-level arcs, where the tail and head nodes are located on different levels (see Fig. 5). Whenever a path uses an inter-level arc, the vehicle orientation changes (some of these changes occur virtually). For example, let us consider the path A-B1-B2B3-D described in Case No. 2 of Fig. 4. On the
reverse level of the new graph, there is no arc linking node ‘‘A’’ to node ‘‘B1’’ because arc (A,B1) is incident to the intersection node ‘‘B1’’. The path will link node ‘‘A’’ on the reverse level to node ‘‘B1’’ in the forward level, using the inter-level arc (A,B1). Node ‘‘B1’’ on the forward level will be linked to node ‘‘B2’’ on the reverse level since there is no arc linking ‘‘B1’’ and ‘‘B2’’ on the forward level. (The path ’’A-B1-B2’’ is an example of a virtual change in orientation.) The path proceeds from ‘‘B2’’ located on the reverse level to ‘‘B3’’ on the forward level. Finally, ‘‘B3’’ on the forward level is linked to ‘‘D’’ on the same level since ‘‘D’’ in not an intersection node. Similarly, the two paths presented in Fig. 2 follow the same rule. The first vehicle following route ‘‘K-J-H-I-L-M-N-O-Q’’ changed orientation after it crossed the sequence of nodes ‘‘K-J-H-I’’, but kept moving forward after it crossed the sequence ‘‘M-N-O’’. Similarly, the second vehicle following route ‘‘R-P-N-M-L-I-H-D-B-C-G’’ remained in reverse after it crossed nodes ‘‘R-P-N’’ but changed its moving mode to forward after the sequence ‘‘D-B-C’’. To ensure that vehicles arrive with the correct orientation at destination, nodes representing
504
M. Gamache et al. / European Journal of Operational Research 166 (2005) 497–506
Positioning of the LHD Origin node Changing nodes B2 A
Loading point
Backward graph
B3 B1 D Forward graph
Loading point
Sink node
Fig. 5. The duplicated network.
feasible final destinations (loading points in Fig. 5) in the forward layer of the graph are the only ones that are linked to a sink node. Based upon this new graph, Dijkstra’s algorithm can be invoked again to find the solution. 3.4. Deadlock situations A deadlock occurs when it becomes impossible to assign a vehicle to a destination. It may occur when using the resolution approach proposed in this paper. Dispatching vehicles sequentially is one of the reasons leading to deadlocks. For example,
considering the network illustrated in Fig. 6, consisting of a loading node, a dumping node and two routes see, at the beginning (instant 0), vehicle V1 located at node B is assigned to node A and will reach its destination at instant 20. Between instants 0 and 20, vehicle V2 and V3 are dispatched to node A and are waiting on their respective road segment in order to avoid head-on conflicts with vehicle V1. At time 20, the system must dispatch V1 again, but it is now impossible to find a feasible solution if the system does not allow rescheduling V2 and V3: a deadlock situation is created.
Situation at time 20 A
V1
V2
V3
Fig. 6. A deadlock situation.
B
M. Gamache et al. / European Journal of Operational Research 166 (2005) 497–506
To avoid or minimise the risks of having such situations, the system can increase the time horizon over which decisions are taken. Instead of dispatching a vehicle over a half-cycle, the system could dispatch it over a longer route, i.e. a halfcycle plus a secure route from the destination to a specific node where it is assumed that the vehicle will be able to be dispatched again. In realty, this additional secure route will not necessarily be applied during the solution process because the vehicle will only be dispatched to the destination associated to the half-cycle. However, the additional route will be considered in the forthcoming dispatching decisions to be taken for other vehicles. In fact, the system will consider that the first vehicle occupies the additional route. Considering the previous example (see Fig. 7), the secure node C is added to the network. At instant 0, V1 is dispatched from B to A, arriving at A at instant 20. The system records this information and adds the route from A to C after loading of V1 at A. After V2 and V3 receive their dispatching decisions, they will not be able to wait at nodes A and C. At time 20, vehicle V1 will request a new assignment and, then, the system will be able to provide it because there will be at least one feasible solution. This approach may sometimes lead to suboptimal solutions, since some road segments are reserved, but it reduces the risk of having a deadlock situation.
4. Future modifications of the proposed method Solving the fleet management problem in realtime is a complex task. Because of the stochastic nature of underground mining operations, dispatching decisions cannot be taken over a long period of time. Thus the dispatching decisions will be more frequent, which implicitly implies the use of an efficient solution strategy. Moreover, the need to make assignment decisions over short periods of time reduces the global outlook on the production optimisation problem. In order to reduce the effects of these constraints, the use of a plan-driven dispatching method is suggested, as it is commonly used in open-pit mines (see Munirathinam and Yingling, 1991). The optimal production plan found at the first level ensures a certain global vision of the problem. A constant update of this plan is also done in order to always reflect the real status of the mine. Dispatching decisions consist of minimising the deviation from the optimal production plan. Some tests have been done with this system (see Gamache et al., 2001). The results of those tests show that dispatching decisions involving only one vehicle at the time can lead to poor production levels. At each iteration, since the system looks for the best decision for only one vehicle, it fails to take into account those vehicles that will be dispatched soon. Examples where this approach produces bad decisions are easy to construct. In
Situation at time 20 A
V1
505
V2
C
Fig. 7. A secure node.
V3
B
506
M. Gamache et al. / European Journal of Operational Research 166 (2005) 497–506
order to minimise the effect of this myopic approach, heuristics are presently developed to reconsider parts of routes already assigned to vehicles in order to improve the solution. The system presented in this paper can be described as the first generation of a fleet management research project. As mentioned, this first generation has some temporary limitations: it considers determinist service and travel times, and it takes decisions for only one vehicle at a time, ignoring the impact of this decision on the following ones. However, this system already integrates the three important aspects of the fleet management system for underground mines: dispatching, routing and scheduling. The current system works in a deterministic manner. Indeed, even if some security factors are integrated in each decision in order to circumvent the lack of account for the stochastic nature of mine operations, this strategy is not really sufficient. A second generation of a fleet management system for underground mines is in development. It will take into account unexpected events that occur in the mining environment such as equipment breakdowns, unplanned stops in a drift, etc. Ongoing development includes the ability to handle varying travel and service times. In parallel, a third generation of system that takes decisions not only for the vehicle to be
immediately dispatched but also for the k next ones is also in development. In open-pit dispatching systems, it has been proved that such a strategy significantly improves productivity. Progress in the above areas is encouraging and should be reported soon.
References Gamache, M., Grimard, R., Cohen, P., Bigras, L.-P., 2001. Fleet Management Systems for Underground Mines. In: Proceeding of 2001 CIM Conferences. p. 15. Kim, C.W., Tanchoco, M.A., 1991. Conflict-free shortest-time bidirectional AGV routeing. International Journal of Production Research 29 (12), 2377–2391. Krisnamurthy, Batha, Karwan, 1993. Developing conflict-free routes for automated guided vehicles. Operations Research 4(6), 1077–1090. Langevin, A., Lauzon, D., Riopel, D., 1994. Dispatching, Routing and Scheduling of Two Automated Guided Vehicles in a Flexible Manufacturing System. Les cahiers du Gerad. G-94-40. Munirathinam, M., Yingling, J.C., 1994. A review of computer-based truck dispatching strategies for surface mining operations. International Journal of Surface Mining, Reclamation, and Environment 8, 1– 15. Vagenas, N., 1991. Dispatch control of a fleet of remotecontrolled automatic load-haul-dump vehicles in underground mines. International Journal of Production Research 29 (11), 2347–2363.