You are on page 1of 30

Optimization Modeling for Mining Engineers

Alexandra M. Newman
Division of Economics and Business
Colorado School of Mines

Slide 1

Seminar Outline
Linear Programming
Integer Linear Programming
Mixed Integer Linear Programming
Slide 2

Network Models
Nonlinear Programming

Linear Programming
Consider the following system:
(P ) min cx
subject to Ax = b
Slide 3

x0
where x is an n 1 vector of decision variables, and A, c,
and b are known data in the format of an m n matrix, a
1 n row vector, and an m 1 column vector, respectively.

Linear Programming in Mining

Blend raw materials with certain characteristics into final


products with specifications on the characteristics

Slide 4

Given a mining sequence, compute a production


schedule
Allocate equipment to a task for a given number of hours
Make tactical production decisions, e.g., regarding
sending product to mills

Example 1: Linear Programming

Slide 5

The Metalco Company desires to blend a new alloy of 40%


tin, 35% zinc, and 25% lead from several available alloys
having the properties given in Table 1. Formulate a linear
program whose solution would yield the proportions of these
alloys that should be blended to produce a new alloy at
minimum cost.

Example 1: Linear Programming

Table 1: Alloy properties

Slide 6

Alloy 1

Alloy 2

Alloy 3

Alloy 4

Alloy 5

%Tin

60

25

45

20

50

%Zinc

10

15

45

50

40

%Lead

30

60

10

30

10

Cost ($/lb.)

22

20

25

24

27

Solution 1a: Linear Programming


Let xi = proportion of alloy i used {i = 1,2,3,4,5}
minimize 22x1 + 20x2 + 25x3 + 24x4 + 27x5
subject to : 60x1 + 25x2 + 45x3 + 20x4 + 50x5 = 40
Slide 7

10x1 + 15x2 + 45x3 + 50x4 + 40x5 = 35


30x1 + 60x2 + 10x3 + 30x4 + 10x5 = 25
x1 + x2 + x3 + x4 + x5 = 1
x1 0, x2 0, x3 0, x4 0, x5 0

Solutions to the Linear Optimization Problem


If Ax = b is:
a uniquely determined system, then x is unique.
an over-determined system, then x may not exist.
Slide 8

an underdetermined system, then there may be many


sets of values for x.

Linear Programming in Two Dimensions

The intersection of the constraints Ax = b form a feasible


region.

Slide 9

One can move realizations of the objective parallel to


each other (up for a maximization problem, down for a
minimization problem) until one such realization contour
last touches the feasible region.
This extreme point is the optimal solution.

Linear Program with an Optimal Solution

infeasible
maximum

Slide 10
feasible region

objective function
realizations

Linear Program with Multiple Optimal Solutions

Slide 11

Unbounded Linear Program

Slide 12

Infeasible Linear Program

Slide 13

Two Linear Optimization Algorithms

Simplex Method: theoretical performance is exponential,


but practical performance is good (only check extreme
points, and usually not all of them)
Slide 14

Interior Point (Barrier) Method: theoretical performance


is polynomial, and practical performance is good for
large-scale problems

Simplex Method

Slide 15

Interior Point Method

Slide 16

Solution 1b: Linear Programming

Minimum cost: $23.46


Alloy 1: 0.043
Alloy 2: 0.283
Slide 17

Alloy 3: 0.674

Integer Linear Programming


Consider the following system:
(P ) min cy
subject to Ay = b
Slide 18

y 0 and integer (and binary)


where y is an n 1 vector of decision variables, and A, c, and
b are known data in the format of an m n matrix, a 1 n
row vector, and an m 1 column vector, respectively.

Integer Linear Programming in Mining

Delineate an ore body, determine an economic envelope


Schedule long-term production, e.g., machine
placements
Slide 19

Make decisions with logical, e.g., precedence,


constraints: open pit block sequencing, mining strata

Example 2: Integer Programming

Slide 20

W.R. Gracea strip mines phosphates in strata numbered from


i = 1 at the top to i = n at the deepest level. Each stratum
must be removed before the next can be mined, but only
some of the layers contain enough suitable minerals to justify
processing into the companys three products: pebble,
concentrate, and flotation feed (j = 1, 2, 3).
a

Based on D. Klingman and N. Phillips (1988), Integer Programming


for Optimal Phosphate-Mining Strategies, Journal of the Operational Research Society, 9, pp. 805-809.

10

Example 2: Integer Programming

Slide 21

The company can estimate from drill samples the quantity aij
of product j available in each stratum i, the fraction bij of
BPL (a measure of phosphate content) in the part of i
suitable for j, and the corresponding fraction pij of pollutant
chemicals. The company wishes to choose a mining plan
that maximizes the product output while keeping the average
fraction BPL of material processed for each product j at least
bj and the average pollution fraction at most pj . Formulate an
integer linear program model of this mining problem.

Example 2: Integer Programming


Table 2: Quantity, BPL, and pollutant for each product and
stratum
Stratum
Slide 22

ai1

ai2

ai3

bi1

bi2

bi3

pi1

pi2

pi3

.2

.1

.3

.4

.7

.5

.1

.2

.2

.4

.2

.4

.3

.6

.3

.7

.4

.8

.2

.3

.2

.4

.5

.4

.25

.3

.27

.7

.9

.7

Limits

11

Solution 2a: Integer Programming


Let xi = 1 if we remove stratum i and 0 otherwise
Let yi = 1 if we process stratum i and 0 otherwise
max

n X
3
X

aij yi

i=1 j=1

Slide 23

subject to
n
X
i=1
n
X

xi xi1 i = 2, ..., n

yi xi i = 1, ..., n
n
X
aij yi j = 1, 2, 3
bij aij yi bj
pij aij yi pj

i=1

i=1
n
X

aij yi j = 1, 2, 3

i=1

Integer Linear Programming

Slide 24

12

Integer Programming Optimization Algorithm


Now, there are a finite, rather than an infinite, number of
feasible solutions.
So, we could enumerate all the feasible solutions, test
them in the objective function, and choose the best one.
Slide 25

This would take a long time.


In fact, even though the conventional algorithm uses
smarter techniques to reduce enumeration, the
algorithm still has theoretical exponential complexity.
And, in practice, integer programs require far more
solution time than linear programs of commensurate size.

Solution 2b: Integer Programming

Maximum product output: 12


Remove strata 1, 2, 3, and 4
Process strata 3 and 4
Slide 26

13

Mixed Integer Linear Programming


Consider the following system:
(P ) min cx + dy
subject to Ax + Ey = b
Slide 27

x 0, y 0 and integer (and binary)


where x is an n 1 vector of decision variables, y is an n 1
vector of decision variables, and A, E, c, d and b are known
data in the format of an m n matrix, an m n matrix, a
1 n row vector, a 1 n row vector, and an m 1 column
vector, respectively.

Mixed Integer Linear Programming in Mining

Scheduling production with sequence and tonnage


decisions

Slide 28

Supporting development decisions with production


constraints
Combined resolution production scheduling models

14

Example 3: Mixed Integer Linear Programming

Slide 29

A steel mill has received an order for 25 tons of steel. The


steel must be 5% carbon and 5% molybdenum by weight.
The steel is manufactured by combining three types of metal:
steel ingots, scrap steel, and alloys. Four steel ingots are
available for purchase. The weight (in tons), cost per ton,
carbon, and molybdenum content of each ingot are given in
Table 3. Three types of alloys can be purchased. The cost
per ton and chemical makeup of each alloy are given in Table
4. Steel scrap can be purchased at a cost of $100 per ton.

Example 3: Mixed Integer Linear Programming


Steel scrap contains 3% carbon and 9% molybdenum.
Formulate a mixed integer programming model whose
solution will tell the steel mill how to minimize the cost of
filling their order.
Slide 30
Table 3: Ingot properties
Ingot

Weight

Cost per Ton ($)

Carbon %

Molybdenum %

35

33

31

28

15

Example 3: Mixed Integer Linear Programming

Table 4: Alloy properties


Alloy

Cost per Ton ($)

Carbon %

Molybdenum %

500

450

400

Slide 31

Solution 3a: Mixed Integer Linear Programming

s = amount of steel scrap purchased (tons)


ai = amount of alloy i purchased (i = 1...3) (tons)
yi = 1 if ingot i is purchased (i = 1...4), 0 otherwise
Slide 32

xi = amount of ingot i used (i = 1...4) (tons)

16

Solution 3a: Mixed Integer Linear Programming

min 175y1 + 99y2 + 124y3 + 168y4 + 500a1 + 450a2 + 400a3 + 100s


subject to a1 + a2 + a3 + s + x1 + x2 + x3 + x4 = 25
0.08a1 + 0.07a2 + 0.06a3 + 0.03s + 0.05x1 + 0.04x2 + 0.05x3 + 0.03x4 = 1.25
Slide 33

0.06a1 + 0.07a2 + 0.09s + 0.03x1 + 0.03x2 + 0.04x3 + 0.04x4 = 1.25


x1 5y1
x2 3y2
x3 4y3
x4 6y4
s, ai , xi 0 i; yi binary i

Mixed Integer Linear Programming Optimization Algorithm

These are solved the same way as integer linear


programs are.

Slide 34

17

Solution 3b: Mixed Integer Linear Programming

Minimum cost: $3,894


Scrap: 4.28 tons
Alloy 1: 5.8 tons
Slide 35

Amounts of ingots 1, 2, 3, and 4: 5, 3, 4, 2.92,


respectively (all tons)
All indicator variables (yi ) are 1.

Network Models
Consider the following system:
X

(P ) min

Slide 36

subject to sj +

cij xij

(i,j)A

xij = dj +

xjk j

lij xij uij (i, j) A


where A is the set of arcs, xij is the flow on arc (i, j), cij is
the per unit cost of sending flow on arc (i, j), sj is the supply
at node j, dj is the demand at node j, lij is the lower bound
on arc (i, j), and uij is the upper bound on arc (i, j).

18

Network Models in Mining

Assigning equipment to jobs


Making equipment replacement decisions
Block sequencing with special structure
Slide 37

Determining the ultimate pit limits

Benefits of Network Models


You get integrality for free
You can solve them very quickly
You can depict them graphically
Slide 38

19

A Network

1
Slide 39

costs

(1,3) 7

supplies
3

(0,4)

demands

4
5

lower and upper bounds

Network Formulation
A = {(1, 3), (2, 3), (3, 4), (4, 5)}
xij = amount of flow on arc (i, j)

Slide 40

min 7x13 + 8x23 + 9x34 + 5x35


subject to 2 = x13
3 = x23
x13 + x23 = x34 + x35
1 x13 3
0 x23 4
x34 , x35 0

20

Example 4: Network Models

Slide 41

The district manager of the Whiskey Coal Mining Company


wants to maximize his profits from his district operations. The
district has two mines and two mills in operation. Products
from Mine #1 are shipped to Mills #1 and/or #2; however,
Mine #2 ships coal only to Mill #2. Production and
transportation schemes, capacities, and costs are given in
Tables 5-7 below. Mill #1 yields $4 profit per ton mined, and
Mill #2 yields $5 profit per ton mined. Please draw a
corresponding minimum cost flow graph whose solution
would maximize profits. Label all supplies, demands, costs,
and lower and upper bounds on your directed network, as
applicable. Explain your answer.

Example 4: Network Models

Table 5: Capacity (tons) of and cost of mining at each mine


Mine

lower bound on capacity

upper bound on capacity

mining cost per ton

$2

$2

Slide 42
Table 6: Capacity (tons) of and cost of transporting coal from
mine to mill
Mine

Mill

lower bound on capacity

upper bound on capacity

transportation cost per ton

$1

$2

$4

21

Example 4: Network Models

Table 7: Capacity (tons) of each mill


Mill

lower bound on capacity

upper bound on capacity

Slide 43

Solution 4a: Network Models


Mine
1

Mill
1
(2, 4)

1
4

2
Slide 44

(0, 5)

(1, 6)
2 (0, 5)

(1, 7)
2

(1, 9)
5
2

(2, 8)
4

22

Solution 4a: Network Models

Slide 45

Costs of extraction at each mine, and transporting the ore


from the mines to the mills are given on the arcs from the
source to the mines, and from the mines to the mills,
respectively. Profits from each mill are given as negative
costs on the arcs terminating at the sink. Lower and upper
bounds on capacity at the mines, and between the mines and
the mills are given on the arcs from the source to the mines,
and from the mines to the mills, respectively. Capacities at
the mills are given on the arcs terminating at the sink.
An optimal solution to this minimum cost flow problem will
yield the optimal distribution plan from the mines through the
mills.

Solving Network Models

There are very fast (polynomial time) algorithms to solve


network models.

Slide 46

Performance gains (over conventional linear


programming solvers) are significant for large models.
If the model is small or fast solutions are not important,
use a linear programming solver to solve a network
model.

23

Solution 4b: Network Models


Minimum cost: $4
Mine 1: Extract 6 tons of coal and send 2 tons to mill
1 and 4 tons to mill 2
Slide 47

Mine 2: Extract 2 tons of coal and send both to mill 2


Mill 1: Process and sell 2 tons of coal
Mill 2: Process and sell 6 tons of coal

Nonlinear Programming

We will only consider nonlinear programs with


continuous-valued decision variables.

Slide 48

Generally, nonlinear programming is divided into


constrained and unconstrained nonlinear models.
Why did we not address unconstrained linear
programming?
You have seen many unconstrained nonlinear
optimization problems before.

24

Nonlinear Programming in Mining

Fitting curves to data


Minimizing quadratic deviation of production output from
target levels (in the short-, medium-, or long-terms)
Slide 49

Incorporating geotechnical considerations into


production scheduling or other planning models

Example 5: Nonlinear Programming

Slide 50

A mine manager wants to allocate between 10% and 60% of


his available mining capacity to mining each of the precious
metals gold, silver, and copper. With market prices varying
wildly from year to year, he has done some research on past
performance to guide his decisions. Table 8 shows the
average return for each precious metal ($/oz.) and the
covariances among the categories that he has computed.
Formulate a constrained nonlinear program whose solution
would tell the mine manager the least risk plan (using only
covariance terms as a measure of risk) that will average a
return of at least $90.

25

Example 5: Nonlinear Programming

Table 8: Return and covariance matrix for precious metals


Gold

Silver

Copper

77.38

88.38

107.50

Gold

1.09

-1.12

-3.15

Silver

-1.12

1.52

4.38

Copper

-3.15

4.38

12.95

Dollar Return ($/oz.)


Slide 51

Covariance

Solution 5a: Nonlinear Programming


Indices:
i = type of metal in first category, i = 1, 2, 3
j = type of metal in second category, j = 1, 2, 3
Slide 52

Parameters:
Ri = average return of metal type i ($/oz) (see table)
Vij = covariance between metal i and metal j (see table)
h = minimum return required ($) ($90)
l = lower bound on capacity (10%)
u = upper bound on capacity (60%)

26

Solution 5a: Nonlinear Programming


Variables:
Pi = proportion of capacity devoted to mining metal type i
Pi = amount of precious metal i mined (oz.)
Slide 53

Formulation:
min

3 X
3
X

Vij Pi Pj

i=1 j=1

Solution 5a: Nonlinear Programming


Formulation:
s.t.
Slide 54

li Pi ui i
3
X
Pi = 1
i=1
3
X

Ri Pi h

i=1

P2
P3
P1
=
=
P1
P2
P3
Pi 0 i

27

Constrained Nonlinear Optimization Problem

min f (x)
subject to hi (x) = bi i = 1...j
gi (x) ci i = j + 1, ..., m
Slide 55

Difficulties with Nonlinear Optimization

Functions may not be well behaved.


Specifically, f may not be convex (or concave).
Slide 56

A local optimal solution may not be a global optimal


solution.

28

Illustration of an Ill-behaved Nonlinear Function

Slide 57

Convex and Concave Functions


Certain functional forms for f will ensure that a local
optimal solution is globally optimal.

Slide 58

Specifically, if f is convex and the sense of the objective


is minimize, then a local optimal solution will be globally
optimal.
And if f is concave and the sense of the objective is
maximize, then a local optimal solution will be globally
optimal.

29

Illustration of Convex and Concave Functions

Slide 59

CONVEX FUNCTION

CONCAVE FUNCTION

Solution 5b: Nonlinear Programming

Least risk: .1403


P1 , P2 , P3 : .6, .3, .1, respectively
P1 , P2 , P3 : .645, .323, .108, respectively
Slide 60

30

You might also like