1 / 37

Integer Programming

Integer Programming. Chapter 11: Hillier and Lieberman Dr. Hurley’s AGB 328 Course. Terms to Know.

giulio
Télécharger la présentation

Integer Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Integer Programming Chapter 11: Hillier and Lieberman Dr. Hurley’s AGB 328 Course

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

  3. 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?

  4. 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?

  5. Case Study: CMC Cont.

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

  7. Mathematical Model for CMC

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

  9. 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)

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

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

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

  13. Subject to: + 35 23+42

  14. 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 =

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

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

  17. Mathematical Model for Goods Product Company Subject to: We will examine the spreadsheet model in class

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

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

  20. Mathematical Model 1 for Supersuds Subject to: We will examine the spreadsheet model in class

  21. Mathematical Model 2 for Supersuds Subject to: We will examine the spreadsheet model in class

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

  23. Wyndor Case Revisited Cont.

  24. Wyndor Case Revisited Cont.

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

  26. Wyndor’s Mathematical Model With Set-Up Costs

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

  28. Wyndor’s Mathematical Model With Mutually Exclusive Products

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

  30. Wyndor’s Data with Either/Or Constraint

  31. Wyndor’s Mathematical Model With Either/Or Constraint

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

  33. Algorithms For Solving BIPs and MIPs • Branch-and-Bound Algorithm • Branch-and-Cut Algorithm

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

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

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

  37. In-Class Activity (Not Graded) • Create a spreadsheet model for each of the Wyndor problems previously discussed

More Related