Optimization Modeling for Mining Engineers



Similar documents
Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

Discrete Optimization

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Linear Programming. Solving LP Models Using MS Excel, 18

Nonlinear Programming Methods.S2 Quadratic Programming

Minimizing costs for transport buyers using integer programming and column generation. Eser Esirgen

constraint. Let us penalize ourselves for making the constraint too big. We end up with a

24. The Branch and Bound Method

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

Introduction to Linear Programming (LP) Mathematical Programming (MP) Concept

Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc.

Linear Programming. March 14, 2014

Lecture 2: August 29. Linear Programming (part I)

3. Evaluate the objective function at each vertex. Put the vertices into a table: Vertex P=3x+2y (0, 0) 0 min (0, 5) 10 (15, 0) 45 (12, 2) 40 Max

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

4.6 Linear Programming duality

5.1 Bipartite Matching

Simplex method summary

LECTURE: INTRO TO LINEAR PROGRAMMING AND THE SIMPLEX METHOD, KEVIN ROSS MARCH 31, 2005

1 Solving LPs: The Simplex Algorithm of George Dantzig

1 Introduction. Linear Programming. Questions. A general optimization problem is of the form: choose x to. max f(x) subject to x S. where.

A new short- and medium-term production scheduling tool MineSight Schedule Optimizer (MSSO)

Duality in General Programs. Ryan Tibshirani Convex Optimization /36-725

IEOR 4404 Homework #2 Intro OR: Deterministic Models February 14, 2011 Prof. Jay Sethuraman Page 1 of 5. Homework #2

Can linear programs solve NP-hard problems?

Optimization in R n Introduction

Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions.

Batch Production Scheduling in the Process Industries. By Prashanthi Ravi

Linear Programming Supplement E

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

Chapter 5. Linear Inequalities and Linear Programming. Linear Programming in Two Dimensions: A Geometric Approach

1 Determinants and the Solvability of Linear Systems

Linear Programming Notes V Problem Transformations

CHAPTER 9. Integer Programming

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

Optimal Scheduling for Dependent Details Processing Using MS Excel Solver

Discuss the size of the instance for the minimum spanning tree problem.

International Doctoral School Algorithmic Decision Theory: MCDA and MOO

What is Linear Programming?

Mathematical finance and linear programming (optimization)

Name: Section Registered In:

Study Guide 2 Solutions MATH 111

Module1. x y 800.

Solutions Of Some Non-Linear Programming Problems BIJAN KUMAR PATEL. Master of Science in Mathematics. Prof. ANIL KUMAR

Application. Outline. 3-1 Polynomial Functions 3-2 Finding Rational Zeros of. Polynomial. 3-3 Approximating Real Zeros of.

Nonlinear Optimization: Algorithms 3: Interior-point methods

Chapter 11 Monte Carlo Simulation

2.3 Convex Constrained Optimization Problems

Two-Stage Stochastic Linear Programs

Question 2: How do you solve a linear programming problem with a graph?

Solving Quadratic Equations

Optimization Theory for Large Systems

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Optimization Methods in Finance

Introduction to Support Vector Machines. Colin Campbell, Bristol University

9.4 THE SIMPLEX METHOD: MINIMIZATION

Basic Components of an LP:

Special Situations in the Simplex Algorithm

Operation Research. Module 1. Module 2. Unit 1. Unit 2. Unit 3. Unit 1

Proximal mapping via network optimization

Linear Programming. Before studying this supplement you should know or, if necessary, review

1 Review of Least Squares Solutions to Overdetermined Systems

A New Method for Estimating Maximum Power Transfer and Voltage Stability Margins to Mitigate the Risk of Voltage Collapse

1 Portfolio Selection

Review of Fundamental Mathematics

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach

Algebra Unpacked Content For the new Common Core standards that will be effective in all North Carolina schools in the school year.

Approximation Algorithms

Advanced Lecture on Mathematical Science and Information Science I. Optimization in Finance

Airport Planning and Design. Excel Solver

Chapter 2: Introduction to Linear Programming

Equilibrium computation: Part 1

Dynamic programming formulation

A Labeling Algorithm for the Maximum-Flow Network Problem

Using EXCEL Solver October, 2000

Chapter 13: Binary and Mixed-Integer Programming

Binary Image Reconstruction

Linear Programming. April 12, 2005

Linear Programming I

Lecture 11: 0-1 Quadratic Program and Lower Bounds

Definition and Properties of the Production Function: Lecture

Chapter 4. Duality. 4.1 A Graphical Example

CHAPTER 11: BASIC LINEAR PROGRAMMING CONCEPTS

Big Data Analytics CSCI 4030

Convex Programming Tools for Disjunctive Programs

Understanding the Impact of Weights Constraints in Portfolio Theory

Lecture 2. Marginal Functions, Average Functions, Elasticity, the Marginal Principle, and Constrained Optimization

Compact Representations and Approximations for Compuation in Games

THE SCHEDULING OF MAINTENANCE SERVICE

The Graphical Method: An Example

OPRE 6201 : 2. Simplex Method

DATA ANALYSIS II. Matrix Algorithms

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

How the European day-ahead electricity market works

This unit will lay the groundwork for later units where the students will extend this knowledge to quadratic and exponential functions.

PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 4: LINEAR MODELS FOR CLASSIFICATION

Sensitivity Report in Excel

Several Views of Support Vector Machines

LINEAR PROGRAMMING WITH THE EXCEL SOLVER

Transportation Polytopes: a Twenty year Update

Transcription:

Optimization Modeling for Mining Engineers Alexandra M. Newman Division of Economics and Business Slide 1 Colorado School of Mines Seminar Outline Linear Programming Integer Linear Programming Slide 2 Mixed Integer Linear Programming Network Models Nonlinear Programming 1

Linear Programming Consider the following system: (P) min cx Slide 3 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. 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 2

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 Alloy 1 Alloy 2 Alloy 3 Alloy 4 Alloy 5 Slide 6 %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 3

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 Slide 7 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 Solutions to the Linear Optimization Problem If Ax = b is: a uniquely determined system, then x is unique. Slide 8 an over-determined system, then x may not exist. an underdetermined system, then there may be many sets of values for x. 4

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 y infeasible maximum Slide 10 feasible region objective function realizations x 5

Linear Program with Multiple Optimal Solutions y Slide 11 x Unbounded Linear Program y Slide 12 x 6

Infeasible Linear Program y Slide 13 x 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 7

Simplex Method y Slide 15 x Interior Point Method y Slide 16 x 8

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 Slide 18 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. 9

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. 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). 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 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. 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 Slide 22 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 11

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 Slide 23 n 3 max a ij y i i=1 j=1 subject to x i x i 1 i = 2,...,n y i x i i = 1,...,n n n b ij a ij y i b j a ij y i j = 1,2,3 i=1 n p ij a ij y i p j i=1 i=1 i=1 n a ij y i j = 1,2,3 Integer Linear Programming y Slide 24 x 12

Integer Programming Optimization Algorithm Now, there are a finite, rather than an infinite, number of feasible solutions. Slide 25 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. 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 Slide 27 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. 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 Slide 30 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 15

Example 3: Mixed Integer Linear Programming Table 4: Alloy properties Slide 31 Alloy Cost per Ton ($) Carbon % Molybdenum % 1 500 8 6 2 450 7 7 3 400 6 Solution 3a: Mixed Integer Linear Programming s = amount of steel scrap purchased (tons) a i = amount of alloy i purchased (i = 1...3) (tons) Slide 32 y i = 1 if ingot i is purchased (i = 1...4), 0 otherwise x i = amount of ingot i used (i = 1...4) (tons) 16

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 Slide 33 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 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 Slide 35 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. Network Models Slide 36 Consider the following system: (P) min c ij x ij (i,j) A subject to s j + x ij = d j + x jk j i k 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 on arc (i,j), and u ij is the upper bound on arc (i,j). 18

Network Models in Mining Assigning equipment to jobs Making equipment replacement decisions Slide 37 Block sequencing with special structure Determining the ultimate pit limits Benefits of Network Models You get integrality for free You can solve them very quickly Slide 38 You can depict them graphically 19

A Network Slide 39 supplies 2 3 1 2 (1,3) (0,4) 7 8 costs 3 9 5 4 5 1 4 demands lower and upper bounds Network Formulation A = {(1,3), (2,3), (3,4), (4,5)} x ij = amount of flow on arc (i,j) Slide 40 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 x 34, x 35 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 1 1 6 $2 2 1 7 $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 1 2 4 $1 1 2 0 5 $2 2 2 2 8 $4 21

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 43 Solution 4a: Network Models Mine Mill Slide 44 2 (1, 6) 1 1 (2, 4) 1 (0, 5) 4 S 2 (0, 5) T (1, 7) 2 2 (2, 8) 4 2 (1, 9) 5 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 Slide 51 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 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: 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%) u = upper bound on capacity (60%) 26

Solution 5a: Nonlinear Programming Variables: P i = proportion of capacity devoted to mining metal type i Slide 53 ˆP i = amount of precious metal i mined (oz.) Formulation: min 3 3 V ij P i P j i=1 j=1 Solution 5a: Nonlinear Programming Formulation: Slide 54 s.t. l i P i u i i 3 P i = 1 i=1 3 R i ˆP i h i=1 ˆP 1 = ˆP 2 = ˆP 3 P 1 P 2 P 3 ˆP i 0 i 27

Constrained Nonlinear Optimization Problem min f(x) subject to h i (x) = b i i = 1...j Slide 55 g i (x) c i i = j + 1,...,m 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 P 1, P 2, P 3 :.6,.3,.1, respectively ˆP 1, ˆP 2, ˆP 3 :.645,.323,.108, respectively Slide 60 30