Phone: (56-2)7762260,. Fax: (56-2)7799723, ... base a production plan for the mine; the plan consists of the streets (tu
A Constraint-Programming Model For Scheduling Vehicles In Underground Mining Operations
Juan M. Sepulveda1, Luis E. Quezada, Felisa M. Cordova, Christian Dubos Industrial Engineering Department, University of Santiago, Chile
Abstract A vehicle scheduling problem found in underground mining operations is presented. Daily, a fleet of front loaders must be allocated to a network of tunnels for extracting copper raw material. Currently, there is not a decision support system for route planning and task sequencing is decided by the operators themselves based on their experience. The problem is modeled by constraint logic programming and model solution is compared to heuristic methods used in the mine. The constraint programming model gives a makespan which is up to 8,5% lower that current methods. The model also helps in re-scheduling tasks in a dynamic environment where random equipment failures and operations disruption occurs due to mine conditions.
Keywords: Copper Mining, Constraint Programming, Vehicle Routing Problem.
Dr. Juan M. Sepulveda, 3769 Ecuador Ave., Santiago of Chile, Chile, P.O Box 10233. Phone: (56-2)7762260, Fax: (56-2)7799723,
[email protected] 1
1 INTRODUCTION The production level of a copper mine can be regarded as a network of tunnels with a given set of extraction sites where the mineral is loaded by machines called LHD (LoadHump-Dump). Currently, a hierarchical production planning system releases on a daily base a production plan for the mine; the plan consists of the streets (tunnels) identification, site identification in the street, quotas to be extracted, and dumping sites identification. For a given daily plan, mid-level supervisors are in charge of assigning tasks to the LHD operators but much of the routing is decided by the operator himself based on his experience. Since the routing chosen by the LHD driver is any feasible one, the hypothesis is that by using an optimization model, production performance can be improved at some extent. This work is part of a major project aimed to create systems for improved operations management in underground copper mining in Chile (Atero et al., 2003; Cordova et al., 2003; Sepulveda et al., 2004). The problem is modeled with constraint logic programming due to its NP-hard characteristics and the presence of dynamic constraints during the daily routine. The implementation is done by a constraint programming language (CPL). The paper is organized as follows: in section two, the production process is described; in section three, a constraint programming model is developed for two streets; section four presents the results and analysis; section five discusses re-scheduling, and, finally in section six, conclusions and directions for further research are given.
2 PRODUCTION PROCESS Underground copper mining of the block caving type can be seen as a production chain having four main process levels vertically positioned: caving, production, reduction and transportation, as shown in Figure 1. At the caving level, the block of mineral is carved in its base and supporting faces by means of radial drilling equipment to be later
detonated with explosives. At the production level, there exists a number of parallel tunnels containing pits or extraction points and ore passes; here material is extracted, transported and unloaded in dumping sites by the LHD vehicles. Figure 2 shows a 2D view of this level, where a typical mine has between 20 and 30 tunnels with a separation of 25 meters, and with an average length of 250 meters. The fragmented mineral from the production level falls through collecting pits. Pairs of streets share these collecting pits with a Y-shape making the material to flow by gravity down to the reduction level. At this level, located 35 meters below, the mineral falls into a chopping/crushing chamber where a rock breaker robot reduces its granularity to less than one cubic meter and then the material continues its gravitational movement. At the transportation level, the mineral coming down from the breaking chamber is temporarily kept in a deposit (called a mailbox) to be later loaded into trains by a chute that allow even distribution of the mineral on board 100-tons wagons. Typically, a daily production plan considers a number of 10 to 12 streets and an equal number of vehicles to extract the material during the three work shifts per day. At the beginning of the first shift, the allocation of operators to vehicles and of vehicles to streets is made by a supervisor. The operators execute their work according to a sequence determined by themselves; the observed practice is visiting the points in decreasing order by the quantity of material to be extracted at each point; i.e., the purpose is to maximize cumulative production at a given time. However, this rule is not fixed and it tends to be sub-optimal when the best points are relatively far from the dumping sites. The distances between extraction points and dumping sites play a role which makes the sequencing decision not an obvious task. At first glance, the problem resembles the traveling salesperson problem (TSP) but the difference is that after visiting an extraction point (the client) , the vehicle must travel to the dumping site and turn back to the same point as many times as needed according to the quantity of tons in the plan. Roughly, if at each turn the LHD bucket capacity is T (tons), then the number of turns
will be the production goal in tons for the i-th extraction point (EPi) divided into T. In the program, a value T = 7 tons/turn is used; i.e., the bucket capacity . Even though, there are several vehicles to be routed, in practice a typical allocation assigns at most two consecutive streets to one vehicle and the overall problem can be divided into smaller separate problems of similar structure but with different data. In what follows, and without loss of generality, the analysis will be simplified by showing the modeling of two streets, as shown in Figure 3.
3 CONSTRAINT PROGRAMMING MODEL A constraint programming model consists of activities, constraints, and an objective function, as described below.
3.1 Activities Referring to Figure 3, in Table 1 the activities which represent the work execution in streets one and two, are shown. Most of these activities are self explanatory by the declarative characteristics that can be used in a CPL. The activities represent the tasks of moving between points and performing the loading or unloading process. Also, they include the activity of changing side in a street. In the mine, the sides H (head) and F (foot) are used. In this case, the side change must be specifically expressed since as shown in Figure 3, a vehicle can not turn at the narrow angle of 30º, but it must travel to a turning point and enter the street in the opposite direction. The activity “load-humpdump” denotes an aggregated task consisting of repeating sequential steps after the first load in a pit: traveling to the corresponding dumping site, dumping, traveling back to the extraction point, loading at the pit, and travel back again to the dumping site, as many times as the number of necessary trips minus one, indicates (as given by the production plan). The last dumping is considered as a different activity before the vehicle heads to the next pit in sequence. This type of aggregated activity reduces very much the number
of variables in the model and it can be applied in this particular case since once an extraction point is selected for working, the LHD must complete the full loadingunloading cycle; that is, it cannot interrupt the sequence and move to another site in between until all the work is done at that extraction point. The output of the CP model
will the optimal sequence of activities minimizing
makespan, that is the time needed to complete all operations in streets 1 and 2 together.
3.2 Constraints Logical constraints relate to the special characteristics of the problem.
The most
important ones that can be deduced from the CP model, are:
a) Precedence: loading activities precede dumping activities. b)
Working side: a side (either H or F, in Figure 3) must be worked out completely before continuing to the other side. This is due to the mine topology since vehicles cannot turn at narrow angles but only do wide turns; that is, it must work one side, finish all the tasks there and go to a turning site to enter in the opposite direction.
In Figure 4, a partial body of the CP model written in OPL is shown. The declarative characteristic of the CP language makes its interpretation a relatively easy matter. For further details on CP and OPL see (Marriot and Stuckey, 1999; Van Hentenryck, 1999).
4 RESULTS For comparing the Constraint Programming model against current practices, several runs with different production plans are made. A plan consists of a list of extraction points to be visited in undetermined order with the corresponding number of times each point has
to be visited. A fixed total number of 120 bucket loadings or visits to extraction points is kept (approximately, 840 tons) in the experiments. Plans are named Plan1, Plan2, Plan3, Plan4 and they were randomly selected from available data while maintaining the characteristics of each scenario. Three types of scenarios are analyzed: •
Scenario 1: Most workload is concentrated near the entrance.
•
Scenario 2: Most workload is concentrated towards the end of the street.
•
Scenario 3: Workload has uniform random pattern.
For comparing against heuristic methods followed by the operator, two priority rules are used: •
HPF (Highest production first): Points are visited in decreasing order of the amount of material to be extracted.
•
LPF (Lowest
production first): Points are visited in increasing order of the
amount of material to be extracted. The LPF rule resembles a SPT (Shortest Processing Time) rule in scheduling, whereas HPF would be its inverse. In Tables 2 through 4, the results for the scenarios above are shown. For the CP Model, the solution was obtained by solving the full CP model partially shown in Figure 4, whereas the HPF and LPF heuristics were simulated by a worksheet. As seen in Table 2, the highest difference in favor of CP model (Plan 2) is 3320 seconds or 55 minutes, which is considered to be relevant since the average makespan for HPF and LPF rules is 11.7 hours.
In Table 3, the highest difference yields (Plan 2) 3547 or 60 minutes, which is relevant since average makespan for HPF and LPF rules is 11.8 hours. In Table 4, the highest difference yields (Plan 4) 3178 or 52 minutes, which is relevant since average makespan for HPF and LPF rules is 11.56 hours. In addition to the experiments described above, other cases where tested in order to: a) examine the behavior of production rate in time, and b) re-schedule the tasks after the random event of equipment failure. In Table 5, data of production versus time is shown for scenario 3 (i.e., workload with uniform random pattern across points). Some data in the middle of table has been omitted for space reasons, but the important parts are the initial and final lines. Figures 5, 6 and 7, show production trajectories for the scenario three.
Similar data were
obtained for the other scenarios which showed in general the same behavior as in this scenario. The main conclusion drawn from data is that CP presents a slight improvement in production fill rate towards the end of shift which is compatible with the makespan reduction.
5 RESCHEDULING OF ACTIVITIES Rescheduling must be necessary due to loader failures or other events affecting tunnels during the schedule execution. For including dynamic activities into the model such as a repair task, the activity, its expected duration, and all the precedence must be declared. Additional constraints are needed to indicate that certain tasks cannot be started before the repair task is done. Also, an adequate task update is needed for tracing finished or partially completed tasks. All these conditions must be met by a CP model management module and a system database for using the CP model. Figure 8 displays a typical screen after rescheduling for a repair task.
6 CONCLUSIONS In this work, the use of constraint programming for solving a vehicle scheduling problem in underground mining has been presented. The need for finding a scheduling tool has arisen from current practices where operators decide by themselves the route or sequence to be followed. As compared to current practices, the CP model produced an improvement between 7,5% and 8,5% in makespan reduction in the working shift. Average production rate in tons per minute was highest when using CP solution for the experiments. As opposed to general knowledge about scheduling, a SPT-like rule (LFR) did not perform notoriously better than the HPF rule. This means that the heuristic method used by the operators of doing slow jobs first (most production) works well, but not as good as CP´s. This is due to travel times between pits and streets, which are similar to sequence dependent setup times in manufacturing. In general, results are considered to be logical and satisfactory; however, further investigation is needed, specially for large scale problems and for comparisons with other modeling and new optimization techniques. Ongoing work is dealing with these matters.
7 ACKNOWLEDGEMENTS This work has been supported by FONDEF- CONICYT and the University of Santiago of Chile (FONDEF Project N° D01I1091).
8 REFERENCES Atero, L.R., F. Cordova., J. Sepulveda., L. Quezada and V. Olivares, 2003, Conceptual Model of Virtual Supervising Operation System VOSC, Proceedings of the 17 International Conference on Production Research, Blacksburg, Virginia, USA, August 37. Cordova F., L. Quezada, J. Sepulveda, V. Olivares, L. Atero and A. Contreras, 2004, A Simulation Model to Enhace the Operation of an Underground Mine,
Proceedings
International Workshop on Supply Chain Management and Information System (SCMIS), Hong Kong Polytechnic University, Hung Hom, Hong Kong, July 6 – 9. Marriot K. and P. Stuckey P.,1999, Programming with Constraints: An Introduction, (The MIT Press, Cambridge, Massachusetts). Sepulveda J., C. Cabezas, F. Cordova, L. Quezada, V. Olivares, An Embedded Simulation Model In a Virtual Supervisory Control System For Underground Mining Operations, Proceedings International Conference on Production Research Americas 2004, Santiago –Chile, August 1-4. Van Hentenryck, P., 1999, The OPL Optimization Programming Language, The MIT Press, Cambridge, Massachusetts.
Figures and Tables
Caving level
Transportation level
Production level Reduction level
Figure 1: The four main processes of mine operations.
Figure 2: Map of the mine production level .
Dumping Sites
EP 5
EP 4
EP 10 Side F
Side H
EP 10 Side F
Side H
EP 5
EP 4
EP 9
EP 9
EP 3 EP 3
Side F
EP 8 Side H
Side F
Side H
EP 8
EP 2
EP 2
EP 7
EP 7
EP 1 EP 1
EP 6
EP 6
STREET 1 LHD Vehicle Entrance
Figure 3: Diagram of two streets
STREET 2
scheduleHorizon = maxduration; Activity Start(0); Activity Exit(13); Activity home_to_site[i in Street,j in Pit](DurationTask1[i,j]); Activity load_first[i in Street,j in Pit](DurationTask2[i,j]); Activity load_hump_dump[i in Street,j in Pit](DurationTask3[i,j]); Activity dump_last[i in Street,j in Pit](DurationTask4[i,j]); Activity site_change[i in Street,j in Pit](DurationTask5[i,j]); Activity pit_to_site[i in Street,j in Pit](DurationTask6[i,j]); Activity street_change[i in Street,j in Pit](DurationTask7[i,j]); DiscreteResource LHD(1); Reservoir Copper (5000); Minimize Exit.end subject to { Start.start=0; forall (i in Street,j in Pit) home_to_site[i,j] requires(1) LHD; forall (i in Street,j in Pit) load_first[i,j] requires(1) LHD; forall (i in Street,j in Pit) load_hump_dump[i,j] requires(1) LHD; forall (i in Street,j in Pit) dump_last[i,j] requires(1) LHD; forall (i in Street,j in Pit) site_change[i,j] requires(1) LHD; forall (i in Street,j in Pit) pit_to_site[i,j] requires(1) LHD; forall (i in Street,j in Pit) street_change[i,j] requires(1) LHD; forall (i in Street,j in Pit) load_hump_dump[i,j] produces(133) Copper; forall (i in Street,j in Pit) load_first[i,j] produces(7) Copper; forall (i in Street,j in Pit) pit_to_site[i,j].end=load_first[i,j].start \/ home_to_site[i,j].end=load_first[i,j].start; forall (i in Street,j in Pit) Start.end=home_to_site[i,j].start; forall (i in Street,j in Pit) pit_to_site[i,j].end=load_first[i,j].start \/ site_change[i,j].end=load_first[i,j].start; forall (i in Street,j in Pit) site_change[i,j].end=load_first[i,j].start; forall (i in Street,j in Pit) street_change[i,j].end=load_first[i,j].start };
Figure 4: partial listing of the program written in OPL
HPF (tons) 2000
Tons
1500 1000 500
688.7
706.4
633.9
705.3
663.6
637.6
600.0
568.2
327.8
312.3
289.3
257.2
216.5
187.1
151.3
108.6
59.1
0
0
Time (minutes)
Figure 5 : Production trajectory for HPF rule in scenario 3. LPF (tons) 2000
Tons
1500 1000 500
587.2
553.9
521.5
489.8
286.5
243.8
190.1
156.8
127.4
95.3
54.6
31.6
14.1
0
0
Time (minutes)
Figure 6 : Production trajectory for LP rule in scenario 3.3. CP Model (tons) 2000 1800 1600
1200 1000 800 600 400 200
65 6. 0 67 7. 2
55 3. 6 59 5. 5 62 8. 9
26 1. 3 29 1. 0 32 0. 4 51 5. 9
18 9. 0 20 2. 8 22 7. 9
87 .4 14 6. 3
0
0 49 .5
Tons
1400
Tim e (m inute s)
Figure 8 : Production trajectory for CP model in scenario 3
Task sequence by the CP model
REPAIR activity
Figure 8: Gantt Chart after rescheduling.
Table 1: Activity symbols used in the CP model Symbol Start home_to_site [i in Street,j in Pit] load_first [i in Street,j in Pit] load_hump_dump [i in Street,j in Pit]
dump_last [i in Street,j in Pit] site_change [i in Street,j in Pit] pit_to_site [i in Street,j in Pit] street_change [i in Street,j in Pit] Exit
Activity Description Beginning of activities at the street 1. Traveling from entrance to j-th pit of i-th street; for i=1 ..2; j=1..10. Loading the first time at j-th pit of i-th street; for i=1 ..2; j=1..10. Executing the working cycle at j-th pit of i-th street; for i=1 ..2; j=1..10 (if a total number of N turns are needed to extract the material at the pit, this is the cycle of N-1 turns, for N > 1) Unloading the last turn at dumping site corresponding to i-th pit; for i=1 ..2; j=1..10. Traveling back from dumping site to point i, for i=1 ..10. Traveling from dumping to a next j-th pit of i-th street after working cycle is completed; for i=1 ..2; j=1..10 Change of street after working cycle is completed; for i=1 ..2; j=1..10 Traveling from dumping site to the street entrance and leaving, after all work is completed.
Table 2: Scenario 1 (Most workload is concentrated near the entrance)
Mak es pan (s econds )
C P Model
HP F
LP F
Plan 1
40464
42958
43451
Plan 2 Plan 3 Plan 4
40276 40529 40076
42722 42806 43039
43596 42699 42377
Table 3: Scenario 2 (Most workload is concentrated towards end of street)
Makespan (seconds) Plan 1 Plan 2 Plan 3 Plan 4
CP Model
HPF
40288 40595 40799 40807
LPF 42490 44142 42978 43706
42671 43861 43308 43621
Table 4: Scenario 3 (Workload has uniform random pattern)
Makespan (seconds) Plan 1 Plan 2 Plan 3 Plan 4
CP Model 40512 39973 40616 40302
HPF
LPF 41878 41700 42468 42608
41690 41468 42401 43480
Table 5: Cumulative production versus time for scenario 3 HPF
LPF
CP
Time (min)
Tons
Time (min)
Tons
Time (min)
Tons
0
0
0
0
0
0
58.9
133
13.9
35
49.3
105
59.1
140
14.1
42
49.5
112
108.5
245
31.4
84
87.3
196
108.6
252
31.6
91
87.4
203
151.1
357
54.4
154
146.1
336
151.3
364
54.6
161
146.3
343
186.9
462
95.2
245
188.8
448
187.1
469
95.3
252
189.0
455
216.3
560
127.2
336
202.6
490
216.5
567
127.4
343
202.8
497
257.0
651
156.6
434
227.8
560
257.2
658
156.8
441
227.9
567
289.1
742
190.0
539
261.1
665
289.3
749
190.1
546
261.3
672
312.1
812
243.6
651
290.9
756
312.3
819
243.8
658
291.0
763
327.7
861
286.3
763
320.3
854
327.8
868
286.5
770
320.4
861
344.2
903
345.2
903
335.8
903
568.2
1463
489.8
1253
515.9
1337
568.4
1470
489.9
1260
516.1
1344
600.0
1554
521.5
1344
553.6
1435
600.2
1561
521.7
1351
553.7
1442
637.6
1638
553.9
1442
595.5
1554
637.7
1645
554.0
1449
595.7
1561
663.6
1708
587.2
1547
628.9
1659
663.8
1715
587.4
1554
629.0
1666
688.7
1771
633.9
1666
656.0
1750
688.8
1778
634.1
1673
656.1
1757
706.4
1813
705.3
1813
677.2
1813
706.6
1820
705.5
1820
677.3
1820