VIEWS: 0 PAGES: 54 POSTED ON: 2/1/2013
Integer Programming Introduction to Integer Programming (IP) Difficulties of LP relaxation IP Formulations Branch and Bound Algorithms 0 Integer Programming Model An Integer Programming model is a linear programming problem where some or all of the variables are required to be non-negative integers. These models are in general substantially harder than solving linear programming models. Network models are special cases of integer programming models and are very efficiently solvable. We will discuss several applications of integer programming models. We will study the branch and bound technique, one of the most popular algorithm to solve integer programming models. 1 Classifications of IP Models Pure IP Model: Where all variables must take integer values. Maximize z = 3x1 + 2x2 subject to x1 + x 2 6 x1, x2 0, x1 and x2 integer Mixed IP Model: Where some variables must be integer while others can take real values. Maximize z = 3x1 + 2x2 subject to x1 + x 2 6 x1, x2 0, x1 integer 0-1 IP Model: Where all variables must take values 0 or 1 . Maximize z = x 1 - x2 subject to x1 + 2x2 2 2x1 - x2 1, x1, x2 = 0 or 1 2 Classifications of IP Models (contd.) LP Relaxation: The LP obtained by omitting all integer or 0-1 constraints on variables is called the LP relaxation of IP. IP: Maximize z = 21x1 + 11x2 subject to 7x1 + 4x2 13 x1, x2 0, x1 and x2 integer LP Relaxation: Maximize z = 21x1 + 11x2 subject to 7x1 + 4x2 13 x1 , x2 0 Result: Optimal objective function value of IP Optimal objective function value of LP relaxation 3 IP and LP Relaxation 3 2 x2 7x1 + 4x2= 13 1 x x x x 1 2 3 x1 4 Simple Approaches for Solving IP Approach 1: Enumerate all possible solutions Determine their objective function values Select the solution with the maximum (or, minimum) value. Any potential difficulty with this approach? -- may be time-consuming Approach 2: Solve the LP relaxation Round-off the solution to the nearest feasible integer solution Any potential difficulty with this approach? -- may not be optimal solution to the original IP 5 The use of binary variables in constraints Any decision situation that can be modeled by “yes”/“no”, “good”/“bad” etc., falls into the binary category. To illustrate 1 If a new health care plan is adopted X 0 If it is not 1 If a new police station is built downtown X 0 If it is not 1 If a particular constraint must hold X 0 If it is not 6 The use of binary variables in constraints Example A decision is to be made whether each of three plants should be built (Yi = 1) or not built (Yi = 0) Requirement Binary Representation At least 2 plants must be built Y1 + Y2 +Y3 2 If plant 1 is built, plant 2 must not be built Y1 + Y2 1 If plant 1 is built, plant 2 must be built Y1 – Y2 One, but not both plants must be built Y1+ Y2 = 1 Both or neither plants must be built Y1 – Y2 =0 Plant construction cannot exceed $17 million given the costs to build plants are $5, $8, $10 million 5Y1+8Y2+10Y3 17 7 Capital Budgeting Problem Stockco Co. is considering four investments It has $14,000 available for investment Formulate an IP model to maximize the NPV obtained from the investments Investment 1 2 3 4 choice Cash $5000 $7000 $4000 $3000 outflow NPV $16000 $22000 $12000 $8000 IP: Maximize z = 16x1 + 22x2 + 12x3 + 8x4 subject to 5x1 + 7x2 + 4x3 + 3x4 14 x1, x2,,x3, x4 0, 1 8 Fixed Charge Problem Gandhi cloth company manufactures three types of clothing: shirts, shorts, and pants Machinery must be rented on a weekly basis to make each type of clothing. Rental Cost: $200 per week for shirt machinery $150 per week for shorts machinery $100 per week for pants machinery There are 150 hours of labor available per week and 160 square yards of cloth Find a solution to maximize the weekly profit Labor hr Cloth yd Price Shirts 3 4 $6 Shorts 2 3 $4 Pants 6 4 $8 9 Fixed Charge Problem (contd.) Decision Variables: x1 = number of shirts produced each week x2 = number of shorts produced each week x3 = number of pants produced each week y1 = 1 if shirts are produced and 0 otherwise y2 = 1 if shorts are produced and 0 otherwise y3 = 1 if pants are produced and 0 otherwise Formulation: Max. z = 6x1 + 4x2 + 8x3 - 200y1 - 150 y2 - 100y3 subject to 3x1 + 2x2 + 6x3 150 4x1 + 3x2 + 4x3 160 x1 M y1, x2 M y2, x3 M y3 x1, x2,,x3 0, and integer; y1, y2,,y3 0 or 1 10 Either-Or Constraints Dorian Auto is considering manufacturing three types of auto: compact, midsize, large. Resources required and profits obtained from these cars are given below. We have 6,000 tons of steel and 60,000 hours of labor available. If any car is produced, we must produce at least 1,000 units of that car. Find a production plan to maximize the profit. Compact Midsize Large Steel Req. 1.5 tons 3 tons 5 tons Labor Req. 30 hours 25 hours 40 hours Profit $2000 $3000 $4000 11 Either-Or Constraints (contd.) Decision Variables: x1, x2, x3 = number of compact, midsize and large cars produced y1, y2, y3 = 1 if compact , midsize and large cars are produced or not Formulation: Maximize z = 2x1 + 3x2 + 4x3 subject to x1 My1; x2 My2; x3 My3 1000 - x1 M(1-y1) 1000 - x2 M(1-y2) 1000 - x3 M(1-y3) 1.5 x1 + 3x2 + 5x3 6000 30 x1 + 25x2 + 40 x3 60000 x1, x2, x3 0 and integer; y1, y2, y3 = 0 or 1 12 Set Covering Problems Western Airlines has decided to have hubs in USA. Western runs flights between the following cities: Atlanta, Boston, Chicago, Denver, Houston, Los Angeles, New Orleans, New York, Pittsburgh, Salt Lake City, San Francisco, and Seattle. Western needs to have a hub within 1000 miles of each of these cities. Determine the minimum number of hubs Cities within 1000 miles Atlanta (AT) AT, CH, HO, NO, NY, PI Boston (BO) BO, NY, PI Chicago (CH) AT, CH, NY, NO, PI Denver (DE) DE, SL Houston (HO) AT, HO, NO Los Angeles (LA) LA, SL, SF New Orleans (NO) AT, CH, HO, NO New York (NY) AT, BO, CH, NY, PI Pittsburgh (PI) AT, BO, CH, NY, PI Salt Lake City (SL) DE, LA, SL, SF, SE San Francisco (SF) LA, SL, SF, SE Seattle (SE) SL, SF, SE 13 Formulation of Set Covering Problems Decision Variables: xi = 1 if a hub is located in city i xi = 0 if a hub is not located in city i Minimize xAT + xBO + xCH + xDE + xHO + xLA + xNO + xNY + xPI + xSL + xSF + xSE AT BO CH DE HO LA NO NY PI SL SF SE Required subject to AT 1 0 1 0 1 0 1 1 1 0 0 0 xAT >= 1 BO 0 1 0 0 0 0 0 1 1 0 0 0 xBO >= 1 CH 1 0 1 0 0 0 1 1 1 0 0 0 xCH >= 1 DE 0 0 0 1 0 0 0 0 0 1 0 0 xDE >= 1 HO 1 0 0 0 1 0 1 0 0 0 0 0 xHO >= 1 LA 0 0 0 0 0 1 0 0 0 1 1 0 xLA >= 1 NO 1 0 1 0 1 0 1 0 0 0 0 0 xNO >= 1 NY 1 1 1 0 0 0 0 1 1 0 0 0 xNY >= 1 PI 1 1 1 0 0 0 0 1 1 0 0 0 xPI >= 1 SL 0 0 0 1 0 1 0 0 0 1 1 1 xSL >= 1 SF 0 0 0 0 0 1 0 0 0 1 1 1 xSF >= 1 SE 0 0 0 0 0 0 0 0 0 1 1 1 xSE >= 1 14 Additional Applications Location of fire stations needed to cover all cities Location of fire stations to cover all regions Truck dispatching problem Political redistricting Capital investments 15 Branch and Bound Algorithm Branch and bound algorithms are the most popular methods for solving integer programming problems They enumerate the entire solution space but only implicitly; hence they are called implicit enumeration algorithms. A general-purpose solution technique which must be specialized for individual IP's. Running time grows exponentially with the problem size, but small to moderate size problems can be solved in reasonable time. 16 Example: s.t. 17 Solved as LP by Simplex method 18 An Example Telfa Corporation makes tables and chairs A table requires one hour of labor and 9 square board feet of wood A chair requires one hour of labor and 5 square board feet of wood Each table contributes $8 to profit, and each chair contributes $5 to profit. 6 hours of labor and 45 square board feet is available Find a product mix to maximize the profit Maximize z = 8x1 + 5x2 subject to x1 + x2 6; 9x1 + 5x2 45; x1, x2 0; x1, x2 integer 19 Feasible Region for Telfa’s Problem Subproblem 1 : The LP relaxation of original Optimal LP Solution: x1 = 3.75 and x2 = 2.25 and z = 41.25 Subproblem 2: Subproblem 1 + Constraint x1 4 Subproblem 3: Subproblem 1 + Constraint x1 3 20 Feasible Region for Subproblems Branching : The process of decomposing a subproblem into two or more subproblems is called branching. Optimal solution of Subproblem 2: z = 41, x1 = 4, x2 = 9/5 = 1.8 Subproblem 4: Subproblem 2 + Constraint x2 2 Subproblem 5: Subproblem 2 + Constraint x2 1 21 Feasible Region for Subproblems 4 & 5 22 The Branch and Bound Tree Subproblem 1 z = 41.25 1 x1 = 3.75 x2 = 2.25 x1 4 x1 3 Subproblem 2 Subproblem 3 z = 41 2 x1 = 4 x2 = 1.8 x2 2 x2 1 Subproblem 4 Subproblem 5 3 Infeasible 4 Optimal solution of Subproblem 5: z = 40.05, x1 = 4.44, x2 = 1 Subproblem 6: Subproblem 5 + Constraint x1 5 Subproblem 7: Subproblem 5 + Constraint x1 4 23 Feasible Region for Subproblems 6 & 7 Optimal solution of Subproblem 7: z = 37, x1 = 4, x2 = 1 Optimal solution of Subproblem 6: z = 40, x1 = 5, x2 = 0 24 The Branch and Bound Tree Subproblem 1 1 z = 41.25 x1 = 3.75 x2 = 2.25 x1 4 x1 3 Subproblem 2 Subproblem 3 z = 41 z = 39 7 2 x1 = 4 x1 = 3 x2 = 1.8 x2 = 3, x2 2 x2 1 Subproblem 5 Subproblem 4 z = 40.55 3 Infeasible 4 x1 = 4.44 x2 = 1 Subproblem 6 Subproblem 7 z = 40 z = 37 6 x1 = 4 5 x1 = 5 x2 = 0, x2 = 1 25 Solving Knapsack Problems Max z = 16x1+ 22x2 + 12x3 + 8x4 subject to 5x1+ 7x2 + 4x3 + 3x4 14 xi = 0 or 1 for all i = 1, 2, 3, 4 LP Relaxation: Max z = 16x1+ 22x2 + 12x3 + 8x4 subject to 5x1+ 7x2 + 4x3 + 3x4 14 0 xi 1 for all i = 1, 2, 3, 4 Solving the LP Relaxation: Order xi’s in the decreasing order of ci/ai where ci are the cost coefficients and ai’s are the coefficients in the constraint ( Here: x1→x2 → x3 → x4) Select items in this order until the constraint is satisfied with equality 26 The Branch and Bound Tree Subproblem 1 z = 44 1 x1 = x 2 = 1 x3 =.5 x3 = 1 x3 = 0 Subproblem 3 Subproblem 2 z = 43.7 z = 43.3, LB=42 2 x1 =x3= 1, 7 x1 = x2=1 x3 = 0, x4 =.67 x2 = .7, x4=0 x2 = 1 x4 = 0 x4 = 1 x2 = 0 3 4 Subproblem 8 Subproblem 9 Subproblem 4 Subproblem 5 z = 38, LB=42 z= 42.85, LB=42 z = 36 z = 43.6 8 x1 = x2=1 9 x1 = x4 =1 x1 = x3=1 x1 =.6, x2=x3=1 x3 = x 4 = 0 x3 = 0, x2 = .85 x2 = 0, x4 =1 x4 = 0, LB = 36 x1 = 0 x1 = 1 Subproblem 6 Subproblem 7 z = 42 LB = 42 5 x1 =0, x2=x3=1 6 Infeasible x4 = 1, LB = 42 27 Strategies of Branch and Bound The branch and bound algorithm is a divide and conquer algorithm, where a problem is divided into smaller and smaller subproblems. Each subproblem is solved separately, and the best solution is taken. Lower Bound (LB): Objective function value of the best solution found so far. Branching Strategy : The process of decomposing a subproblem into two or more subproblems is called branching. 28 Strategies of Branch and Bound (contd.) Upper Bounding Strategy: The process of obtaining an upper bound (UB) for each subproblem is called an upper bounding strategy. Pruning Strategy: If for a subproblem, UB LB, then the subproblem need not be explored further. (Illustrate how to fathom nodes in a search tree ) Searching Strategy: The order in which subproblems are examined. Popular search strategies: LIFO and FIFO. 29 11.6 分枝界限法及其在二位元整數規劃的應用 30 分枝界限法的步驟 分枝 界限 洞悉 31 分枝 32 界限 33 洞悉 34 洞悉測試摘要 35 BIP 分枝界限演算法摘要 36 37 完成例題解題過程 38 39 40 應用分枝界限法的其他選擇 41 11.7 混合整數規劃之分枝界限演算法 42 MIP分枝界限演算法摘要 43 44 45 46 47 48 49 50 51 52 53