1 / 46

Integer Programming

Integer Programming. Computational Complexity . Computationally speaking, we can partition problems into two categories. Easy Problems and Hard Problems

fritzi
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

  2. Computational Complexity Computationally speaking, we can partition problems into two categories. Easy Problems and Hard Problems We can say that easy problem ( or in some languages polynomial problems) are those problems with their solution time proportional to nk. Where n is the number of variables in the problem, and k is a constant, say 2, 3, 4 … Let’s assume that k = 2. Therefore, easy problems are those problems with their solution time proportional to n2. Where n is the number of variables in the problem. Difficult problems are those problems with their solution time proportional to kn, or in our case 2n.

  3. Computational Complexity Now suppose we have an easy problem with n variables. Therefore, the solution time is proportional ton2 . We have solved this problem in 1hour using a computer with 5 GHz CPU. Suppose we have a new computer with its processing capabilities 10000times of a 5 GHz computer, and we have one century time. What is the size of the largest problem that we can solve with this revolutionary computer in one century (100 years and about 10000 hours per year). 1 n2 (10000)(100)(10000)(n+x)2

  4. Computational Complexity 1 n2 (10)10 (n+x)2 1 (n+x)2 = (10)10n2 (n+x)2 / n2 = (10)10 (n+x / n ) 2 = (10)10 n+x/ n = (10)5 = 100000 n+x = 100,000n The number of variables in the new problem is 100,000 times greater that the number of variables in the old problem.

  5. Computational Complexity Now supposed we have a hard problem with n variables. Therefore, the solution time is proportional to2n . We have solved this problem in one hour using a computer with 900 MHz CPU. Suppose we have a new computer with 900,000 MHz CPU, and we have one century time. What is the size of the largest problem that we can solve in one century using a 900, 000 MHz CPU. 1 2n (10)10 2(n+x)

  6. Computational Complexity 1 2n (10)10 2(n+x) (1) 2(n+x) = (10)102n 2(n+x) / 2n = (10)10 2x = (10)10 log 2x = log (10)10 x log 2 = 10 log (10) x ( .301) = 10(1) x = 33 The number of variables in the new problem is 33 variables greater that the number of variables in the old problem.

  7. Working with Binary Variables

  8. Binary Variables 1- Exactly one of the two projects is selected X1+X2 =1 2- At least one of the two projects is selected X1+X2 ≥1 3-At most one of the two projects is selected X1+X2 ≤1 4- None of the projects should be selected X1+X2 =0 5- Both projects must be selected X1+X2 =2 6- none, or one or both of projects are selected 7- If project 1 is selected then project 2 must be selected X2 ≥ X1 8- If project 1 is selected then project 2 could not be selected X1+X2 ≤1 !!!

  9. More Practice

  10. More Practice Either project 1&2 or projects 3&4&5 are selected X1=X2 X3=X4=X5 X1+X3=1 Suppose Y1 is our production of product 1 . Due to technical considerations, we want one of the following two constraints to be satisfied. If the other one is also satisfied it does not create any problem. If the other one is violated it does not create any problem.

  11. One constraint out of two We can produce 3 products but due to managerial difficulties, we want to produce only two of them. We can produce these products either in plant 1 or plant 2 but not in both. In other words, we should also decide whether we produce them in plant one or plant two. Other information are given below Required hrs Available hrs Product 1 Product 2 Product 3 Plant 1 3 4 2 30 Plant 2 4 6 240 Unit profit 5 7 3 Sales potential 7 5 9 Xij volume of production of product i in plant j, i=1,2,3, j=1,2.. Yi is 1 if plant I produces and 0 otherwise. Tij w volume of production of product i, i=1,2,3.

  12. One constraint out of two Required hrsAvailable hrs Product 1 Product 2 Product 3 Plant 1 3 4 2 30 Plant 2 4 6 2 40 Unit profit 5 7 3 Sales potential 75 9 X1+X2+X3 ≤ 2 Y1+Y2 ≤ 1 Yi Plant i produces, i=1,2

  13. Meeting a Subset of Constraints Consider a linear program with the following set of constraints: 12x1 + 24x2 + 18x3 ≤ 2400 15x1 + 32x2 + 12x3 ≤ 1800 20x1 + 15x2 + 20x3 ≤ 2000 18x1 + 21x2 + 15x3 ≥ 1600 Suppose that meeting 3 out of 4 of these constraints is “good enough”.

  14. Still Fun We want two of the following 4 constraints to be satisfied. The other 2 are free, they may be automatically satisfied, but if they are not satisfied there is no problem y1 + y2  100 y1 +2 y3  160 y2 + y3  50 y1 + y2 + y3  170 In general we want to satisfy k constraints out of n constraints

  15. Mastering Formulation of Binary Variables A Constraint With k Possible Values y1 + y2 = 10 or 20 or 100

  16. A Location Allocation Problem We have 5 demand centers, referred to as 1, 2, 3, 4,5. We plan to open one or more Distribution Centers (DC) to serve these markets. There are 5 candidate locations for these DCs, referred to as A, B, C, D, and E. Annual cost of meeting all demand of each market from a DC located in each candidate location is given below DC1 DC2 DC3 DC4 DC5 Market 1 1 5 18 13 17 Market 2 15 2 26 14 14 Market 3 28 18 7 8 8 Market 4 100 120 8 8 9 Market 5 30 20 20 30 40 Each DC can satisfy the demand of one, two, three, four, or five market

  17. A Location Allocation Problem Depreciated initial investment and operating cost of a DC in location A, B, C, D, and E is 199, 177, 96, 148, 111. The objective function is to minimize total cost (Investment &Operating and Distribution) of the system. Suppose we want to open only one DC. Where is the optimal location. Suppose we don't impose any constraint on the number of DCs. What is the optimal number of DCs.

  18. Ca s h Ou tflo w R eq uir ed ($ m il l io n ) Ca s h A v a il ab le Pr o j e c t 1 Pr o j e c t 2 Pr o j e c t 3 Pr o j e c t 4 ( $ mi l lio n ) Ye ar 1 1 0 8 6 1 2 3 0 Ye ar 2 8 5 4 0 1 5 Ye ar 3 8 0 6 0 1 2 N P V 3 5 1 8 2 4 1 6 Example #1 (Capital Budgeting) Mercer Development is considering the potential of four different development projects. Each project would be completed in at most three years. The required cash outflow for each project is given in the table below, along with the net present value of each project to Mercer, and the cash that is available (from previous projects) each year.

  19. 3 2 4 1 2 5 2 2 1 5 3 4 Maximum Flow Problem : D.V. and OF

  20. 3 2 4 1 2 5 2 2 1 5 3 4 Maximum Flow Problem : Arc Capacity Constraints

  21. 3 2 4 1 2 5 2 2 1 5 3 4 Maximum Flow Problem : Flow Balance Constraint  tij =  tji  i  N \ O and D

  22. 3 2 3 1 2 5 2 2 1 2 3 4 3 2 3 2 4 4 1 1 2 2 5 5 1 2 1 1 3 4 2 2 3 2 1 5 4 3 4 1 1 5 1 2 1 2 3 4 Maximum Flow Problem : Flow Balance Constraint

  23. Maximum Flow Problem with Restricted Number of Arcs xij : The decision variable for the directed arc from node i to nod j. xij = 1 if arc ij is on the flow path xij = 0 if arc ij is not on the flow path  xij 4

  24. 3 2 3 2 4 4 1 1 2 2 5 5 1 2 1 1 3 4 2 2 1 5 3 4 Maximum Flow Problem with Restricted Number of Arcs

  25. The relationship between flow and arc variables • Divisibility • 1.5, 500.3, 111.11 • Certainty • cj, aij, bi • Linearity • No x1 x2, x12, 1/x1, sqrt (x1) • aijxj • aijxj + aikxk • Nonnegativity t23 could be greater than 0 while x23 is 0,

  26. 3 2 4 1 2 5 1 2 1 5 3 4 3 2 4 1 2 5 2 2 1 5 3 4 Relationship between Flow and Arcs

  27. 3 2 4 1 2 5 2 2 1 5 3 4 3 2 4 1 2 5 2 2 1 5 3 4 3 2 4 1 2 5 2 2 1 5 3 4 3 2 4 1 2 5 2 2 1 5 3 4 On a Path

  28. 3 2 4 1 2 5 2 2 1 5 3 4 Maximum Flow on a Path

  29. The Shortest Route Problem The shortest route between two points l ij : The length of the directed arc ij. l ij is a parameter, not a decision variable. It could be the length in term ofdistance or in terms of time or cost ( the same asc ij ) For those nodes which we are sure that we go from i to jweonly have one directed arc from i to j. For those node which we are not sure that we go from i to j or from j to i, we have two directed arcs, one from i to j, the other from j to i. We may have symmetric or asymmetric network. In a symmetric networklij = lji ij In a asymmetric networkthis condition does not hold

  30. 6 6 3 4 2 5 2 2 5 4 2 2 6 7 1 2 8 2 7 Example

  31. 6 6 3 4 2 5 2 2 5 4 2 2 6 7 1 2 8 2 7 Decision Variables and Formulation xij : The decision variable for the directed arc from node i to nod j. xij = 1 if arc ij is on the shortest route xij = 0 if arc ij is not on the shortest route  xij -  xji = 0 i  N \ O and D  xoj =1  xiD = 1 Min Z =  lij xij

  32. 6 6 3 4 2 5 2 2 5 4 2 2 6 7 1 2 8 2 7 Example + x13 + x14+ x12= 1 - x57 - x67= -1 + x34 + x35 - x43 - x13 = 0 + x42 + x43 + x45 + x46 - x14 - x24 - x34 = 0 …. ….. Min Z = + 5x12 + 4x13 + 3x14 + 2x24 + 6x26 + 2x34 + 3x35 + 2x43 + 2x42 + 5x45 + 4x46 + 3x56 + 2x57 + 3x65 + 2x67

  33. 6 4 9 6 3 4 3 6 2 2 11 2 2 6 6 6 8 3 4 5 7 2 2 5 4 3 5 4 3 3 10 1 2 5 2 3 O D 2 1 3 4 The ShR Problem : Binary Decision Variables Find the shortest route of these two networks. But for red bi-directional edges you are not allowed to define two decision variables. Only one. Solve the small problem. Only using 5 variables

  34. The ShR Problem : Binary Decision Variables 2 1 3 4 Do not worry about the length of the arcs, we do not need to write the objective functions. Note that we do not know whether we may go from node 2 to 3 or from 3 to 2. Now we want to formulate this problem as a shortest route.

  35. The ShR Problem : Binary Decision Variables To formulate the problem as a shortest route, you probably want to define a pair of decision variables for arcs 2-3 and 3-2, and then for example write the constraint on node 2 as follows X23+X24 = X12 + X32 But you are not allowed to define two variables for 2-3 and 3-2. You should formulated the problem only using the following variables X23 is a binary variable corresponding to the NON-DIRECTED edge between nodes 2 and 3. It is equal to 1 if arc 2-3 or 3-2 is on the shortest route and it is 0 otherwise.

  36. The ShR Problem : Smaller Number of Binary Variables As usual we can have the following variables X12 X13 X24 X34 each corresponding to a directed arc The solution of (X12 = 1 , X23 = 1, X34 = 1 all other variables are 0) means that the shortest route is 1-2-3-4. The solution of (X13 = 1 , X32 = 1, X24 = 1 all other variables are 0) ) means that the shortest route is 1-3-2-4. The solution of (X13 = 1 , X34= 1 all other variables are 0) ) means that the shortest route is 1-3-4.

  37. The ShR Problem : Smaller Number of Binary Variables Now you should formulate the shortest route problem using defining only one variable for each edge. Your formulation should be general, not only for this example. How many variables do you need to formulate this problem?

  38. 6 4 9 6 3 4 3 6 2 2 11 2 2 6 6 6 3 7 4 8 5 2 2 5 4 3 5 4 3 3 10 1 2 5 2 3 D O How Many Binary Variables for this ShR problem

  39. Integer Programming • When are “non-integer” solutions okay? • Solution is naturally divisible • Solution represents a rate • Solution only for planning purposes • When is rounding okay?

  40. The Challenge of Rounding • Rounded solution may not be feasible • Rounded solution may not be close to optimal • There can be many rounded solutions Example: Consider a problem with 30 variables that are non-integer in the LP solution. How many possible rounded solutions are there?

  41. How Integer Programs are solved

  42. Spreadsheet Solution to Example #1

  43. 9 1 8 1 0 2 6 2 8 2 7 1 1 1 1 9 2 6 2 0 2 9 3 0 1 2 7 3 2 1 1 3 2 2 8 3 1 3 2 4 1 4 3 6 3 3 5 2 3 3 5 1 5 2 5 3 4 3 7 1 7 1 6 2 4 Example #2 (Set Covering Problem) Suppose the Washington State legislature is trying to decide on locations at which to base search-and-rescue teams. The teams are expensive, and hence they would like as few as possible. However, since response time is critical, they would like every county to either have a team located in that county, or in an adjacent county. Where should the teams be located? Counties 20. Douglas 21. Kittitas 22. Grant 23. Yakima 24. Klickitat 25. Benton 26. Ferry 27. Stevens 28. Pend Oreille 29. Lincoln 30. Spokane 31. Adams 32. Whitman 33. Franklin 34. Walla Walla 35. Columbia 36. Garfield 37. Asotin 1. Clallum 2. Jefferson 3. Grays Harbor 4. Pacific 5. Wahkiakum 6. Kitsap 7. Mason 8. Thurston 9. Whatcom 10. Skagit 11. Snohomish 12. King 13. Pierce 14. Lewis 15. Cowlitz 16. Clark 17. Skamania 18. Okanogan 19. Chelan

  44. 9 1 8 1 0 2 6 2 8 2 7 1 1 1 1 9 2 6 2 0 2 9 3 0 1 2 7 3 2 1 1 3 2 2 8 3 1 3 2 4 1 4 3 6 3 3 5 2 3 3 5 1 5 2 5 3 4 3 7 1 7 1 6 2 4 Spreadsheet Solution to Example #2 Counties 1. Clallum 2. Jefferson 3. Grays Harbor 4. Pacific 5. Wahkiakum 6. Kitsap 7. Mason 8. Thurston 9. Whatcom 10. Skagit 11. Snohomish 12. King 13. Pierce 14. Lewis 15. Cowlitz 16. Clark 17. Skamania 18. Okanogan 19. Chelan 20. Douglas 21. Kittitas 22. Grant 23. Yakima 24. Klickitat 25. Benton 26. Ferry 27. Stevens 28. Pend Oreille 29. Lincoln 30. Spokane 31. Adams 32. Whitman 33. Franklin 34. Walla Walla 35. Columbia 36. Garfield 37. Asotin

  45. Spreadsheet Solution to Example #2

  46. Spreadsheet Solution to Example #2 (Formulas)

More Related