Tải bản đầy đủ - 0 (trang)
Chapter 37. Integer Linear Programming with Multiple Objectives

Chapter 37. Integer Linear Programming with Multiple Objectives

Tải bản đầy đủ - 0trang


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





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.


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


Unfortunately as the following simple example shows, that extension does not

necessarily work.

Given the constraints:


+ 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


< 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


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





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.


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.


the conditions of






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.


Flow Chart of a Branch and Bound Multicriteria

Integer Linear Programming Method

S. zionrs



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


depth first strategy has been adopted.

is an option that may or may not be


( 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


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


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.)










- 0.375


- 0.375







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






x x





S. Zionts

integer linear programming with multiple objectives


(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


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



- 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.


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


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




xa 0


- ex

c 0.


The objective is to maximize hu where A > 0 but unknown. The procedure is as


(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




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.


[ 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)


[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.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Chapter 37. Integer Linear Programming with Multiple Objectives

Tải bản đầy đủ ngay(0 tr)