You are on page 1of 8

Quadratic Programming applications to block cave scheduling and

cave management
Tony Diering. Gemcom Software International Inc., Canada

Abstract
Linear Programming is commonly used in mine planning software packages for optimization of production
schedules of various kinds in open pit, underground and also block cave applications. This paper describes
several applications of Quadratic Programming to block cave schedules and daily draw order. Key
differences between Linear and Quadratic programming relevant to these applications are highlighted.
Applications presented show how to target a production schedule towards a given cave back surface, or
towards a given tonnage target or thirdly to target a given caving strategy based on draw point development
sequence. The daily draw order example shows how constraints may be applied to ensure that neighboring
draw tonnages are not too irregular. These applications have been successfully implemented in Gemcom
PCBC software and used for various real world situations.

Introduction

The main objective of this paper is quite simple. It aims to put in a good word for the use of Quadratic
Programming (QP) techniques instead of Linear Programming (LP) for application in block caving
production scheduling problems. The author of this paper is no expert in Operations Research techniques
(which is the broad discipline into which QP and LP techniques fall) and it is suspected that most readers of
this paper will also not be experts in this field. Therefore the paper is specifically written in a qualitative
manner avoiding complex mathematical explanations. The book Operations Research: A Practical
Introduction (Carter and Price, 2001) provides excellent background and generic examples of applications
of LP and QP as well as more in depth mathematical descriptions. Other examples of mining applications
are given by Rubio (2004) and Newman et al (2010).
It seems that LP applications are far more common and popular in the literature than QP applications. This
seems to be due to a few factors, namely that when formulations become large and heavily constrained, then
industry strength solvers such as CPLEX seem to be the preferred approach.

The quadratic programming formulation

The formal statement for a QP formulation is as follows (Nocedal et al 2006):


Minimize (with respect to x)

Subject to one or more constraints of the form:


(inequality constraint)
(equality constraint)
where
indicates the vector transpose of . The notation
means that every entry
of the vector
is less than or equal to the corresponding entry of the vector

If Q becomes zero, then the problem becomes a Linear Program.


In simple terms, both LP and QP formulations contain two parts:

Part 1 is the Objective function. This is what we are trying to maximize (or minimize). Usually this
would be linked to dollars or NPV or some similar measure of profit.

Part 2 is refers to the constraints. These are problematic factors which prevent you from making
even more profit. For example, if you can mine more high grade tons without having to mine low
grade tons, then you would make more money. But unfortunately in mining and specifically in
block cave mining, the geotechnical and geometric and production constraints all conspire to make
this quite difficult.

So, we are trying to find values of x which are allowed and which do not violate the constraints. This
defines what is called a solution space. The edges of this space are the constraints. A fundamental
property of an LP formulation is that the solution MUST be on a boundary of this space. It cannot be in the
interior. This is the fundamental limitation of an LP formulation which makes up the basis of this paper. If
we are looking for a solution which is a good average set of tons for draw points which results in a solution
which is middle of the road, then LP is not the way to go, since it will always seek the edges of the
solution space or an extreme solution. In block cave scheduling terms, this means that an LP formulation
will always seek to take the maximum tons from the highest value draw points and the least tons from the
lower valued draw points. If you are seeking a solution which is middle of the road and which will result
in a nice even draw type solution, then you have to apply progressively more complicated constraints to try
to steer the solution to where you want it to be. A QP formulation on the other hand can yield a solution
which is in the interior of the solution space. It is possible for this solution to be optimal, yet free of
constraint or only very lightly constrained.
In production scheduling, the most common entity which we are studying is the tons to be taken from each
draw point in a given period. Thus the x in the formulation is tons per draw point. We are seeking
tonnages to maximize some objective. The constraints prevent us from taking too many or too few tons from
draw points. Some common tonnage constraints in a block cave are as follows

Maximum tons per draw point per period

Maximum tons per tunnel per period

Maximum tons per sector (or other production unit) per period

Total production capacity of the mining system (or mill)

Geotechnical considerations also add a number of other constraints:

Minimum tons per draw point per period

Relationship of tons drawn from one draw point in relation to the tons from its neighbours. This is
important to allow even or smooth draw from a block cave.

Single- vs Multi- period formulations

Another important consideration is whether we are optimizing tons in a given period for the entire life of
mine. Considerable work has been done looking for global solutions to production scheduling problems and
this is a really useful goal and field of endeavour. However, in block caving, the nature of the problem can
be significantly complicated due to the fact that the block caving process is non-linear by nature. This
means that the end result depends on the path followed to get there. Or in tonnage terms, the tons which you
mine in later periods will depend on the tons which are mined in earlier periods. It is either not possible or at
best difficult to use a linear solver (LP) to solve a non-linear problem.
In an LP formulation for a block cave operation, the initial set up would require to set attributes for the
column of rock above each draw point and then use the attributes of this column to see how many tons to
extract from that column in each period. However, in a block cave, there is growing acceptance that material
does not move vertically downwards but instead there is considerable migration of material laterally between
draw points. This lateral migration takes place due to mechanisms such as rilling and toppling and even
slippage down geotechnical contacts. The amount of movement due to these mechanisms depends on the
amount of tons taken from the various draw points. It is considered that as much as 30% to 40% of material

mined from block (or panel) cave mines could be subjected to horizontal movements. This number cannot
easily be verified, but suggests that enough material may be moving around horizontally in a cave zone.
Thus, in summary, a multi-period formulation using LP (or even QP) formulations will find a global solution
to the wrong problem. A set of independent single period formulations will find multiple local solutions to
the right problem (or one which is closer to reality), but the local solutions to not guarantee the correct global
solution.
Neither approach is ideal or complete, so in reality, we need some of each approach to see what insights each
method can provide to the overall problem. This paper focuses on single period formulations.

Single period QP formulations

The formulation for a single period optimization using the QP approach and with draw point tonnages as the
unknowns can be shown as follows:
Min (ti t0)2
where ti is the target tonnage for draw point i and t0 is the objective tonnage to which we are aiming.
This can be expanded as:
Min (t2 2 ti . t0)
It is easy to see that this equation is in similar format to the standard QP formulation in the previous section.
The choice of the target tonnage value t0 will provide different QP solutions. Similarly, the addition of
constraints can also affect the results in interesting ways.
The next sections describe four different ways that this formulation can be used for practical scheduling or
block cave calibration purposes.

4.1 Follow a given surface


Planners often want a cave to follow a given shape or surface (Eg West to East at 45 degrees). Any surface
can readily be converted in heights above any draw point. The height above each draw point can, in turn,
readily be converted into an equivalent tonnage. For example, if we have draw point spacing of 15X15m,
then the draw point area is 225m2. For a density of 3.0t/m3, then each extra 1m of draw would equate to 775
tons.
It does not matter if the target height is much higher than the top of the draw point columns. The important
factor is the target shape. The QP formulation will result in a tonnage (or equivalent height) solution which
is parallel to the target surface. Another property of the quadratic part of the formulation is that it will try to
make all tonnages equi-distant from the objective tonnage value. Consider a simple example with three
points A,B and C and objective tonnages of 100 for each. Also add in a constraint that the sum of tons must
be 270. If each point has a value of 90, then the difference (ti t0)2 for each is 100 for a total of 300. By
contrast, if two of the points had a value of 100 and one draw point had a value of 70, then the sum of
differences squared would be 30x30 = 900 which is a much worse solution. Thus, the optimal solution in
this case is for each draw point to have a value of 90 putting each draw point the same distance from the
objective tonnage value.

4.2 Target the final tonnage limit


Another formulation can replace the objective tonnage t0 with the optimal tonnage for each draw point which
based on the metal or product pricing and draw point operating cost. This can result in a target tonnage for
each draw point which is the target tonnage to extract.
This approach is most suitable for a pure block cave approach in which the draw points are all developed
initially and the intent is to have all draw points close at the same time at the end of the life of the cave
subject, of course, to the other constraints which may be applied.

4.3 Mine older draw points faster than newer draw points
This approach is appropriate for a pure panel cave schedule. The intent is to mine older draw points faster
than newer draw points to move the cave from older areas into newer areas. In this case, we can compute a
target or objective tonnage for each draw point as follows:

Sort the draw points according to sequence.


Compute the target tons for all draw points and find the total tonnage required.
Scale in a linear manner the tonnages from the newest to oldest such that the target tonnages for the
newer draw points are least and the older draw points are most. The slope of this set of tonnages can
be adjusted to match the style of panel cave that we want. It can be flattened or steepened simply by
scaling these tonnages.

4.4 Adjust past tonnages to match observed grades


This is a somewhat experimental idea. An operating mine might record actual tonnages mined from each
draw point in each mining period. However, in some circumstances, the actual recording process can be
difficult resulting in uncertainties in the resulting grades which makes reconciliation to the mill grades
difficult. By setting up a formulation in which actual grades are used as the objective, we can then set
constraints on the total grade (G) where:
G 1 g i ti
and
G 2 g i ti
and
G 1 G G 2.
Where
G1 is a lower bound for the target grade in each period
G2 is an upper bound for the target grade in each period
gi is the grade for a given draw point in a give period.
This will try to adjust the past tonnages to match a set range of grades which could bracket the actual mill
grade for that period, but keeping the tonnages as close as possible to the actual tonnages which were
observed or recorded.

4.5 Adjust any schedule to improve the grade


This is a variation on the previous model. For any existing schedule, we can end up with a set of draw point
tonnages and a resulting grade forecast. We can use this approach to test to see if there is potential to
increase the grades in earlier years in a controlled manner. Of course, if we take out more metal in earlier
years, there would be less metal in later years, so the manner in which the grade constraints are set would be
critical. However, if we have a tonnage solution which represents smooth draw, then it should be possible
to adjust those tonnages within reason to end up with a reasonable draw which is still not violating draw
control principles, but which results in an improved grade for each period.
One might wonder that if we are trying to improve the grade or value of the schedule, then why not revert to
a simple LP optimizer in which the objective function is set to maximize the value. This is possible, but the
problem is that it is then very difficult to control the shape of the cave to produce a reasonable draw profile.
The approach described here would allow a gradual transition between a smooth draw situation to one which
results in better grades (earlier in the schedule), but with the advantage of being able to see and adjust value
against smooth draw.

4.6 Constraints
Solving the above problems would be relatively straight forward in the absence of constraints to the resulting
tonnages. However, as with all LP or QP formulations we need to implement the constraints. Some are prerequisite and others can be considered as modifying or adaptive type constraints. A third set of constraints
can be related to the grades of the draw points. The mandatory constraints are as follows:

Total tons in a period cannot exceed the production capacity of the mine. This is better set as an
equality constraint so that the sum of the target tons exactly equals the production capacity.
A maximum tonnage for each draw point based on the draw point maturity curve.
A minimum tonnage for each draw point. This can either be zero or some minimum tonnage
considered appropriate for draw control purposes.

The modifying constraints can include any of the following

Maximum tonnage from production tunnels. This would typically be based on the capacity of the
loader(s) assigned to that tunnel.
Maximum tonnage from an ore pass or crusher. This could be based on the ore pass capacity (which
could have an allowance for the time taken to treat oversize material) or a group of draw points all
reporting to a single crusher.
Maximum tonnage from an entire sector. An example of this can be during the transition from one
sector (or lift) to another.

The grade related constraints are as follows:

Resulting grade ( gi ti ) is between upper and lower bounds

If the above constraints are applied, then the overall problem size is easily manageable and not very large.
There are no constraints relating to the sequence of draw point development, interaction between
neighbouring draw points which could complicate the situation considerably. A more tricky constraint,
which has not yet been tested is one in which it is desired to allocate tons from each draw point to a given ore
pass or tipping point, but have, as a backup, an alternative location to which the draw point could tip
depending on availability. This is a scenario which is really best covered by a discreet simulation program,
not by QP or LP type solutions.

4.7 Daily draw order example


The problem of assigning a tonnage target to active draw points on a daily basis as in a daily draw order, is
quite different from the production scheduling examples above. However, much of the same logic can still
apply. One can set up a tonnage target in the absence of constraints based, for example, on the tonnage
remaining to be mined from each draw point for the remainder of the month. This target tonnage is set up as
the objective tonnage t0 above. Normal constraints from minimum and maximum and total (sum) tons can
be set up as usual.
Then, in addition, we can add in a set of constraints to prevent adverse draw from neighbouring draw points.
This has been done previously for and LP application called MILP (Guest, 2004). This set of constraints can
be set up, for example to say that the tonnage from a given draw point cannot exceed or be less than a preset
ratio of the average or sum of tonnages from neighbouring draw points. While not overly different from the
previous constraints, this particular set of constraints is quite expensive in terms of problem size. Whereas
we can get by with a relatively few equations for the previous ones, the draw point neighbour constraints
require two inequality constraints per active draw point. Also, there is considerably more administrative
effort.

Example

The QP method has been coded into the Gemcom PCBCTM software (Diering, 2010). It is built into the
production scheduler and can thus be used to model real mine-sized problems.
The example presented here is from a fictitious block cave model called Maxum. We are looking at a two
lift situation and each level is broken into four production units for which the production from each is
limited. We also have production constraints for each of the two lifts controlling the transition from Lift 1 to
Lift 2. Thus, each draw point contributes to towards two of a total of 9 constraints in addition to the
minimum and maximum tonnage constraints per draw point.
Figure 1 below shows the two lift layout with a total of NNN draw points on two lifts. The draw points are
mined in a V shaped sequence from East to West (Left to right). Target tonnage is 3Mt/y and the constraint
tonnages per period in this simulation are shown in Figure 2 below.

Figure 1

Draw plot. Normal (above) and with time discounting effect (below).

Figure 2

Table of controlling constraint tonnages.

In the above example, L1 and L2 refer to Lifts 1 and 2 and C1 to C4 could be constraints for draw points on
Lift 1 and D1, D2 and D3 are constraints for draw points on Lift 2. We can see that Lift 2 tonnages are
initially constrained to be a low tonnage from 2012 to 2016 and then 1Mt/y in 2017, 2Mt/y in 2018 and
3Mt/y thereafter. Tonnages from other sectors are 800,000t/y for C1 to C4 and 1Mt/y for draw points for D1
to D3. The detail of these values in this paper is not important. What is relevant is the ease with which
different constraints can be set up and entered into the system.
The different constraints are shown graphically below in Figure 3. The left image shows constraints C1 to
C4 (top) and D1 to D3 (bottom). The right image shows the L1 and L2 constraints for Lift 1 and Lift 2.

Figure 3

Table of controlling constraint tonnages.

In the current formulation, up to 5 sets of tonnage related constraints can be set up in addition to the min/max
draw point tonnage constraints. The example in figure 2 is using 2 such constraint sets.
In Figure 4 below left, we can clearly see the change in the height of draw between the 4 sectors in the upper
lift (1). This results in discontinuities between each sector which may be a requirement of mining in separate
panels or sectors. We can also see that the overall shape of the height of draw is sloping from back (East) to
front (west) in a reasonable manner. To the right side of Figure 4, we can see the effect of removing the
sector constraints which results in an overall smooth height of draw profile, but still sloping from back (East)
to front (West) as would be required for a panel cave.

Figure 4

Height of draw plots with and without sector constraints.

Figure 5 below shows the computed tonnage results from one of these simulations. The tonnage constraints
are met to within one ton which is quite sufficient from block caving type solutions.

Figure 5

Tonnage summary for a typical schedule by sector and by lift.

Concluding Remarks

This paper has shown that some useful production schedule results can be achieved by the introduction of QP
techniques into the schedule. Most LP formulations will set some form of dollar related value is the
objective function in order to maximize some form of profit function. In the QP formulations presented here,
the objective is directly or indirectly linked to an objective tonnage which is much more closely linked to the
shape of the cave or the way in which one might want to mine a block cave.
It is generally desirable to consider project value as something which should be maximized and geotechnical
limitations such as cave shape, even draw from adjacent draw points etc are constraints which prevent us
from mining to a greater profit. However, in this particular set of formulations, the shape of the cave is set
up as the objective function and an option to put further constraints on the resulting grades may be added
when appropriate.

Acknowledgements

The author wishes to thank Gemcom Software International for allowing the time to complete this paper and
do the underlying research and Freeport McMoRan Copper & Gold Inc for providing part funding for this
work.

References
1. Carter, M; Price, C. 2001. Operations Research : A practical approach. New York: CRC
Press. ISBN 0-8493-2256-1.
2. Diering, T. (2010). Block Cave production scheduling using PCBC. Proceedings SME
conference. Phoenix, USA.
3. Rubio E (2004) Block cave production planning using operation research tools, Proceedings
of Massmin 2004, Santiago, pp 141 - 149.
4. Nocedal, Jorge; Wright, Stephen J. (2006). Numerical Optimization (2nd ed.). Berlin, New
York: Springer-Verlag. p. 449. ISBN 978-0-387-30303-1
5. Newman, A.; Rubio, E; Weintraub, R; Eurek, K 2010. A Review of Operations Research in
Mine Planning. Interfaces Vol. 40, No. 3, MayJune 2010, pp. 222245
6. Guest, A. (2000) An application of Linear Programming for Block Cave Draw Control.
Proceedings MassMin 2000, Brisbane.

You might also like