Integer Programming (IP)

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

Linear Programming Notes V Problem Transformations

Discrete Optimization

Dantzig-Wolfe bound and Dantzig-Wolfe cookbook

Chapter 13: Binary and Mixed-Integer Programming

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

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

Basic Components of an LP:

Integer Programming Formulation

Optimization with Big Data: Network Flows

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

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Integer Programming. subject to: (i = 1, 2,..., m),

Mathematical finance and linear programming (optimization)

Chapter 3 INTEGER PROGRAMMING 3.1 INTRODUCTION. Robert Bosch. Michael Trick

Special cases in Transportation Problems

NP-Completeness and Cook s Theorem

Linear Programming Sensitivity Analysis

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

Sensitivity Analysis 3.1 AN EXAMPLE FOR ANALYSIS

Optimization Modeling for Mining Engineers

Chapter 2: Introduction to Linear Programming

Optimal Scheduling for Dependent Details Processing Using MS Excel Solver

Airport Planning and Design. Excel Solver

Resource Allocation Modeling Techniques Applied to Air Force Crew Scheduling Problem

Chapter 11 Monte Carlo Simulation

Multiproduct Batch Plant Scheduling

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

An Improved Dynamic Programming Decomposition Approach for Network Revenue Management

Linear Programming. March 14, 2014

Role of Stochastic Optimization in Revenue Management. Huseyin Topaloglu School of Operations Research and Information Engineering Cornell University

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

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

Linear Programming. Solving LP Models Using MS Excel, 18

The Binomial Distribution

Network optimization is a special type of linear programming model. Network models have three

An Introduction to Linear Programming

Full and Complete Binary Trees

Branch and Cut for TSP

Linear Programming Supplement E

3.1 Solving Systems Using Tables and Graphs

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

Proximal mapping via network optimization

Scheduling Employees in Quebec s Liquor Stores with Integer Programming

Transportation Planning by SBIDS Optimal Assignment of Carriers to Lanes

Chapter 3: Section 3-3 Solutions of Linear Programming Problems

MODELS AND ALGORITHMS FOR WORKFORCE ALLOCATION AND UTILIZATION

Unit 1. Today I am going to discuss about Transportation problem. First question that comes in our mind is what is a transportation problem?

Cardinality. The set of all finite strings over the alphabet of lowercase letters is countable. The set of real numbers R is an uncountable set.

Strategic planning in LTL logistics increasing the capacity utilization of trucks

Lecture 11: 0-1 Quadratic Program and Lower Bounds

Locating and sizing bank-branches by opening, closing or maintaining facilities

Math 120 Final Exam Practice Problems, Form: A

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

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

24. The Branch and Bound Method

Row Echelon Form and Reduced Row Echelon Form

Unit 26 Estimation with Confidence Intervals

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012

Linear Programming in Matrix Form

Chapter 2 Solving Linear Programs

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

SEEM 2440A/B Engineering Economics First term, Midterm Examination

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

Vector and Matrix Norms

A Reference Point Method to Triple-Objective Assignment of Supporting Services in a Healthcare Institution. Bartosz Sawik

Chapter 10. Consumer Choice and Behavioral Economics

Approximation Algorithms

5.1 Bipartite Matching

Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints

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

A Continuous-Time Formulation for Scheduling Multi- Stage Multi-product Batch Plants with Non-identical Parallel Units

Ron Shaham. Expert Witness in Islamic Courts : Medicine and Crafts in the Service of Law. : University of Chicago Press,. p 38

. Perspectives on the Economics of Aging. : University of Chicago Press,. p 3 Copyright University of

May not be reproduced in any form without permission from the publisher, except fair uses permitted under U.S. or applicable copyright law.

Partial Fractions. (x 1)(x 2 + 1)

Chapter 25: Exchange in Insurance Markets

Online Adwords Allocation

Multi-layer MPLS Network Design: the Impact of Statistical Multiplexing

Using CPLEX. =5 has objective value 150.

Linear Programming Notes VII Sensitivity Analysis

Solving Linear Programs

1 Solving LPs: The Simplex Algorithm of George Dantzig

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Motivated by a problem faced by a large manufacturer of a consumer product, we

Zeros of a Polynomial Function

Special Situations in the Simplex Algorithm

1 Review of Newton Polynomials

A new Branch-and-Price Algorithm for the Traveling Tournament Problem (TTP) Column Generation 2008, Aussois, France

Application of linear programming methods to determine the best location of concrete dispatch plants

An Implementation of a Constraint Branching Algorithm for Optimally Solving Airline Crew Pairing Problems

A MODEL TO SOLVE EN ROUTE AIR TRAFFIC FLOW MANAGEMENT PROBLEM:

Lecture 10 Scheduling 1

9.2 Summation Notation

4.6 Linear Programming duality

Unit 1 Equations, Inequalities, Functions

Math 461 Fall 2006 Test 2 Solutions

A Column Generation Model for Truck Routing in the Chilean Forest Industry

EdExcel Decision Mathematics 1

Section 1.3 P 1 = 1 2. = P n = 1 P 3 = Continuing in this fashion, it should seem reasonable that, for any n = 1, 2, 3,..., =

Transcription:

Integer Programming (IP) Integer programming or integer linear programming, deals with models that are the same as linear programming with the one additional restriction that the variables must have integer values. If only some of the variables are required to have integer values, this is called a mixed integer programming (MIP) problem. When all the variables are binary variables,thisisabinary integer programming (BIP) problem. Rounding the numbers in the optimal solution may not work: Example 1. Maximize Z = x 1 +5x Subject to x 1 +10x 0 x 1 x 1,x 0 x 1,x are integers 5 4 3 (, 1. 8) 1 x 1 + 10x = 0 0-1 5 10 15 0 Z = x 1 + 5x = 11 The optimal solution of the LP will be x 1 =and x =1.8 that gives z =11. Rounding up would give us x 1 =and x =1with z =7while the optimal solution of the IP is at x 1 =0, x =that gives z =10. Example. Maximize Z = x Subject to x 1 + x 0.5 x 1 + x 3.5 x 1,x 0 x 1,x are integers 1

4 3 x 1 + x = 3. 5 x 1 + x = 0. 5 (1. 5, ) 1-1 0 1 3 4 The optimal solution of the LP is x 1 =1.5, x =. If we round off this solution (either up or down), the points x 1 =1, x =or x 1 =, x =are out of the feasible region. Even though the integer requirement makes IP problems harder to solve, it also makes IP a better model for a lot problems. Not only for the problems that requires the variables to be integers by its nature, but also for some decision problems that can be modelled by BIP. Problems involve mutually exclusive alternatives Or problems in that we may have to make contingent decisions, that is, one decision may rely on the outcome of another decision. Example 3. Prototype example on page 539. A new factory either in LA or SF, or even both. Also possible a new warehouse in a city with a new factory. The goal is to use the available capital (at most 10 million) to maximize the total net present value. Four decisions: 1. Build factory in LA?. Build factory in SF? 3. Build warehouse in LA? 4. Build Warehouse in SF? ½ 1 if the decision is yes; Four decision variables: x j = (j =1,, 3, 4). 0 if the decision is no. Since at most one warehouse will be built, decision 3 and 4 are mutually exclusive. This can be modelled by a constraint x 3 + x 4 1 Also, the decision whether to build a warehouse in a city is contingent on whether there is a new factory in that city. This can be modelled by x 3 x 1 x 4 x

So the model of this problem is Subject to Either-Or Constraints Example 4. Maximize Z =9x 1 +5x +6x 3 +4x 4 6x 1 +3x +5x 3 +x 4 10 x 3 + x 4 1 x 1 + x 3 0 x + x 4 0 x j = 0 or 1. Either 3x 1 +x 3 18 or x 1 +4x 3 16 can be changed to 3x 1 +x 3 18 + My x 1 +4x 3 16 + M(1 y) Here M is a huge number and y is a binary variable. This can be generalized to the situation that K out of N constraints must hold: The previous example is just a case for K =1and N =. Suppose that we have these N constraints: f 1 (x 1,x,..., x n ) d 1 f (x 1,x,..., x n ) d f n (x 1,x,..., x n ) d n and K of them must hold. We can reformulate it as. f 1 (x 1,x,..., x n ) d 1 + My 1 f (x 1,x,..., x n ) d + My. f n (x 1,x,..., x n ) d n + My N y i = N K i=1 y i is binary for all i. 3

Functions with N possible values BIP deals with binary variable, that is, the variables can have two values: 0 and 1. Whatif some variable, say, x 1 can be N values: 0, 1,,..., N 1? Ingeneral,wemayhaveafunction Thiscanbeformulatedas f(x 1,x,..., x n )=d 1, or d or or d N. f(x 1,x,...,x n ) = y i d i i=1 y i = 1 and y i is binary. i=1 Example 5. Problems with Fixed-Charge (setup cost): Suppose that for activity j, there is a setup cost k j, that is, it is a fixed cost as long as the level of the activity x j > 0 but it will be 0 if x j =0. Therefore the total cost for activity j will be ½ kj + c f j (x j )= j x j if x j > 0 0 if x j =0 In this case, we can not use Z = X (k j + c j x j ) for then it will cause a cost k j even x j =0, but we can not ignore the k j s either. We can use a binary variable y j such that ½ 1 if xj > 0 y j = 0 if x j =0 If we know how to formulate such contingent variables, then we can make the objective function to be Minimize Z = X (k j y j + c j x j ) It is easy to force y j =1when x j > 0: Wecanuseaconstraint x j My j Nowhowcanmakesurethaty j =0when x j =0? As it turns out, in the minimization problem, it will take care itself. If x j =0,theny j can be either 0 or 1. But if y j =1,the objective function will be bigger, so in the optimal solution, y j must be 0. Every IP can be changed into a BIP. Let N+1 be an upper bound of the x i s, i.e., x i < N+1 for all i. Thenwecanwrite x i = j y i,j j=1 y i,j s are binary. So we can substitute every integer with N binary numbers. 4

More examples Example 6. The problem: 1. There are 3 new products. At most of them can be produced. There are plants, only one should be chosen to produce the new products. Products 1 3 Available hours per week Plant 1 3 4 30 Plant 4 6 40 Unit Profit 5 7 3 in thousands of dollars Sales Potential 7 5 9 unit per week Without the two conditions, this can be formulated as a linear programming problem: Let x 1,x, and x 3 be the units of product 1,, and 3 to be produced. (That is, if we know which plant will be used to produce them.) subject to Maximize Z =5x 1 +7x +3x 3 3x 1 +4x +x 3 30 (1) 4x 1 +6x +x 3 40 () x 1 7 x 5 x 3 9 and x 1 0,x 0,x 3 0. So here if we know which plant to use then we will use one of (1) or (). Also we completely ignored the requirement that only at most of the 3 new products will be produced. We will use some binary variables to be our auxiliary variables that can help us to formulate those requirements.. Let y 1,y,y 3 be such that ½ 1 if xj > 0 y j = 0 if x j =0 andweaddtheconstraints x j My j y 1 + y + y 3 That takes care of the two out of three part. For the other requirement, we use a fourth binary variable y 4 : ½ 1 if (1) must hold; y j = 0 if () must hold. 5

This can be accomplished by adding these two constraints: 3x 1 +4x +x 3 30 + M(1 y 4 ) 4x 1 +6x +x 3 40 + My 4 The complete model then is as on page 549. Example 3 on page 553. Set-covering problem. An airline has 11 flights. There are 1 possible sequences of flights for a crew. Exactly three of the sequences need to be chosen (one per crew) in such a way that every flight is covered. (If two crews are on the same flight, both will have to be paid.) The cost of assigning a crew to a sequence of flights is given (in thousands of dollars). The objective is to minimize the total cost of the assignments. Flight Sequence of flights 1 3 4 5 6 7 8 9 10 11 1 SF to LA 1 1 1 1 SF to Denver 1 1 1 1 SF to Seattle 1 1 1 1 LA to Chicago 3 3 LA to SF 3 5 5 Chicago to Denver 3 3 4 Chicago to Seattle 3 3 3 3 4 Denver to SF 4 4 5 Denver to Chicago Seattle to SF 4 4 5 Seattle to LA 4 4 cost 3 4 6 7 5 7 8 9 9 8 9 Decision variables: ½ 1 if sequence j is assigned; x j = 0 otherwise. Min x 1 +3x +4x 3 +6x 4 +7x 5 +5x 6 +7x 7 +8x 8 +9x 9 +9x 10 +8x 11 +9x 1 Subject to x 1 + x 4 + x 7 + x 10 1 x + x 5 + x 8 + x 11 1 x 3 + x 6 + x 9 + x 1 1 x 4 + x7+x 9 + x 10 + x 1 1. x 1 + x + + x 1 = 3 x is binary. 6