Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:

Slides:



Advertisements
Similar presentations
Thursday, April 11 Some more applications of integer
Advertisements

1 Material to Cover  relationship between different types of models  incorrect to round real to integer variables  logical relationship: site selection.
BU Decision Models Integer_LP1 Integer Optimization Summer 2013.
Chapter 3 Workforce scheduling.
1 Lecture 3 MGMT 650 Sensitivity Analysis in LP Chapter 3.
Lecture 10: Integer Programming & Branch-and-Bound
Progress in Linear Programming Based Branch-and-Bound Algorithms
McGraw-Hill/Irwin © The McGraw-Hill Companies, Inc., Integer Programming.
Integer Programming 3 Brief Review of Branch and Bound
Math 308 Discrete Mathematics Discrete Mathematics deals with “Separated” or discrete sets of objects (rather than continuous sets) Processes with a sequence.
Math443/543 Mathematical Modeling and Optimization
1 Mathematical Programming Integer Programming. 2 Common Types of IP’s and IP Constraints Two common types of IP’s –#1: Capital budgeting –#2: Set covering.
Dynamic lot sizing and tool management in automated manufacturing systems M. Selim Aktürk, Siraceddin Önen presented by Zümbül Bulut.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
INTRODUCTION TO LINEAR PROGRAMMING
Review of Reservoir Problem OR753 October 29, 2014 Remote Sensing and GISc, IST.
Chapter 5 Integer Programming. What is an integer program (IP)? IP is a linear program in which all or some variables can only take integral values. A.
Introduction to Mathematical Programming OR/MA 504 Chapter 5 Integer Linear Programming.
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
1.3 Modeling with exponentially many constr.  Some strong formulations (or even formulation itself) may involve exponentially many constraints (cutting.
Chapter 7 Integer Programming Models
Linear Programming Topics General optimization model LP model and assumptions Manufacturing example Characteristics of solutions Sensitivity analysis Excel.
Spreadsheet Modeling & Decision Analysis:
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Spreadsheet Modeling and Decision Analysis, 3e, by Cliff Ragsdale. © 2001 South-Western/Thomson Learning. 6-1 Integer Linear Programming Chapter 6.
MODELING AND ANALYSIS OF MANUFACTURING SYSTEMS Session 12 MACHINE SETUP AND OPERATION SEQUENCING E. Gutierrez-Miravete Spring 2001.
15.082J and 6.855J and ESD.78J Lagrangian Relaxation 2 Applications Algorithms Theory.
Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)
Workforce scheduling – Days off scheduling 1. n is the max weekend demand n = max(n 1,n 7 ) Surplus number of employees in day j is u j = W – n j for.
Notes 5IE 3121 Knapsack Model Intuitive idea: what is the most valuable collection of items that can be fit into a backpack?
Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.
Chapter 1. Formulations 1. Integer Programming  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +
Chap 10. Integer Prog. Formulations
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Two Discrete Optimization Problems Problem: The Transportation Problem.
Integer Linear Programming Terms Pure integer programming mixed integer programming 0-1 integer programming LP relaxation of the IP Upper bound O.F. Lower.
1 INTRODUCTION TO LINEAR PROGRAMMING CONTENTS Introduction to Linear Programming Applications of Linear Programming Reference: Chapter 1 in BJS book.
Traveling Salesman Problem (TSP)
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Lecture 5 – Integration of Network Flow Programming Models Topics Min-cost flow problem (general model) Mathematical formulation and problem characteristics.
Integer Programming (정수계획법)
8/14/04J. Bard and J. W. Barnes Operations Research Models and Methods Copyright All rights reserved Lecture 5 – Integration of Network Flow Programming.
8/14/04 J. Bard and J. W. Barnes Operations Research Models and Methods Copyright All rights reserved Lecture 6 – Integer Programming Models Topics.
Integer Programming Definition of Integer Programming If requiring integer values is the only way in which a problem deviates from.
Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:
Management Science 461 Lecture 3 – Covering Models September 23, 2008.
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
Introduction to Integer Programming Integer programming models Thursday, April 4 Handouts: Lecture Notes.
EMGT 5412 Operations Management Science
EMIS 8373: Integer Programming Combinatorial Optimization Problems updated 27 January 2005.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
0 Integer Programming Introduction to Integer Programming (IP) Difficulties of LP relaxation IP Formulations Branch and Bound Algorithms Reference: Chapter.
Linear Programming Topics General optimization model
Introduction to Operations Research
Lecture 5 – Integration of Network Flow Programming Models
Traveling Salesman Problem
Linear Programming Topics General optimization model
Integer Programming II
Lecture 5 – Integration of Network Flow Programming Models
1.3 Modeling with exponentially many constr.
Linear Programming Topics General optimization model
Integer Programming (정수계획법)
Chapter 1. Formulations (BW)
1.3 Modeling with exponentially many constr.
Integer Programming (정수계획법)
Lecture 6 – Integer Programming Models
Chapter 1. Formulations.
REVIEW FOR EXAM 1 Chapters 3, 4, 5 & 6.
Integer Linear Programming
Lecture 12 Network Models.
Presentation transcript:

Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications: staff scheduling, fixed charge, TSP Piecewise linear approximations to nonlinear functions

Maximize/Minimize z = c 1 x 1 + c 2 x 2 +    + c n x n {    } b i, i = 1,…, m s.t. a i 1 x 1 + a i 2 x 2 +    + a in x n 0  x j  u j, j = 1,…, n x j integer for some or all j =1,…, n Linear Integer Programming - IP

 An IP is a mixed integer program (MIP) if some but not all of the decision variables are integer.  If all decision variables are integer we have a pure IP.  A binary decision variable must be 0 or 1 (a yes-no decision variable).  If all decision variables are binary, then the IP is a binary IP (BIP)  Decision variables that are not required to be integer-valued are continuous variables Decision Variables in IP Models

(1)The LP divisibility assumption (fractional solutions are permissible) is not always valid. (2)Binary variables allow powerful new techniques like logical constraints. Why study integer programming?

Call Center Employee Scheduling Day is divided into 6 periods, 4 hours each Demand/period = {15, 10, 40, 70, 40, 35} Workforce consists of full-timers (FT) and part- timers (PT) –FT = 8-hour shift, $121.6/ shift –PT = 4-hr shift, $51.8/shift One PT = 5/6 FT In any period, at least 2/3 of the staff must be FT employees (this is a headcount constraint) Problem: Find minimum cost workforce

x t =# of full-time employees that begin the day at the start of interval t and work for 8 hours y t =# of part-time employees that are assigned interval t Min z =121.6( x 1 +  +x6+x6 ) ( y y6)+y6) s.t. x 1 + x y1y1  15 x1x1 + x y2y2  x5x5 + x y6y6  35 x 1 + x 6  2 3 (x1(x1 + x 6 + y 1 )... x5x5 + x 6  2 3 (x5(x5 + y 6 ) x t  0, y t  0, t = 1,2,…,6 Decision variables: Call Center Employee IP Model

x = ( 7.06, 0, 40, 12.94, 27.06, 7.94 ) y = ( 0, 3.53, 0, 20.47, 0, 0 ) z = 12,795.2 Not feasible to IP model A correction method: round continuous solution x = ( 8, 0, 40, 13, 27, 8 ) y = ( 0, 3, 0, 21, 0, 0 ) z = 12,916.8 We do not know! Feasible – Yes, Optimal? We do not know! Optimal LP solution

z  LP = 12,795.2 is a lower bound on integer optimum Hence, the rounded solution is no more than ( 12,916.8 – 12, ,795.2 )  100% = 0.95% from the optimum. x = ( 10, 0, 40, 20, 20, 5 ) y = ( 10, 0, 0, 12, 0, 12 ) z IP = 12,795.2 Optimal solution is Here the optimal LP and IP objective functions have the same value. This is not commonly true.  How good is this solution?

Sometimes there is no “obvious” feasible solution that can be obtained by rounding The IP solution can be “far” from the LP rounded solution even when the rounded solution is feasible.                     optimal LP solution X1X1 X2X2 optimal IP solution iso-cost line   

The Days-Off Scheduling Problem Each employee works 5 days per week and is given 2 consecutive days off [ (5,7)-cycle problem] c j =weekly cost of pattern j per employee r i =number of employees required on day i x j =number of employees assigned to days-off pattern j Note:There are 7 days-off patterns; i, j = 1,…,7 Pattern i has days i and i + 1 off. For example, pattern 3 would be: (Mon, Tue, off, off, Thu, Fri, Sat, Sun)  (1, 1, 0, 0, 1, 1, 1)

Days-Off Mathematical Model subject to x j  0 and integer, j = 1,…,7; x 0 = x 7 Solve problem to get Minimum cost workforce

Compact Mathematical Model Minimize z = cx subject to x  0 and integer

Either-or constraints Either f 1 ( x 1,…, x n )  b 1 or f 2 ( x 1,…, x n )  b 2 or both IP formulation y = 0  first constraint must hold y = 1  second constraint must hold Optimization process will choose the y value. Let y  {0,1}; M = “large” number f 1 ( x 1,…, x n )  b 1 + M y f 2 ( x 1,…, x n )  b 2 + M (1 – y ) Logic Constraints

At least K out of N must be satisfied. N constraints f 1 ( x 1,…, x n )  b 1  f N ( x 1,…, x n )  b N N i =1  y i = K y i  {0, 1}, i = 1,…, N f 1 ( x 1,…, x n )  b 1 + M (1 – y 1 )  f N ( x 1,…, x n )  b N + M (1 – y N ) K out of N constraints must hold

A production system has N potential quality control inspection strategies. Management has decided that K of these strategies should be adopted. Example of K out of N Constraints

(Choice constraints for one region only) } Region 1 constraints } Region 2 constraints } Region 3 constraints y 1 + y 2 + y 3 = 1, y 1, y 2, y 3  {0,1} f 1 ( x 1,…, x n )  b 1 + M (1 – y 1 ) f 2 ( x 1,…, x n )  b 2 + M (1 – y 1 ) f 3 ( x 1,…, x n )  b 3 + M (1 – y 2 ) f 4 ( x 1,…, x n )  b 4 + M (1 – y 2 ) f 5 ( x 1,…, x n )  b 5 + M (1 – y 3 ) f 6 ( x 1,…, x n )  b 6 + M (1 – y 3 ) Compound Alternatives

n j =1 Min  h j ( x j ), where h j ( x j ) = { f j + c j x j if x j > 0 0 if x j = 0 and f j = setup cost, c j = per unit cost IP formulation: Min n j =1  ( c j x j + f j y j ) s.t. x j  My j, j = 1,…, n y j  {0,1}, j = 1,…, n x j  0, j = 1,…, n Fixed-Charge Problem

A company has m potential warehouse sites and n customers Data: d j : demand for customer j s i : capacity (supply) of warehouse i Decision variables: y i : build a warehouse at site i (1 = yes, 0 = no) x ij : shipments from warehouse i to customer j Example: Facility Location Problem

Min m  i =1 n  j =1 c ij x ij + m  i =1 fiyifiyi s.t. m i =1  x ij = d j j = 1,…, n n j =1  x ij  s i y i i = 1,…, m x ij  0, i = 1,…, m, j = 1,…, n y i  {0,1}, i = 1,…, m Satisfy each customer’s demand each warehouse can ship no more than its supply if it is built Facility Location IP Model

Problem:Open set of facilities and assign each customer to one facility such that cost is minimized. Cost could be a function of distance from facility to customer or could be based on a response time (e.g., locating fire stations). Uncapacitated Facility Location Problem

Indices/Sets potential facility locations, i  I with | I | = m customers, j  J with | J | = n Data f i : cost of opening a facility at location i c ij : cost of assigning customer j to facility i Decision variables y i : open facility at location i (1 = yes, 0 = no) x ij : assign customer j to location i (1 = yes, 0 = no) Notation

Min s.t. x ij  {0,1}, y i  {0,1}  i  I, j  J if y i = 0, x ij must be 0 for all j  J ; if y i = 1, up to n of the x ij can be 1.  Not computationally efficient   x ij = 1,  j  J iIiI   x ij  ny i,  i  I jJjJ iIiI i  I j  J  c ij x ij +  f i y i Weak Formulation

Min s.t.   x ij = 1,  j  J Each customer is assigned to exactly one facility Setup constraint Can assign customer j to facility i only if we open facility i. iIiI iIiI i  I j  J x ij  y i,  i  I, j  J x ij  {0,1} y i  {0,1},  i  I, j  J  c ij x ij +  f i y i Mathematically Equivalent Strong Formulation

3 crews -- each must be assigned a sequence of flights that begins and ends in Dallas ( DFW ) Each flight leg must be covered Possible tours DFW  LAX1111 DFW  DEN1111 DFW  SEA LAX  CHI LAX  DFW CHI  DEN334 CHI  SEA33334 DEN  DFW2445 DEN  CHI SEA  DFW SEA  LAX 2 Cost ($10000) Decision variables x j ( j =1,…,12) assign a crew to tour j (1 = yes, 0 = no) Leg Set Covering Problem (Airline Crew Scheduling)

Min 2 x x x 3 + … + 8 x x 12 s.t. x1x1 + x4x4 + x7x7 + x 10 (DFW  LAX) x2x2 + x5x5 + x 8 + x 11 (DFW  DEN) x3x3 + x 6 + x9x9 + x 12 (DFW  SEA) x4x4 + x7x7 + x9x9 + x 10 + x 12 (LAX  CHI) x1x1 + x6x6 + x 10 + x 11 (LAX  DFW)  x6x6 + x9x9 + x 10 + x 11 + x 12  1 (SEA  LAX) x1x1 + x2x2 + … + x 12 = 3 (assign 3 crews) x j  {0,1}, j = 1,…,12 Allows “dead heading”; i.e., multiple crews fly on 1 leg but only 1 crew works (all get paid).  1   side constraint Formulation (set covering problem)

Problem:Find minimum distance tour that starts at city 1, visits every other city exactly once, and returns to city 1. Traveling Salesman Problem (TSP)

Decision variables x ij = 1 if tour includes arc ( i, j ) = 0 otherwise Initial formulation Min50 x x x x x x 43 s.t. x 12 + x 13 + x 14 = 1 x 21 + x 31 + x 41 = 1 x 21 + x 23 + x 24 = 1 x 12 + x 32 + x 42 = 1... x 41 + x 42 + x 43 = 1 x 14 + x 24 + x 34 x ij  {0,1}, i  j This is incomplete because subtours are possible. =

Alternative formulation: x 13 + x 31  1 and x 24 + x 42  1 To generalize, let N = {1,…, n }, and let S  N SEC:  x ij  | S | – 1, 2  | S |  n /2 (ij)  S Subtour Elimination Constraints Let S 1 = {1,3} and S 2 = {2,4} and require at least 1 arc from S 1 to S 2 x 12 + x 14 + x 32 + x 34  1 Disallows the “2 loop” solution.

Example of SEC Let n = 10 and S = { 2, 5, 6, 9 }. Then | S | = 4. SEC: x 25 + x 26 + x 29 + x 52 + x 56 + x 59 + x 62 + x 65 + x 69 + x 92 + x 95 + x 96  4 – 1 = 3 In general, there are an exponential number of subtour elimination constraints

Testing integrated circuits (ICs): A machine is used to test several batches of ICs of differing types. After each batch the machine must be reset. The changeover time depends on what type of IC was just tested and which type will be tested next. Changeover Times IC type IC type Sequencing problems with sequence-dependent setup times can be modeled as a TSP

Graph for IC Testing Example Dummy node Sample path: 0  1  3  2  4  0 Cost of path: =

If the cycle is repeated, IC1  IC3  IC2  IC4  IC1... then the total changeover time for one cycle is = 124 [arc (4,1) added]. The goal is to sequence the testing order so that the throughput (i.e., minimize cycle time) is maximized for fixed batch sizes. Note that in this example, the “travel times” are not symmetric.

General Piecewise Linear Approximations Given: f j ( x j ), 0  x j  u j Let r = number of grid points Let ( d ij, f ij ) be i th grid point, i = 1,…, r

Linear Transformation for j th Variable Let x j =   i d ij and f j ( x j ) =   i f ij where   i = 1,  i  0, i = 1,…,r Not sufficient to guarantee solution is on one of the line segments. r i =1 r i =1 r i =1

Additional Constraints for Piecewise Linear Approximation Requirement:No more than two  i can be positive; also  i ’ s must be adjacent; i.e.,  i and  i +1  1 ≤ y 1  i ≤ y i -1 + y i, i = 2,…,r–1  r ≤ y r -1 y 1 + y 2 + · · · + y r -1 = 1 y i = 0 or 1, i = 1,...,r–1

What You Should Know About Integer Programming How to convert a problem statement in an IP model. How to define the decision variables. How to convert logic statements into constraints. How to formulation fixed charge problems, scheduling problems, covering problems,TSP, piece-wise linear approximation to nonlinear functions.