Click here to load reader
Embed Size (px)
Transcript of Goal Programming
Chapter 11A 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 ProgrammingConsider 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 integersAn 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/7The following slide shows graphical solution by finding the most attractive lattice point.Integer solution: X1 = 0 X2 = 3 P = 48
Graphical Solutionof Integer ProgramRounding the LP solution generally wont be correct.
Branch-and-Bound MethodConsider 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 integersThe above will be solved as a series of LPs.Problem 1 (fractions okay): XT = 4.2, XC = 9.2, P = 98.8The above is partitioned into two sub-problems (LPs):Problem 2: XT < 4 Problem 3: XT > 5Problem 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.
Problem 1 Graphical Solution
Graphical Solutions toProblems 2 and 3
The Problem TreeThe 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 PointA 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-FarProblem 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 < 9Problem 5 has all Problem 2 constraints plus:XC > 10
Solving More LPs
The Tree Gets PrunedProblem 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 FoundThe 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 > 72X1 + 4X2 - 2X3 > 4 where X1, X2, X3 are non-negative integersThe C of any child is worse than that of its parent.The branching point has smallest C. Prune problems having greater Cs than that of the best-solution-so-far.
Completed Tree forCost Minimization Problem
Solving Integer Programswith QuickQuantConsider 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).
QuickQuant Presents Tree Data in a Log Form
Solution to ExpandedRedwood Furniture Problem
Linear Programmingwith Multiple ObjectivesLinear 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)
Redwood Furniture andThree Separate Goals
Goal ProgrammingLinear programming may be adapted to treat multiple goals simultaneously.The procedure is called goal programming.It begins with goal targets:1. Profit $ 902. Sales revenue $4503. Training time 30 hoursFor some goals, exceeding the target is desirable. For others, lying below is better. And, closeness to target (above or below) may be important.
Goal ProgrammingExtra 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 targetYR+,YR- = deviation of revenue above, below targetYT+,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 program has 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 ProgramRedwoods weights are 1, 2, and .5 for falling below the P, R, and T targets. The resulting goal program is:
Solution To Redwood FurnitureGoal ProgramNotice 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 = 6YP+= 0 YP- = 6YR+= 0 YR- = 0 YT+= 0 YT- = 6C = 9A goal program is just a special type of linear program and solved in the same way.
Solving Integer Programswith SpreadsheetsSpreadsheets 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.