150 likes | 258 Views
Linear Programming. Integer Linear Models. When Variables Have To Be Integers. Example – one time production decisions Fractional values make no sense But if ongoing process, fractional values could represent work in progress Example -- building houses or planes, or scheduling crews
E N D
Linear Programming Integer Linear Models
When Variables Have To Be Integers • Example – one time production decisions • Fractional values make no sense • But if ongoing process, fractional values could represent work in progress • Example -- building houses or planes, or scheduling crews • Binary variables • Restricted to be 0 or 1 • Example – Is a plant built?
Types of Integer Programs (ILP) • All Integer Linear Programs (AILP) • All the decision variables are required to be integers • Mixed Integer Linear Programs (MILP) • Only some of the variables are required to be integers • Binary Integer Linear Programs (BILP) • Variables are restricted to be 0 or 1
Example • Boxcar Burger will build restaurants in the suburbs and downtown • Suburbs • Profit $12000/day • $2,000,000 investment • Requires 3 managers • Downtown • Profit $20000/day • $6,000,000 investment • Requires 1 manager • Constraints • $27,000,000 budget • At least 2 downtown restaurants • 19 managers available
Decision Variables/Objective • X1 = Number of restaurants built in suburbs • X2 = Number of restaurants built downtown MAX Expected Daily Profit MAX 12X1 + 20X2(in $1000’s) MAX Expected Daily Profit
Constraints In $1,000,000’s • Cannot invest more than $27,000,000 • At least 2 downtown restaurants • Number of managers used cannot exceed 19 Total Amount Invested Cannot Exceed 27 27 2X1 + 6X2 ≤ # downtown restaurants Must be At least 2 2 X2 ≥ # Managers used Cannot Exceed 19 19 3X1 + 1X2 ≤
The Complete Model MAX 12000X1 + 20000X2 s.t. 2X1 + 6X2 27 (Budget) X2 2(Downtown) 3X1 + X2 19 (Managers) Both X’s 0 Both X’s INTEGER!
The Linear Programming Feasible Region X2 6 5 4 3 2 1 0 Max 12X1 + 20X2 LPFeasibleRegion 2X1 + 6X2≤ 27 3X1 + 1X2≤ 19 X2≥ 2 Rounded off 3X1 + 1X2≤ 19 2X1 + 6X2≤ 27 (5,3) Roundedup 12X1 + 20X2 (6,3) X2≥ 2 (5,2) Rounded down FEASIBLEObjective Value = 100 LP Optimum(5 7/16, 2 11/16)Obj. Value = 119 5 3 1 4 6 2 X1, X2≥ 0 X1
The Integer Programming Feasible Region X2 6 5 4 3 2 1 0 Max 12X1 + 20X2 ILP Optimum(4,3)OBJ. VALUE = 108 2X1 + 6X2≤ 27 X2≥ 2 2X1 + 6X2≤ 27 12X1 + 20X2 X1, X2 integer X2≥ 2 3 5 1 4 6 2 3X1 + 1X2≤ 19 3X1 + 1X2≤ 19 X1, X2≥ 0 X1
Why Not Round To Get the Optimal Integer Solution? • Rounding may yield the optimal integer solution • None did in this example • But it may yield an infeasible solution • Both (5,3) and (6,3) are infeasible solutions • Or a feasible solution that is not optimal • (5,2) is feasible but not optimal • Many times a feasible rounded point gives a “good” solution (giving close to the optimal value of the objective function) -- BUT NOT ALWAYS
General Facts About Integer Models • The solution time to solve integer models is longer than that of linear programs • Because many linear programs are solved en route to obtaining an optimal integer solution • For maximization models, the optimal value of the objective function will be less (or at least not greater than) the value for the equivalent linear model • Because constraints have been added – the integer constraints • There is no sensitivity analysis • Because the feasible region is not continuous
Solving ILP’s Using SOLVER • The only change in SOLVER is to add the integer constraints • In the Add Constraints dialogue box, highlight the cells required to be integer and choose “int” from the pull down menu for the sign
Optimal Build 4 Suburban Restaurants Build 3 Downtown Restaurants Average Daily Profit $108,000
Review • When to use integer models • Why rounding will not always work • Solution time • No sensitivity analysis • Objective function value cannot improve • SOLVER solution approach