SEQUENTIAL LINEAR GOAL PROGRAMMING: IMPLEMENTATION VIA MPSX JAMES P. IGNEIO* Department of Industrial Bi Management Systems Eng&ering, 207 Hammond Buildiqr, The Pennsylvania State University, University Park, PA 16802,U.S.A.
JOHN H.PERLISt Analytic Services, Inc., Arliion,
Virginia, U.S.A.
seapcad-Linear
progrsmming has found wide usage as a tool for the optimization and analysis of linear systems. Recently, a tool known as linear goal programming has been developed which further extends such optimization and analysis to linear systems in which there are multipk and conflictinq objectives. Computer codes for the implementation of linear goal programm& however, are not at the same level of etfectiveness as those which have been developed for the well known linear pmgmmming approach.In this paper, the actual rest&s of using a traditional Iii pmgmmming code sequentially to solve &ear goal pr~i~ problems discussed. Abstract-This paper presents the actual results obtained when a traditional Iii ~ computer code is used sequentially so as to solve the linear goal prop problem. The approach, denoted as Sequential Linear Goal Progmmmmg (SLGP), was implemented by incorporating the IBM linear programming code known as MPSX. The results obtained, the advantages and drawbacks, as well as a comparison with an alternate linear goal programming code, are also described. SEQUENTIAL
LINEARGOAL
PROGRAMMING
(SLGP)
Tmhology The lineargoal programming formulation is given as [Z,31:
Find ff = (~1,~2,. . ., Xi,.. ., XJ)SOa~ to minimize:
such that: J ~C$j+ttf-&=&i
j=l
for i=l,2 ,..., m
(2)
and _?,& p20
(3)
where xj is the jth decision (or control) variable d is the achievement vector; the measure of the ability of a given solution, 5, to satisfy the prioritized set of problem goals.and rigid constraints cid a constant associated with variable j in goal i (a techno1~~ coefficient). bi the it-hand-side value for goal or rigid constraint i ni the negative deviation associated with goal or rigid constraint i. pi the positive deviation associated with goal or rigid constraint i. g&i#) a linear function of the deviation variables associated with priority level k. We thus wish to find a solution vector $ so as to obtain the lexicographic minimum of (5. *Dr.James P. Ignixio received a B.S.E.E. from the University of Akron, a M.S.E. from tbe University of Alabama and a Ph.D. in Gpemtions Research and Industrial Engineering from Virginia PolytecImic Institute. He is now a member of the faculty of tbe Department of buiustrial and Management Systems Eng&e$g at the Pennsykania State University. Dr. Ignixio is the author of three textbooks in the Operations Research area and of numerous technical publications. His primary areas of research interests are in ~~~~tive ~~ and Large-Scak Systems. tJobn H. Perhi recently received a M.S.I.E. from the Pe~syIv~ State Undo. Mr. Perlis is presently a member of the t&&al stafTat Amdytic Servkcs, Inc. in eon, Vi&&a.
142
J. P. IGNEIO andJ. H. PERUS
Typically, there are two approaches for solving the above problem. The one which has probably received the most attention in the literature involves the use of an approach which is basically an extension to the so-called two phase method of conventional linear programming. This modification of the simplex method, which we term the Multiphase technique is discussed in detail in the Refs.I2,5]. The second approach, and probably the first actually used, is denoted as the Sequential Linear Goal Programming or SLGP method. As mentioned, the SLGP approach involves the solution to an interrelated sequence of conventional linear programming problems. This approach is characterized by the aIgorithm to be presented. Purpose While discussions of both algorithms exist, the published literature is deficient with regard to any indication as to the actual performance of implementing computer codes for SLGP, any peculiar problems existing in the technique, or a comparison between SLGP and the Multiphase approach. The purpose of this paper, then, is to provide a description of a recent and ongoing study of these aspects. SLGP Algorithm The SLGP algorithm can actually be generalized so as to encompass any type of goal programming problem (i.e. linear or nonlinear with either continuous or discrete variables). We shall, however, restrict our attention to the strictly linear case. Step 1: Set k = f (where k is used to represent the priority level under consideration and K is the totaI number of priority levels). Step 2: Establish the linear goal programming formulation [see relationships (l)-(3)] for priority level k on/y. That is minimize ak = g&I, p) subject to only the goals or rigid constraints associated with k = 1. Such a problem is equivalent to a conventional linear programming problem. Step 3: Solve the linear programming problem associated with priority level k via any appropriate linear programming computer code. Let the optimal solution to this problem be given as at where: ai is the optimal value of g&, p). Step 4: Set k = k + 1. If k > K, go to Step 7. Sfep 5: Establish the equivalent linear pro~~rni~ k). This model is given by:
model for the next priority level (level
minimize & = g&I, 6) such that:
where: s = (1,. . ., k - 1) t is the set of subscripts associated with those goals or rigid constraints incfuded in priority levels 1, 2,. . ., k. Step 6: Go to Step 3. Step 7: Stop. The solution vector, x”*,associated with the last linear programming problem solved is the optimal vector for the original linear goal programming model. The key to the effectiveness of this approach is the choice of the “appropriate linear programming computer code” alluded to in Step 3. Co~pa~son wi&hthe Mulfiphase method Before desc~bing the actual computer program that was developed to implement the above algorithm, a brief comparison with the more conventional Multiphase approach is presented.
Sequential linear goal programming
143
The
particulars of the Multiphase method are beyond the scope of this paper buy may be found within Refs. [2] or [51. In theory, the Multiphase method is preferable to SLGP because: (1) SLGP will require as many or more (usually the latter) pivots than the Multiphase method. (2) The formulation of the Multiphase model is static (i.e. predetermined) whereas the individual linear programming models composing SLGP cannot be predetermined. (3) Duality* (i.e. the multidimensional dual[2, 41) and sensitivity analysis is more straightforward with the Multiphase formulation since one needs deal only with a single, predetermined formulation. However, in practice the computational efficiency of the SLGP approach is presently dominant because of its ability to employ extremely powerful commercial programming packages whereas such codes have not yet been developed for the Multiphase model. The best known codes[2, 51 for the Multiphase model were constructed, as mentioned, primarily to assist in formal course work in goal programming and were intended for only small to modest size problems. Rather unsophisticated pivoting operations are employed and round-off becomes a problem with models involving about 50 or more rows and/or variables. Despite this, numerous investigators have attempted to employ these codes on problems involving up to several hundred variables and rows. The results, not surprisingly,’ have not been favorable. SLGP VI A MPSX
Procedure Early implementations of the SLGP concept involved considerable offline manual effort. The purpose of the effort undertaken herein was to completely automate the SLGP algorithm. Since the key to the overall efficiency of such a SLGP code is the selection of the accompanying linear programming code, and since the effort was conducted on an IBM computer, it was decided to incorporate the IBM MPSX code[l, 61. MPSXt is a library code which may be rented from IBM and thus the user has extremely limited control over the package. Fortunately, this limitation is overshadowed by the computational efficiency of the MPSX code. At first glance, the development of a SLGP computer code may seem straightforward if not almost trivial. Unfortunately, this is not the case when one must deal with an internal library routine (such as MPSX) to augment the SLGP process. MPSX has its own ,compiler and requires a great amount of core thus effectively precluding its usage as a FORTRAN subroutine. Further, the normal implementation of MPSX is for use on a single conventional linear programming problem formulation to be solved a single time. SLGP requires several addresses of MPSX, each with a different formulation and where each formulation (other than the first) cannot be predetermined. In order to implement SLGP with MPSX it was thus necessary to use a combination of three subprograms: (1) START (initialization) (2) FORM (formulation of the model) (3) SOLVE (the MPSX routine) Subprogram START reads the user input deck (consisting essentially of the data associated with the linear goal programming formulation). START then stores a converted version of this input data on a temporary disc file. The second subprogram is FORM whose primary purpose is to create the linear programming formulations associated with each sequence of SLGP. FORM initially reads from the disc the first linear programming problem in the sequence (corresponding to Step 2 in the SLGP algorithm) and inputs this problem to SOLVE (i.e. MPSX). In ail remaining sequences, FORM assembles the output of MPSX along with the original data from the disc so as to construct each new linear programming problem (Step 3 of the SLGP algorithm) for input to MPSX. *In the SLGP formulation there is a conventionallinear programmingdual associatedwith each linear program in the sequence.The Mulitphase model has been shown to have a singledual representationI denotedas the multidimensional dual. The equivalence between the sequential duals and the multidimensionaldual has been establishedby the first author[4]. tSimilar codes exist, of course. for other computers.
J.P. IGNIZIO andJ.H. PERUS
144
The third subprogram, SOLVE, reads the tile created by FORM and solves the associated linear _programming problem. The solution is written to the disc file for subprogram FOBM - _ input and, at the last iteration, for final output to the user. Input and output
The user supplies the following input data: (1) Number of priority levels (K) (2) Number of decision variables (J) (3) Number of goals per priority level (4) The weighting factors associated with each goal (5) The coefficients matrix and right-hand-side vector of the linear goal programming problem to be solved. The output of the program presently consists only of the optimal program (a*) and achievement vector (n*). Computational performance
The computational performance of the SLGP code (via MPSX) was measured in terms of problem size capability and computation time. These results were also compared to those achieved by two Multiphase codes. The maximum problem size is bounded by the maximum capability of the MPSX code. MPSX can solve conventional linear programming problems with up to 16,383rows and as many variables as one can store. Consequently, the size of the largest linear programmingin the SLGP sequence must lie within these limits. The actual size of the largest problem in the sequence is bounded as follows: R=m+e+K-1116,383
where m = number of rows in original linear goal programming problem
e = number of original rows which are to be satisfied as equalities K = total number of priority levels R = number of rows in largest linear programming problem in the sequence.
This bound is determined by noting that a new constraint is added to each linear programming problem after the lirst (see Step 5). Also, in the present version of SLGP, all equality goals or constraints must be expressed as two (equivalent) inequalitity goals or constraints. In actual practice K is seldom larger than 5 and e is normally only a small portion of m and thus the size of the linear goal programming problem that may be solved is comparable to that of a conventional linear programming problem. Because of budget limitations, only a modest number of linear goal programming problems were solved ranging in size from a few variables and rows up to 2025(decision) variables and 138rows. Because of the buffer programs and use of disc, the solution times on small problems was not impressive. The real advantage of the SLGP code was best revealed in solving larger, more realistic problems. Table 1 summarizes the results obtained on the IBM 37&3033 computer by both SLGP and the most efficient Multiphase algorithm which was available to us at the time. It is also of interest to note the ratio of CPU time to total computation time (i.e. compilation, CPU, and I/Otime) for both codes. Table I. Computational summary Number of problems 4 4 1
Problem
(rows i%bles) 17x8 130x 115 138x 2025
SL.GP code average time in seconds CPU Total ; 22
bl 72 161
Multiphase code average time in seconds CPU Total 5 26s -
z -
Sequential linear goal programming
145
Actually, the figures shown in Table 1 are somewhat misleading because, even though the Multiphase code “solved” the 130x 115 size problems, moderate to severe round-off errors appeared in all results. The SLGP code begins to dominate the Multiphase code, in terms of both speed and accuracy, at problem sizes of about 50 variables and a like number of rows. SUMMARY
The results of this effort demonstrate the linear goal programmingproblem solving capability of the SLGP approach when augmented by a modem, commercial linear programming package. A completely automated SLGP algorithm, incorporating the MPSX package, was shown to have the ability to solve problems of sizes comparable to that possible for conventional linear programming. However, additional analyses such as parametric programming are not nearly so conveniently obtained. The authors are presently engaged in an effort to overcome this limitation. Acknowkdgements-This effort began as a class project in the course IE-510 “Advanced Mathematical Programming” and IE-520, “Goal Programming” as conducted by David Kiiland, John Perk, and Robert Rue, ail graduate students at the Pennsylvania State University. Considerable assistance was provided to this group by H. D. Knoble, Research Associate for the Pennsylvania State University Computation Center. REFERENCES 1. IBM. Mathematical Programming System Extended (MPSX): Control Language User Manual (PN5734XM4), READ COM PN36OA-C0-14X),Program Description (PN5734-XM4),White Plains. N.Y.: Technical Publications Department. 2. J. P. Ignixio, Goal J+ugmmming and Exknsions. Lexington, MA: D. C. Heath and Co. (1976). 3. J. P. Ignixio, A review of goal programming: A tool for multi-objective analysis. 1. Opl. Res. Sot. 29(11), 1109-1119 (1978). 4. J. P. Ignixio, Z%eDdopmmf of the Multidimensional &a/ in Linear God Programming. Working Paper, University Part, PA: The Pennsylvania State University (19 September 1974). 5. S. M. Lee, GOal Pmgmmming for D&ion Analysis. Philadelphia: Auerbach (1972). 6. R. Rue, D. Kirtland and J. H. Perks, SLLiP-math programming. Presented ut SHARE 51. Boston, MA (21 August 1978).