Download presentation
Presentation is loading. Please wait.
Published byKya Capstick Modified over 9 years ago
1
BA 452 Lesson B.3 Integer Programming 11ReadingsReadings Chapter 7 Integer Linear Programming
2
BA 452 Lesson B.3 Integer Programming 22OverviewOverview
3
33Overview Rounding Off solutions in continuous variables to the nearest integer (like 2.67 rounded off to 3) is an unreliable way to solve a linear programming problem when decision variables should be integers. Sensitivity Analysis with Integer Variables is more important than with continuous variables because a small change in a constraint coefficient can cause a relatively large change in the optimal solution. Assignment Problems with Valuable Time minimize the total time of assigning workers to jobs. Minimizing total time is appropriate when each worker has the same value of time. Assignment Problems with Supply and Demand are Transportation Problems of suppliers to demanders except that each demand is assigned to exactly one supplier.
4
BA 452 Lesson B.3 Integer Programming 44 Tool Summary n Do not make integer restrictions, and maybe the variables at an optimum will be integers. First Example: P i = (integer) number of producers in month i. First Example: P i = (integer) number of producers in month i. n Use compound variables: First Example: P i = number of producers in month i First Example: P i = number of producers in month i n Use dynamic or recursive constraints: First Example: Define the constraint that the number of apprentices in a month must not exceed the number of recruits in the previous month: A 2 - R 1 < 0; A 3 - R 2 < 0 First Example: Define the constraint that the number of apprentices in a month must not exceed the number of recruits in the previous month: A 2 - R 1 < 0; A 3 - R 2 < 0 n Constrain one variable to be a proportional to another variable: First Example: Define the constraint that each trainer can train two recruits: 2T 1 - R 1 > 0; 2T 2 - R 2 > 0 First Example: Define the constraint that each trainer can train two recruits: 2T 1 - R 1 > 0; 2T 2 - R 2 > 0 n Use inventory variables: Second Example: P2 + I1–I2 = 150 (production-net inventory = demand) Second Example: P2 + I1–I2 = 150 (production-net inventory = demand)Overview
5
BA 452 Lesson B.3 Integer Programming 55 Tool Summary n Use binary variables to model fixed cost constraints. For example, consider a linear programming problem with a constraint For example, consider a linear programming problem with a constraint M1 < 15M1 < 15 Introduce binary variable U1 and constraints: Introduce binary variable U1 and constraints: M1 > 5 U1M1 > 5 U1 15U1 > M115U1 > M1 Then, U1 = 1 if M1 > 0, and either M1 = 0 or M1 > 5. Then, U1 = 1 if M1 > 0, and either M1 = 0 or M1 > 5. n Do not try to solve an integer linear program by rounding off (up or down) a solution to the problem without integer constraints. Rather, graph all feasible integer solutions and use iso-value linear, or use the Management Scientist module. Tool Summary
6
BA 452 Lesson B.3 Integer Programming 66 Rounding Off
7
BA 452 Lesson B.3 Integer Programming 77 Overview Rounding Off solutions in continuous variables to the nearest integer (like 2.67 rounded off to 3) is an unreliable way to solve a linear programming problem when decision variables should be integers. Rounding Off
8
BA 452 Lesson B.3 Integer Programming 88 n A LP in which all the variables are restricted to be integers is called an all-integer linear program (ILP). n The LP that results from dropping the integer requirements is called the LP Relaxation of the ILP. n If only a subset of the variables are restricted to be integers, the problem is called a mixed-integer linear program (MILP). n Binary variables are variables whose values are restricted to be 0 or 1. If all variables are restricted to be 0 or 1, the problem is called a 0-1 or binary integer linear program. Rounding Off
9
BA 452 Lesson B.3 Integer Programming 99 n Solve the following all-integer linear program, and compare that solution to the problem where the decision variables do not have to be integers: Max 3x 1 + 2x 2 Max 3x 1 + 2x 2 s.t. 3x 1 + x 2 < 9 s.t. 3x 1 + x 2 < 9 x 1 + 3x 2 < 7 x 1 + 3x 2 < 7 -x 1 + x 2 < 1 -x 1 + x 2 < 1 x 1, x 2 > 0 and integer x 1, x 2 > 0 and integer Rounding Off
10
BA 452 Lesson B.3 Integer Programming 1010 n LP Relaxation. If we drop the integer constraints, we can graph the optimal solution to the linear program. And the optimal solution has fractional values: x 1 = 2.5, x 2 = 1.5, Max 3x 1 + 2x 2 = 10.5 Max 3x 1 + 2x 2 s.t. 3x 1 + x 2 < 9 x 1 + 3x 2 < 7 x 1 + 3x 2 < 7 -x 1 + x 2 < 1 -x 1 + x 2 < 1 x 1, x 2 > 0 and integer x 1, x 2 > 0 and integer LP Optimal (2.5, 1.5) Max 3x 1 + 2x 2 Max 3x 1 + 2x 2 x 1 + x 2 < 1 x2x2x2x2 x1x1x1x1 3x 1 + x 2 < 9 x 1 + 3x 2 < 7 x 1 + 3x 2 < 7 1 2 3 4 5 6 7 1 3 2 5 4 Rounding Off
11
BA 452 Lesson B.3 Integer Programming 1111 n Rounding Up. If we round up the fractional solution (x 1 = 2.5, x 2 = 1.5) to the previous relaxed LP problem, we get x 1 = 3 and x 2 = 2. But the graph shows those values are infeasible. Max 3x 1 + 2x 2 s.t. 3x 1 + x 2 < 9 x 1 + 3x 2 < 7 x 1 + 3x 2 < 7 -x 1 + x 2 < 1 -x 1 + x 2 < 1 x 1, x 2 > 0 and integer x 1, x 2 > 0 and integer ILP Infeasible (3, 2) ILP Infeasible (3, 2) LP Optimal (2.5, 1.5) Max 3x 1 + 2x 2 Max 3x 1 + 2x 2 x 1 + x 2 < 1 x2x2x2x2 x1x1x1x1 3x 1 + x 2 < 9 x 1 + 3x 2 < 7 x 1 + 3x 2 < 7 1 2 3 4 5 6 7 1 3 2 5 4 Rounding Off
12
BA 452 Lesson B.3 Integer Programming 1212 n Rounding Down. By rounding the non-integer solution down to x 1 = 2, x 2 = 1, we have a feasible solution, with objective function 3x 1 + 2x 2 = 8. But that solution is not optimal for the integer program. Max 3x 1 + 2x 2 s.t. 3x 1 + x 2 < 9 x 1 + 3x 2 < 7 x 1 + 3x 2 < 7 -x 1 + x 2 < 1 -x 1 + x 2 < 1 x 1, x 2 > 0 and integer x 1, x 2 > 0 and integer ILP Optimal (3, 0) Max 3x 1 + 2x 2 Max 3x 1 + 2x 2 x 1 + x 2 < 1 x2x2x2x2 x1x1x1x1 3x 1 + x 2 < 9 x 1 + 3x 2 < 7 x 1 + 3x 2 < 7 1 2 3 4 5 6 7 1 3 2 5 4 n Optimal ILP solution. The optimal ILP solution (3,0) is not the closest feasible point to the non-integer solution (2.5,1.5). Rounding Off
13
BA 452 Lesson B.3 Integer Programming 1313 x 1 x 2 3x 1 + 2x 2 x 1 x 2 3x 1 + 2x 2 1. 0 0 0 1. 0 0 0 2. 1 0 3 2. 1 0 3 3. 2 0 6 3. 2 0 6 4. 3 0 9 optimal solution 4. 3 0 9 optimal solution 5. 0 1 2 5. 0 1 2 6. 1 1 5 6. 1 1 5 7. 2 1 8 7. 2 1 8 8. 1 2 7 8. 1 2 7 Max 3x 1 + 2x 2 s.t. 3x 1 + x 2 < 9 x 1 + 3x 2 < 7 x 1 + 3x 2 < 7 -x 1 + x 2 < 1 -x 1 + x 2 < 1 x 1, x 2 > 0 and integer x 1, x 2 > 0 and integer n Exhaustive Search. One way to solve the integer linear program is to evaluate the objective function at each feasible solution. There are 8 alternative feasible solutions in Example 1. Rounding Off
14
BA 452 Lesson B.3 Integer Programming 1414 Max 3x 1 + 2x 2 s.t. 3x 1 + x 2 < 9 x 1 + 3x 2 < 7 x 1 + 3x 2 < 7 -x 1 + x 2 < 1 -x 1 + x 2 < 1 x 1, x 2 > 0 and integer x 1, x 2 > 0 and integer Rounding Off
15
BA 452 Lesson B.3 Integer Programming 1515 Max 3x 1 + 2x 2 s.t. 3x 1 + x 2 < 9 x 1 + 3x 2 < 7 x 1 + 3x 2 < 7 -x 1 + x 2 < 1 -x 1 + x 2 < 1 x 1, x 2 > 0 and integer x 1, x 2 > 0 and integer ILP Optimal (3, 0) Rounding Off
16
BA 452 Lesson B.3 Integer Programming 1616 Sensitivity Analysis with Integer Variables
17
BA 452 Lesson B.3 Integer Programming 1717 Overview Sensitivity Analysis with Integer Variables is more important than Sensitivity Analysis with Continuous Variables because a small change in a constraint coefficient can cause a relatively large change in the optimal solution, and in the objective-function value of the optimal solution. Sensitivity Analysis with Integer Variables
18
BA 452 Lesson B.3 Integer Programming 1818 n Sensitivity analysis often is more crucial for ILP problems than for LP problems. n A small change in a constraint coefficient can cause a relatively large change in the optimal solution, and the objective-function value of the optimal solution. n Recommendation: Resolve the ILP problem several times with slight variations in the coefficients before choosing the “best” solution for implementation. Sensitivity Analysis with Integer Variables
19
BA 452 Lesson B.3 Integer Programming 1919 Sensitivity Analysis Max 3x 1 + 2x 2 = 9 at old optimum (3,0) x2x2x2x2 x1x1x1x1 1 2 3 4 5 6 7 1 3 2 5 4 Max 3x 1 + 2x 2 = 10 at new optimum (2,2) A small change in the constraints (adding the red feasible area) can cause a jump in the objective function at the optimum, from 9 to 10.
20
BA 452 Lesson B.3 Integer Programming 2020 Assignment with Valuable Time
21
BA 452 Lesson B.3 Integer Programming 2121 Overview Assignment Problems with Valuable Time minimize the total time of assigning workers to jobs. Minimizing total time is appropriate when each worker has the same value of time. Assignment with Valuable Time
22
BA 452 Lesson B.3 Integer Programming 2222 Question: The NPD Group is a market research firm with three clients that each request the firm conduct a sample survey. Four statisticians can be assigned to these three projects; however, all four are busy, and therefore can handle only one client. The following are the number of hours required for each statistician to complete each job. The differences in time are based on experience and ability of the statisticians. Assignment with Valuable Time Client A Client B Client C Statistician 1 150210270 Statistician 2 170230220 Statistician 3 180230225 Statistician 4 160240230
23
BA 452 Lesson B.3 Integer Programming 2323 What is the most natural objective function for the firm to optimize? Formulate the firm’s optimization problem. Are there any implicit assumptions in your formulation? Assignment with Valuable Time
24
BA 452 Lesson B.3 Integer Programming 2424 Answer: Linear programming formulation (supply inequality, demand equality). n Variables: Xij = 1 if Statistician i is assigned to Client j, else 0 n Objective (minimize time, assuming all time values equal): Min 150X11 + 210X12 + 270X13 + 170X21 + 230X22 + 220X23 + 180X31 + 230X32 + 225X33 + 160X41 + 240X42 + 230X43 + 180X31 + 230X32 + 225X33 + 160X41 + 240X42 + 230X43 n Supply Constraints (Statisticians to at most 1 Client): X11 + X12 + X13 < 1, X21 + X22 + X23 < 1, X31 + X32 + X33 < 1, X41 + X42 + X43 < 1 n Demand Constraints (each Client served): X11 + X21 + X31 + X41 = 1 X12 + X22 + X32 + X42 = 1 X13 + X23 + X33 + X43 = 1 Assignment with Valuable Time
25
BA 452 Lesson B.3 Integer Programming 2525 Assignment with Supply and Demand
26
BA 452 Lesson B.3 Integer Programming 2626 Overview Assignment Problems with Supply and Demand are Transportation Problems of suppliers to demanders except that each demand is assigned to exactly one supplier. Assignment with Supply and Demand
27
BA 452 Lesson B.3 Integer Programming 2727 Question: Dow Chemical uses the chemical Rbase in production operations at five divisions. Only six suppliers of Rbase meet Dow’s quality standards. The quantity of Rbase needed by each Dow division and the price per gallon charged by each supplier are as follows: Assignment with Supply and Demand Price per Gallon ($) Sup 112.60 Sup 214.00 Sup 310.20 Sup 414.20 Sup 512.00 Sup 613.00 Demand (1000s of gallons) Div 140 Div 245 Div 350 Div 435 Div 545
28
BA 452 Lesson B.3 Integer Programming 2828 The cost per gallon ($) for shipping from each supplier to each division are as follows: Assignment with Supply and Demand CijDiv 1Div 2Div 3Div 4Div 5 Sup 12.750.804.702.603.40 Sup 22.500.202.601.800.40 Sup 33.155.405.304.405.00 Sup 42.801.202.802.401.20 Sup 52.753.406.005.002.60 Sup 62.751.005.602.803.60
29
BA 452 Lesson B.3 Integer Programming 2929 Dow wants to diversify by spreading its business so that each division’s demand is assigned to exactly one supplier. Formulate the optimal assignment of suppliers to divisions as a linear-programming problem. Assignment with Supply and Demand
30
BA 452 Lesson B.3 Integer Programming 3030 Answer: Linear programming formulation (supply inequality, demand equality). n Variables: Xij = 1 if Supplier i is assigned to Division j, else 0 n Assignment Costs n The total cost is the sum of the purchase cost and the transportation cost. n Supplier 1 assigned to Division 1 (cost in $1000s): n Purchase cost: (40 x $12.60) = $504 n Transportation Cost: (40 x $2.75) = $110 n Total Cost: $614 Assignment with Supply and Demand
31
BA 452 Lesson B.3 Integer Programming 3131 n Assignment Costs: Cij = Cost of assigning Supplier i to Division j CijDiv 1Div 2Div 3Div 4Div 5 Sup 1614603865532720 Sup 2660639830553648 Sup 3534702775511684 Sup 4680693850581693 Sup 5590693900595657 Sup 6630 930553747 Assignment with Supply and Demand
32
BA 452 Lesson B.3 Integer Programming 3232 Linear programming formulation (supply inequality, demand equality). n Objective (minimize cost): Min Cij Xij n Demand Constraints (since each division’s demand is assigned to exactly one supplier): X11 + X21 + X31 + X41 + X51 + X61 = 1 X12 + X22 + X32 + X42 + X52 + X62 = 1 X13 + X23 + X33 + X43 + X53 + X63 = 1 X14 + X24 + X34 + X44 + X54 + X64 = 1 X15 + X25 + X35 + X45 + X55 + X65 = 1 Assignment with Supply and Demand
33
BA 452 Lesson B.3 Integer Programming 3333 Optional: There is no mention of supply constraints, which are common in assignment problems. Here is what those common constraints would be in this problem. n Supply Constraints (Each supplier can supply at most 1 Division): X11 + X12 + X13 + X14 + X15 < 1 X21 + X22 + X23 + X24 + X25 < 1 X31 + X32 + X33 + X34 + X35 < 1 X41 + X42 + X43 + X44 + X45 < 1 X51 + X52 + X53 + X54 + X55 < 1 X61 + X62 + X63 + X64 + X65 < 1 Assignment with Supply and Demand
34
BA 452 Lesson B.3 Integer Programming 3434 BA 452 Quantitative Analysis End of Lesson B.3
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.