Sei sulla pagina 1di 16
CHAPTER 8 Goal Programming Chapter Guide. The LP models presented in the preceding chapters are based on the optimization of a single objective function, There are situations where multiple (con- {Micting) objectives may be more appropriate. For example, politicians promise to re- duce the national debt and, simultaneously, offer income tax relief. In such situations it is impossible to find a single solution that optimizes these two conflicting goals. What goal programming does is seek a compromise solution based on the relative impor- tance of eack objective, ‘The main prerequisite for this chapter is a basic understanding of the simplex method. There are two methods for solving goal progeamis: The weights method forms a Single objective function consisting of the weighted sum of the goals and the Preemptive method optimizes the goals one at a time starting with the highest-priority Boal and terminating with the lowest, never degrading the quality of a higher:priorty goal. The solution using the weights method is just like any ordinary linear program, The preemptive method entails “additional” algorithmic considerations that are very ‘much within the realm of the simplex method of Chapter 3. The chapter includes an AMPL model that applies the preemptive method interactively to any goal program, simply by changing the input data, You are encouraged to study this model because it Will assist you in understanding the details of the preemptive method. ‘This chapter includes a summary of 1 real-life application, 4 solved examples, 1 AMPL model, 25 end-of-section problems, and 2 cases. The cases are in Appendix E on the CD. The AMPL/Excel/Solver/TORA programs are in folder ch8Files. Real-Life Application—Allocation of Operating Room Time in Mount Sinai Hospital ‘The situation takes place in Canada where health care insurance is mandatory and uni- Versal. Funding, which is based on a combination of premiums and taxes, is controlled by the individual provinces. Under this system, hospitals are advanced a fixed anuuat budget and each province pays physicians retrospectively using a fee-for-service fund- ing mechanism. This funding arrangement limits the availability of hospital facilities (eg, operating rooms), which in turn would curb physicians’ tendency to boost personal 333 334 841 Chapter — Goal Programming gain through overservice to patients. The objective of the study is to determine an eq- uitable daily schedule for the use of available operating rooms. The problem is mod- eled using a combination of goal and integer programming, Case 6 in Chapter 24 on the CD provides the details of the study. A GOAL PROGRAMMING FORMULATION ‘The idea of goal programming is illustrated by an example. Example 87-7 (Tax Planning)" Fairville is a small city with a population of about 20,000 residents. The city council is in the process of developing an equitable city tax rate table. The annual taxation base for real estate property is $550 million. The annual taxation bases for food and drugs aad for general sales are $35 million and $55 million, respectively. Annual locai gasoline consumption is estimated at 7.5 million gallons. The city councif wants to develop the tax rates based on four main goals. L. Tax revenues must be at least $16 million to meet the city’s financial commitments, 2, Food and drug taxes cannot exceed 10% of all taxes collected 3. General sales taxes cannot exceed 20% of all taxes collected, 4, Gasoline tax cannot exceed 2 cents per gallon, Let the variables x», x,, and x, represent the tax rates (expressed as proportions of taxation bases) for property, food and drug, and general sales, and define the variable x, as the gasoline tax in cents per gallon, The goals of the city council are then expressed as. 50x, + 35xy + 55c, + OTSx,= 16 (Tax revenue) 5 1(550x, + 35xy + 55x5 + .075x,) _ (Food/drug tax) 55x, = 2(550x, + 35x, + 55x, + 075x,) (General tax) 52 (Gasoline tax) Xp kp Xnty =O These constraints are then simplified as 550xp + 35xy + 55x, + O75x, 2 16 S5xy ~ 31Sxy + 55x, + 0075x, = 0 10x, + 7x; — 44x, + 015x, = 0 Xpu¥ps og =O "This example is based on Chissman and Associates, 1989. 8.1 AGoal Programming Formulation 335 Each of the inequalities of the model represents a goal that the city council aspires to satis- fy. Most likely, however, the best that can be done is a compromise solution among these con- Bicting goals. ‘The manner in which goal programming finds a compromise solution is to convert each in- quality into a exible goal in which the corresponding constraint may be violated, if necessary. {In terms of the Fairville model, the flexible goals are expressed as follows: S50xy + 35xy + 55x, + O7Sxy + 57 - sf = 16 S5xp ~ B1Sxy + 55x, + O07Sx, + 5; - sf = 0 MOx, + Ixy ~ 442, + O1Sx, + 55 - 3 = 0 xy tsi-sh=2 0 Em XpiXn Xe Fes} = 08 1,2,3,4 The nonnegative variables s7 and si, i = 1,2,3,4, are called deviational variables because they represent the deviations below and above the right-hand side of constraint i. ‘The deviational variables 57 and sj are by definition dependent, and hence cannot be basic variables simultaneously. This means that in any simplex iteration, at most one of the two deviational variables can assume a positive value. If the original ith inequality is of the type and its 5; > 0, then the ith goal is satisfied; otherwise, if s7 >> 0, goal fis not satisfied, In essence, the definition of sj and 5 alfows meeting or violating the ith goal at will. This is the type of flexibitity that characterizes goal programming when it seeks a compromise solu, fion. Naturally, a good compromise solution aims at minimizing, as much as possible, the amount by which each goal is violated. In the Fairville model, given that the first three constraints are of the type = and the fourth constraint is of the type =, the deviational variables 57,7, s5 and sf (shown in the model in bold) represent the amounts by which the respective goals are violated, Thus, the compromise Solution tries to satisfy the following four objectives as much as possible: Minimize Gy Minimize G; Minimize G, = 55 Minimize Gy = sf ‘These functions are minimized subject to the constraint equations of the model. How can we optimize a multiobjective model with possibly conflicting goals? Two methods have been developed for this purpose: (1) the weights method and (2) the pre. emptive method. Both methods, which are based on converting the multiple objectives into a single function, are detailed in Section 8.2. 336 Chapter 8 Goal Programming i PROBLEM SET 8.18 +1, Formulate the Fairville tax problem, assuming that the town! council is specifying an addli- tional goal, Gs, that requires gasoline tax to equal at least 10% of the total tax bill i 2. ‘The NW Shopping Mall conducts special events to attract potential patrons, Among the i events that seem to attract teenagers, the young/middle-aged group, and senior citizens, the two most popular are band concerts and art shows. Their costs per presentation are {$1500 and $3000, respectively. The total (strict) annual budget allocated to the two events is $15,000. The mall manager estimates the attendance as follows: ‘Number attending pet presentation Event Teenagers Youngémiddle age Seniors Band concert 200 100 0 Art show 0 400 250 Astshow 8 i “The manager has set minimum goals of 1000, 1200, and 800 for the attendance of : teenagers the youngimidale-aged group, and seniors respectively. Formulate the problem i as. goal programming model, 43. Ozark University admission office is processing freshman applications for the upcoming ‘cademic year. The applications fall into three categories: in-state, out-of-state, and inter- ational. The male-female ratios for in-state and out-of-state applicants are 1:1 and 3:2, respectively. For international students, the corresponding ratio is 8:1. The American Col- {ege Test (ACT) score isan important factor in accepting new students The statistics gathered by the university indicate thatthe average ACT scores for in-state, out-of-state, gad international students are 27,26, ané.23, respectively. The committee on admissions hhas established the following desirable goals for the new freshman class: (a) The incoming class is a least 1200 freshmen. (b) The average ACT score for all incoming students is atleast 25. (©) International students constitute at least 10% of the incoming class (a) ‘Tre female-male ratio is atleast 34 3 (e) Out-of-state students constitute at least 20% of the incoming class Formulate the problem as a goal programming model, 4. Circle K farms consumes 3 tons of special feed daily. The feed—a mixtore af limestone, corn, and soybean meal—must satisfy the following nutritional requirements: Calcium. At ieast 0.8% but not more than 1.2% Protein. Atleast 22%. Fiber. At most5% ‘The following table gives the nutrtionsl eoatent of the feed ingredients, 1b per Ib of ingredient Ingredient Calcium — Provein ‘Fiber eee Limestone 380 00 0 Com. oO 09 2 Soybean meal 2 50 08 Sovtean net 5, 8.1 AGoal Programming Formulation 337 Formulate the problem as a goal programming model, and state your opinion regarding the applicability of goal programming to this situation. ‘Mantel produces a toy carriage, whose final assembly must include four wheels and cwo seals. The factory producing the parts operates three shifts a day. The following table pro- vides the amounts produced of each part in the three shifts. Units produced per run Shift Wheels Seats 1 soo 300 2 600 280 3 640 360 Ideally, the number of wheels produced is exactly twice that of the number of seats. How- ever, because production rates vary from shift to shift, exact balance in production may not be possible, Mantel is interested in determining the number of production rans in each shift that minimizes the imbatance in the production of the parts, The capacity limi- tations restrict the number of runs to between 4 and 5 for shift 1, 10 and 20 for shift 2, and 3 and 5 for shift 3. Formulate the problem as a goal programming model 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: Production time in min Part Lathe Drill press 1 3 3 2 6 2 3 4 6 4 7 4 Itis desired to balance the two machines by limiting the difference between their total operation times to at most 30 minutes. The market demand for each partis et least 10 units. Additionally, the number of units of part 1 may not exceed that of part 2. Formu- late the problem as a goal programming model. ‘Two products are manufactured on two sequential machines. The following table gives ‘he machining times in minutes per unit for the two products. ‘Machining time in win, Machine Product! Product 1 5 3 2 6 2 ‘The daily production quotas for the two products are 80 and 60 units, respectively. Each ‘machine runs 8 hours a day. Overtime, though not desirable, may be wed if necessary to meet the production quota. Formulate the problem as a goal programming model. 338 82 B24 Chapter 8 Goal Programming 8. Vista City hospital plans the short-stay assignment of surplus beds (those that are not al- ready oceupied) 4 days in advance. Daring the 4-day planning period about 30,25, and 20 patients will equire 1-,2-,or 3-day stays, respectively. Surplus beds during the same pert 2G are estimated at 20, 30,30, and 30. Use goal programming to resolve the problem of overadmission and underadmission in the hospital, 9, The Von Trapp family isin the process of moving to a new city where both parents have acoepted new jobs In tying to find an ideal location for their new home, the Von Trapps list the following goals: {@) shoal be as close as possible to Mrs. Von Trapp’ place of work (within mile. (b) It should be as far as possible from the noise ofthe airport (at least 10 mies). (©) Itshould be reasonably close to a shopping mall (within 1 mile). Mr. and Mrs. Von Trapp use a landmark in the city as a reference point and locate the (29) coordinates of work, airport, and shopping mall at (1, 1) (20, 15),and 4.7) #@- spectively (all distances are in miles) Formulate the problem as a goal programming model. [Note:The resulting constraints are not finear.} 40, Regression analysis. Ina laboratory experiment, suppose that ys the ith observed (inde- pendent) yield associated with the dependent observational measurements Bd a Le2yensgmta] = 1,2yoeooM It isdesived to determine a linear regression fhe ttuse data points Let by, j = 0,1,...,7, be the regression coefficients. It is desired to de termine all, such tat the sum ofthe absolete deviations between the observed and the etimated yields is minimized. Formulate the problem as a goal programming model 14. Chebyshev Problem. An alternative goal forthe regression model in Problem 10 is 0 minimize over bythe maximum of the absolute deviations. Formulate the problem as 2 goal programming model. GOAL PROGRAMMING ALGORITHMS This section presents two algorithms for solving goal programming, Both methods are based on representing the raultiple goals by a single objective function. In the weights method, 2 single objective function is formed as the weighted sum of the functions repre senting the goals of the problem. The preemptive method starts by prioritizing the goals in order of importance. The model is then optimized, using one goal ata time such that the optimum value of a higher-priority goal is never degraded by a lower-priority goal “The proposed two methods are different because they do not generally produce the same solution. Neither method, however, is superior to the other, because each technique is designed to satisfy certain decision-making preferences, The Weights Method Suppose that the goal programming model has n goals and that the ith goal is given as Minimize G,i = 1,2,....7 “The combined objective function used in the weights method is then defined as Minimize z= wyG, + W2Gp +--+ Gn ‘The parameters w,i = 1,2,--.” are positive weights that reflect the decision maker's preferences regarding the relative importance of each goal. For example, to, = 1, forall signifies that all goals carry equal weights. The determination of the specific values of these weights is subjective. Indeed, the apparently sophisticated analytic 1as sion ple, the ytic 82 Goal Programming Algorithms 339 procedures developed in the literature (see, ¢., Cohon, 1978) are still rooted in sub- jective assessments. Example 8.2-1 ‘TopAd, a new advertising agency with 10 employees, has received a contract to promote a new product. The agency can advertise by radio and television. The following table gives the number of people reached by cach type of advertisement and the cost and labor requirements Data/min advertisement Radio Tetevision [Exposure (in millions of persons) 4 8 Cost (in thousands of dollars) 8 cy Assigned employees 1 2 ‘The contract prohibits TopAd from using more than 6 minutes of radio advestisement. Addi- tionally, radio and television advertisements need to reach at least 45 million people, TopAAd has a budget goal of $100,000 for the project. How many minutes of radio and television advertise- ment should TopAd use? Let x, and xy be the minutes allocated to radio and television advertisements. The goal pro- gramming formulation for the problem is given as, Minimize Gy = 5; (Satisfy exposure goat) Minimize G, = s$ (Satisfy budget goal) subject to 4, + By tay st 45 (Exposure goal) 8x + 24x +s] —s§ = 100 (Budget goal) xt Qn = 10 (Personnel limit) a = 6 (Radio timit) Xp Xa, STs ST, 87, 53 = 0 ‘TopAd’s management assumes that the exposure goal is twice as important as the budget goal. The combined objective function thus becomes Minimize z = 2G, + G; = 2s; + st ‘The optimum solution is z = 10, x, = 5 minutes, x» = 2.5 minutes, sj = 5 million persons. All the remaining variables are zero. ‘The fact that the optimum value of z is not zero indicates that at least one of the goals is not met. Specifically, s; = 5 means that the exposure goal (of at least 45 million persons) is missed by 5 million individuals. Conversely, the budget goal (of not exceeding $100,000) is not violated, because s$ = 0. 340 Chapter 8 Goal Programming Goal programming yields only an efficient, rather than optimum, solution to the problem. Forexample,the solution = 6.ané x) = 2 yields the samme exposure (4 x 6 + 8 X 2 = 40mil- tion persons), but costs less (8 X 6 + 24 X 2 = $96,000). Is essence, whet goal programming doesis to find a solution that simply satisfies the goals of the model with no regard to optimiiza- tion, Such “deficiency” in finding an optimum solution may raise doubts about the viability of goal programming as an optimizing technique (see Example 8.2-3 for further discussion}. PROBLEM SET 8.24 #1. Consider Problem 1, Set 8.1a dealing with the Fairville tax situation. Solve the problem, assuming that all five goals have the same weight. Does the solution satisfy all the goals? 2, In Problem 2, Set 8.1a, suppose that the goal of attracting young/middle-aged people is twice as important as for either of the other two categories {teens and seniors). Find the associated solution, and check if all the goals have been met, In the Ozark University admission situation described in Problem 3, Set 8.12, suppose ‘hat the limit on the size of the incoming freshmen class must be met, but the remaining requirements can be treated as flexible goals. Further, assume that the ACT score goal is twice as important as any of the remaining goa!s {a) Solve the problem, and specify whether oF not all the goals are satisfied. (b) hin addition, the size of the incoming class can be treated as a flexible gos! that is twice as important as the ACT goal, how would this change affect the solution? "4, In the Circle K model of Problem 4, Set 8.1a,is it possible to satisfy all the nutritional requirements? 5, In Problem 5, Set 81a, determine the soluti duction of wheels and seats can be balanced. In Problem 6, et 8.12, suppose that the market demand goal is twice as important as that ‘of balancing the two machines, and that no overtime is allowed. Solve the problem, and determine if the goals are met “7, In Problem 7, Set 8.1a, suppose that production sirives to meet the quota for the two products, using overtime if necessary. Find a solution to the problem, and specify the ‘amount of overtime, if any, needed to meet the production quota. & In the Vista City Hospital of Problem 8, Set 8.12, suppose that only the bed limits repre~ sent flexible goals and that all the goals have equal weights. Can all the goals be met? 9. ‘The Malco Company has compiled the following table from the fites af five of its em- ployees to study the impact on income of three factors: age, education (expressed in Tumber of college years completed), and experience (expressed in number of years ia ‘the business) n,and specify whether or not the daily pro- « ee 30. 4 5 40,000 39 3 10 48,000 a 2 “ 38,000 8 ° 8 3600 3” 3 ° ‘1000 J 822 8.2 Goal Programming Algorithms 341 Use the goal programming formulation in Problem 10, Set 8.14, to fit the data into ‘the linear equation y = by + byx, + Bux + bax 10. Solve Problem 9 using the Chebyshev method proposed in Problem11, Set 8.1. The Preemptive Method In the preemptive method, the decision maker must rank the goals of the problem in. order of importance. Given an n-goal situation, the abjectives of the problem are written as Minimize G, = p; (Highest priority) Minimize G, = p, (Lowest priority) ‘The variable p; is the component of the deviational variables, s; or sf, that represents goal i For example, in the TopAd model (Example 8.2-1),p: = sj and p = 83- ‘The solution procedure considers one goal at a time, starting with the highest pri- ority, Gy, and terminating with the lowest, G,. The process is carried out such that the so- lution obtained from a lower-priority goal never degrades any higher-priority solutions. ‘The literature on goal programming presents a “special” simplex method that guarantees the nondegradation of higher-priority solutions. The method uses the column-dropping rule that calls for eliminating a nonbasic variable x; with nonzero re- duced cost (z; — cj ¥ 0) from the optimal tableau of goal G;, before solving the prob- Jem of goal Gy.1. The Tule recognizes that such nonbasic variables, if elevated above zero level in the optimization of succeeding goals, can degrade (but never improve) the quality of a higher-priority goal. The procedure requires modifying the simplex tableau to include the objective functions of all the goals of the model. The proposed column-dropping modification needlessly complicates goal pro- Bramming. In this presentation, we show that the same results can be achieved in a more straightforward manner using the following steps: Step 0. Identify the goals of the model and rank them in order of priority: Gi = pr > Ga= pp > > Ga = Pn Seti =1. Step 1. Solve LP; that minimizes G;, and let p; = p} define the corresponding op’ mum value of the deviational variable p. If = n, stop; LP, solves the n-goal program. Otherwise, add the constraint p; = p; to the constraints of the Grproblem to ensure that the value of p will not be degraded in future prob- fems. Seti = i + 1, and repeat step i ‘The successive addition of the special constraints p; theoretically as the column-dropping rule. Nevertheless, sult. More important, it is easier to understand. Some may argue that the column-dropping rule offers computational advantages. Essentially, the rule makes the problem smaller successively by removing variables, whereas our procedure makes the problem larger by adding new constraints, However, y] may not be as “elegant” achieves the exact same re- 342 Chapter 8 Goal Programming considering the nature of the additional constraints (p: = af), we should be able to modify the simplex algorithm to implement the additional constraint implicitly through direct substitution of the variable pj. This substitution affects only the con- straint in which p, appears and, in effect, reduces the number of variables as we move from one goal to the next. Aiternatively, we can use the bounded simplex method of Section 7.42 by repiacing p; = p! with p; = p;, in which case the additional constraints are accounted for implicitly. In this regard, the column-dropping rule, theoretical ap- peal aside, does not appear to offer a particular computational advantage. For the sake Ef completeness, however, we will demonstrate in Example 82-3 how the column. dropping rule works. Example 8.2-2 ‘The problem of Example 8.2.1 is solved by the preemptive method. Assume that the exposure goal has a higher priority. Step0. Gy > G Gx Minimize sj (Satisfy exposure goal) Gx: Minimize 53 (Satisfy budget goal) Step 1. Solve LP, Minimize G, = st subject to 4x, +82 + 57 -5T 45 (Exposure goal) 100 (Budget goal) 8x, + 24x +-s w xy 2x 40 (Personnel mit) W n 6 (Radio limit) di kasi Shs SE =O ‘The optimum solution (determined by TORA) is x, = 5 minutes, x2 = 2.5 minutes sj = 5 million people, with the remaining variables equal to zero. The solution shows that the exposure goal, Gis violated by 5 million persons fn LP, we have p, = 57. Thus, the additional constraint we use with the Gr- problem is s7 = 5 (or, equivalently, 5; = 5) Step 2. We need to solve LP,, whose objective function is Minimize Gy = 53 subject to the same set of constraint as in step 1 plus the additional constraint si ~ 5- ((We can replace the new constraint conveniently in TORA's MODIFY, option by as- signing 5 to the lower and upper bounds of 57.) “The optimization of LP, is not necessary, because the optimum solution to problem G; already yields $$ = 0. Hence, the solution of LP; is automatically optimum for LPs a5 ‘well. The solution s} = 0 shows that Ga is satisfied. » qi f s e 82 Goal Programming Algorithms 343 ‘The additional constraint sj = 5 can also be accounted for by substituting out sj in the first constraint. The result is that the right-hand side of the exposure goal con- straint will be changed from 45 to 40, thus reducing LP) to Minimize G2 = sf subject to 4x + 8x — sf = 40 (Exposure goal) Bx, + 2x, + sy — sf = 100 (Budget goal) x,t 2% = 10(Personnel limit) x 6 (Radio limit) rn inshsnesd = 0 ‘The new formulation is one variable less than the one in LPI, which is the general idea advanced by the column-dropping rule. Example 82-3. (Column-Dropping Rule) In this example, we show that a better solution for the problem of Examples 82-1 and 82-2 can be obtained if the preemptive method is used to optimize objectives rather than to satisfy goals ‘The example also serves to demonstrate the column-dropping rule for solving goal programs. ‘The goals of Example 8.2-1 can be restated as Priority 1: Maximize exposure (Pi) Priority 2: Minimize cost (P2) Mathematically, the two objectives are nas Maximize P= 4x, + 8x (Exposure) Minimize P, = 8x, + 24x, (Cost) ‘The specific goal limits for exposure and cost (=45 and 100) in Examples 8.2-1 and 8.2.2 are removed, because we will allow the simplex method to determine these limits optimally. ‘The new problem can thus be stated as Maximize Py = 4x; + 8x Minimize P, = 8% + 24x, subject to 2 + 2x = 10 x <6 xia = 0 344 Chapter 8 Goal Programming We first solve the problem using the procedure introduced in Example 82-2 Step. Solve LP, Maximize Py = 4x + 8 subject to x +2 S10 x <6 xpn20 ‘The optimum solution (obtained by TORA) is x = 0, x2 = 5 with Pr ~ 40, which shows that the most exposure we can get is 40 million persons. Step2 Add the constraint 4x; + 8x; = 40 10 ensure that goal Gy is not degraded. Thus we solve LP, as Minimize Py = 8x, + 24x2 subject to xy hm = 10 a =6 dx; + 8x) = 40 (additional constraint) Heo “The optimum solution of LP, is P; = $96,000, x, = 6 minutes, and x, = 2 minutes It yields the same exposure (P; = 40 million people) but ata smaller cost than the one in Example 82-2, ‘where the main objective is to satisfy rather than optimize the goals. “The same problem is solved now by using the colunur-dropping rule. The rule calls for carry- ing the objective rows associated with all the goals inthe simplex tableau, 2s we will show Pelow. LLY; (Exposure Maximization): ‘The LP; simplex tableau carries both objective rows, P, and Fs “The optimality condition appties to the P.-objective row only. The P,-row plays a passive role in LLP, but must be updated with the rest ofthe simplex tableawin preparation for the optimization of LPs, LP, is solved in two iterations as follows: ee Iteration Basic =x __Solution 82 Goal Programming Algorithms 345 ‘The column-dropping rule calls for eliminating any nonbasic variable x, with 2; — ¢, # 0 from the optimum tableau of LP, before LP. is optimized. The reason for doing so is that these variables, if left unchecked, could become positive in lower-priority optimization problems, which would degrade the quality of higher-priority solutions. LP, (Cost Minimization): The columa-dropping rule eliminates y (with 2; ~ ¢ = 4).We can see from the Prrow that if 5; is not eliminated, it will be the entering variable at the start of the Priterations and will yield the optimum solution x, = 2 = 0, which will degrade the optimum ob- jective value of the F,-problem from P; = 40to Py = 0. (Try it}) ‘The f2-problem is of the minimization type. Following the elimination of s;, the variable x, with z; — ¢ = 4 (> 0) can improve the value of F. The following table shows the LP» iterations ‘The Fi-row has been deleted because it no longer serves a purpose in the optimization of LP, Keaton Bue = 7 4 oa » EOL 0 sie 1 2 Pi mo 6 “4 = Od 4 m1 0 ‘The optimum solution (x, = 6, x P, = 961s the same as obtained earlier. 2) with a total exposure of P, = 40 anda total cost of, AMPL Moment AMPL lends itself readily to applying the idea presented in Example 8.2-2, where sim- ple constraints are added to ensure that higher-priority solutions are not degraded. Figure 8.1 provides a generic AMPL code that allows the application of the preemptive method interactively (file amaplEx8.1-L.txt). ‘The design of the model is standard except for the provisions that allow applying the preemptive method interactively. Specifically, the model assumes that the first r constraints are goal constraints and the remaining m — r — 1 are strict constraints. The mode! has r distinct goal objective functions, which can be included in the same model by using the following indexed AMPL statement (only an indexed name is allowed for multiple objective functions): minimize 2 in 1..r):ptsninus [i)+a*splus4) The given definition of the objective function accounts for minimizing 2; s} by setting (p = 1,q = 0) and (p = 0, q = 1), respectively. Instead of adding a new constraint cach time we move from one priority level to the next, We use a programming trick that allows modifying the upper bounds on the devia- tional variables. The parameters um{il and up{i] represent the upper bounds on ‘sminus [i] (s/) and splus [il (sf), respectively. These parameters are modified to im- pose implicit constraints of the type sminus{il<=um{i] and splus[i}<=upfil, re- spectively. The values of um and up in priority goal i are determined from the solutions of the problems of priority goals 1,2, and i ~ 1. The initial (default) value for un and up is infinity. 346 Chapter 8 Goal Programming param n param m; param r: param p: param @: param a(1--m2..n); param b(..-m); param um(1..m} default 190000; param up(i.-m} default 100000; var x(1.-m) >= var sainus(t in 1, r}o«d,#0,<-up[il minimize 2(i in 1.x): p*sminus(i}+a*splus (1) subject to cL) in Li-x):sum(j im 1. .n)a(i,j)*x(3] +sminus (i) -splus (4]=b(3) c2{i im reteombs sum(S in 2..n) ali.3)*x(3)GQr>Ga>G ‘The implementation of AMPL model thus proceeds in the following manner: For Ga set p= Land q = O because we are minimizing 22} =sminus 2]. The following com- mands are used to carry out the calculations: ampl: model amplix8.1-1. txt; ampl: let pr=lylet @ anpi: objective (217 Smpi: solve; display 2(2), x, sminus, splus; 82 Goal Programming Algorithms 347 ‘These commands produce the following results: 2i21 = 0 x sminus splus 1 2.6236le-28 16 0 2 0 oo 3 8.2868e-28, 2 0 ao 2 0 ‘The solution (x, = 0, x2 = 0,.x3 = 0, and x4 = 0) shows that goal G, is satisfied because 212] = 0 (that is, sy = 0). However, the next-priority goal, Gy, is not satisfied because sy = 16. Hence, we need to optimize goal G; without degrading the solution of Gz. This requires changing the upper bounds on s3 to the value specified by the so- lution of G,—namely, zero. Fat goal Gi, current p = 1 and q = 0 from G, remain un- changed because we are minimizing sj. The following interactive AMPL commands achieve this result: ampl: Let un[2]:=0; ampl: objective z{1]; solve; display 2[1],x, eminus, splus; ‘The ouput is za) =0 x sminus splus = 1 0,0203536 0 0 2 010457183 0 3 o.ose18i8 a0 ao 2 0 ‘The solution shows that all the remaining goals are satisfied. Hence, no further opti mization is needed. The goal programming solution is x, = .0203636, xy = 0457143, 2, = .0581818, and x, = 0. Remarks. 1. We can replace let um(2] :=0; with either fix sminus(2]:=0; or et smi- nus {2} :=0; with equal end result. 2, The interactive session can be totally automated using a commands file that auto- matically selects the current goal to be optimized and imposes the proper restric- tions before solving the next priority goal. The use af this file (which we name amplCmdstxt) requires making some modifications in the original model as shown in file amplEx8.1-1A.txt. To be completely versatile, the data of the model are stored in a separate file named amp!Data.txt. In this case, the execution of the mode] requires issuing three command lines: ampl: model. anplEx8.1-1A. txt, anpl: data ampiData. txt; ampl: commande amplCnds.txt; See Section A.7 for more information about the use of commands. 348 Chapter 8 Goal Programming PROBLEM SET 8.287 1. In Example 82-2, suppose that the budget goal is increased to $110,000, The exposure goal remains unchanged at 45 million persons. Show how the preemptive method will reach a solution. 2. Solve Problem 1, Set 8.La, using the following priority ordering for the goals: G, > G, > G> Ge > Gs +3, Consider Problem 2, et8.1a, which deals with the presentation of band concerts and art hows at the NW Mall. Suppose that the goals set for teens, the young/middle-aged troup, and seniors are referred to as G;, Gz, and Gp, respectively. Solve the problem for ‘each of the following priority orders: @) G>Ga>G @) G > > Show that the satisfaction of the goals (or lack of it) can be a function of the priority order. 4. Solve the Ozark University model (Problem 3, Set 8.1a) using the preemptive method, ‘assuming that the goals are prioritized in the same order given in the problem. REFERENCES Chissman, JT: Fey, G. Reeves, H. Lewis, and R. Weinstein, “A Multiobjective Linear Prograry- ming Methodology for Public Sector Tax Planning,” Interfaces, Vol 19, No-5, pp. 13-22, 1989. Cohon,T.L., Muldobjective Programming and Planning, Academic Press, New York, 1978 Tenizi 1. P, and TM. Cavalier, Linear Programming, Prentice Hall, Upper Saddle River, N¥ 1994. Steuer, R.E., Multiple Criteria Optimization: Theory, Computations, and Application, Wiley, New York, 1986. You may find it computationally convenient to use interactive AMPL to solve the problems ofthis set

Potrebbero piacerti anche