Sunteți pe pagina 1din 8

This article was downloaded by: [Aston University]

On: 07 January 2014, At: 05:03


Publisher: Taylor & Francis
Informa Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House,
37-41 Mortimer Street, London W1T 3JH, UK

International Journal of Surface Mining, Reclamation


and Environment
Publication details, including instructions for authors and subscription information:
http://www.tandfonline.com/loi/nsme19

Optimizing short-term production schedules in surface


mining: Integrating mine modeling software with AMPL/
CPLEX
Martin L. Smith

Department of Metallurgical and Mining Engineering , College of Mines, University of


Idaho , Moscow, ID, USA
Published online: 27 Apr 2007.

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

PLEASE SCROLL DOWN FOR ARTICLE


Taylor & Francis makes every effort to ensure the accuracy of all the information (the Content) contained
in the publications on our platform. However, Taylor & Francis, our agents, and our licensors make no
representations or warranties whatsoever as to the accuracy, completeness, or suitability for any purpose of the
Content. Any opinions and views expressed in this publication are the opinions and views of the authors, and
are not the views of or endorsed by Taylor & Francis. The accuracy of the Content should not be relied upon and
should be independently verified with primary sources of information. Taylor and Francis shall not be liable for
any losses, actions, claims, proceedings, demands, costs, expenses, damages, and other liabilities whatsoever
or howsoever caused arising directly or indirectly in connection with, in relation to or arising out of the use of
the Content.
This article may be used for research, teaching, and private study purposes. Any substantial or systematic
reproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in any
form to anyone is expressly forbidden. Terms & Conditions of access and use can be found at http://
www.tandfonline.com/page/terms-and-conditions

International Journalof SurfaceMining, Reclamation and Environment 12 (1998): }49} 55

149

Optimizing short-term production schedules in surface mining:


Integrating mine modeling software with ANIPL/CPLEX
Martin L.Smith
Department of Metallurgical and Mining Engineering, College ofMines, University ofIdaho, Moscow, ID, USA

Downloaded by [Aston University] at 05:03 07 January 2014

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.

1998 A.A. Balkerna,P.O. Box1675,3000 BRRotterdam, Netherlands

2. THE METHODOLOGY OF TRIAL-AND-ERROR


PRODUCTION SCHEDULING
In practice, production scheduling is carried out as follows: I)
benches accessible for mining are displayed in plan view, on a
bench-by-bench basis, showing current toe and crest lines and the
blocks available for mining; 2) an area of the exposed bench is
delineated as a cut which corresponds to a reasonable production
volume, for example an area that can be drilled, blasted and
loaded within the production period with the cuts being stored in
an organized fashion as polygons; 3) the grade and tons of are
and waste within the delineated area are determined by
intersecting these polygons on the block model and reporting the
contents of the cuts by cut, bench and period to determine
progress, 4) the cuts are modified and/or additional production
cuts are added in order to meet tonnage and grade requirements.
This procedure repeats itself with cuts being added or deleted, as
well as increased or decreased in extent, until a reasonable
production plan is found for that period. More often than not, the
main criterion for selecting a cut is to maintain the progression of
the production equipment along the bench face. Further examples
of this approach to open pit production scheduling are given by
Franklin (1985) and Holm, et al. (1990). The same approach can
be extended to scheduling stope production using 3D volume
components (Holding and Stokes, 1990).
Scheduling software greatly simplifies this procedure by
making the process of determining the grade and tonnage within a
cut much more rapid and accurate. Those blocks which are
within the limits of the annual pit and are exposed on a bench are
displayed in plan view, showing the are grade within the block.
One or more polygons are digitized on the display to delineate the
blocks to be mined in the production cuts. The total tonnage
selected and average grades are then calculated and displayed. If
the grade and tonnage goals are met, then the blocks are treated
as having been mined and the block model is adjusted
accordingly, with the mined blocks being removed from further
consideration and the cut polygons being stored with their
associated are tonnage and grades for future reference.

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).

Downloaded by [Aston University] at 05:03 07 January 2014

Display of the block model data and mining limits must be


kept simple, or the immense scale and complexity of production
scheduling will become overwhelming. Only those blocks
available for mining should be displayed. Numeric posting of a
few critical production-related parameters, such as grade and
tonnage, should be displayed in the block. Cell colors and fill
patterns, even contour lines, can be used to reduce display
complexity. Only a few benches should be displayed at a time,
showing the current limit of mining and the final mining limit as
defined by the long-term mine plan. The current mine limits on
the overlying bench may also be displayed to avoid pushing the
current bench beneath the overlying bench.
The number of polygons produced by different scheduling
plans can quickly become overwhelming. If there are only three
polygons a week, then there will be 156 polygons needed for a
year's scheduling. If alternative production plans are considered,
then the number of polygons can rapidly get out of hand. Along
with each polygon's identity and vertices, other production
information such as area, contained tonnage of ore and waste,
average grades and contaminate levels, and recovered mineral
content must be stored. For example, Techbase's polygon tables
provide a format in which scheduling cuts can be conveniently
stored as polygons and readily related to other data sets,
particularly block models, grids, other polygon tables (e.g.,
royalty payments) and flat tables containing blasthole data.
3. AN EXAMPLE OF TRIAL-AND-ERROR PRODUCTION
SCHEDULING
To be able to effectively carry out scheduling, a background
display must be generated that shows the availability of mining
blocks for excavation and the current level of ore and waste in the
block. Following the definition of mining cuts, the display must
be updated to reflect the removal of material from the block
model so that newly uncovered blocks become visible, entirely
removed blocks are no longer visible and the amounts of are and
waste in the available blocks are adjusted to reflect any partial
mining of the blocks. The procedure used to flag blocks available
for mining and updating their contents to reflect the progress of
mining should be as automated as possible. The following
elements of design are needed:
I) Gridded surfaces of topography and the top and bottom
structures of the ore body.
2) A block model with fields which contain estimated grades, the
fraction of the block which is ore and ore tonnage.
3) Gridded surfaces of the ultimate and annual pit limits.
4) A long-term production schedule such as given in Table 1 and
used for this example.
The cell table containing the gridded surfaces must match the
block model both in its xy cell dimensions and location, i.e. the
cells must be aligned with the blocks.
Several additional fields must be added to the block table to
keep track of the content of the blocks as mining progresses and
to indicate the availability of the block for mining.
Production scheduling facilities incorporate block/polygon
posting, polygon digitizing and editing, block/polygon
intersection, block/polygon table updating and reporting of
polygon contents. The process commences with posting in plan
view all blocks available for scheduling. The block contents are

Table 1: Annual production targets

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

Figure I: Display of blocks available for scheduling in initial


period

Table 2: Weeks 1 and 2 production totals from interactive


scheduling
POL YGON

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

usually displayed both as numeric values interior to each block


and as color codes and block fill patterns. An example of this is
shown in Figure I, which includes block color to indicate the
bench, block fill for mined status, numeric values for contained
metal and volumes of ore and waste. Polygons are used to
indicate bench limits intersected with overlying topography and
the extent of mine production cuts for the planning period. Mine
scheduling starts with the digitizing of production cuts on the
exposed mining benches. Polygon editing facilities are included
that ensure that polygon boundaries match so that there is no
crossover between adjacent cuts or cuts extending beyonc the
bench face. Polygons can also be expanded to higher bench's to
enable the use of "pushbacks" in production plar.ning. A
pushback entails expanding polygons to higher benches to
account for the mining of blocks that are covered by overlying
material. This procedure is commonly used in short-term
schedules to include haul roads.

151

Once one or more proposed cuts have been digitized, the


polygons are intersected with blocks on the corresponding bench.
The result is the fraction of the block that has been mined. This
fraction is used to calculate the remaining contents of the block
and the totals and averages for the polygon. These totals and
averages are reported by polygon, bench and period. The user
compares the report to production requirements and equipment
utilization and decides to either accept the current set of polygons
or to attempt to produce a superior plan by modifying, deleting or
creating new polygons. A two-week production schedule based
on Table 1 is given in Table 2.

Downloaded by [Aston University] at 05:03 07 January 2014

4. THE METHODOLOGY OF MATH PROGRAMMlNGBASED PRODUCTION SCHEDULES


A math programming approach to production scheduling seeks to
find the combination of mining blocks which in some sense is
optimal. Optimization can be based on many different immediate
production targets and blending requirements. In this context,
two approaches to modelling can be used.
One approach is to use a single objective that will drive the
solution toward a long-term goal while including constraints that
will produce a blend that is within certain limits. An example of
this can be taken from mining high sulfur coal. In this case, the
goal may be to maximize the production of sulfur while remaining
within quality limits. This allows higher sulfur coal to be mined
early on and extends the life of the operation. Constraints are
used to limit sulfur content to no more than the maximum allowed
and set additional limits on other production characteristics such
as Btu. Examples of using single objective functions with Linear
Programming are reported by Chanda (I 990a), Graham-Taylor
(1992), Lapworth (1996) and Fytas, et al. (1987). criteria and in
fact can be based on several objectives. While long-term plans
typically seek to maximize the value of the project, short-term
planning is more commonly associated with
In cement and phosphate production, blending ore as closely
as possible to specifications becomes the main criterion for
scheduling. A single objective based on a production target and
quality constraints can yield a blend in which critical chemical
constituents are at maximum or minimum acceptable levels, yet
what is required is a blend in which the constituents are as close
as possible to optimal product levels. In this case, the objective is
to minimize the deviations of a number of goals from their target
values; these goals are represented by deviation variables which
are defined by goal constraints.
This Goal Programming
approach to modelling requires little more computational
resources than a single constraint Linear Program for short-term
production planning as reported by Smith and Tao (1995),
Chanda (1990b) and Chanda and Dagdelen (1995).
There are two major limitations associated with math
programming-based production scheduling: the use of integer
variables and the representation of operational constraints as
linear equations of these integer variables. Each block requires at
least one binary variable representing the decision to mine or not
mine the block. Mining of the block is limited by constraints
defining mining precedence relationships between the block under
consideration and surrounding blocks which also must be mined if
the block under consideration is mined. Solution of this type of
scheduling problem using Mixed Integer Programming (MIP) is
notoriously difficult because the branch and bound algorithm
requires vastly more computational effort than an equivalent
Linear Program using the Simplex algorithm. The use of MIP
seriously limits the size of scheduling problems that can be
successfully solved and requires close attention to a number of
algorithmic parameters and solution strategies.
The size
limitations of MIP point to the desirability of applying heuristic
approaches to scheduling for large problems (Gershon, 1986).

21nO/l

L_----'_ _---'-_ _--L_ _..I-_ _l-_---:':_ _-':-_---:

"

Figure 2: Blocks exported for period I schedule optimization.

5. AN EXAMPLE OF MIP-BASED PRODUCTION


SCHEDULE OPTIMIZATION
Consider the set of available mining blocks in Figure I. These
blocks represent the material to be stripped, plus some
outcropping ore, for the first scheduling period of this project.
Fields were defined in a Techbase block table for the fraction of
the block above the pre-mining topographic grid and within the
first year's bench limit polygon. These fields were used to flag all
blocks that were within the annual mining limit and exposed to
the surface. An additional flag was used for all blocks that were
covered by overlying blocks, but were within several blocks of the
exposed bench face; these blocks (see Figure 2) are to be
considered for scheduling in the initial mining period. In Figure 2,
the bench is indicated both by color and number in the block.
Blocks filled with diagonal hatching underlay blocks on the next
bench up. These flagged blocks are then reported to an ASCII
file in which each record corresponds to the contents of an
individual block. The file is then converted into an AMPL data
file as shown in Appendix I. The block model records commence
with the line param: INDEX: in which INDEX is the 3D set of
blocks where the location in the Techbase block model is defined
by row, column and level indices. This is followed in the same
line with the contained ounces, volumes of ore and waste and net
value. Only a small portion of the data set is included for brevity.
Other set and parameter values define the dimensions of the
source block model (m, II and 0), the set of deviation variables,
DEVSET, penalty weights associated with goal deviation variables
and production targets (demandag ... demandorei.
The use of a modelling language for math programming
greatly facilitates the application of optimization methods.
Previous to the development of languages like AMPL, the large
systems of equations typical of mining LP and MIP applications
had to be laboriously input either as a full text file of equations,
set, parameter and variable definitions, or a matrix generation
program had to be written that would produce a file format, such
as MPS, readable by optimization software. Some idea of the
size of the problems generated for scheduling and the use of
matrix generators ofMPS files are given by Gershon (1983) and
more recently by Chanda and Dagdelen (1995). Note that the
modelling language doesn't optimize. AMPL's function is to
facilitate model development using an algebraic notation which
enables the production of comprehensible and efficient models
that are easily debugged and modified. AMPL translates the
model into a format that is readable to the optimization software
and provides display facilities for reporting solution results. An
optimization algorithm is selected that is suited to the type of
problem being solved. Cplex, (www.cplex.com) used for the
examples in this paper, provides a library of powerful MIP, LP,

152

network and quadratic programming algorithms particularly well


suited to the solution of large-scale problems.

Downloaded by [Aston University] at 05:03 07 January 2014

A goal-programming MIP model using the data in Appendix I


is given in Appendix 2. The file starts with set and parameter
definitions.
Set membership and parameter values can be
assigned (:=) in either the model or data file. Two sets of
variables are defined. The status of the blocks is defined by delta,
a binary variable which takes a value of I if the block will be
mined and 0 otherwise. The deviation variables, devvar, are the
positive and negative deviations from the production targets.
Next follow the objective function and constraints. The objective,
deviation, minimizes the Sum of the product of the deviation from
production targets and an associated penalty weight. The penalty
weighting parameter, pel/a/lies, provides a means of ranking the
importance of meeting the different goals and scaling variables
wherein the units are either tons or ounces.

. ',...j

-f--

H~

I I,

- -""

, I
I

L~

-i i

~
r-~

I
I

f-'
L-

The first four constraints (agJoa/ ... oreJoa/) are goal


constraints that define the deviation variables. Next come nine
mining precedence constraint sets such as

Figure 3: Display of optimization results with production values


displayed in mined blocks.

subject to prec_"plOp/eft {(ij,k) iI/INDEX: (i-I j-I,k-I) in


INDEX}: della[ij,k} - della[i-Ij-I,k-I} <= 0;

7. AN EXAMPLE OF IMPORTING AND DISPLAYING


OPTIMIZATION RESULTS

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.

6. USING THE OPTIMIZATION MODEL'S SOLUTION


The ease of working between mining software and optimization
software such as AMPUCplex is a major issue to end users:
optimization-based scheduling must increase the productivity of
mine scheduling engineers for it to be worth the extra investment,
but if the integration between the two software systems is poor,
the time spent transferring and formatting data can negate any
gains in productivity.
Flexible database import and export
facilities are crucial to the successful application of optimization.
Techbase has a rich database structure which includes flexible
data import and export, allowing block model records to be
exported in a format which requires minimal modification a~ an
AMPL data file (described in the previous section). AMPL also
has great flexibility in producing output files using display, print
and printf commands. Whatever the mining software package, it
must be capable of importing records directly into a block model,
thus completing the schedule optimization cycle. Once the
optimization results (delta in the previous example) have been
loaded into the block model, the mining software can be used for
volumetric calculations and display with the value of della being
used as a flag indicating the status of mining for that period.

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.

8. OTHER PRODUCTION SCHEDULING FORMULATIONS


The first period mining example given above was based on single
time period scheduling and mining to an exposed face. To a
certain degree, optimizing a sequence of short-term schedules is
a legitimate approach, providing the sum of the short-term
schedules are in agreement with an optimal long-term mine plan.
Fytas et al. (1987) discusses one approach to integrating a series
of single period solutions into a long-term production schedule
based on simulation. Unfortunately, it is often difficult to make a
sequence of short-term schedules that will match long-term
production targets.
For tight production targets, equality
constraints can be used, or allowable lower and upper bounds on
production can be specified using inequality constraints, but this

153

approach may greatly increase the deviation from other


competing production requirements. Only a few examples of true
time-dynamic applications have been reported in the literature.
Smith and Tao (1995) had good success with phosphate
production optimization due to the 20 nature of the data set and
the limiting of the blocks available in anyone period. Chanda
(1990a) scheduled draw points in a block caving operation over
time; the relatively small number of raises made a time-dynamic
solution practical.
An obvious alternative to single period scheduling is to
optimize over multiple time periods. In terms of formulation, the
model in AMPL appears almost identical. An index {I in T} is
added for the time period and included in the variables and
constraint sets as follows.
subject to mineonce ((iJ,k) in INDEX):
sum{1 in 1.. Tjdeltafi.j.k.t] ~ 1;

Downloaded by [Aston University] at 05:03 07 January 2014

subject to precuptopleft ((iJ,k) in INDEX,I in I..T: (i-IJ-I,k-I)


in INDEX):
della[iJ,k, l] - sum [u in I..I)della[i-IJ-I,k-I,II] <~ 0;

Now the precedence constraints, as in prec_uptopleft, require the


overlying block to have been mined by the time ij,k is mined in
period t and require a block to only be mined once (mineonce).
Unfortunately, this creates a problem with T times as many
variables and constraints and can easily result in a model which is
computationally intractable.
The example given in Figure 2 and Appendix 2 only
constrained intra-bench mining to follow the initial orientation of
the bench face (see Table 4, prec_bOI, precJighl), but as mining
proceeds, the bench face should be allowed to take on many
different configurations. Formulating constraints similar to those
used for defining inter-bench precedence relationships (see,
prec_uplop ... prec_upbotright) is not so simple. Inter-bench
precedence constraints always work in the same direction to a
free, and therefore unconstrained, face, i.e. the surface. In
contrast, the direction of the free face on the same bench cannot
be predicted beyond saying that a block will be mined from one or
more of eight possible directions. This can be formulated using
either/or constraints of the form
subject to prec_topleft {(iJ,k) in INDEX: (i-I J-I,k) in INDEX):
deltafi.j.k.] - delta[i-IJ-I,k] <= (I -gammaji.j.k.Lj);

which introduces a new binary variable gamma[iJ,k,d] where d is


the direction used to access the block. Each index value of d is
associated with a subset of blocks which must be removed to
provide access to (iJ,k) from a direction d. There can be as many
as eight subsets d corresponding to four comers and sides. If
gamma[iJ,k,d] = I, the original constraint holds. Otherwise, the
blocks (iJ,k) and (i-I J-I,k) are effectively unconstrained. An
additional constraint is needed for each block that defines how
many of the intra-bench precedence constraint sets can be active.
subject to directions ((iJ,k) ill INDEX):
sum{d in I..D) gamma[iJ,k,d] <~ 3;

This example requires three times as many precedence constraints


and eight times as many binary variables as for the example of
Table 3, an unacceptable increase in problem size for all except
small single-period scheduling problems.
A similar intra-bench scheduling problem points to an
improved formulation, that is the problem of determining the
optimal location for a sinking cut. In the sinking cut problem, a
single contiguous set of blocks is mined from a bench with no free
face, typically the bottom of the pit. An example of this is given
in Figure 4, a pit bottom based on an annual mine plan from a
mountain top copper deposit. Displayed in Figure 5 are the

Figure 4: Blocks available for mining in period 20 for a


mountaintop copper deposit.

blocks exposed on the lowest bench and percent copper grades.


The previous examples of precedence constraints will not work in
the sinking cut problem since there is no exposed face. In fact, if
the blocks on the edge of the data set are not constrained to
remain unmined, then use of these types of constraints will result
in a solution that must propagate to an unconstrained edge block.
Instead, a solution is sought that divides blocks into three
categories: the block being considered for mining (iJ), any other
block that can be mined in the same cut (m.n), and all blocks lying
between these two blocks which also must be mined if the set of
mined blocks is to be in a single contiguous set (k,lj(Butler,
1998).
subject 10 upperlefl161 ((iJ) ill INDEXI61,(m, II) ill
INDEXI6I,(k,I) iIlINDEXI61:
i<k<m && 11< =1< =j): deltaI61[iJ] + deltaltilfm.n]
deltaI61[k,l} <- I;

This constraint declaration generates a constraint for each block


(iJ) on the 16th bench in cut candidate one, every non-adjacent
block (m.n) to the upper left 'of (iJ) and every intermediate block
(k.l). The set selection conditions (i<k<m && 11< =1< =j) control
the overall configuration of blocks (k, lj mined if both (iJ) and
(m.n) are mined.
This approach to intra-bench scheduling has the considerable
advantage of only using one binary variable per block, but the
number of possible constraints is astronomical. Some means must
be used to limit the size of INDEXI61 and limit the subset (k.t)
while still ensuring that an operationally feasible cut will be
generated. One approach is illustrated in Figure 5. The objective
for this scheduling problem was to maximize copper recovery
subject to constraints on tonnage and contaminant levels. Given
the objective of maximizing copper, it is highly likely that the
optimal sinking cut location would be within the high grade areas
bounded by the two polygons in Figure 5. Techbase was used to
digitize the polygons on the background block posting, locate the
blocks within these polygons, and then report them for use as an
AMPL data file. The blocks within the two potential sinking cut
locations were included in the sets INDEXI61 and INDEXI62.
The sinking cut could be anywhere within one of these two areas
as defined by constraints of the form upperleftltil and the
following.
subject 10demandltil:
sum{(iJ) iIlINDEXI6I) bcyI61[iJJ*deltaI61[iJ} <~
I8520*gammaI61;

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,-""~'

Downloaded by [Aston University] at 05:03 07 January 2014

Clearly, the primary limitation of the integer programming


approach to production scheduling is the large scale of the models
that are typically generated and the limitations imposed by the
branch-and-bound algorithm; this is particularly true for multiperiod time-dynamic scheduling problems with complex
precedence constraints.
Time-dynamic optimization has been
avoided due to the assumption that these large-scale MIPs are
computationally intractable, but with the advent of faster, more
efficient algorithms and parallel CPU architectures (see
www.cplex.com/productslparsolv.html) a significant number of
common applications are possible. For some types of deposits
which require a small number of blocks to model, a time-dynamic
solution is the preferred option. This would be the case for most
bedded deposits such as phosphate, coal and limestone which are
commonly modelled using a single layer of blocks per seam.
Otherwise, objectives and constraints must be carefully selected
so that a series of single period solutions will tend towards longterm targets.
Other strategies can be used to decrease problem size and
increase solution speed. One approach is to reduce the number of
blocks, and therefore the number of binary variables and
precedence constraints, that are considered in any period. The
more deeply buried blocks will not be mined in the initial periods
and the initially exposed blocks, especially those with scarce
contents, will not be mined in later periods. Thus, in these
examples, a series of period specific subsets of INDEX would be
used. As the sinking cuts example illustrated, particular attention
must to be given to conditions used for generating constraint sets.
Solution speed can be greatly increased, often by several
orders of magnitude, by experimenting with parameter settings
within the branch-and-bound algorithm.
For example, the
problem of Appendix 2 has a special structure: all of the binary
variables in the precedence constraints have the coefficients 0, I,
or - I, which correspond to a network formulation. Solution
speed can be greatly increased by specifying that Cplex use a
network simplex for the LP relaxation. Additional improvements
in solution time can be made by relaxing integrality slightly on the
binary variables (default 1.0e-5) and relaxing optimality (absolute
gap between successive feasible integer solutions, default 0).
Many other options are available which must be explored for each
model formulation, some of the most important being the
definition of special ordered sets and integer variable priority
ordering by time period, accessibility and value (see Gershon,
1986).

~-;S:Ii?l16

[;; 39 "'>,"'1.64.S'l.!',!"

3"I

." j"

1~2B

l;>4. 23.24

36~'15~

as 3sl37

aa

35133

f25. ;>S. 2S,26,2e: 311

"1>'1~,!'I",r,or,',l

"IJ1l~.".S4.s:f;;~

3slJ'1

29,28 33 U.'!stH 'II

asr an ae

'l!Il~.",".67.59 .~

33 2'1

13

'!Jr47,.S".57.4i:~

n3

"L"[" <st" "G, " ,M,

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

12~ 26.,;;.~~l?' _'!~''':2 Jet.!: 1:~:91.GlJ.G7~:7r45 2_9;:1

nK"l2:.:,;."." ,
.,

aet sat ast ast

"'.,r"\>,,
.52.S9.56'1:'~ ae

.GZI71,.(I1.S4

9. STRATEGIES FOR DECREASING PROBLEM SIZE AND


IMPROVING SOLUTION SPEED

.2S 28. 27 2 3 ~ 212: I

ganrnraI61+gammaI62~J:

Note that while the number of blocks being considered in this


problem is on the same scale as the data set of Table 3, the
solution time required is much greater: 220 CPU seconds and
25000K of memory compared to 0.67 CPU seconds and 956K
on a 200mHz Pentium Pro.
An alternative approach using a fixed cost formulation is
suggested by Winkler (1996) for the optimization of underground
coal panel scheduling. The binary variable delta is associated with
a setup cost. The objective is to minimize cost, one component
of which is the setup cost of mining a new panel. The objective
then tends towards a solution with a minimal number of panels.
The surface mining equivalent would be a solution which includes
only one cut.

. . . . . ,." . . ,."., ,.
11,!117~21.ZS.Z&

l~l 21. ZB

<~

3'0 37 H
393532 JJ

SI:S~.1!>~43

Hl43;12

3~

45t~ ~~ ;;~~~~
1e

1~ 11,'11 13 4i1 123

" ,,""

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

Downloaded by [Aston University] at 05:03 07 January 2014

# Data set for sterml.mod.


# First period blocks available for mining.
# Boland Banya dataset from Techbase.
param m := 35; param n := 40; param 0 = 13;
set DEVSET := ag-p1us ag_minus au-plus au_minus
waste-plus waste_minus ore-plus ore_minus;
param penalties:= agplus 0 ag_minus 1 au-plus 0 au_minus 10
waste-plus 1 waste_minus 0 ore-plus 0 ore_minus 10;
param demand_ag := 300000;
param demand_au := 16000;
param demand_waste := 100000;
param demand _ore := 20000;
param: INDEX: pitauoz pitagoz or wr netvalp it:>
25
14
1
0
0
0.0
6000.0 -9300.0
26
13
I
0
0
0.0
6000.0 -9300.0
26
14
1
0
0
0.0
6000.0 -9300.0
... data set continues ...
23
37
9
1816 25050 3262.53000.0259703.9
23
38
9
1709 24420 1305.04800.094707.6
o
0.0
6000.0 -9300.0
23
39
9
0
24
37
9
1863 24840 2610.03600.0213091.0
24
38
9
1755 24210 652.5 5400.044500.8
o
0.0
6000.0 -9300.0
24
39
9
0
o
0.0
6000.0 -9300.0;
25
38
9
0

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;

Appendix 1: AMPL data tile derived from Figure 2 blocks

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;

#block model dimensions

set PIT_ROW:= I..m;


set PIT COL:= l..n;
set PIT-LEV := 1..0; #block model row, column, level indices
set IND-EX within {PIT_ROW,PIT_COL,PIT_LEV};
#block index
set DEVSET;
#possible deviations
param pitauoz{INDEX} >= 0;
#oz au in block
param pitagoz{INDEX} >= 0;
#oz ag in block
param or{INDEX} >= 0;
#tons ore in block
param wr {INDEX} >= 0;
#tons waste in block
param netval-pit{INDEX};
#netvalue of block
param penalties{DEVSET);
#penalty weights
param demand_ag; param demand_au;
#silver & gold production required
param demand waste; param demand_ore;
#Waste and ore production required
var delta {INDEX} binary;
var devvar {DEVSET} >= 0;

# I, mine block, 0 otherwise


#goal deviations

Appendix 2: AMPL model tile set, parameter and variable


declarations for scheduling of the data set shown in Figure2

# The following two constraint sets require that blocks on the


# current bench be mined from the face inwards. Note that these
# must be modified as the pit bench configuration changes.
subject to prec_bot {(ij,k) in INDEX: (i+lj,k) in INDEX}:
delta[ij,k)- delta[i+lj,k) <= 0;
subject to precright {(ij,k) in INDEX: (ij+1,k) in INDEX):
delta[ij,k)- delta[ij+l,k) <= 0;
Appendix 2 (continued): AMPL model objective and constraint
declarations for scheduling of the data set shown in Figure2

S-ar putea să vă placă și