330 likes | 485 Views
Chapter 11. A number of important scheduling problems . . . require the study of an astronomical number of arrangements to determine which one is best. . . . Mathematicians have been working on improved techniques.-- George Dantzig Integer and Goal Programming . Integer Programming.
E N D
Chapter 11 A number of important scheduling problems . . . require the study of an astronomical number of arrangements to determine which one is best. . . . Mathematicians have been working on improved techniques.-- George Dantzig Integer and Goal Programming
Integer Programming • Consider the following integer program. Maximize P = 14X1 + 16X2 Subject to: 4X1 + 3X2< 12 (resource A) 5X1 + 8X2< 24 (resource B) where X1, X2 are non-negative integers • An integer program is just like an LP, but restrict- ting the solution to integers (whole numbers). • When solved as a linear program (allowing fractional values), the following is obtained. LP solution: X1 = 1 5/7 X2 = 1 5/7 P = 51 3/7 • The following slide shows graphical solution by finding the most attractive lattice point. Integer solution: X1 = 0 X2 = 3 P = 48
Graphical Solutionof Integer Program • Rounding the LP solution generally won’t be correct.
Branch-and-Bound Method • Consider a modified Redwood Furniture problem. Maximize P = 6XT + 8XC Subject to: 30XT + 20XC< 310 (wood) 5XT + 10XC< 113 (labor) where XT, XC are non-negative integers • The above will be solved as a series of LPs. • Problem 1 (fractions okay): XT = 4.2, XC = 9.2, P = 98.8 • The above is partitioned into two sub-problems (LPs): • Problem 2: XT < 4 Problem 3: XT > 5 • Problem 1 is the parent problem. • XT is the branching variable. • Each child LP has all constraints of parent LP, plus one more. • The value P = 98.8 is the upper bound on profit.
The Problem Tree • The problem tree gives the genealogy of the LPs being solved. • Each child LP is defined by a constraint involving the branching variable, chosen (arbitrarily) because its value is non-integer. • One child has constraint: branching variable < (largest integer < current value) • The sibling has constraint: branching variable > (smallest integer > current value) • None of the problems have integer restrictions. • Solutions will be found however in which all variables happen to have integers. • The P of the child LP can never be better than that of its parent. Do you know why?
Finding New Branching Point • A problem having one or more non-integer solution values is the next branching point. • It will be the one with greatest P. (Problem 2)
Best-Solution-So-Far • Problem 3 provides an LP solution coinci- dentally involving all integers, making it an integer solution and best-solution-so-far. • Its profit of 94 is the current lower bound on P. • But Problem 2 has a greater P. It is the next parent, with XC as branching variable. • Its 98.4 profit is the current upper bound on P. • Problem 4 has all Problem 2 constraints plus: • XC< 9 • Problem 5 has all Problem 2 constraints plus: • XC> 10
The Tree Gets Pruned • Problem 4 has the new best-solution-so-far. • A problem with worse Ps than that of the best-solution-so-far is pruned from the tree.
Optimal Solution Found • The tree cannot grow further. There is no branching point left. The best-solution-so-far is optimal. • Cost minimization problems are solved similarly with reversed orientation. Consider: Minimize C = 4X1 + 3X2+ 5X3 Subject to: 2X1- 2X2 + 4X3> 7 2X1 + 4X2- 2X3> 4 where X1, X2, X3 are non-negative integers • The C of any child is worse than that of its parent. • The branching point has smallest C. Prune problems having greaterCs than that of the best-solution-so-far.
Solving Integer Programswith QuickQuant • Consider the expanded Redwood Furniture problem. Here there are three table sizes, XTS (small), XTR (regular), and XTL (large), two chairs, XCS (standard) and XCA (armed), and two bookcases, XBS (short) and XBT (tall).
Linear Programmingwith Multiple Objectives • Linear programming has a single objective function. That may be inadequate because: • Two or more goals might apply simultaneously. • Investors try to maximize return and minimize risk. • Objectives can conflict, as with the above. • Each objective may have a different solution. • Consider the original Redwood Furniture problem, with the following objectives. • 1. Maximize P = 6XT + 8XC (profit) • 2. Maximize R = 50XT + 25XC (revenue) • 3. Maximize T = 1XT + 3XC (training time)
Goal Programming • Linear programming may be adapted to treat multiple goals simultaneously. • The procedure is called goal programming. • It begins with goal targets: • 1. Profit $ 90 • 2. Sales revenue $ 450 • 3. Training time 30 hours • For some goals, exceeding the target is desirable. For others, lying below is better. And, closeness to target (above or below) may be important.
Goal Programming • Extra goal deviation variables convert the LP to a goal program. These are weighted according to their relative importance. • YP+,YP- = deviation of profit above, below target • YR+,YR- = deviation of revenue above, below target • YT+,YT- = deviation of training time above, below target • The goals are incorporated into an omnibus objective function minimizing collective weighted deviations from respective targets. • The resulting goal programhas the original constraints and goal deviation constraints. • 1. 6XT + 8XC- (YP+- YP-) = 90 (profit) • 2. 50XT + 25XC- (YR+- YR-) = 450 (revenue) • 3. 1XT + 3XC- (YT+- YT-) = 30 (training)
The Redwood FurnitureGoal Program • Redwood’s weights are 1, 2, and .5 for falling below the P, R, and T targets. The resulting goal program is:
Solution To Redwood FurnitureGoal Program • Notice that only the negative deviation variables are weighted in the objective. • But positive deviations could be given weight if exceeding target was undesirable. • The following solution is obtained. XT = 6 XC = 6 YP+= 0 YP- = 6 YR+= 0 YR- = 0 YT+= 0 YT- = 6 C = 9 • A goal program is just a special type of linear program and solved in the same way.
Solving Integer Programswith Spreadsheets Spreadsheets can be used to solve integer programs just like they are used to solve linear programs.
Formulation Table for Redwood Furniture Co.(Figure 11-9) The formulation table arranges the problem in a tabular format, as shown below.
Linear Programming Spreadsheet(Figure 11-10) 2. This spreadsheet yields the linear programming solution. Note that the optimal values of the decision variables are not integers. 1. The spreadsheet contains the formulas necessary to use Solver. 3. For integer programming, add the integer restriction in the Solver Parameters dialog box in the Subject to the Constraints box, as shown next.
Solver Parameters Dialog Box(Figure 11-11) NOTE: Normally all these entries appear in the Solver Parameter dialog box so you only need to click on the Solve button. However, you should always check to make sure the entries are correct for the problem you are solving. To add the integer restriction, click on the Add button to obtain the Add Constraint dialog box shown next.
The Add Constraints Dialog Box(Figure 11-12) Normally, all these entries already appear. You will need to use this dialog box only if you need to add a constraint. 3. Click the OK button. The word integer in the Constraint line does not need to be entered, it is done automatically. 2. Select int (which is short for integer) for the sign 1. Enter the cell locations of the variables required to be integers in the Cell Reference line, B9:D9 or $B$9:$D$9 in this case. 4. Click Solve in the Solver Parameters dialog box to obtain the integer solution shown next. If you need to change a constraint, the Change Constraint dialog box functions just like this one.
Integer Programming Spreadsheet(Figure 11-13) Note that the optimal values of the decision variables are integers. Bigger integer programs are solved in the same manner as for linear programs, by adding additional rows or columns.
Solving Goal Programswith Spreadsheets Spreadsheets can be used to solve goal programs just like they are used to solve linear programs.
Formulation Table forMaui Miser Car Rentals (Figure 11-16) The formulation table arranges the problem in a tabular format, as shown below for Maui Miser Car Rentals.
Goal Programming Spreadsheet for Maui Miser Rentals (Figure 11-17) 1. The spreadsheet contains the formulas necessary to use Solver. 2. The Solver Parameters dialog box is shown next.
Solver Parameters Dialog Box(Figure 11-18) NOTE: Normally all these entries appear in the Solver Parameter dialog box so you only need to click on the Solve button. However, you should always check to make sure the entries are correct for the problem you are solving. The Solver Parameters dialog box follows the same format as for linear and integer programs. Bigger goal programs are solved in the same manner as for linear programs, by adding additional rows or columns.