• No results found

Optimization Modeling for Mining Engineers

N/A
N/A
Protected

Academic year: 2021

Share "Optimization Modeling for Mining Engineers"

Copied!
30
0
0

Loading.... (view fulltext now)

Full text

(1)

Slide 1

Optimization Modeling for Mining Engineers

Alexandra M. Newman

Division of Economics and Business Colorado School of Mines

Slide 2

Seminar Outline

• Linear Programming

• Integer Linear Programming

• Mixed Integer Linear Programming

• Network Models

• Nonlinear Programming

(2)

Slide 3

Linear Programming

Consider the following system:

(P ) min cx subject to Ax = b x ≥ 0

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.

Slide 4

Linear Programming in Mining

• Blend raw materials with certain characteristics into final products with specifications on the characteristics

• 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

(3)

Slide 5

Example 1: Linear Programming

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.

Slide 6

Example 1: Linear Programming

Table 1: Alloy properties

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

(4)

Slide 7

Solution 1a: Linear Programming

Let x

i

= proportion of alloy i used {i = 1,2,3,4,5}

minimize 22x

1

+ 20x

2

+ 25x

3

+ 24x

4

+ 27x

5

subject to : 60x

1

+ 25x

2

+ 45x

3

+ 20x

4

+ 50x

5

= 40 10x

1

+ 15x

2

+ 45x

3

+ 50x

4

+ 40x

5

= 35 30x

1

+ 60x

2

+ 10x

3

+ 30x

4

+ 10x

5

= 25 x

1

+ x

2

+ x

3

+ x

4

+ x

5

= 1 x

1

≥ 0, x

2

≥ 0, x

3

≥ 0, x

4

≥ 0, x

5

≥ 0

Slide 8

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.

• an underdetermined system, then there may be many

sets of values for x.

(5)

Slide 9

Linear Programming in Two Dimensions

• The intersection of the constraints Ax = b form a feasible region.

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

Slide 10

Linear Program with an Optimal Solution

x y

maximum

feasible region objective function realizations infeasible

(6)

Slide 11

Linear Program with Multiple Optimal Solutions

x y

Slide 12

Unbounded Linear Program

y

x

(7)

Slide 13

Infeasible Linear Program

x y

Slide 14

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)

• Interior Point (Barrier) Method: theoretical performance

is polynomial, and practical performance is good for

large-scale problems

(8)

Slide 15

Simplex Method

x y

Slide 16

Interior Point Method

x y

(9)

Slide 17

Solution 1b: Linear Programming

• Minimum cost: $23.46 – Alloy 1: 0.043 – Alloy 2: 0.283 – Alloy 3: 0.674

Slide 18

Integer Linear Programming

Consider the following system:

(P ) min cy subject to Ay = b 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.

(10)

Slide 19

Integer Linear Programming in Mining

• Delineate an ore body, determine an economic envelope

• Schedule “long-term” production, e.g., machine placements

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

constraints: open pit block sequencing, mining strata

Slide 20

Example 2: Integer Programming

W.R. Grace

a

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 company’s three products: pebble,

concentrate, and flotation feed (j = 1, 2, 3).

aBased on D. Klingman and N. Phillips (1988), “Integer Programming for Optimal Phosphate-Mining Strategies,” Journal of the Operational Re- search Society, 9, pp. 805-809.

(11)

Slide 21

Example 2: Integer Programming

The company can estimate from drill samples the quantity a

ij

of product j available in each stratum i, the fraction b

ij

of BPL (a measure of phosphate content) in the part of i suitable for j, and the corresponding fraction p

ij

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 b

j

and the average pollution fraction at most p

j

. Formulate an integer linear program model of this mining problem.

Slide 22

Example 2: Integer Programming

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

Stratum a

i1

a

i2

a

i3

b

i1

b

i2

b

i3

p

i1

p

i2

p

i3

1 4 2 3 .2 .1 .3 .4 .7 .5

2 1 0 2 .1 0 .2 .2 0 .4

3 0 1 4 0 .2 .4 0 .3 .6

4 2 5 0 .3 .7 0 .4 .8 0

5 3 2 5 .2 .3 .2 .4 .5 .4

Limits .25 .3 .27 .7 .9 .7

(12)

Slide 23

Solution 2a: Integer Programming

Let x

i

= 1 if we remove stratum i and 0 otherwise Let y

i

= 1 if we process stratum i and 0 otherwise

max

X

n i=1

X

3 j=1

a

ij

y

i

subject to x

i

≤ x

i−1

∀ i = 2, ..., n y

i

≤ x

i

∀ i = 1, ..., n X

n

i=1

b

ij

a

ij

y

i

≥ b

j

X

n i=1

a

ij

y

i

∀ j = 1, 2, 3 X

n

i=1

p

ij

a

ij

y

i

≤ p

j

X

n i=1

a

ij

y

i

∀ j = 1, 2, 3

Slide 24

Integer Linear Programming

x y

(13)

Slide 25

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.

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

Slide 26

Solution 2b: Integer Programming

• Maximum product output: 12

– Remove strata 1, 2, 3, and 4

– Process strata 3 and 4

(14)

Slide 27

Mixed Integer Linear Programming

Consider the following system:

(P ) min cx + dy subject to Ax + Ey = b 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.

Slide 28

Mixed Integer Linear Programming in Mining

• Scheduling production with sequence and tonnage decisions

• Supporting development decisions with production constraints

• Combined resolution production scheduling models

(15)

Slide 29

Example 3: Mixed Integer Linear Programming

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.

Slide 30

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.

Table 3: Ingot properties

Ingot Weight Cost per Ton ($) Carbon % Molybdenum %

1 5 35 5 3

2 3 33 4 3

3 4 31 5 4

4 6 28 3 4

(16)

Slide 31

Example 3: Mixed Integer Linear Programming

Table 4: Alloy properties

Alloy Cost per Ton ($) Carbon % Molybdenum %

1 500 8 6

2 450 7 7

3 400 6

Slide 32

Solution 3a: Mixed Integer Linear Programming

• s = amount of steel scrap purchased (tons)

• a

i

= amount of alloy i purchased (i = 1...3) (tons)

• y

i

= 1 if ingot i is purchased (i = 1...4), 0 otherwise

• x

i

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

(17)

Slide 33

Solution 3a: Mixed Integer Linear Programming

min 175y

1

+ 99y

2

+ 124y

3

+ 168y

4

+ 500a

1

+ 450a

2

+ 400a

3

+ 100s subject to a

1

+ a

2

+ a

3

+ s + x

1

+ x

2

+ x

3

+ x

4

= 25 0.08a

1

+ 0.07a

2

+ 0.06a

3

+ 0.03s + 0.05x

1

+ 0.04x

2

+ 0.05x

3

+ 0.03x

4

= 1.25 0.06a

1

+ 0.07a

2

+ 0.09s + 0.03x

1

+ 0.03x

2

+ 0.04x

3

+ 0.04x

4

= 1.25 x

1

≤ 5y

1

x

2

≤ 3y

2

x

3

≤ 4y

3

x

4

≤ 6y

4

s, a

i

, x

i

≥ 0 ∀ i; y

i

binary ∀ i

Slide 34

Mixed Integer Linear Programming Optimization Algorithm

• These are solved the same way as integer linear

programs are.

(18)

Slide 35

Solution 3b: Mixed Integer Linear Programming

• Minimum cost: $3,894 – Scrap: 4.28 tons – Alloy 1: 5.8 tons

– Amounts of ingots 1, 2, 3, and 4: 5, 3, 4, 2.92, respectively (all tons)

– All indicator variables (y

i

) are 1.

Slide 36

Network Models

Consider the following system:

(P ) min X

(i,j)∈A

c

ij

x

ij

subject to s

j

+ X

i

x

ij

= d

j

+ X

k

x

jk

∀j l

ij

≤ x

ij

≤ u

ij

∀(i, j) ∈ A

where A is the set of arcs, x

ij

is the flow on arc (i, j), c

ij

is

the per unit cost of sending flow on arc (i, j), s

j

is the supply

at node j , d

j

is the demand at node j, l

ij

is the lower bound

(19)

Slide 37

Network Models in Mining

• Assigning equipment to jobs

• Making equipment replacement decisions

• Block sequencing with special structure

• Determining the ultimate pit limits

Slide 38

Benefits of Network Models

• You get integrality for free

• You can solve them very quickly

• You can depict them graphically

(20)

Slide 39

A Network

2

3

1

4 2

7 8

9

(0,4) 5 (1,3)

4

5 1

demands supplies

costs

lower and upper bounds 3

Slide 40

Network Formulation

A = {(1, 3), (2, 3), (3, 4), (4, 5)}

x

ij

= amount of flow on arc (i, j)

min 7x

13

+ 8x

23

+ 9x

34

+ 5x

35

subject to 2 = x

13

3 = x

23

x

13

+ x

23

= x

34

+ x

35

1 ≤ x

13

≤ 3

0 ≤ x

23

≤ 4

(21)

Slide 41

Example 4: Network Models

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.

Slide 42

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

1 1 6 $2

2 1 7 $2

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 1 2 4 $1

1 2 0 5 $2

2 2 2 8 $4

(22)

Slide 43

Example 4: Network Models

Table 7: Capacity (tons) of each mill

Mill lower bound on capacity upper bound on capacity

1 0 5

2 1 9

Slide 44

Solution 4a: Network Models

2

2

2 1

5 4 (1, 6)

(1, 7)

(2, 4)

(0, 5)

(2, 8)

(0, 5)

(1, 9) S

1 1

T

Mine Mill

(23)

Slide 45

Solution 4a: Network Models

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.

Slide 46

Solving Network Models

• There are very fast (polynomial time) algorithms to solve network models.

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

(24)

Slide 47

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

– 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

Slide 48

Nonlinear Programming

• We will only consider nonlinear programs with continuous-valued decision variables.

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

(25)

Slide 49

Nonlinear Programming in Mining

• Fitting curves to data

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

• Incorporating geotechnical considerations into production scheduling or other planning models

Slide 50

Example 5: Nonlinear Programming

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.

(26)

Slide 51

Example 5: Nonlinear Programming

Table 8: Return and covariance matrix for precious metals Gold Silver Copper Dollar Return ($/oz.) 77.38 88.38 107.50 Covariance

Gold 1.09 -1.12 -3.15

Silver -1.12 1.52 4.38

Copper -3.15 4.38 12.95

Slide 52

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 Parameters:

• R

i

= average return of metal type i ($/oz) (see table)

• V

ij

= covariance between metal i and metal j (see table)

• h = minimum return required ($) ($90)

• l = lower bound on capacity (10%)

(27)

Slide 53

Solution 5a: Nonlinear Programming

Variables:

• P

i

= proportion of capacity devoted to mining metal type i

• ˆ P

i

= amount of precious metal i mined (oz.) Formulation:

min

X

3 i=1

X

3 j=1

V

ij

P

i

P

j

Slide 54

Solution 5a: Nonlinear Programming

Formulation:

s.t. l

i

≤ P

i

≤ u

i

∀ i X

3

i=1

P

i

= 1 X

3

i=1

R

i

P ˆ

i

≥ h P ˆ

1

P

1

= P ˆ

2

P

2

= P ˆ

3

P

3

P ˆ

i

≥ 0 ∀ i

(28)

Slide 55

Constrained Nonlinear Optimization Problem

min f (x) subject to h

i

(x) = b

i

∀i = 1...j g

i

(x) ≤ c

i

∀i = j + 1, ..., m

Slide 56

Difficulties with Nonlinear Optimization

• Functions may not be well behaved.

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

• A local optimal solution may not be a global optimal

solution.

(29)

Slide 57

Illustration of an Ill-behaved Nonlinear Function

Slide 58

Convex and Concave Functions

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

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

(30)

Slide 59

Illustration of Convex and Concave Functions

CONCAVE FUNCTION CONVEX FUNCTION

Slide 60

Solution 5b: Nonlinear Programming

• Least risk: .1403

P

1

, P

2

, P

3

: .6, .3, .1, respectively

P ˆ

1

, P ˆ

2

, P ˆ

3

: .645, .323, .108, respectively

References

Related documents

Considering the fact that normal Firefox, without modification, can transfer data at 600 Mbps on local HTTP communication and 80 Mbps on 300 ms RTT LFN, UsadaFox accelerates the

BIO-ReLife Technology lets you recover crashed BIOS data from a USB flash pen driver that stores new BIOS file. This practical BIOS utility can restore your system and recover from

A distributed simulation platform, which is called dPeerSim, is used for the large-scale simulation of DTR1 and DTR2 in dynamic network conditions.. dPeerSim is a collaborative

o dx: >10% abnormal plasma cells in bone marrow biopsy (most accurate); serum protein electrophoresis (M spike of IgG or IgA); plain radiographs (lytic lesions in bone);

(Acari: Eriophyidae) is described and illustrateci from fìeld bindweed, Convolvulus arvensis L The eriopbyid mite species that are known to occur on plants in

"Rhizomes tuberous or horizontal, thick and woody; roots thick and fleshy" [genus

Cen, A parametric study of prandtl number e ff ects on laminar natural convection heat transfer from a horizontal circular cylinder to its coaxial triangular enclosure, Numerical

Ideally suited for the automatic bending of small parts, the TruBend Cell 7000 is the compact solution for fabricators look- ing to increase their productivity.. The innovative