Integer Linear Programming with Multiple Objectives*

Integer Linear Programming with Multiple Objectives*

Annals of Discrete Mathematics 1 (1977) 551-562 @ North-Holland Publishing Company INTEGER LINEAR PROGRAMMING WITH MULTIPLE OBJECTIVES* Stanley ZIONT...

625KB Sizes 22 Downloads 148 Views

Annals of Discrete Mathematics 1 (1977) 551-562 @ North-Holland Publishing Company

INTEGER LINEAR PROGRAMMING WITH MULTIPLE OBJECTIVES* Stanley ZIONTS School of Management, State University of New York ar Buffalo, Buffalo, N Y , U.S.A. Although it may seem counterintuitive, a method for solving multiple criteria integer linear programming problems is not an obvious extension of methods that solve multiple criteria linear programming problems. The main difficulty is illustrated by means of an example. Then a way of extending the Zionts-Wallenius algorithm [6] for solving integer problems is given, and two types of algorithms for extending it are briefly presented. An example is presented for one of the two types. Computational considerations are also discussed.

1. Introduction In [6] a method was presented for solving multiple criteria linear programming problems. Because integer programming is a generalization of linear programming in that a subset of variables may be required to take on integer values, it is reasonable to ask if multicriteria integer problems can be solved by an obvious extension to the method: solving the multicriteria linear programming problem using that method and then using the associated multipliers to solve the integer problem. In general, unfortunately, such a procedure is not valid. Assuming that the implicit utility function of the decision maker is a linear additive function of objectives, the general idea can be modified into a workable algorithm for solving mixed or all integer programming problems involving multiple objectives. Numerous approaches to various problems involving multiple objective functions have been proposed. B. Roy [3] discusses a number of them. He also develops a typology of methods [3, p. 2401: “1. aggregation of multiple objective functions in a single function defining a complete preference order; 2. progressive definition of preferences together with exploration of the feasible set; 3. definition of a partial order stronger than the product of the n complete orders associated with the n objective functions; 4. maximum reduction of uncertainty and incomparability.” To put things into perspective, the approach of [6] is a combination of 1 and 2 in that an aggregation of the functions is accomplished by an interactive process in * An earlier version of this paper has also been issued as Working Paper 75-32 of the European Institute for Advanced Studies in Management in Brussels. 551

552

S. Zionts

which preferences are expressed. The use of multiple criteria in an integer framework has been mentioned in [6] and more recently in [1] and [4]. The plan of this paper is to first indicate why noninteger methods cannot be extended in an obvious way to solve multiple criteria integer problems. Then two extensions of the method of [6] for solving integer problems are developed, an example is solved, and some considerations for implementation are given. In an appendix the method of [6] is briefly overviewed.

2. Some considerations for solving multiple criteria integer problems The problem to be considered is a mixed integer linear programming problem. Let the decision variables be a vector x of appropriate order where some or all of the variables are required to take on integer values. Denote the set of integer variables as J. The constraint set is then

Ax

=

b

x30 x,, j E J integer,

where A and b are, respectively, a matrix and vector of appropriate order. In addition we have a matrix of objective functions C where row i of C gives the ith objective C,. Each objective of u is to be maximized and we may thus write

Iu - c x

6 0.

(2)

The formulation (1) (2) is the most general formulation of the multiple criteria integer programming problem if one grants that any nonlinearities are already represented in the constraints (1) using piecewise linearizations and integer variables as necessary. If we accept that the implicit utility function is a linear function (as was done originally in [6]) of the objectives u, we may therefore say that our objective is to maximize Au where A is an unknown vector of appropriate order. Were A known, the problem of maximizing Au subject to (1) and (2) would be an ordinary integer programming problem. Such a problem could be solved using any method for solving integer linear programming problems. The problem is that h is not known. In an earlier paper [6] Wallenius and I developed a method for solving linear programming problems having multiple objectives. That method is briefly summarized in the appendix. The method has been extensively tested and seems to work in practice. A natural extension of that method would appear to be an extension for solving problems involving integer variables: 1. Solve the continuous multiple criteria problem according to the method of [6]; 2. Using the multipliers obtained in step 1, solve the associated integer linear programming problem.

Integer linear programming with multiple objectives

553

Unfortunately as the following simple example shows, that extension does not necessarily work. Given the constraints: XI

+ 4x2 c 3;

xl,xz 5 0 and integer with objectives u1= xl, and u z = x2 then provided that the true multipliers A, and A 2 ( >0) satisfy the following relationships h 1> fh2 hl

< 3Az

then the continuous solution x1 = 2.34, xz = 2.34 is optimal. However, for this problem there are three optimal integer solutions corresponding to the same continuous optimum depending on the true weights: If 3Az> A l > 2Az, then x1 = 3, xz = 0 is optimal; If 2Az> h l > O S A , , then xI = x2 = 2 is optimal; If 0.5Az> A l > !A2, then x1 = 0, xz = 3 is optimal. The example could readily be made more complicated, but it serves to show that further precision may be required in the specification of the multipliers than only to identify the multiplier valid at a noninteger optimal solution. (Further precision is not always required; change the constraint value of the problem from 3.125 to 2.99.)

3. Adapting the Zionts-Wallenius method for solving integer programming problems

To further specify the multipliers A to find the optimal integer solution, it is necessary to ask additional questions of the decision maker. There are numerous ways in which this may be done, and we shall explore two cf them. Both of these proposals represent untested procedures. 3.1. A branch and bound approach We first consider branch and bound algorithms. The multiple criteria method can be altered to work in a branch and bound integer framework. T o do this we first present a flow chart of a simple branch-and-bound algorithm, [5, p. 4161 in Fig. 1. As usual, [y] is the largest integer not exceeding y. The idea is to solve a sequence of linear programming problems thereby implicitly enumerating all of the possible integer solutions. The best one found is optimal. The procedure of Fig. 1 cannot be

554

Tc

Halt optimum

S. Zionts

Choose an integer variable Xk whose solution value Vk is not an integer.

Select solution with the maximum objective function value from list, I f l i s t is empty halt: there is no feasible integer solution t o the problem.

FIG.1. Flow Chart ofa Simple Branch a n d Bound A l g o r i t h m Taken f r o m [S,page 4161.

555

Integer linear programming with multiple objectives

used directly, but must be modified. The modifications wh'ich are to be made are based on the following theorem. Theorem. A solution can be excluded from further consideration (not added to the list) provided the following two conditions hold : (1) the decision maker prefers an integer solution to it,

Solve multicriteria linear programming problem obtained by relaxing integer constraints. If solution satisfies integer constraints, stop.

Yes the conditions of

-

Discard the Solution I

Choose an integer variable xk whose solution value y k is not integer.

Solve two problems, each having adjoined one of the following constraints: Xk 5 [Ykl Xk 2 [Ykl -+ 1 Exclude any infeasible solutions from further consideration.

FIG.2. Flow Chart of a Branch and Bound Multicriteria Integer Linear Programming Method

S. zionrs

556

P f' Test each of the newly generated solutions against the best known integer solution. I f the best known integer solution i s preferred to or is indifferent to a solution and none of the efficient tradeoffs from the solution are attractive to the decision maker, discard the solution; otherwise add it to the list. I f an integer solution is preferred to the best known integer solution, such a solution becomes t h e best known integer solution. (The previous best known integer solution may be discarded if the conditions of the theorem are satisfied.) Change objective functions whenever the old objective function weights no longer satisfy constraints constructed from decision maker's responses.

g' Choose next branching solution. Choose one of the newly found solutions i f possible." I f there are two, choose the most (least) preferred. Otherwise choose the most (least) preferred solution from the list. If the list is empty, an optimal solution has been found; stop. I f the solution i s not optimal with respect t o the current composite objective, find the optimal solution for the current composite objective.

FIG.2 (Continued)

* A It

depth first strategy has been adopted.

is an option that may or may not be

desirable.

( 2 ) all efficient tradeoff questions associated with the solution are viewed negatively or with indifference.

Proof. As shown by the decision-maker's preference the known integer solution has a greater objective function value than the solution in question. Further, since no continuous neighbor is preferred to the solution, any further restricted solution will have a lower objective function than the solution in question and therefore the integer solution.

Integer linear programming with multiple objectives

557

We were tempted to weaken the second condition of the theorem to a comparison between the known integer solution and the efficient adjacent extreme point solutions of the solution in question by using a slight alteration to our method proposed by Fandel and Wilhelm [2]. Unfortunately, such a change is not valid here. The question of preference is first checked by comparing the preference relationship with previously expressed preferences (derived from responses) to see whether or not the preferences can be deduced. If that is the case the preference is known; if not a question is posed to the decision maker, and the responses further restrict the multiplier space. Whenever a new set of multipliers is found they are to be substituted for the old set. An algorithm based on the above presentation is given in Fig. 2, and an example will be solved using it. The letter references correspond in the two figures. Substantial changes have occurred in blocks f and g. Where “most (least) preferred” are indicated are option-points. We have chosen the one not in parentheses, arbitrarily, but not because we have evidence it is superior. Many other options are possible, such as the use of penalty methods in choosing the branching variable, etc., but we have generally ignored such considerations in this paper. We now present an example, the example presented in Section 2 . We use the algorithm of Fig. 2 assuming that the true weights are h l = 0.7, h2 = 0.3, but that the weights chosen at the continuous optimum are A 1 =0.3, A * = 0.7. The tree of solutions is given in Fig. 3, and the number in each block indicates the solution number - the order in which each solution is found. (The shaded region is what also would have been generated if every branch had to be terminated either in an integer solution or an infeasible solution without terminating any branches otherwise.) (For this problem no solution had to be re-solved.) Table 1 is the optimal continuous solution, where xs and xq are the slack variables. (The identity matrix has been omitted.)

X3

u1

2.34 2.34 2.34

1.125 -0.375 1.125

~2

2.34

-0.375

x1 ~2

X4

- 0.375 1.125 - 0.375 1.125

The questions to Table 1 are both efficient (this is not demonstrated) and the two questions are found in the last two rows of the table: Are you willing (for variable x,) to decrease ul by 1.125 units and increase uz by 0.375 units? A simulated response is obtained by using the true weights. Here we compute - 1.125(.7) + 0.375(.3). Since the sum is negative, the simulated response is no. Are you willing

558

N C U

m

i' .AN x x

cu x

N

VI

S. Zionts

integer linear programming with multiple objectives

559

(for variable x,) to increase u1 by 0.375 units by having u2 decrease by 1.125 units? (Simulated response: no). The negative responses confirm the optimality of the solution to Table 1. The constraints are then

A, > !A2 A1

By using A ,

< 3&.

+ A2 = 1, we have on eliminating A t :

0.25 < A l < 0.75.

As indicated above we use A 1 = 0.3 (noting that the true value is A, = 0.7). Solving the two linear programming problems by branching on x1 from the noninteger optimum we have solutions 2 and 3. Which is preferred is not obvious and we illustrate the test. Solution 3 has a utility of 3A1+ 0.375A2. Solution 2 has a utility of 2A1+ 2.458A2.The difference between the utility of solution 3 and that of solution 2 is A1

- 2.0833A2 - 0 .

On using A2 = 1 - A , we have 3.0833A1- 2.0833 0. Because 0.25 < A 1 < 0.75, the term can be either positive or negative (in general two small linear programming probIems must be partiaIIy solved to know this); hence a question is asked. Using a simulated test of preference, as above, the decision maker prefers solution 3, and we have a new constraint. 3.0833A1- 2.0833 > 0 or

A 1 > 0.675.

Thus we now have 0.675 < A 1 < 0.75 so we choose A 1 = 0.72. We then branch on solution 3 to find solutions 4 and 5 (not feasible) and then branch on solution 4 to find solutions 6 and 7 (not feasible). To this point there have been no known integer solutions; thus the tests against the best known integer solution have been suppressed. Since solution 6 is integer, it becomes the best known integer solution. Next we choose the only remaining solution on the list, solution 2. As the comparison with solution 6 is not implied, the decision maker is asked which solution he prefers. He prefers solution 2; then the constraint

A, - 2.4583A2< 0 or A, < 0.711, is added and we have 0.675 < A 1 < 0.711 and we choose A 1 = 0.69. We next branch on solution 2; this yields solutions 8 and 9. Both solutions may be discarded because the conditions of the theorem are satisfied. (The constraints on the A's are sufficiently tight that all preferences are implied and no questions need to be asked.) Since there are no other solutions on the list, solution 6 has been found to be optimal. The method of Figure 1 using the correct weights enumerates the same solutions except that solutions 8 and 9 are not enumerated.

560

S. Zionfs

3.2. A cutting plane approach To illustrate another algorithm we also present a dual cutting plane approach. It is a logical extension of any dual cutting plane method with respect to multiple criteria decision making. Let k be a nonnegative integer, a choice variable that specifies the frequency of generating additional questions in the absence of finding an integer solution. The parameter k may be sufficiently large as to be effectively infinite. Then the procedure is the following: (1) Find the continuous multiple criteria optimum using the method of [6] and set i to 0. Use the associated weights to generate a composite objective function. (2) Adjoin a cut, increment i by one unit and optimize using the present composite objective function. Denote the solution found as the incumbent. (3) If the incumbent solution is integer, go to 4. Otherwise, if i is not equal to k , go t o 2. If i is equal to k go to 5. (4) Set i to zero, generate efficient questions (see the appendix for the definition) for the current solution that are consistent with previous responses. If the decision maker finds none of the tradeoffs attractive (or if there are no efficient tradeoffs) stop; the optimal solution has been found. Otherwise, use the responses to find a new composite objective function and perform the iterations necessary to achieve a linear programming optimum. Designate the associated solution as the incumbent solution and go to 3. (5) Set i to zero, generate efficient questions for the current solution that are consistent with previous responses. Use the decision maker’s responses to generate a new composite objective function and perform the iterations (possibly none) necessary to achieve a linear programming optimum. Designate the associated solution as the incumbent solution and go to 3. That this method is valid follows from the fact that every time an integer solution is found (and so long as k is not infinite, more often), questions are generated and the multipliers may be altered by the procedure. Every time step 4 is utilized the optimality of an efficient integer solution (an efficient extreme point of the convex hull of all feasible integer solutions) is confirmed or denied. If it is confirmed, the optimality has been demonstrated; if it is denied, one extreme point of the convex hull of all feasible integer solutions has been eliminated from consideration. So long as the solution space is closed and bounded, the number of such extreme points is finite. Therefore in such a case the procedure is finite. The effectiveness of choosing k to be finite is not clear, nor is the effectiveness of the method known. How well this scheme works depends on the power of the cut method employed. Since dual cut methods are not currently used much because they do not work well in practice, it is unlikely that a multiple criteria scheme based on a dual cut will work well. Although approaches may be developed for other integer algorithms, we shall not develop any additional approaches here.

Integer linear programming with multiple objectives

561

4. Discussion

The implementation of multiple criteria integer programming in liaison with dual cut methods and with branch and bound methods seems straightforward, although it appears warranted only in conjunction with branch and bound methods. Implementation should not be difficult, and it is felt that the difference between solving integer programming problems with multiple criteria and integer programming problems with a single criterion would be roughly the same as the performance of a multiobjective linear program as compared to a single objective linear program. More questions will be asked in the integer case, and probably more partial solutions will be generated as well, but it seems that the increase will not be considerable. A number of tests which correspond to solving relatively very small linear programming problems must be incorporated as well. The above statements are rather speculative and require further testing. For testing purposes, a computer program of the Zionts-Wallenius method now being prepared by the SIDMAR Corporation working together with the University of Ghent may be extended to the integer case and used. It is designed to be an easily usable and alterable program. In the noninteger case we were able to relax the assumption of the additive utility function to a general concave utility function. Such a generalization in the integer case seems rather unlikely because a point other than an extreme point solution of the convex polyhedron of feasible integer solutions can be optimal in the general concave case. A simple example of such a model would be the use of a utility function involving a product of objectives. (See Bowman [l], for an example.) In the linear case a neighborhood of feasible solutions would be identified and a point in the neighborhood would be optimal. Unfortunately, the use of such a scheme in the integer case would terminate with an integer solution and a neighborhood which need not contain any other feasible integer solutions.

Appendix. Overview of the Zionts-Wallenius method [6] for solving multiple criteria linear programming problems Let the problem of concern be Ax

=

b

xa 0

Iu

- ex

c 0.

(A.1)

The objective is to maximize hu where A > 0 but unknown. The procedure is as follows: (1) Choose an arbitrary A > O . (2) Solve the associated linear programming problem (A.1). The solution is an efficient solution. Identify the adjacent efficient extreme points in the space of the

562

s.

Zionts

objective functions for which a negative answer by the decision maker is not implied. If there are none, stop; the optimal solution has been found. The marginal rates of change in the objectives from the point to an adjacent point is a tradeoff offer, and the corresponding question is called an efficient question. (3) Ask the decision maker if he likes or dislikes the tradeoff offered for each efficient question. (4) Find a set of weights A consistent with all current and previous responses of the decision maker. Go to step 2. References [ l ] V.J. Bowman, On the Relationship of the Tchebycheff Norm and the Efficient Frontier of Multiple-Criteria Objectives, Paper presented at the conference on Multiple Criteria Decision Making, May 21-23, 1975, at Jouy-en-Josas, France. [2] G. Fandel and J. Wilhelm, Towards the Theory of Multiple Criteria, Paper presented at the Conference on Multiple Criteria Decision Making, May 21-23, 1975, at Jouy-en-Josas, France. [3] B. Roy, Problems and Methods with Multiple Objective Functions, Mark Programming, 1,2 (1971) 239-266. [4] J.F. Shapiro, Multiple Criteria Public Investment Decision Making by Mixed Integer Programming, Paper presented at the Conference on Multiple Criteria Decision Making, May 21-23, 1975, at Jouyen-Josas, France. [5] S. Zionts, Linear and Integer Programming (Prentice Hall, Englewood Cliffs, NJ, 1974). [6] S. Zionts and J. Wallenius, An Interactive Programming Method for Solving the Multiple Criteria Problem, Working Paper 74-10, European Institute for Advanced Studies in Management, Brussels, Revised March 1975. Management Science, 22, 6 (1976) 652-663.