390 likes | 604 Views
Integer Programming. Chapter 11: Hillier and Lieberman Dr. Hurley’s AGB 328 Course. Terms to Know.
E N D
Integer Programming Chapter 11: Hillier and Lieberman Dr. Hurley’s AGB 328 Course
Terms to Know • Integer Programming, Mixed Integer Programming, Binary Variable, Binary Integer Programming, Mutually Exclusive Alternatives, Contingent Decisions, Tours-of-duty Planning Problem, Rostering Problem, Auxiliary Binary Variable, Binary Representation, Set Covering Problems, Set Partitioning Problems, Exponential Growth, LP Relaxation, Branching Tree, Branching Variable, Relaxation, Incumbent, Fathom, Descendants, Lagrangian Relaxation, Cutting Plane, Cut, Minimum Cover, Global Constraints
Applications of Binary Variables • Binary variables only allow two choices • This makes them suited for problems that are characterized by variables that can take on only two possibilities. • Examples: • Do a project or not do a project? • To hire or not to hire? • To build or not to build? • To Sell or not to sell?
Case Study: California Manufacturing Company (CMC) • The California Manufacturing Company is a company with factories and warehouses throughout California. • It is currently considering whether to build a new factory in Los Angeles and/or San Francisco. • Management is also considering building one new warehouse where a new factory has been recently built. • Should the CMC build factories and/or warehouses in Los Angeles and/or San Francisco?
Case Study: CMC Cont. • FLA, FSF, WLA,WSF are all binary variables which take on the value of 1 if the specific item is done and zero if it is not done. • We also need to make sure that at most one warehouse is built and it is built where a factory is built.
Innovative Uses for Binary Variables • Either-Or Constraint • A Subset of Constraints Must Hold • A Constraint that Needs a Single Value Out of Multiple Possibilities • A Fixed Cost Is Only Associated with a Positive Usage of a Variable • Binary Representation of General Integer Variables
Either-Or Constraint • Suppose you have a situation where you have two potential constraints, but only one of them can hold • To handle this issue, you can add to one constraint My1 to the RHS and to the other constraint M(1-y1) to the RHS where y1 is a binary variable • For example: • 5x1+9x2 ≤ 24 +My1 • 8x1+6x2≤ 35 + M(1-y1)
A Subset of Constraints Must Hold • Suppose you have N constraints where only K of the constraints hold (K<N) • You would add to constraint i the amount Myi and one other constraint where • For example: • 5x1 + 12x2≤ 34 + My1 • 6x1+ 11x2≤ 43 + My2 • 7x1+ 10x2≤ 57 + My3 • y1+ y2 + y3 = 1
A Constraint that Needs a Single Value Out of Multiple Possibilities • Suppose you have a constraint where the function can take on one out of many values • To handle this issue, you would multiply value i by a binary variable yi and sum them all together while adding one more constraint that • For example: • 5x1 +31x2 = 25 or 50 or 75 • 5x1 +31x2 = 25y1+ 50y2+ 75y3 • y1+ y2 + y3 = 1
A Fixed Cost Is Only Associated with a Positive Usage of a Variable • Suppose you have the situation where your objective function only takes on a fixed cost ki if you use a corresponding variable xi > 0, if xi= 0 then ki = 0 • To handle this issue you would add to the objective function kiyi and a new constraint xi ≤ Myi • For example, suppose that variable x1 has an associated set-up cost if you decide to use it
Subject to: + 35 23+42
Binary Representation of General Integer Variables • There are some times when you may want to represent a variable that is supposed to be an integer by transforming it into a binary representation • This can be done by defining the variable x =
Goods Product Company Example • Objective: Maximize Profits • Decision Variables: Product 1, Product 2, and Product 3 • Constraints: • Production time available for Plants 1 and 2 • At most two out of the three products can be produced • Only one of the two plants can produce the new products
Data for Goods Product Company • Product 1 uses 3 hours of Plant 1 or 4 hours of Plant 2 per unit of production • You can sell up to 7 at a profit of $5,000 • Product 2 uses 4 hours of Plant 1 or 6 hours of Plant 2 per unit of production • You can sell up to 5 at a profit of $7,000 • Product 3 uses 2 hours of Plant 1 or 2 hours of Plant 2 per unit of production • You can sell up to 9 at a profit of $3,000 • Plant 1 has 30 hours available while Plant 2 has 40 hours
Mathematical Model for Goods Product Company Subject to: We will examine the spreadsheet model in class
Supersuds Corporation Example • Objective: Maximize Profits • Decision Variables: Number of TV spots for Product 1, Product 2, and Product 3 • Constraints: • Number of TV spots allocated to the three products cannot be more than five • Major Issue: Proportionality Assumption is violated
Data for Supersuds • If any of the products does not buy a TV spot, it will not get any profit • If Product 1 buys 1, 2 , or 3 TV spot(s), its profitability would be 1, 3, or 3 respectively • If Product 2 buys 1, 2 , or 3 TV spot(s), its profitability would be 0, 2, or 3 respectively • If Product 3 buys 1, 2 , or 3 TV spot(s), its profitability would be -1, 2, or 4 respectively
Mathematical Model 1 for Supersuds Subject to: We will examine the spreadsheet model in class
Mathematical Model 2 for Supersuds Subject to: We will examine the spreadsheet model in class
Wyndor Case Revisited • Two new products have been developed: • An 8-foot glass door • A 4x6 foot glass window • Wyndor has three production plants • Production of the door utilizes Plants 1 and 3 • Production of the window utilizes Plants 2 and 3 • Objective is to find the optimal mix of these two new products.
Changing Wyndor to Account for Setup Costs • Suppose that two changes are made to the original Wyndor problem: • If Wyndor chooses to produce doors, it must pay a one time set-up cost of $700, while if Wyndor produces windows it must pay a set-up cost of $1,300. • We want to restrict the doors and windows to be integer values.
Changing Wyndor to Account for Mutually Exclusive Products • Suppose Wyndor decides that it only wants to produce doors or windows rather than both. • This implies that either doors have to be zero or windows have to be zero.
Wyndor’s Mathematical Model With Mutually Exclusive Products
Changing Wyndor to Account for Either-Or Constraints • Suppose the company is trying to decide whether to build a new up-to-date plant that will be used to replace plant 3. • This implies that Wyndor wants to examine the profitably of using plant 4 versus plant 3.
The Challenges of Rounding • It may be tempting to round a solution from a non-integer problem, rather than modeling for the integer value. • There are three main issues that can arise: • Rounded Solution may not be feasible. • Rounded solution may not be close to optimal. • There can be many rounded solutions
Algorithms For Solving BIPs and MIPs • Branch-and-Bound Algorithm • Branch-and-Cut Algorithm
Branch-and-Bound Algorithm • This algorithm has three main steps in an iteration: • Branching • This is where you create two new sub-problems • Bounding • For each sub-problem, apply the simplex method to the LP relaxation • Fathoming • This where you are deciding whether to dismiss the sub-problem from further consideration
Fathoming Test • Test 1: Its bound is less than Z*, where Z* represents the value you get from the objective function for the current best incumbent solution • Test 2: The LP relaxation problem has no solution • Test 3: The optimal solution for the LP relaxation problem is binary/integer
Branch-and-Cut Algorithms • These algorithms primarily rely upon: • Problem preprocessing • Fixing variables that you know upfront must be a particular variable • Eliminating redundant constraints • Tightening constraints in a way to reduce the feasible region • Generating cutting planes • This reduces the feasible region for the LP relaxation which does not reduce the feasible solutions • Clever branch-and-bound techniques
In-Class Activity (Not Graded) • Create a spreadsheet model for each of the Wyndor problems previously discussed