Chapter 37. Integer Linear Programming with Multiple Objectives
Tải bản đầy đủ  0trang
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 ZiontsWallenius 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 branchandbound 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 decisionmaker'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
optionpoints. 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 resolved.)
Table 1 is the optimal continuous solution, where xs and xq are the slack
variables. (The identity matrix has been omitted.)
X3
X4
u1
2.34
2.34
2.34
1.125
0.375
1.125
 0.375
1.125
 0.375
~2
2.34
0.375
1.125
x1
~2
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 ZiontsWallenius 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 ZiontsWallenius 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
MultipleCriteria Objectives, Paper presented at the conference on Multiple Criteria Decision
Making, May 2123, 1975, at JouyenJosas, France.
[2] G. Fandel and J. Wilhelm, Towards the Theory of Multiple Criteria, Paper presented at the
Conference on Multiple Criteria Decision Making, May 2123, 1975, at JouyenJosas, France.
[3] B. Roy, Problems and Methods with Multiple Objective Functions, Mark Programming, 1,2 (1971)
239266.
[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 2123, 1975, at JouyenJosas, 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 7410, European Institute for Advanced Studies in Management, Brussels,
Revised March 1975. Management Science, 22, 6 (1976) 652663.