Documente Academic
Documente Profesional
Documente Cultură
To cite this article: Martin L. Smith (1998) Optimizing short-term production schedules in surface mining: Integrating mine
modeling software with AMPL/CPLEX, International Journal of Surface Mining, Reclamation and Environment, 12:4, 149-155,
DOI: 10.1080/09208118908944038
To link to this article: http://dx.doi.org/10.1080/09208118908944038
149
ABSTRACT: Short-term production scheduling is the operational basis for mine production over time spans of days, weeks and months.
Short-term schedules concentrate on making long-term mine plans operationally feasible and ensuring a steady flow of product for both
meeting gross production targets and blending ore. Mathematical programming techniques have been applied to optimize short- and
long-term production schedules, but widespread application of these techniques has been limited by the use of routines that are opaque to
the end user or difficult to implement. Several examples are provided to illustrate the advantages of using the math modeling language
AMPL in conjunction with Techbase, a popular mine modeling package. The strengths of MIP methods as applied to production
scheduling are discussed, as are techniques for coping with the limitations of these algorithms.
1. INTRODUCTION
Scheduling of mine production occurs on both long and shortterm scales. Long-term schedules are produced for cashflow
analysis and to provide a guide to more detailed mine design and
development. Short-term scheduling starts where the long-term,
typically annual, plans left off and focuses on the implementation
of the mine design over time by planning waste stripping and
removal and grade control.
During short-term scheduling,
detailed design of the mine takes place and the annual plan is
implemented on a level of detail suitable for guiding operations on
a time frame which meets the needs of production planning in the
mine. In the case of a surface operation, a monthly plan of
stripping, ore production and haul road construction will be
determined. At this level of design, the goals are to: (1) properly
utilize production equipment by avoiding idle time and excessive
moves to different working levels, (2) ensure that stripping
proceeds in advance of are production, (3) maintain working
slope angles, (4) provide haul road access to all working benches
and (5) maintain ore blend to avoid excessive quality fluctuations
at the mill. Of these, grade control is the most difficult to
achieve.
Often reserves are classified into several categories: low
grade ore is usually sent to a heap leach pad or set aside as
inventory for periods of increased demand, while high grade ore is
sent to the mill where metallurgical recovery will depend on the
quality characteristics of the ore. During comminution, the
hardness, friability and size distribution of the fragmented are will
determine the time and energy spent on reducing the particles to
mineral liberation size (Smith, et al., 1993). Likewise, flotation
recovery is dependent on the chemistry of the ore. Finally, the
concentrate's composition must be held within acceptable limits
for further processing or as a final product. In order for the mill
to operate at its best efficiency, an ore feed should be provided
from the mine with as little fluctuation in quality as possible. It is
uncommon for a deposit to be so homogenous in its grade that
blending of production from the mine is not a concern. As the
number of quality characteristics grows, the difficulty of
scheduling production to maintain an acceptable mill feed
becomes increasingly complex.
150
The mining software package, Techbase (www.techbase.com)
has facilities which illustrate the methodology of production
planning. Although the following terminology is drawn from
Techbase, the methodology is largely consistent across all similar
packages. A thorough discussion of production scheduling and
using Techbase scheduling facilitiescan be found in Smith (1998).
TonsOre
Gold (oz)
Net value
Tons waste
Period I
Period 2
Period 3
282,152
638,145
41,094,476
5,569,200
314,818
901,755
58,749,956
5,548,800
1,252,089
3,937,185
264,712,006
5,445,600
NET
wr
or
Pitauoz
Pitagoz
VALUE
Week I
5420,I,A
5450,I,B
5510,I,C
Subtotal
Week 2
5420,2,A
5450,2,B
5510,2,C,1
5510,2,C,2
5510,2,C,3
5510,2,C,4
Subtotal
-145503
-169088
-223602
-538193
18202
18001
17714
53918
317
0
0
317
5797
1620
0
7417
93985
24000
0
117985
743138
- 68613
- 40414
- 12717
- 6280
- 16214
598700
8143
17795
5221
2868
1497
3741
39255
9318
0
0
0
0
0
9318
8371
0
0
0
0
0
8371
131296
0
0
0
0
0
Total
60507
93173
9635
15788
289281
131296
151
21nO/l
"
152
. ',...j
-f--
H~
I I,
- -""
, I
I
L~
-i i
~
r-~
I
I
f-'
L-
Note that this defines a "set" of constraints, {(ij,k) iI/INDEX: (iIj-I,k-I) iI/INDEX}, i.e. one constraint for each mining block as
long as the block one bench up and back one row and column
exists. This illustrates one of the advantages of using a modelling
language; only one constraint declaration need be written to
generate many constraints of the same form. The body of the
constraint, deltafi.j.k] - deltafi-l j-Lk-I] <= 0, requires the
overlying block to be mined if the block at position [ij,k] is to be
mined. This condition is repeated for every block in INDEX,
propagating this precedence constraint to the surface. Surface
blocks are not constrained because no overlying block exists. The
remaining constraint sets (prec_"plop ... pree_"pholrighl)
complete the inter-bench precedence constraints requiring that all
nine overlying blocks must be mined (if they exist) along with the
block [ij,k].
The two final constraint sets (pree_hOI, preeJighl) require
the blocks on the bench face to be mined from the exposed face
inwards. Note that in this formulation the orientation of mining
cuts is assumed to follow that of the initial bench face. As above,
the blocks exposed directly on the face of the bench are not
constrained and can be mined in any order.
Once the scheduling model is solved for the first mining period's
data set, AMPL's display command is used to create an ASCII
file containing a listing of only those blocks that were mined:
ampl: display{(ij,k) in INDEX: della[ij,k}=I} deltaji.j.k] >
periodl.results;
The display command outputs a list of records consisting of
the block row, column and level indices followed by a one and
directs the list into periodl.results.
A new field was created in the Techbase block model in
which the value will correspond to della, and penodl.results was
loaded into the block model. Note that Techbase has several
features for loading data into block models that are essential to
efficient data transfer: block model records can be updated
directly from an ASCII file and only those records which coincide
to the position of the data being read will be updated. In
Techbase, the block records are keyed to the record number,
block index or the coordinates of the block centroid. Thus, in this
example, only those block model records with row, column and
level indices matching the records in periodl.results will be
updated. Figure 3 shows a posting of the mined blocks.
The results of optimization are given by the objective function
and deviation variable values. The objective value is dependent
on the penalties used, as is the final solution, which was under
target by 5,698 oz silver, over target by 4,416 oz gold ar.d mined
6,705 st ore and 28,030 bey waste more than demanded. Again
note that a goal programming approach yields a solution which is
only optimal in terms of the penalties used. In this example, it
would be worthwhile to increase the ag_mil/US and waste"plus
penalties in an attempt to achieve a better schedule.
153
154
subject to demand162:
SUIII{(k.J) ill INDEXI62}bcyl62[k.J]*dellal62[k.JJ
18520"gallllllaI62;
subject to onlyonecut:
~r"'T"'''",''
""'''''':~.ffi~.''';':27
.es
"J,-""~'
~-;S:Ii?l16
[;; 39 "'>,"'1.64.S'l.!',!"
3"I
." j"
1~2B
l;>4. 23.24
36~'15~
as 3sl37
aa
35133
"1>'1~,!'I",r,or,',l
"IJ1l~.".S4.s:f;;~
3slJ'1
asr an ae
'l!Il~.",".67.59 .~
33 2'1
13
'!Jr47,.S".57.4i:~
n3
31 36 39 45
21[';'0147lSI.'jO[41~/2 3B
1,17
,lll h.121J
aa n
as ae " "
27,29 32 31 39 36
G~22
I
27
27.21
27
22
nK"l2:.:,;."." ,
.,
"'.,r"\>,,
.52.S9.56'1:'~ ae
.GZI71,.(I1.S4
ganrnraI61+gammaI62~J:
. . . . . ,." . . ,."., ,.
11,!117~21.ZS.Z&
l~l 21. ZB
<~
3'0 37 H
393532 JJ
SI:S~.1!>~43
Hl43;12
3~
45t~ ~~ ;;~~~~
1e
" ,,""
eel 351 J8 ae
aa as 3B 21,2B
as aa an. ;>1. 26 aa as as
Jll31 3lln.21.zz
as
"',26.21
33 30 27,27!27
j2:~
'11/1 '12
,29~29,29~ ~
Figure 5: Blocks on pit bottom available for inclusion in a
sinking cut.
.n.'"
REFERENCES
1. Jim Butler, personal communication, Combinatorics, Bently,
SWA, Australia.
2. Chanda, E.C.K, An application of integer programming and
simulation to production planning for a stratiform ore body,
Mining Science and Tech., v. II, pp. 165-172, I990a.
3. Chanda, E.C.K, An application of goal programming to
production planning in the crushed stone industry, Int. J.
Surface Milling, Reclamation and Environment, v. 4, (1990b),
125-129.
4. Chanda, E.C.K. and Dagdelen, K, Optimal blending of mine
production using goal programming and interactive graphics
systems,
1111. J Surface Mining, Reclamation and
Environment, v. 9, (1995), 203-208.
5. Franklin, P.J., Computer-aided short-term mine planning, CIM
Bull., v. 78, n. 879, (1985), 49-52.
6. Fytas, K, Pelley, C. and Calder, P., Optimization of short- and
long-range production scheduling, CIM Bull., v. 80, n. 904,
(1987), 55-61.
7. Gershon, M., Heuristic approaches for mine planning and
production scheduling, 1111. J Milling and Geological Eng., v.
5, (1987), 1-13.
8. Grady, L., Holm, V., Mitts, R. and Brumit, P., Short term mine
planning and grade control practice at the Mesquite mine,
Mining Eng., v. 42, Feb. 1990, 187-191.
9. Graham-Taylor, T., Production scheduling using linear and
integer programming, AuslMM Annual Conf., State of the art
a product of 100 years of learning: 17-21, May 1992, Broken
Hill, NSW, Parkville, Vic., Australia.
10. Holding, S.W., Stokes, M.A, Mine activity and resource
scheduling with the use of three-dimensional component
modelling, Trans. Sec. A, Mining Ind., v. 99, n. A53, (1990).
II. Lapworth, AD., Scheduling using optimization and blending,
The Mining Magazine, v.174, n.2 (1996), 105-106.
12. Smith, M. L., Prisbrey, K. A, and Barron, C. L. (1993)
"Blasting Design for Increased Sag Mill Productivity", Minerals
and Metallurgical Processing, pp 188190, Nov., SME.
13. Smith, M. L., and Tao, W. Y. (1994) "Mine Production
Scheduling for Optimization of Plant Recovery in Surface
Phosphate Operations,"
International Journal of Surface
Mining, v.9, 1994,41-46.
14. Smith, M.L, Geologic and Mille Modeling Using Techbase
and Lynx, Balkema, Rotterdam, 1998.
15. Winkler, B.M., Using MILP to optimize period fix costs in
complex mine sequencing and scheduling problems, 26"' Proc
Appl Comp & Oper. Res. in Mineral Ind (APCOMl, ed.
Ramani, R.V., Littleton, Co. , SME, (1996), Penn. State, Univ.
Park, PA, Sept. 16-20.
155
minimize deviation:
sum{i in DEVSET} penalties[ij*devvar[ij;
# The following four constraint sets define the goal deviation vars
# for silver, gold and ore and waste tonnage.
subject to ag..,goal:
sum{(ij,k) in INDEX} pitagoz[ij,k)*delta[ij,k) = demand_ag +
devvar['ag-p1us')-devvar['ag_minus');
subject to au..,goal:
sum{(ij,k) in INDEX} pitauoz[ij,k)*delta[ij,kj = demand_au +
devvar['au-plus') - devvar['au _minus');
subject to wastegoal:
sum{(ij,k) in INDEX} wr[ij,k)*delta[ij,k) = demand_waste +
devvar['waste-plus') - devvar['waste_minus');
subject to oregoal:
sum{(ij,k) in INDEX) or[ij,k)*delta[ij,k) = demand_ore +
devvar['ore-plus') - devvar['ore_minus');
# The following nine constraint sets require that nine overlying
# blocks be mined before the current block is accessible.
# These constraints are designed to also ensure that mining cuts
# will start on the exposed bench face.
subject to prec_uptopleft {(ij,k) in INDEX: (i-Ij-I,k-I) in
INDEX): delta[ij,k]- delta[i-Ij-I,k-I) <= 0;
Repeat constraint declaration for (i-I j,k-I), (i-I j+ I,k-I), (ij-I,k1),(ij,k-I), (ij+ I,k-I),(i+ 1j-J,k-I),(i+ 1j,k-I) and (i+ 1j+ I,k-I).
# Model for short-term scheduling example -- initial period.
# Demonstration short-term production scheduling model.
# Single period production targets are met using goal and integer
# programming.
param m; param n; param 0;