210 likes | 850 Views
Linear Goal Programming. What is Goal Programming?. Single objective in formulating LPs so far Max profit Min cost Several simultaneous objectives in practice Max profit Increase reliability Improve employee morale Improve company’s image
E N D
What is Goal Programming? • Single objective in formulating LPs so far • Max profit • Min cost • Several simultaneous objectives in practice • Max profit • Increase reliability • Improve employee morale • Improve company’s image • Goal programming: a way of solving multi-objective problems
Categorization of Goal Programming • Nonpreemptive goal programming • Goals with roughly same importance • Assign weights to goals • Construct a single objective function to minimize the weighted sum of deviations from goals • Preemptive goal programming • Hierarchy of priority levels for goals • 1st priority is to satisfy goal 1 • 2nd priority is to satisfy goal 2, etc. • Solve sequentially
Three Possible Types of Goals • A lower, one-sided goal • a1 x1 + a2 x2 + … + an xn≥ b • example: profit exceeds some threshold • An upper, one-sided goal • a1 x1 + a2 x2 + … + an xn≤ b • example: cost less than some value • A two-sided goal • a1 x1 + a2 x2 + … + an xn= b • example: production equal to forecasted demand
Dewright Company Example – Nonpreemptive Goal Programming • The Dewright Company is considering three new products to replace current models that are being discontinued, so their OR department has been assigned the task of determining which mix of these products should be produced. Management wants primary consideration given to three factors: long-run profit, stability in the workforce, and the level of capital investment that would be required now for new equipment. In particular, management has established the goals of (1) achieving a long-run profit of at least $125 million from these products, (2) maintaining the current employment level of 4000 employees, and (3) holding the capital investment to less than $55 million. However, management realizes that it probably will not be possible to attain all these goals simultaneously, so it has discussed priorities with the OR department. This discussion has led to setting penalty weights of 5 for missing the profit goal (per $1 million under), 2 for going over the employment goal (per 100 employees), 4 for going under this same goal, and 3 for exceeding the capital investment goal (per $1 million over). Each new product’s contribution to profit, employment level, and capital investment level is proportional to the rate of production. These contributions per unit rate of production are shown in the following table, along with the goals and penalty weights.
Dewright Company Example (Cont’d) • Decision variables x1: production rate of product 1 x2: production rate of product 2 x3: production rate of product 3 • Three goals Profit goal: 12 x1 + 9 x2 + 15 x3≥ 125 (lower one-sided goal) Employment goal: 5 x1 + 3 x2 + 4 x3 = 40 (two-sided goal) Investment goal: 5 x1 + 7 x2 + 8 x3 ≤ 55 (upper one-sided goal) • Objective function: Min Z = 5(12 x1 + 9 x2 + 15 x3– 125)- + 2(5 x1 + 3 x2 + 4 x3 – 40)+ + 4(5 x1 + 3 x2 + 4 x3 – 40)- + 3(5 x1 + 7 x2 + 8 x3 – 55)+ where x if x ≥ 0 0 if x > 0 x+ = x- = 0 if x < 0 - x = |x| if x ≤ 0
Dewright Company Example (Cont’d) • To put into a proper LP form Let y1 = 12 x1 + 9 x2 + 15 x3– 125 y2 = 5 x1 + 3 x2 + 4 x3 – 40 y3 = 5 x1 + 7 x2 + 8 x3 – 55 and y1 = y1+ - y1- and y1+ ≥ 0, y1- ≥ 0 y2 = y2+ - y2- and y2+ ≥ 0, y2- ≥ 0 y3 = y3+ - y3- and y3+ ≥ 0, y3- ≥ 0
Dewright Company Example (Cont’d) • Final LP for nonpreemptive goal programming: Min Z = 5 y1- + 2 y2+ + 4 y2- + 3 y3+ subject to 12 x1 + 9 x2 + 15 x3 – (y1+ - y1-) = 125 5 x1 + 3 x2 + 4 x3 – (y2+ - y2- ) = 40 5 x1 + 7 x2 + 8 x3 – (y3+ - y3- ) = 55 xi, yi+, yi- ≥ 0 i=1,2,3 add any other functional constraints too
Dewright Company Example (Cont’d) • Optimal solution: x1 = 25/3 x2 = 0 x3 = 5/3 y1+ = y1- = 0 → y1 = 0 → 1st goal is satisfied y2+ = 25/3, y2-= 0 → y2 = 25/3 → 2nd goal exceeds employment level by 25/3 hundred employees y3+ = y3- = 0 → y3 = 0 → 3rd goal is satisfied
Modified Dewright Company Example - Preemptive Goal Programming
Modified Dewright Company Example -Preemptive Goal Programming (Cont’d) • 1st LP: Min Z = 2M y2+ + 3M y3+ subject to 5 x1 + 3 x2 + 4 x3 – (y2+ - y2- ) = 40 5 x1 + 7 x2 + 8 x3 – (y3+ - y3- ) = 55 xi≥ 0 i=1,2,3, yi+, yi- ≥ 0 i=2,3 There are multiple optimal solutions with y2+ = 0 and y3+ = 0. To get 2nd LP, drop y2+, y3+ forcing those goals to remain satisfied, also add 2nd priority constraints
Modified Dewright Company Example -Preemptive Goal Programming (Cont’d) • 2nd LP: Min Z = 5 y1- + 4 y2- subject to 12 x1 + 9 x2 + 15 x3 – (y1+ - y1-) = 125 5 x1 + 3 x2 + 4 x3 + y2- = 40 5 x1 + 7 x2 + 8 x3 + y3- = 55 xi≥ 0 i=1,2,3, y1+, y1-, y2-, y3- ≥ 0 There is a unique solution: x1 = 5, x2 = 0, x3 = 15/4, y1+ = 0, y1- = 35/4, y2- = 0 and y3- = 0.
Dewright Company Example: Compare the two solutions • Solution by nonpreemptive goal programming: (x1, x2, x3 ) = (25/3, 0, 5/3) 12 x1 + 9 x2 + 15 x3 = 125 profit 5 x1 + 3 x2 + 4 x3 = 48.33 employment 5 x1 + 7 x2 + 8 x3 = 55 capital investment • Solution by preemptive goal programming: (x1, x2, x3 ) = (5, 0, 15/4) 12 x1 + 9 x2 + 15 x3 = 116.25 profit 5 x1 + 3 x2 + 4 x3 = 40 employment 5 x1 + 7 x2 + 8 x3 = 55 capital investment
Camyo Manufacturing Example • Camyo Manufacturing produces four parts that require the use of a lathe and a drill press. The two machines operate 10 hours a day. The following table provides the time in minutes required by each part: It is desired to balance the use of the two machines by requiring the difference between their total operation times not to exceed 30 minutes. The market demand limits the number of units produced of each part to at least 10 units. Additionally, the number of units of part 1 may not exceed that of part 2.
Camyo Manufacturing Example (Cont’d) • Decision variables xi = number of parts produced per day of type i, i=1, 2, 3, 4 • Operation time goal: • Difference between the time on machine 1 (lathe) and time on machine 2 (drill press) is not to exceed 30 minutes: |time1 – time2| ≤ 30 -30 ≤ time1 – time2 ≤ 30 time1 = 5 x1 + 6 x2 + 4 x3 + 7 x4 lathe time2 = 3 x1 + 2 x2 + 6 x3 + 4 x4 drill press -30 ≤ (5 x1 + 6 x2 + 4 x3 + 7 x4)– (3 x1 + 2 x2 + 6 x3 + 4 x4) ≤ 30 -30 ≤ 2 x1 + 4 x2 - 2 x3 + 3 x4 ≤ 30
Camyo Manufacturing Example (Cont’d) • Final LP for nonpreemptive goal programming: Min Z = y1+ + y2- subject to 5 x1 + 6 x2 + 4 x3 + 7 x4≤ 600 lathe, 600 min in a day 3 x1 + 2 x2 + 6 x3 + 4 x4≤ 600 drill press, 600 min a day x1≥ 10 x2 ≥ 10 x3 ≥ 10 x4 ≥ 10 x1 - x2 ≤ 0 2 x1 + 4 x2 - 2 x3 + 3 x4– (y1+ - y1-) = 30 time1 - time2 ≤ 30 2 x1 + 4 x2 - 2 x3 + 3 x4– (y2+ - y2-) = -30 time1 - time2 ≥ -30 xi≥ 0, i=1, 2, 3, 4 yi+ ≥ 0, yi- ≥ 0, i=1, 2 demand must exceed 10 units