+ All Categories
Home > Documents > Generating All Maximal Efficient Faces for Multiple...

Generating All Maximal Efficient Faces for Multiple...

Date post: 27-May-2018
Category:
Upload: hahanh
View: 214 times
Download: 0 times
Share this document with a friend
29
JOURNAL OF OPTIMIZATION THEORY AND APPLICATIONS: Vol. 30, No. 3, MARCH 1980 Generating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2 J. G. ECKER, 3 N. S. HEGNER, 4 AND I. A. KOUADA 5 Communicated by G. Leitmann Abstract. A method for generating the entire efficient set for a mul- tiple objective linear program is developed. The method is based on two characterizations of maximal efficient faces. The first characterization is used to determine the set of maximal efficient faces incident to a given efficient vertex, and the second characterization ensures that previously generated maximal efficient faces are easily recognized (and not regenerated). The efficient set is described as the union of maximal efficient faces. An alternate implicit description of the efficient set as the set of all optimal vectors for a finite set of linear programs is also provided. Key Words. Multiple objective linear programs, maximal efficient faces, algorithms. 1. Introduction In the multiple objective linear programming problem, a convex poly- hedron X is given over which several linear functions are to be maximized. These linear objectives can be given as the components of a column Cx, where C is some k x n matrix, with k denoting the number of objectives. A point x°~X is called efficient if there is no x cX with Cx>-Cx ° and 1This research was supported in part by the National Science Foundation Grant No. MCS75- 09443 A02. 2 The authors wish to thank the unknown referee for helpful criticisms which significantly changed the paper. 3 Associate Professor, Department of Mathematical Sciences, Rensselaer Polytechnic Insti- tute, Troy, New York. 4 Visiting Assistant Professor, School of Business, State University of New York at Albany, Albany, New York. Assistant Professor, Department of Mathematics, University of Niamey, Niamey, Niger, West Africa. 353 0022-3239/80/0300-0353503.00/0 © 1980 Plenum Publishing Corporation
Transcript
Page 1: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

JOURNAL OF OPTIMIZATION THEORY AND APPLICATIONS: Vol. 30, No. 3, MARCH 1980

Generating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

J . G . E C K E R , 3 N . S. H E G N E R , 4 A N D I. A . K O U A D A 5

Communicated by G. Leitmann

Abstract. A method for generating the entire efficient set for a mul- tiple objective linear program is developed. The method is based on two characterizations of maximal efficient faces. The first characterization is used to determine the set of maximal efficient faces incident to a given efficient vertex, and the second characterization ensures that previously generated maximal efficient faces are easily recognized (and not regenerated). The efficient set is described as the union of maximal efficient faces. An alternate implicit description of the efficient set as the set of all optimal vectors for a finite set of linear programs is also provided.

Key Words. Multiple objective linear programs, maximal efficient faces, algorithms.

1. Introduction

In the mul t ip le ob j ec t ive l inear p r o g r a m m i n g p r o b l e m , a convex po ly - h e d r o n X is g iven ove r which severa l l inear funct ions a re to be max imized . T h e s e l inear ob j ec t i ve s can b e given as the c o m p o n e n t s of a co lumn Cx, w h e r e C is s o m e k x n mat r ix , wi th k d e n o t i n g the n u m b e r of ob jec t ives . A p o i n t x ° ~ X is ca l led efficient if t he re is no x c X with Cx>-Cx ° and

1 This research was supported in part by the National Science Foundation Grant No. MCS75- 09443 A02.

2 The authors wish to thank the unknown referee for helpful criticisms which significantly changed the paper.

3 Associate Professor, Department of Mathematical Sciences, Rensselaer Polytechnic Insti- tute, Troy, New York.

4 Visiting Assistant Professor, School of Business, State University of New York at Albany, Albany, New York. Assistant Professor, Department of Mathematics, University of Niamey, Niamey, Niger, West Africa.

353

0022-3239/80/0300-0353503.00/0 © 1980 Plenum Publishing Corporation

Page 2: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

354 JOTA: VOL. 30, NO. 3, MARCH 1980

Cx # Cx °. An efficient point is often called a Pareto-optimat point or a nondorninated solution.

Several authors have investigated algorithms for calculating the set of all efficient vertices of X; see, for example, Refs. 1-7. In this paper, we will be concerned with the structure of the set E of all efficient points. As discussed by Yu and Zeleny in Ref. 7, in many decision problems, the decision-maker's utility function may be such that the desired solution is actually an efficient point that is not an extreme ~point of X. Also, not all convex combinations of efficient extreme points are efficient. Thus, there is a need to describe the set E and the approach that we take in this paper is similar to that of Yu and Zeleny, in that we present an algorithm for finding all maximal efficient faces of X. The union of these faces equals E ; see Ref. 7.

The problem of finding maximal efficient faces has also been considered by Philip in Ref. 8, where the efficiency of a face incident to a given efficient extreme point is investigated. The efficiency of higher-dimensional faces is determined by considering certain linear programs. The information gained in this way is used to categorize lower-dimensional faces until all maximal efficient faces are found. While Philip's point of view is a local one, Yu and Zeleny (Ref. 7) take a more global approach. They consider a face of X=-{x 6 R n lAx <=b} to be defined by

F(I ) = {x ¢ X1A~x = b~, i ~ I},

provided that it is nonempty, where I C {1, 2 . . . . . n} and A~ denotes the ith row of A. Their method is based on the fact that the set of efficient (nondominated) points is the union of all efficient faces (see Theorem 4.1 in Ref. 7). They focus on those faces F(I) for which 1 is maximal and systematically consider faces of decreasing dimension. Their procedure starts with checking F( I ) for I = • (to see i f X ___ E); then, they check those l of order 1, 2, 3 . . . . . n, respectively, until all efficient points are located. As Yu and Zeleny remark in Ref. 7, the verification procedure to check all possible faces may be a prohibitive job; thus, they develop several extremely useful results that reduce the number of faces that need be considered. To initiate their procedure, they construct the incidence matrix l~etween the set of all efficient extreme points and the set of all (n - 1)-dimensional faces. Using information from this incidence matrix and from the solutions of certain linear systems, the set of maximal efficient faces of dimension n - 1 (if any) is determined. If these efficient faces do not contain all the given efficient extreme points, then one continues by considering faces of dimen- sion n - 2 and lower. The method is especially effective on those problems whose maximal efficient faces are of relatively high dimension.

Page 3: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

JOTA: VOL. 30, NO. 3, MARCH t980 355

In Ref. 5, I sermann describes an algorithm for finding all efficient extreme points and all maximal efficient faces. He incorporates both the local and global views by investigating faces adjacent to each efficient extreme point, but recording faces as the convex hull of efficient extreme points (and efficient extreme rays in the unbounded case).

In this paper, we follow an approach similar to Isermann's . To justify our algorithm, we give two characterizations of maximal efficient faces. The first (see Theorem 4.2) is related to the dual of a program considered by Isermann (Ref. 5, Theorem 4) and is used (in subroutine FACE) to deter- mine the set of maximal efficient faces incident to a given vertex. Our second characterization (see Corollary 4.1) describes a maximal efficient face as the optimal set for a particular linear program. With this characterization, we can show how subroutine F A C E can be incorporated in the basic algorithm of Ecker and Kouada in Ref. t for finding all efficient extreme points, so that the combined program yields the set of all maximal efficient faces of X. Also, the second characterization ensures that previously generated maximal efficient faces are easily recognized (and not regenerated) and leads to computat ional savings even in the construction of the list of efficient extreme points.

For each efficient face of X, there is a vector h > 0 such that each point of the face is optimal for the program

(PA) max h TCx, subject to x s X,

as demonstrated, for example, by Gal in Ref. 4; see also Yu and Zeleny, Ref. 7. For each efficient extreme point x i, Gal chooses a finite set of vectors {hi i , h i i2~. 1, h 2 . . . . . ,}, with each h i = 0, such that the given x i is optimal for each PA~,j = 1, 2 . . . . . n~. He then states that x il, . . . , x ~k are the extreme points of some efficient face if there is a h* and a set {rl . . . . . rk} such that

hi~ i2 __ ik--A*" r 1 = A r 2 . . . . . A r k - -

The points x q, x i~ . . . . ; x ik are the ext reme points of the face of the optimal solutions for Program (PA*), but it is important to note that the face is not necessarily efficient unless h* > 0.

The method that we propose in this paper will associate with each maximal efficient face a vector h -> e such that each point of the face is optimal for Program (PA), where e is a column vector with each component equaling 1. These associated vectors h will allow us to easily check whether or not the next efficient extreme point is on a previously encountered maximal efficient face. In each iteration, we will also use this (incomplete) knowledge of efficient faces at the start of our main program where efficient edges are determined (since any edge contained in an efficient face must itself be efficient).

Page 4: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

356 JOTA: VOL. 30, NO. 3, MARCH 1980

In the next section, we present the basic notation necessary for describ- ing our algorithm. In Section 3, we present a precise statement of the algorithm. The theoretical justification of the algorithm is given in Section 4. In Section 5, we present an illustrative example.

2. Notation

To simplify the exposition, we assume throughout that the feasible region X is bounded and nondegenerate. To handle a degenerate problem, all that is necessary is the introduction of a tie-breaking rule for the choice of the pivot row (see the example in Section 5 and Hegner, Ref. 9). For the unbounded case, additional notation is necessary to indicate unbounded efficient rays [see Hegner (Ref. 9) and, similarly, Isermann (Ref. 5)].

At the ith iteration of the main program, we will have the efficient extreme points {x °, x 1, x 2 . . . . . x*}, and we will have encountered L maxi- mal efficient faces (L is incremented as the algorithm progresses). For each encountered maximal efficient face, we have a set I t C {0, 1 . . . . . i} whose elements correspond to the superscripts of the extreme points found to be incident to that face. For each maximal efficient face, we will also have a corresponding vector A ~ such that A t _> e and the face is exactly the set of optimal points for Program (PA z). We will let

A ={;t ~, X 2 . . . . . A L }

denote the (ordered) collection of these A's. In step F12 of subroutine FACE, we indicate how these vectors A t are easily determined from the current tableau.

At each iteration of the algorithm, a tableau T is obtained representing the current etficient extreme point and containing the current description of the objective functions. After column rearrangements, we assume the tableau T has the form

N B x x

T: d - C 0

b A I (1)

where x ~r and x B denote the nonbasic and basic variables, respectively. Thus, the current efficient extreme point is given by

XT ------ (X u, X B) = (0, b).

Page 5: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

JOTA: VOL. 30, NO. 3, MARCH 1980 357

In T, the basic variables have been eliminated from the objective functions. If f is the index of a nonbasic variable, we let C j be the corresponding column of C.

Given T in (1), we let NT denote the set of nonbasic indices and define JT C___NT by

J T = { j e N T I 3 A >=ewithw=-CT)t,w>=O, andwi=O}. (2)

In Corollary 4.2 below, we show that the edge obtained by increasing the • • N , nonbasic variable xj m T is efficient iff ] ~ Jr. For each maximal efficient face

incident to the efficient extreme point given by T, we will have a set a C_JT such that the given face is defined by

f(T, c 0 - { x ~ X l x j = 0 if j e S T --a}. (3)

The set NT -- ol is the set I of Yu and Zeleny (Ref. 7) in the nondegenerate case. For each such face, we will also have a number l ~ {1, 2 . . . . . L} such that f(T, a ) is the set of optimal solutions for Program (PA *) for some )t t c A. Given T in (1) representing the efficient extreme point XT and given a and l defined above, the algorithm will construct the set AT defined below:

! f(T, a ) is a maximal efficient face incidentl (4) AT (,,, l)

/ to XT and is the optimal set for (PA*) J"

In the description of our algorithm, we also need the following three sets, namely,

A1r==-{a t(a, 1) EAT},

A ~ = {/1 (a, l) e AT}, (5)

A 3 j ~ a. a e A ~ -

To keep track of which variables enter and leave the set BT of basic variables in T, we define the function ¢T: N r ~ BT by

~., the index of the variable which leaves T(]) =-the basis when x] enters the basis. (6)

Given T and a subset of nonbasic indices F C NT, we prove in Theorem 4.2 that the face f(T, F) as defined in (3) is efficient iff the following set G(F) is nonempty, where

G(F) =- {(v, w) => 0] c T v + W = --CTe, wj = 0 if j e F}, (7)

with w having indices corresponding to the nonbasic variables in T. The above characterization of efficient faces is used in subroutine F A CE to construct maximal efficient faces by finding maximal sets F for which

Page 6: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

358 JOTA: VOL. 30, NO. 3, MARCH 1980

G(F) # ;D. Such a set F will be called E-maximal (with respect to T). If i ~ ArT and G(F w {]}) = ~ , then w i is called nonredundant in G(F) ; and, in this case, the face f(T, F) is not maximal efficient, since it is contained in the efficient face f(T, F w {]}).

Subroutine F A C E will also use the fact that, if G(F) ~ Q, then there is a tableau t for G ( O ) which satisfies the following two properties:

Property P1. In the basic feasible point for G ( ~ ) given by t, wj = 0 for each ] e F.

Property P2. For ] ~ F, if all the variables vvj that are nonbasic in t are held equal to zero, then none of the remaining variables wj for ] e F can be made nonbasic.

We will call a nonbasic set NT efficient if the associated basic feasible solution xT is efficient. In the main program, we continually add to a list of known efficient nonbasic sets Nr. We partition this list by using the sets

V1 = {efficient N r [XT has currently not been computed},

V2 = {efficient NT l xr has been computed}.

Given this discussion of the notation to be used, we now consider the statement of the algorithm. We list subroutine FACE after the description of the main program.

3. Statement of Algorithm

We give below a precise statement of the main program and the subroutine FACE. The main program is essentially the algorithm of Ecker and Kouada (Ref. 1) for finding all effÉcient extreme points of X. It has, however, been modified so that, as each new efficient extreme point is obtained, the subroutine FACE provides a listing of all maximal efficient faces incident to that extreme point. If one of these maximal efficient faces has been previously obtained (i.e., incident to some earlier efficient vertex), then it is easily recognized as such (in Step M7 or Step MS), and that face is not regenerated by FACE. When the main program terminates, the entire efficient set will be described as the union of maximal efficient faces, and each of these faces will be described as the convex hull of efficient extreme points. An alternate (implicit) description of E as the set of all optimal vectors for the Programs (Ph i) for h i~ A is also provided.

Page 7: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

JOTA: VOL. 30, NO. 3, MARCH 1980 359

Main Program

Step MO. Calculate an initial efficient extreme point x°, with nonbasic set No. Let T be the current tableau. Let

V2 = {No}, V1 = 0 .

Let I t = 0 for all I. Let

NT =No, L = 0 , i = 0 , AT = 0 ,

Step M1.

Step M2.

Step M3.

Step M4.

Step MS.

Step M6. choose Ni+l

Step M7.

i = O .

Calculate JT using the fact that A3TCJT.

Call subroutine F A C E using T and -IT to update AT, A, L.

Let I t = I t w {i} for each l ~ A~.

RT = {Nr ~ {&T (/)}-- {/}1] e Jr}-

R1 ----- R T -- Y 2 . If R1 = O , go to Step M8.

R2 = R1 - V1. If R2 = O , then choose Ni+l e R1; otherwise, R2.

Define ]* and k* such that

k* = &v(]*) and Ni+l = N r w {k*} - {]*}.

Let

N T = Ni+I.

Pivot (in column ]*, with xk* leaving the basis) to a tableau T with nonbasic set NT. Let the corresponding b.f.s, be x i+1. Update 1/1, V2, AT as follows:

V2 = V2 w {Nr},

V1 = V1 w R2 - {Nr},

A * = {(a u {k*}-{/*}, 1) l (a, l) ~ AT, j* e a },

A** ={(a, 1)[lf~A~, --(ht)Tc>=o, a =-{]eNTI(h~)TC =0}},

A T = A * w A ~ * .

Let i = i + 1. Go to Step M1.

Step MS. If V1 = O , all efficient extreme points and maximal efficient faces have been found. Stop. Otherwise, select Ni+a e V1 such that N; and Ni+~ differ in as few indices as possible. Pivot to the tableau T associated with Ni+l, and let N T = N i + I . Let x i+1 be the corresponding b.f.s. Let

Page 8: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

360 JOTA: VOL, 30, NO. 3, MARCH 1980

i = i + 1. Update AT, r~q, V2 as follows:

AT = {(a, l)] -- (A t)Tc -- O, a = {/'l (~ t ) T c = 0}},

Vz = V2 U {NT},

Va = Vl --{NT}.

Go to Step M1.

Remark 3.1. The set A3def ined in (5) and used in Step M1 provides a partial list of efficient edges incident to the current vertex XT. Of course, initially A 3 is empty; but, as previously encountered maximal efficient faces are found to be incident to the current XT, then the efficient edges of those faces that are incident to XT are identified by A 3.

Remark 3.2. After subroutine F A C E lists the maximal efficient faces incident to the current vertex xT, in Step M3 we record (by means of the sets I t) those faces that contain the current vertex XT.

R e m a r k 3.3. Steps M 4 - M 6 provide the mechanism for updating the sets V1 and V2 in Step M7.

Remark 3.4. If the next efficient vertex xi+l is adjacent to the current vertex xr=-x i, then in Step M7 ' the set A ~ identifies those previously encountered maximal efficient faces incident to x g÷l that contain the edge between x ~ and x ~÷1. The set A~* identifies those previously encountered maximal efficient faces that are incident to x i+1, but not incident to x ~. To recognize these faces, we use the stored vectors A t for those I~ A ~ and per form simple matrix multiplication (A ~)Tc.

Remark 3.5. If the next efficient vertex x i+1 is not adjacent to the current vertex x i, then Step M8 provides the analogous updating pro- cedures.

Subroutine FACE

Step F1. If Jr = Q, stop. The current point XT is the unique effÉcient extreme point.

Step F2. Let

F ° = Q , K°=JT--{jI(NT k.){~T(y)}--{j}) E V2}, i = 1.

Step F3. Let i = i - 1.

Page 9: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

JOTA: VOL. 30, NO. 3, MARCH 1980 361

Step F4. If i = - 1 , return to Step M3 of the main program. All maximal efficient faces incident to XT have been found.

If K ~ = 0 , go to Step F3.

If F ~ C_ a for some a e A1T, then go to Step F7. Otherwise, go

Step FS.

Step F6. Step F12.

Step FT.

then let

Step FS.

Step F9.

Step FI O.

Step F l l .

Let

A °= {a e A~TIF ~ Ca}.

If F i e A °, go to Step F3.

If K ~ C a for some a ~ A°T, then go to Step F3.

Choose ff ~ A °. Choose ]* e K i - 6. Let K ~ = K ~ - {]*}.

If

G(F ~ w {/*}) # 0 ,

Fi+l=Fi~{ f*} , K i + I = K i, i = i + 1 ,

obtain a tableau for G ( Q ) satisfying Propert ies P1 and P2 f o r F = F ~, and go to Step F6; otherwise, go to Step F9.

Step F12. If K ~ = O , then let

A T = A r u { ( F ~ , L + I ) } , L = L + I , AL=A =v+e,

where (v, w) is the b.f.s, f rom the current tableau for G ( O ) , and go to Step F3.

Step F13. Choose ]* E K i. Let K i = Ki -{]*}.

Step F14. If G(F ~ w {]*}) # ;~, then let

F+I=F~w{]*} , K i + I = K ~, i = i + 1 ;

obtain a tableau for G ( O ) satisfying Propert ies P1 and P2 for F = F ~.

Step F15. Go to Step F12. Notice, in Step F2, that the set K ° which identifies the edges that need

to be considered does not need to list edges that are incident to previously encountered efficient vertices. For, if such edges belong to a maximal efficient face, that face would have already been added to AT in Step M7 or Step M8 of the previous iteration.

In Step F6, if a set F ~ is contained in the nonbasic set ~ of some previously encountered maximal efficient face, then we need to check if that

Page 10: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

362 JOTA: VOL. 30, NO. 3, MARCH 1980

set F g can be augmented with another nonbasic index j*, so that

G(F w {j*}) ¢ ~ .

This is certainly the case for any j* with

F w { j * } c a ~ a ~ .

However, we choose not to consider a i *~ 07, since we have already examined that possibility in constructing the previously encountered face (with nonbasic index set d). Thus, we select in Step F 10 an index j* ~ K i - o7, where K i is the set of nonbasic indices corresponding to efficient edges. Of course, if the set F ~ is the index set of a known maximal efficient face (as in Step F8), then we need not consider increasing the set F ( Also, if both the sets F ~ and K ~ are contained in the index set of some known maximal efficient face, then again we need not consider increasing F ~ (see Step F9).

If a set F ~ is not contained in any nonbasic set of a previously encountered maximal efficient face and K ~ contains some candidates f* for augmenting F ~, then one is selected in Step F13.

In Step F12, when K ~ = O, we indicate how to select the vector A such that the newly discovered maximal efficient face is the set of optimal points for Program (PA) (see Lemma 4.3).

Before presenting an illustrative example, we give the theoretical justification for our method in the next section.

4. Theoretical Justification

The main goal of this section will be to prove that, at the termination of the main program, the sets CH{x ~ [ i ~ I t} for l = 1 . . . . . L (where CH denotes convex hull) are exactly the maximal efficient faces of X. We will first characterize maximal efficient faces in terms of sets of alternate optima for Programs (PA). We will then relate this characterization to the sets A r constructed in the algorithm by using the description of faces as certain sets f(T, F). After showing that subroutine FACE does construct the sets A 7- in an appropriate way, we will be able to prove the above assertion. Recall that we assume that X is bounded and nondegenerate.

First, recall the definitions of f(T, F) and G(F) in (3) and (7), respec- tively.

A set F C N r is E-maximal (with respect to T) iff G(F) ¢: 0 and there is no set F* CArT such that F C F * and G(F*)~ 0 . Then, define the set X(A) as

X(A) -- {x E X I x is optimal for (PA)}

Page 11: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

JOTA: VOL. 30, NO. 3, MARCH 1980 363

where (PA) is the program

max h TCx, subject to, x ~ X.

We will let T(i) denote the tableau [having the form of T in (1)] which represents the extreme point x i ~ E. Thus, for example, Nr(0 is the set of nonbasic indices and C(i) denotes the objective function matrix cor- responding to T(i).

The following result is well known (see, e.g., Ref. 7).

Theorem 4,1. A feasible point x is efficient iff there is a vector h > 0 such that x is optimal for Program (PA).

Corollary 4.1. If h -> e, then X(A ) C E. Conversely, given any maximal efficient face, there is a vector h >-e such that the face is X(A).

Proof. The first statement follows directly from Theorem 4.1, since h = e implies that A > 0,

For the converse, assume that S is a maximal efficient face of X. Let $ be an interior point of S. Then, from Theorem 4.1, there is a h > 0 such that $ is optimal for (PA). Without loss of generality, we can assume h => 0, since multiplying h by a positive constant does not change the set of optimal solutions for (P,~). Then, since ~ is an interior point of S, we must have S C_ X(A). Theorem 4.1 implies that X 0t) C.C_ E. Since S is a maximal efficient face, we then conclude that S = X(A).

In the following lemma, we establish an important connection between faces of the form f(T, F) and those of the form X(A).

Lemma 4.1. Given the tableau T defined in (1), (i) if -ATc=>0 and F ={j~NTIATC ~ =0}, then X(A) =f(T, F);

(if) if X(h)=f (T ,F) and X is nondegenerate, then - - ) .Tc~o and F={jCNTIA Tc i =0}.

Proof. To prove (i), note that, if x* is optimal for (PA), then x* = 0 if j6 NT -F . Since x* ~X, it follows from definition (3) that x* of(T, F). Conversely, if x* ~ f(T, F) , then x f = 0 for all j ~ NT -- F, so x* and XT give the same value of the objective function for (P,~), where XT is the extreme point represented by T. Since

--1~ TC ~-- 0,

it follows that XT ~ X(A ), and thus x* ~ X(A).

Page 12: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

364 JOTA: VOL. 30, NO. 3, MARCH 1980

To prove (ii), first note that X(A ) = f(T, F) implies that XT ~ X(A), and thus

-xrc__>0.

Since X is nondegenerate, we must have

-xrCJ>0

for] ~ N r - F ; otherwise, we could increase some xj for/" ~ N r - F and be in X(X), but not in f(T, F), contradicting

X(,~ ) = f(T, F).

Also, if

-xrCJ>O

for some ] e F, since X is nondegenerate, we could increase xj and be in f(T, F), but not in X(A), contradicting the equality of the two sets. Thus,

F = {] e NT I A TCJ = 0},

which completes the proof. After weakening the hypotheses and the conclusions of the above

lemma, an analogous argument yields the following result, which we state without proof.

Lemma 4.2. Given the tableau T defined in (1),

(i) if - A T c ~ 0 and FC{f~NTIATC j =0}, then X(A)~_f(T,F); (ii) if X(A) Dr(T, F) and X is nondegenerate, then - A r C => 0 and

FC{jENT[A rC i =0}.

With the above relationship between the faces f(T, F) and the faces X()t) and the characterization of Corollary 4.1, we now can give necessary and sufficient conditions for f(T, F) to be (maximal) efficient.

Theorem 4.2. The face f(T, F) is efficient iff G(F)~ Q. The face f(T, F) is maximal efficient iff F is E-maximal with respect to T.

Proof. If f(T, F) is efficient, then it is contained in some maximal efficient face which, by Corollary 4.1, is X(A) for some A _-----e. Then, from Lemma 4.2,

--A T c ~ o and FC{]ENTIA Tc i =0},

i.e.,

(v, w) = (h - e , -CTA)e G(F),

Page 13: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

JOTA: VOL. 30, NO. 3, MARCH 1980 365

SO

G(F) : f~.

Conversely, if (v, w) c G(F), then for k = v + e, A = e,

-ATc>>-O and FC_{jENT[ATcJ----O}.

From Lemma 4.2, f(T, F) C_X(A) and X(A) C E from Corollary 4.1. There- fore, f(T, F) C t7,.

Now, assume that f(T, F) is maximal efficient. From Corollary 4.1, f(T, F) =X(A) for some h >e. Then, from Lemma 4.1,

(v, w) = (A - e , -cTA) ~ G(F);

moreover,

F={j~NTIA TCi=O}.

Assume that there is a set F* such that

G(F*) ~ • and F C F*.

Then, there is a vector ~ ->_ e such that

-gTc>__o

Using Lemma 4.2,

Therefore,

and F*C{j~NTIIzTci=o}.

f(T, F*) C_C_X(la,).

X(A) =f(T, F) Cf(T, F*) C_ (/2,) C_E.

We have f(T, F) Cf(T, F*), since X is nondegenerate, and X(tz) C_E from Corollary 4.1. This contradicts the assumption that f(T, F) is maximal efficient, so F must be E-maximal.

Finally, assume that F is E-maximal with respect to T. Choose (v, w) G(F), and let A = v +e. Then, we have

h >__e, --I~ Tc~__O

and, using the E-maximality of F,

F = { j ~ N ~ IX TC; = 0}.

Thus, Lemma 4.1 implies that

f(T, F) = X (X)

and Corollary 4.1 gives

X(x)C_E,

Page 14: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

366 JOTA: VOL, 30, NO. 3, MARCH 1980

s o f ( T , F ) C E .

If f(T, F ) is not a maximal efficient face, then by using Corollary 4.1 we can conclude that there is a vector tz => e such that

Let

Then, from Lemma 4.2,

f(T, F) C X(/z).

F* = ( j ~ N r I/z rCJ = 0}.

--tzTc>-o and FC_F*.

It follows from Lemma 4.1 that

f(T, F*) = X(/x). Thus,

(v, w) = (~ - e, --cTtx ) ~ G(F*),

f (T ,F)Cf (T ,F*) , F C F * .

Thus, we must have F CF*, which contradicts the E-maximality of F. Therefore, f(T, F) is a maximal efficient face, and the proof is complete.

The above theorem is a generalization of the following result proved in Ref. 1.

Corollary 4.2. The edge obtained by increasing the nonbasic variable x~ y in T is efficient iff j ~ Jr.

Proof. The edge is just f(T, {/}), and j ~ JT iff G({j}) # 0 . With these results on efficient faces, we can now return to the statement

of the algorithm and show that subroutine FACE constructs all maximal efficient faces incident to the current point XT.

Lemma 4.3. Consider the set A r at the end of FACE. (i) For each set F which is E-maximal with respect to T, there is an element (F, t ) c AT. Furthermore, if (F, l ) c AT, then

(ii) 71[<1 such that (F, D e A r ; (iii) f (T ,F)=X(At ) , (iv) f(T, F) is a maximal efficient face.

Proof. define

Subroutine FACE starts with F ° = Q and K ° = K*, where we

K* ~ JT - {j t(Nr u) {~T(])}- {1}) E V2}.

Page 15: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

JOTA: VOL. 30, NO. 3, MARCH 1980 367

It then systematically builds, from the indices in K*, sets F for which G(F) # ~J. By construction, the algorithm guarantees that

F C_K*, G(F) # Q, and G ( F ~{j*}) = Q, j* ~ K* - F , imply that (F, l) is added to AT during Subroutine FACE for some l.

(8)

This follows because, under the conditions (8), eventually Step F12 is reached with F i = F and K i = Q.

We are also assured that

if (F, l) is added to AT during the execution of FACE, then ~j* ~ K*, such that G ( F u { i * } ) e ~J. (9)

This assertion holds, since if

G ( F w { j * } ) # 0 f o r F ~ { j * } C _ K * ,

then Step F12 cannot be reached with

F i -'- F and K i -= ~ .

From (8) and (9), we can prove the lemma for the case T = T(O), the tableau associated with the initial efficient extreme point. In this case, K* = JT, since V2 = {NT}, so any E-maximal set F satisfies the hypothesis (8). Thus, (F, l) c AT for some l, i.e., part (i) of the lemma holds. Part (ii) of the lemma follows from the test in Step F6. The set A T is empty at the start of Subroutine FACE, so (9) implies that, if (F, l) ~ A t , then

G ( F ~ { ] * } ) = ~ for all j* e J r F

Since G(F) # Q for each (F, l) added to AT, F is E-maximal with respect to T. Thus, Theorem 4.2 implies that part (iv) holds. From the definition of h t in Step F12, we have

--(l~l)Tceo and F C { ] e N T ] ( A I ) r C j =0},

since

(v, w)= (h l - e , -Cr (At ) ) e G(F).

Therefore, by the E-maximality of F,

F = {] ~ NT [(h I ) T c J = 0};

and, by Lemma 4.1,

X ( h z) = f (T, F),

which is part (iii) of the lemma. Thus, the lemma holds for T = T(0).

Page 16: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

368 JOTA: VOL. 30, NO. 3, MARCH 1980

Now, assume that the lemma holds for T = T(0), T(1) . . . . . T( i - 1). To prove the lemma, we need only show that parts (i) through (iv) hold for T = T(i) .

Before continuing, we single out the proof of the following statement.

(F, l) ~ A T at the start of iteration i iff A l is defined before iteration i, -(A ~)Tc > O, and F = {j ~ NTI(A l)TcJ - ~ " 0}. (10)

TO prove (10), note that, if (F, l) ~ AT at the beginning of iteration i, it is constructed in Step M7 or Step M8 of iteration i - 1. Certainly, if Step M8 is executed in iteration i - 1 or if (F, I) ~ A** in Step M7, the conditions (10) are satisfied. Therefore, assume (F, I ) ~ A * in Step M7, i.e., X T = X i is adjacent to x ~-1 and (F, l ) e ATU-~), where

f = : u {4,~<,-~(/*)}- {J*},

and a pivot in column j* of T ( i - 1 ) yields T ( i ) = T. By the induction hypothesis,

By Lemma 4.1,

-(A t )Tc ( i -- 1) => 0

f ( T ( i - 1), F) = X(A ').

and P = {j e NT(i-1) t(A ' ) T c ( i -- 1)* = 0}.

But then, by the conditions on F, F, j*, we have

- - ( t ~ I ) T c ~ o a n d F={jCNT[(At)Tc]=o}.

Conversely, assume that, for some A ~ defined before iteration i,

--(AI)Tc~o and F = { j E N T I ( A t ) T c i = o } .

Certainly, if x i is not adjacent to x I-1 or if there is no P C_NTci-I~ such that (F, l) ~ AT(i-I~, the above conditions (by the constructions in Steps M7 and M8) imply that (F, l) ~ A T at the start of iteration i. If, on the other hand, x ~ is adjacent to x i-1 and (F, I)~ AT(i- l ) , as before we have

- ( A x ) r C ( i - 1) =>0 and F = { j e N T ( i _ I ) I ( A t ) T c ( i - 1 ) j =0}.

Let the pivot from T ( i - 1) to T = T(i ) be in column ]*. Then, since both

-(A t)Tc(i -- 1) =-> 0 and -(A l )Tc >-- O,

we must have ]* e F. Furthermore,

P u {4,~, -1~(/*)}- {j*} = {j e N~-1(~ ~)rC/= 0}.

Thus,

F = P U{q~T(i-1)(j*)} -- { / * } ,

Page 17: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

JOTA: VOL. 30, NO. 3, MARCH 1980 369

and, by the construction of A* in Step M7, (F, l) E AT at the start of iteration i. This proves claim (10).

To prove part (i) of the lemma for T = T(i), note that, if Fis E-maximal and F C K*, then (F, l) c AT for some l, by statement (8). So, assume that F is E-maximal and there is an index ]* c F - K*. Let xr, r < i, be the efficient extreme point such that

N~(~ = NT ~ { , ~ ( i * ) } - { / * } c V2.

Then, a pivot in column j* of T = T(i) yields T(r). Let

F(r) = F w {4~T(j*)} -- {j*}.

Since F is E-maximal with respect to T, by using Theorem 4.2, Corollary 4.1, and Lemma 4.1, we can show that F(r) is E-maximal with respect to T(r). Thus, by the induction hypothesis, there is an I such that

(F(r), l) ~ AT(r) and f(T(r), F(r)) = X(A t).

From Lemma 4.1 and the relationship between T and T(r), it follows that

- (h t ) rc >= 0 and F = {j ~ NT [(h I ) T c i "~- 0}.

Therefore, from statement (10), (F, l)~ AT at the start of iteration i. This proves part (i) of the lemma.

To prove (ii), assume

(F, I )6Ar , (F, F) ~Ar , [<l .

By the test in Step F6, (F, l) cannot be added to A r during tyecution of Subroutine FACE, so (F, l) and (F, D ~ A r at the beginning of iteration i. Then from statement (10),

-(a')rc__0, -(a ~)'rc_>_0, and

F = { j ~ NT [(A t)rcJ = 0} = { j ~ NT ](A r)YcJ = 0}.

This implies, in particular, that

f (T, F) = X ( Z t) = X ( A r).

Let x r, r<i , be the efficient extreme point such that A t is defined during iteration r. Then, for

(F(r), l) ~ AT(r~,

we have

X(A l) = f( T(r), F(r)),

Page 18: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

370 JOTA: VOL. 30, NO. 3, M A R C H 1980

SO

--(AI)TC(r)~O and F(r)={jeNT~r)I(AI)TC(r) j =0}.

Since both Xr = x i and x r are in X(A l), we can pivot from T to T(r) without changing the row corresponding to (A t)rc. From the condition on F above, this series of pivots also leaves unchanged the row corresponding to (A r) Tc. Therefore,

(A r)rC(r) -> 0 and F(r) = {] e NT(r)[(A F)TC(r)i = 0}.

If 2, r is defined before iteration r, statement (10) implies

(F(r), [) e A'r(r).

If A r is not defined before iteration r, then since F< l, (F, F) is added to Ar~r) during the execution of Subroutine FACE for some P C Jr~r~- From part (iii) of the lemma in the induction hypothesis and Lemma 4.1, we can conclude that /~ = F(r). Thus,

(F(r), F) ~ AT~r~ and (F(r), 1) e Aver).

This contradicts part (ii) of the induction hypothesis, and so there is no F< t with (F, l ) e AT if (F, I)~ A t . Therefore part (ii) of the 1emma holds. We complete the proof by checking parts (iii) and (iv).

If (F, l)~ AT at the start of iteration i, statement (10) and Lemma 4.1 imply that

f(T, F) = X(A '),

so part (iii) holds. Moreover, if A ~ is defined during iteration r < i, then

(F(r), l) e Afar) for some set F(r) C Jr¢r~.

Then, by the induction hypothesis,

f(T(r), F(r)) = X(A t),

and f(T(r), F(r)) is a maximal efficient face. Therefore,

f(T, F) =X(A t)

is a maximal efficient face, i.e., part (iv) holds. If (F, l) is added to AT during the execution of Subroutine FACE, then

as in the case T = T(0), by the definition of A l,

(v, w) = (A t - e , --CrAl) c G(F),

and parts (iii) and (iv) follow from a proof that F is E-maximal with respect to T. Statement (9) implies that there is no F* C K* with G(F*)~ ~ and F C F*. Thus, to show that F is E-maximal with respect to T, we need only

Page 19: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

JOTA: VOL. 30, NO. 3, MARCH 1980 371

show that, if 3j* c J r - K * such that G(F w {j*}) # Q, then a contradiction follows.

Choose

and let

(v, w)~ G(F w{]*}),

A : v + e .

Let x r, r < i, be the efficient extreme point with nonbasic set

NT u { 6 T ( / ' * ) } - - { j * } .

Then, since

-A TC >= 0 and F u {j*} C_ {j s NT I A TCi = 0},

we have

--A TC(r)>=O and FU{OT(j*)}C{jENTtr)IA TC(r)i:O}.

This implies that

(v, w) = (X - e , --C(r)TX)s G(Fu{6r(j*)}).

Let F* be the set that is E-maximal with respect to T(r) and contains

F U{C~T(]*)}.

By the induction hypothesis,

(F*, [) ~ AT(r)

for some [, and

f(T(r), F*) = X(A r).

From Lemma 4.1, we have

--(A F)TC(r)>=O and F*={j ~NT(nI(A r)TC(r)i=O}.

Then, since CkT(j*) ~ F* and a pivot in column &T(j*) of T(r) yields T, we have

--(I~ [)Tc~_~O and F* u{j*}--{ggT(/*)}={j~NTI(A F)Tci=o}.

From statement (10),

(F* u { j*}- {~bT(j*)}, l-) ~ AT

at the beginning of iteration i. But, since

F* D FU{~T(j*)},

Page 20: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

372 JOTA: VOL. 30, NO. 3, MARCH 1980

we have

F* u {/*} - {6T(J*)} _D F ,._J {/*} D F.

Thus, (F, l) could not have been added to A r during the execution of Subroutine FACE because of the test in Step F6. Thus, if (F, l) ~ AT, F is E-maximal with respect to T, and both parts (iii) and (iv) hold. This completes the proof of Lemma 4.3.

From the proof above we get the following results.

Corollary 4.3. (F, l )c AT at the start of Subroutine FACE iff h I is defined before the current iteration,

-(A t)Tc _--> 0 and F = { j ~ N r I ( A I ) T c i = o } .

Proof. The proof of statement (10) depended on the induction hypo- thesis. Since Lemma 4.3 holds for all T, Corollary 4.3, which is just statement (10), holds for all T.

The next lemma shows that the list of maximal efficient faces does not contain any duplications.

Lemma 4.4. If h ~ and h 7 are defined by the algorithm and l # i, then

X(;~ ') # X(,~ 7).

Proof. Assume that

F< l and X(A r) = X(h t).

Choose i ~ I I. Let XT = X i and T = T(i). Then (F, l) c A ~ for some F C_ JT. By Lemma 4.3 (iii),

f (T , F) = X(A t).

Then, since

Lemma 4.1 implies that

-(~ r)~c ~ 0

x ( a r) = x(a ' ) ,

and F = { j e N T I ( A r ) r c = O } .

If A l is defined before iteration i, Corollary 4.3 implies that (F, f_,) ~ AT. If A r is not defined before iteration i, then, since F< l and i ~ F l, (F, l) must be added to AT during the execution of Subroutine FACE for some P C Jr. From Lemma 4.3

f(T, F) = X(A z);

Page 21: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

JOTA: VOL. 30, NO. 3, MARCH 1980 373

and, from Lemma 4.1,

P = {j E NT 1(~ r)TC = 0},

so P = F. Thus, in any event, (F, f) ~ AT. But, since (F, l) ~ AT as well, this contradicts Lemma 4.3(ii). This completes the proof of the lemma.

One final lemma is needed for the proof of Theorem 4.3. It states that the above algorithm does list all the efficient extreme points of X. Since, in listing nonbasic sets corresponding to efficient extreme points, the above algorithm follows exactly the same steps as the algorithm proposed by Ecker and Kouada (Ref. 1), we refer to that paper for a proof of the following lemma.

Lemma 4.5. The set {x °, x 1, . . . , x M} of extreme points generated by the above algorithm is exactly the set of efficient extreme points of X.

Finally, we prove our main result.

Theorem 4.3. Assume that X is bounded and nondegenerate. Then,

X(A l) = CH({x i li ~l~}),

and the maximal efficient faces of X are given by X(A z), l = 1, 2 . . . . . L.

Proof. If i c I t Lemma 4.3(iii),

and X T = X t, then (F,I)CAT for some FC_JT. By

X(A t) =f(T, F).

Clearly, X T ~ f ( r ~ F), so XT C X(A ~). Thus,

X(A z) D CH({xi I i ~ It}).

Conversely, assume that x r is an extreme point of X(A t). Each A t ~ e ; so, from Corollary 4.1, X(A t) C_E. Therefore, by Lemma 4.5, x r = x i for some i. From (iii) and (iv) of Lemma 4.3, X(A 5) is not only efficient, but a maximal efficient face. Since

- ( , ' )~c_ -> o,

from Lemma 4.1 and Theorem 4.2 the set

F = {j ~ N r I(A ' )rci = 0}

is E-maximal with respect to T and

X(A ') = f(T, F).

Page 22: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

374 JOTA: VOL. 30, NO. 3, MARCH 1980

From Lemma 4.3(i), there is an [ such that (F, "[')CAT; and, from Lemma 4.3(iii),

f (T, F) = X(A r).

Thus,

X(x t) = X(,~ ~);

so, by Lemma 4.4, l = 1. Therefore,

(F, I) ~ A T = AT(i),

SO

We conclude that

i E I l and XT~{x i l i~ I t } .

X(A t) C_ CH({xi I i ~ II},

since X is bounded. Thus, we have

X(A l) = CH({xi[i ~ iI}).

Again, from Lemma 4.3(iii) and (iv), each X(A t) is a maximal efficient face, so all that we have left to show is that each maximal efficient face is X(A t) for some I. Choose a maximal efficient face. From Corollary 4.1, there is a A -> e such that the face is X(A). Choose an extreme point XT = X i ~ X(A). By the argument used above to show that X ( A t ) = x ( A t ) , we have that there is an l-with X(A ) = X(A r), and the proof is complete.

This completes the theoretical justification of the algorithm.

5. Example

We illustrate the algorithm by applying it to an example proposed by Yu and Zeleny (Ref. 7). This example is degenerate, so we will modify the algorithm by using the lexico-feasible pivot rule to break ties in the choice of the pivot row. In the general degenerate case, we are not guaranteed that each set

X(A') = CH({xi [ i ~ It})

is a maximal efficient face; but the set of maximal efficient faces is contained in X(AI), l = 1 . . . . . /. The perturbation may introduce some extraneous maximal efficient faces.

In this example, the algorithm is used to find all efficient vertices and all maximal efficient faces. We consider the example in detail to illustrate the

Page 23: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

JOTA: VOL. 3O, NO. 3, MARCH 1980 375

bookkeeping of the algorithm. The solution itself requires very little cal- culation.

The example is

/3-max 3 - x2 ,

- 1 Lx3J

subject to

We may take the point

2 i l l , q = . - 1 OJ Lx3J

x ° = (0, O, 3) r

as our initial efficient extreme point. After adding slack variables, we get the following corresponding tableau with NT = {1, 2, 4}:

Xl X2 X3 X4 X5 x6

T(0):

6 - 2 1 0 2 0 0 - 3 - 2 - 4 0 - 1 0 0 12 5 3 0 4 0 0

3 1 1 1 1 0 0 1 1 1 0 - 1 1 0 0 1 - 1 0 0 0 1

An initial tableau for G ( ~ ) is

/31 /-)2 133 W1 W2 W4

2 2 - 5 1 0 0 - 1 4 - 3 0 1 0 - 2 1 - 4 0 0 1

Note that the variables w are indexed according to the nonbasic indices of T(0). We see that w3 = 0 for the current solution and that wl can be made nonbasic in a single pivot (in column /31). Thus w2 and wl are both nonredundant in G(;~) and (Step M1) J r ~'{1, 2}. After performing the

Page 24: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

376 JOTA: VOL. 30, NO. 3, MARCH 1980

indicated pivot, we get

/)1

1 5 /2 0 - 1 / 4 5 - 7 / 4

V2 U3 W1 W2 W4

0 - 7 / 2 1 - 1 / 2 0 1 - 3 / 4 0 1/4 0 0 - 1 3 / 4 0 - 1 / 4 1

(11)

From this, we see that W 4 ~ 5, SO J T = {1, 2}. After the call to Subroutine FACE, we then have

F ° = Q , K ° = {1, 2}.

The current tableau (11) satisfies Property P1 (see Section 2) for F = {2}, so we can easily progress to Step F13 and let

K ° ={1}, and Step F14 when we let

F 1 ={2}, g I ={1}.

We return to Step F13, and let

] * = 1 , K I = ~ .

After performing the indicated pivot, we get

/)1 /)2 l)3 W1

0.4 1 0 - 1 . 4 0.4 0.1 0 1 - 1 . 1 0.1 5.7 0 0 - 5 . 7 0.7

From this, we see that

SO

W2 W4

- 0 . 2 0 0.2 0

- 0 . 6 1

G({1, 2}) # ~ ,

F 2 = {1, 2}, g 2 = ~ .

At the return to Step F12, we let

A r ={({1, 2}, 1)} and A I = v + e = (1.4, 1.1, 1) r .

Note that, since w4 is redundant , we did not need to carry along the third row. We then return to Step F3, let i = 1; and, at Step F5, return to Step F3, since K 1 = ~5. We let i = 0 and progress to Step FT, where we let

A ° = {{1, 2}},

Page 25: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

JOTA: VOL. 30, NO. 3, MARCH 1980 377

since

At Step F9, we find

F ° = Q C_ {1, 2}.

K ° = {1} C{1, 2} e AT,

so we re turn to Step F3. Now, i = - 1 , so we re turn to the main p rogram. At Step M3, we let

11 = {0}.

The set of ad jacent efficient nonbasic sets is

RT = {{2, 4, 6}, f l , 4, 5}}.

We choose

N1 = {1, 4, 5},

so / '* = 2 leaves the nonbas ic set and k* = 5 enters . W e now have

V2 = {{1, 2, 4}, {1, 4, 5}} and V1 = {{2, 4, 6}}.

T h e set

AT = A * = {({1, 5}, 1)},

replacing 2 by 5 in the set AT above . W e now start i terat ion i = 1, with

x r = x 1 = (0, 1, 2) T and N r = {1, 4, 5}.

At Step M1, we know tha t

since

J r _D {1, 5},

{1, 5} = A ] :

Af t e r consider ing the initial t ab leau for G ( • ) ,

Vl I)2 /)3 W1

1 3 - 2 - 2 1 5 - 3 5 - 7 0 0 1 - 4 3 0

W4 W5

0 0 1 0 , 0 1

we see that w4 can be m a d e nonbas ic in a single pivot , so that

J r = { 1 , 4 , 5}.

Page 26: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

378 JOTA: VOL. 30, NO. 3, MARCH 1980

We start Subroutine FACE with

F ° = O and K ° = {1, 4},

since a pivot in column 5 of T(1) leads back to T(0). We get, in turn,

K ° = K 1 ={4}, F ' ={1}, K ' = K 2= 0 , F2 = {1, 4}.

The tableau for G(O) satisfying Property P1 for F = {1, 4} is

/A 1 192

/3 1 0 0 1

19/3 0 0

At Step F12, we let

Ar = {({1, 5}, 1), ({1, 4}, 2)},

Then, we have

K 1 = O

V3 W1 W4 W5

- 8 / 3 5/9 2/9 0 - 3 1/3 1/3 0 .

- 1 9 / 3 7/9 10/9 1

L = 2 , a2=(5/3,2,0)r +e=(8/3,3,1) r.

and F°wK°C_{1,4}eA~,

so Subroutine FACE terminates, and we return to the main program. N o w ,

11 = {0, 1} and 12 = {1}.

The nonbasic sets corresponding to adjacent efficient extreme points are

RT = t{4, 5, 6}, {1, 3, 5}, {1, 2, 4}}.

We choose

N2 = t4, 5, 6}, SO

/'* = 1 and k* = 6.

At the start of iteration i = 2 ,

x 2 = (0.5, 0.5, 2), Nr = {4, 5, 6}, A r = {({5, 6}, 1), (I4, 6}, 2)}.

Therefore, without any work, we know that

Jr = {4, 5, 6}.

After the call to Subroutine FACE, we have

F ° = O, K ° = {4, 5}.

Page 27: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

JOTA: VOL. 30, NO. 3, MARCH 1980 379

The edge corresponding to increasing X6 leads back to x 1. The second time we reach Step F11, we have

K ° = {4}, F 1 = {5}, K 1 = Q, ]* = 4,

and the current tableau for G ( Q ) is

91 92 93

7 0 13 - 2 0 1 1 6 - 8 1 0 10 -11

W4 W5 W6

1 - 3 0 0 - 2 0 0 - 3 1

We minimize W4 subject to w5 = 0 and find that

91 92 U3 W4 W5 W6

5.7 0.4 1.0

0 0 -5 .7 1 0.9 -1 .3 1 0 - 1 . 4 0 - 0 . 2 - 0 . 6 0 1 -1.1 0 -0 .3 0.1

Thus,

w4 = 5.7 if w5 = 0. Therefore,

G({4, 5})= 2~.

Subroutine FACE terminates without changing A t ; so, after the return to the main program, we have

11 = {0, 1, 2}, 12 = {1, 2}.

Continuing in this way, we get

N3 = {3, 5, 6},

N4 = {1, 3, 5},

N5 = {2, 4, 6},

Therefore

x 3 = (1 , 1, O) r

x 4 = (0 , 2 , O) T,

x ~ = (0 , O, 3) ~,

At(3) = {({3, 6}, 2)},

At(4) = {({1, 3}, 2)},

AT(5) = {({2, 6}, 1)}.

11 = {0, 1, 2, 5} and 12 = {1, 2, 3, 4},

so there are two maximal efficient faces:

CH({(0, 0, 3) r, (0, 1, 2) r, (0.5, 0.5, 2)r})

CH({(0, 1, 2) r, (0.5, 0.5, 2) r (1, 1, 0) r, (0, 2, 0)r}).

Page 28: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

380 JOTA: VOL. 30, NO. 3, MARCH 1980

Note x ° = x 5. These faces are

(t11 14t respectively, since

t 1 = ( 1 . 4 , 1.1, 1) r and h 2 = (2.67, 3, 1) T.

As a final remark, to illustrate Step M8, note that x 5 is not adjacent to x 4. In order to determine which of the already encountered maximal efficient faces contained x 5, we first constructed the following tableau:

X1 X2 X3 X4 X5 X6

T(5):

6 0 - 1 0 2 0 2 - 3 0 - 6 0 - 1 0 2 12 0 8 0 4 0 - 5

3 0 2 1 1 0 - 1 1 0 2 0 - 1 1 - 1 0 1 - 1 0 0 0 1

We then calculated - ( h 1)Tc(5) and - (12) rC(5) , respectively, to get

(1.4, 1.1, 1) --1 = (0, 5.7, 0),

4 --

(8/3, 3, 1) --1 = (--38/3, 19/3, 11/3).

4 --

From these, we see that x ~ is on the first face, since

- ( h ' ) r c ( 5 ) >-- - 0,

so x 5 is optimal for (Ph 1). We add {({2, 6}, 1)} to AT(5). Similarly,

--(12)Tc(5)g: 0,

SO X 5 is not optimal for (PA e), and so is not on the second maximal efficient face.

Page 29: Generating All Maximal Efficient Faces for Multiple ...amadeus.ecs.umass.edu/mie373/ecker_kouada.pdfGenerating All Maximal Efficient Faces for Multiple Objective Linear Programs 1'2

JOTA: VOL. 30, NO. 3, MARCH 1980 381

References

1. ECKER, J. G., and KOUADA, I. A., Finding All Efficient Extreme Points for Multiple Objective Linear Programs, Mathematical Programming, Vol. 14, pp. 249-261, 1968.

2. ECKER, J. G., and KOUADA, I. A., Finding Efficient Points for Linear Multiple Objective Programs, Mathematical Programming, Vol. 8, pp. 375-377, 1975.

3. EVANS, J. P., and STEUER, R. E., A Revised Simplex Method for Linear Multiple Objective Programs, Mathematical Programming, Vol. 15, pp. 54-72, 1973.

4. GAL, T., A General Method for Determining the Set of All Efficient Solutions to a Linear Vector Maximum Problem, Institute ffir Waitschaftswissenschaften, Report No. 76/12, Aachen, Germany, 1976.

5. ISERMANN, H., The Enumeration of the Set of All Efficient Solutions for a Linear Multiple Objective Program, Operational Research Quarterly, Vol. 28, pp. 711- 725, 1977.

6. PHILIP, J., Algorithms for the Vector Maximization Problem, Mathematical Programming, Vol. 2, pp. 207-228, 1972.

7. Yu, P. L., and ZELENY, M., The Set of All Nondominated Solutions in Linear Cases and a Multicriteria Simplex Method, Journal of Mathematical Analysis and Applications, Vol. 49, pp. 430-468, 1975.

8. PHILIP, J., An Algorithm for Combined Quadratic and Multi-Objective Pro- gramming, Royal Institute of Technology, Stockholm, Sweden, Report No. TRITA-MAT-13, 1975.

9. HEGNER, N. S., Multiple Objective Linear Programming, Rensselaer Polytechnic Institute, PhD Thesis, 1977.


Recommended