Chapter 24. Implicit Enumeration with Generalized Upper Bounds
Tải bản đầy đủ  0trang
P. Meuert, U. Suhl
394
will use the terminology special ordered sets, convexity constraints, multiple choice
constraints, and generalized upper bounds interchangeably. (See [6] for the original
more general concept of special ordered sets.)
This class of problems contains a large number of applications, including
assembly line balancing [MI, resource constrained network scheduling [2], distribution problems [9], timetable problems [19], and a number of other scheduling
problems [2, 7, 81. Certain production planning problems with setup costs and
locationdistribution problems can be formulated as mixed integer programming
problems and solved by Benders’ Method [12]. In these and other cases, the master
problem exhibits a structure such that all variables can be grouped into special
ordered sets, as defined above.
Thus, we consider the following problem P:
minimize z
s.t. z
=
c
cjxj,
j€J
iEJ
a,jx, 2 b ,
xj = 0
Vi E M,
or 1, V j E J ,
where Jk are the special ordered sets with
u
Jk
=J
and J, nJk = 0 for i # k.
kEK
Without loss of generality, we assume that
c,
30
for all j E J.
Following standard terminology we define a partial solution as a projection of the
solution space onto a lower dimensional space by assigning binary values to a subset
S C J of the variables x,. An admissible partial solution is an assignment of binary
values to the variables x,, j E S CJ such that each special ordered set contains at
most one variable with value 1. We define:
S
index set of variables to which binary values are assigned;
S1 index set of variables assigned the value 1;
So index set of variables assigned the value 0;
a,,, current righthandside;
b , ( S )= b, JESl
c,,
z(S) =
jeS1
current value of the partial solution S ;
395
Implicit enumeration
I
V , ( S )= { i E M b i ( S )> 0)
1
V,(S) = {k € K S1n Jk
=
index set of general constraints (1) which would be
violated if the partial solution were completed by
assigning xj = 0 to all j E J  S ;
0) index set of convexity constraints (2) which would
be violated if S were completed by xj
j€JS;
= 0,
F ( S ) index set of free (unassigned) variables xi, j E J  S ;
L k
( S )=
[;
nF ( S )
if S1n Jk = 0,
otherwise,
index set of admissible variables from the special ordered set
L ( S )=
u &(S)
Jk
;
index set of admissible variables.
kEK
Note that a free variable is called admissible if n o other variable in the same
special ordered set is assigned the value 1.
Then each admissible partial solution defines a subproblem P ( S ) :
xj = O
or 1, j E L ( S ) .
(3')
Any feasible solution of P ( S ) defines a feasible completion of S by assigning the
value 0 to all remaining free variables. A minimal completion corresponds to a
minimal solution of P ( S ) .
Note that P ( S ) is, in general, a much smaller problem than P, since L ( S ) C
F ( S ) CJ. This fact will be used in the subsequent algorithm. Further, if Vl(S) =
V2(S) = 0 (i.e. all b i ( S )C 0 and all convexity constraints are satisfied) then x j = 0,
j E J  S is a minimal completion of S.
A partial solution S is said to be fathomed if
where
(a) it can be shown that the minimal value of P ( S ) is not less than zBeSt,
zBertis the value of the best feasible solution to P, found so far; or
(b) it can be determined that P ( S ) has no solution; or
(c) P ( S )is solved, i.e. all completions of S have been (implicitly) enumerated.
396
P. Meveri, U. Suhl
A variable x,, j E S is said to be fixed to 1 if the partial solution S with the
opposite value x, = 0 instead of x, = 1 has already been fathomed, i.e. is known to
possess no completion with a smaller value of the objective function. Similarly, a
variable x,, j E S is said to be fixed to 0 if the opposite branch x, = 1 has been or
need not be investigated.
By contrast, a variable x,, j E S is called set to a binary value p if the partial
solution S with the opposite branch x, = 1 p instead of x, = p is not excluded
from further investigation.
The information on the status of each variable x,, j E J is stored in a status vector
st which contains information on all free and assigned variables.
In order to keep relevant information on the enumeration history all indices j E S
are stored in chronological order in a partial solution vector s = GI,j r , . . .,1..)
where j k is the index of the variable which was set or fixed at the k th level of the
enumeration tree. Finally, V z ( S )is conveniently stored in form of a vector v z where
02(k) = 0 if k E Vz(S),and vz(k) = 1 if the kth multiple choice constraint is
satisfied ,
2. The implicit enumeration procedure
The problem is solved by implicit enumeration using a modification of the
procedures suggested in [3], [13], and [15]. The approach is related to [9]. The
multiple choice constraints (2) are stored implicitly but the enumeration procedure
uses the structure of these constraints explicitly.
The enumeration proceeds in the usual fashion from an admissible partial
solution S. An attempt is made to fathom S. If this is successful, the last variable in
S which was set to 0 or 1 is replaced by its complement, i.e. the node selection rule
is LIFO.
If S cannot be fathomed, one (or more) variables x,, j E L ( S ) are selected to be
set or fixed to 0 or 1, depending on the outcome of some tests. Note that only
admissible partial solutions can be generated.
The algorithm uses several of the tests which have been suggested in the
literature [3, 5, 10, 11, 201. Unly nonLero elements of the constraint matrix (1) are
stored and chained rowwise and columnwise, as will be discussed subsequently. In
view of the storage structure, tests are preferred which require very little
computational or updating effort.
The basic sequence of tests is shown in Fig. 1. It should be mentioned, however,
that Fig. 1 is only an approximate description of the algorithm. For example, if a
test results in fixing some of the variables, then in some cases the test will be
repeated after updating. In order to keep the exposition simple, such details are not
given in Fig. 1.
The following steps correspond to the numbers of Fig. 1:
397
Implicit enumeration
Initialize
b
1
Lower bound Ib ( S )
I
Ib ( S ) 3 zkst
V * ( S=
) 0
2
Feasibility test
3 feas. compl.
3
Fixing tests
3 candidates
4
Select branch
1
5
Forward step (s)
I V@)l’
f
,
I
Search L ( S )
1
I
I
3 feas. cornpl.
+
Record solution
1
7
Backtrack
I
b.
3j E S not fixed
Fig. 1.
(1) Calculate
Ib(S)
=
z(S)+
min {c,},
k E V z ( s ) IELk(s)
where Ib(S) is a lower bound for P ( S ) . If l b ( S ) ~ z B , , backtrack.
,
398
P. Mevert, U. Suhl
( 2 ) If V , ( S ) # 0 , then tests are carried out to determine if S has a feasible
completion. The basic test is as follows: Calculate
sup, < 6,( S ) backtrack.
(3) (a) If sup, = b , ( S ) , then all variables whose coefficients determine sup, can
be set to 1 and all variables x,, j E L ( S ) with a,, < 0 can be set to 0; they can be fixed
if sup, is determined by a unique set of variables.
(b) If an element a, in sup, is replaced by the next smaller admissible element
of the special ordered set and the sum is less than b , ( S ) , then x, can be fixed to 1.
(c) If there exist elements a,, < 0, i E V1(S),j E L ( S ) , such that sup, + a, <
b,(S)
(4) If no candidates where found in step 3 which can be set or fixed t o 0 or 1, then
a variable x,, j E L ( S ) has to be selected to be set to 1. Several branching rules are
possible. For most problems the following rule seemed to work best:
if Vl(S) = 0, select x, with c, = minkcL(s){ck};
if Vl(S) # 0, select the variable with the smallest cost coefficient from those
variables which determine sup,.
( 5 ) The candidates found in step 3 or the variable selected in step 4 are set or
fixed to 0 or 1. This is called a forward step. The vectors s, st, and v2,the right hand
side b , ( S ) , i E M, and the cost constant z ( S ) are updated. Note that L ( S ) is not
updated explicitly but is stored implicitly via v2, s, and st. Further, if variable x,
from a special ordered set Jk is assigned a value 1 the other variables x,, j E Jk,j f i
are not set to 0 but remain free and only uz is updated. This requires substantially
less bookkeeping and storage space than explicit handling.
(6) If exactly one multiple choice constraint is still violated then the set of
admissible candidates L,(S),k E V,(S), is searched for a feasible completion. The
search is sequential by increasing cost coefficients, thus the least cost completion is
found first and the partial solution S is always fathomed.
(7) The enumeration process backtracks if a partial solution S can be fathomed.
In this case the partial solution vector s is searched from right to left until an index j
is found whose status is “set to p”. The status of x, is then replaced by “fixed to
1 P’’ and 0 2 , z ( S ) , b ( S ) , s, and st are updated; all indices in s to the right of j
change their status from “fixed” to “free”. The enumeration stops when all
elements of S have status “fixed”.
For this implementation the efficiency of the basic enumeration was increased by
using additional characteristics of the problem under consideration. For example, if
<, b,
j with a,, 3 0 and b, 3 0 are present, the fact that
constraints of the type ~ l E , a , j x
these constraints must never be violated can be used advantageously in steps 2 , 3 , 4 ,
and 6. Similarly, special tests were used for assemblylinebalancing problems.
Finally, penalties can be calculated in steps 3 and 4 of the algorithm which reduces
the number of branches significantly.
Implicit enumeration
399
3. Data organization
The efficiency of any enumeration procedure depends critically on the organization and storage structure of the problem data. The coefficient matrix of realistic
problems is, in general, large but sparse. It is, therefore, not possible to keep the
entire matrix in core. In addition, storing all elements explicitly will require an
excessive computational effort for the usual feasibility and branching tests.
Storing nonzero elements by rows, only, will reduce core requirements significantly and to some extend computation times for feasibility and branching tests.
The updating of the righthandside, however, requires prohibitive search times.
For this implementation nonzero elements were stored and chained rowwise as
well as columnwise. The list structure can be characterized as follows:
0
variables are ordered by increasing cost coefficients within each special ordered
set;
0
the constraint matrix (1) is partitioned into positive elements and negative
elements;
the positive elements of the same row and special ordered set are chained in
0
decreasing order of magnitude;
the negative elements of each row are chained in increasing order of mag0
nitude;
for each column, the positive elements and the negative elements are chained;
0
the multiple choice constraints are stored implicitly.
0
The storage of the coefficients of the constraint matrix (1) requires the following 5
arrays:
(a) value of element a,, ;
(b) row index i ;
(c) column index j ;
(d) pointer to next smaller positive element in same row and special ordered set,
or pointer to next larger negative element in same row;
(e) pointer to next nonzero element in same column.
The array (d) can be eliminated if elements are sorted in the appropriate order. In
addition the following pointer arrays are used:
(f) largest positive element in row i and special ordered set k ;
(g) smallest negative element in row i ;
(h) first positive element in column j ;
(i) first negative element in column j ;
(k) first variable of special ordered set k.
Finally, the arrays s, sf, uz, c, and b have to be stored and one additional array is
used which orders the variables by increasing cost coefficients within special
ordered sets.
The list structure allows efficient testing as well as updating. T o calculate sup, in
step 2 of Fig. 1, for example, the vector u2 is searched sequentially for zero entries.
Assume u z ( k )= 0; then pointer array (f) points directly to the largest positive
400
P. Mevert. U. Suhl
element a,, in row i and special ordered set k . If the status of variable x, is free,
then a,, is an element of sup, ; otherwise pointer array (d) is used to retrieve the next
smaller element in row i and special orderd set k, etc.
Similarly, in step 3c of Fig. 1, row i is searched for negative coefficients a,. For
this test, pointer array (g) points to the smallest negative element a,,. If sup, ta,, <
b, ( S ) and j E L ( S ) ,then x, is fixed to 0 and pointer array (d) is used to retrieve the
second smallest element in row i, etc., until the test fails for the first time.
As a final illustration, in step 6 of Fig. 1, the admissible variables of the remaining
violated multiple choice constraint are searched sequentially €or a feasible completion. If V , ( S ) =P, then for j E L ( S ) only a , < O have to be checked against
b , ( S ) < O . In this case, pointer array (i) leads to the top of the chain of negative
elements in column j . If V , ( S )# P,, pointer array (h) leads to the chain of positive
elements az,> 0 in column j which are checked against b , ( S )> 0.
4. Numerical results
A preliminary version of the algorithm was implemented on a CDC CYBER 72.
Three types of test problems were generated and run for various problem sizes.
Problem A is an assemblylinebalancing problem. A detailed description can be
found in [18]. Problems of type B are distribution and warehouse allocation
problems with side constraints. Problem B.l is based on [9], however, additional
side constraints were added to render the solution of [9] infeasible. The data for
problems B.2B.5 were generated randomly. Coefficients of the objective functions
are uniformly distributed in the interval [ l , 1011; coefficients of the general
constraints are uniformly distributed in the interval [ 1, 511. The righthandside
coefficients of each problem were assigned values between 60 and 120. Problem C is
a resourceconstrained network scheduling problem. Table 1 summarizes the
results.
Thangavelu and Shetty [26] developed an efficient algorithm for assemblylinebalancing problems without additional side constraints. They solved problem A in
4.8 sec. on the UNIVAC 1108. Solution times are difficult to compare; the
UNIVAC 1108 is, in general, several times faster than the CYBER 72. Problem B.l
without side constraints was solved by DeMaio and Roveda [9] who designed a
specialized algorithm to solve “pure” problems of this type. Their reported solution
time was 1 sec. on the 1108. Finally, problem C was solved previously in 58 sec. on
the IBM 370/158, using MPSXMIP. For comparison, an attempt was made to solve
all problems except B.3, B.4, and B.5 using CDC’s LPbased system APEX 11. This
code has a feature to handle special ordered sets implicitly and efficiently. Problems
B . l and C were solved on the CYBER 72 in 19 seconds and 200 seconds CPUtime,
respectively. All other problems could not be solved in 1 hour CPUtime; the
feasible solutions which were found in 1 hour CPUtime did not contain the optimal
solution in any of these cases.
40 1
Implicit enumeration
Table 1 .
n
m
P
d
prob
nodes
solns
CPU
number of 01 variables
number of constraints
number of multiple choice constraints
density of problem matrix
number of problems solved
number of partial solutions investigated
number of feasible solutions found
total CPUtime in sec., including input processing
Problem
A
B.l
B.2
B.3
B.4
B.5
C

n
450
20
400
1000
1000
1000
58
m
117
13
40
65
65
70
46
p
45
5
20
25
40
50
6
d
4.1
23.1
5.0
3.1
3.1
2.9
23.5
prob
1
2
3
1
2
1
1
nodes
min
max
4
1237
1075


1280
12
7180
141
6256
22688
79
soh
min
max
1
4
4

2
2
9
2
9
3
1s
min
CPU
max
0.2
3.4

5.1

7.1
0.2
19.7
1.6
31.1
90.4
1.s5

All optimal solutions enumerated
The test results are insufficient to draw any final conclusions. It appears,
however, that even large problems of this special structure can be solved by implicit
enumeration in reasonable CPUtime. The number of general constraints seem to
have little influence on solution times as the increased computational effort is off set
by tighter bounds. The number of special ordered sets, however, appears to be a
limiting factor, as the computation times increase exponentially with the number of
special ordered sets.
References
[l] S. Ashour and A . Char, Computational experience on zeroone programming approaches to
various combinatorial problems, J.Op.Res.Soc. Japan 13 (1970) 78108.
[2] K.R. Baker, Introduction to Sequencing and Scheduling, (Wiley, 1974).
[3] E. Balas, An additive algorithm for solving linear programs with zeroone variables, ORSA 13
(1965) 517546.
[4] E. Balas, Discrete programming by the filter method, ORSA 15 (1967) 915957.
[5] M. Balinski and K. Spielberg, Methods for integer programming, in: J. Aronofsky, ed., Progress in
Operations Research Vol. 111, (Wiley, New York, 1969) pp. 195292.
[6] E.M.L. Beale and J.A. Tomlin, Special facilities in a general mathematical programming system for
nonconvex problems using ordered sets of variables, in: J. Lawrence, ed., Proc. 5Ih IFORS
Conference (Wiley, New York, 1970).
[7] A.R. Brown, Selling television time: An optimization problem, Computer J. 12 (1969) 201207.
[8] A.R. Brown, Optimum Packing and Depletion, (McDonald, London, 1971).
[9] A. D e Maio and C. Roveda, An all zeroone algorithm for a certain class of transportation
problems, ORSA 19 (1971) 14061418.
[lo] B. Fleischmann, Computational experience with the algorithm of Balas, ORSA 15 (1967) 153155.
[ l l ] R.S. Garfinkel and G.L. Nemhauser, Integer Programming, (Wiley, New York, 1972).
402
P. Mevert, U. Suhl
1121 A.M. Geoffrion and G.W. Graves, Multicommodity distribution system design by Benders
decomposition, Management Sci. 20 (1974) 822844.
[13] A. Geoffrion, Integer programming by implicit enumeration and Balas’ method, SIAM Review 9
(1967) 178190.
[14] A. Geoffrion, An improved implicit enumeration approach for integer programming, ORSA 17
(1969) 437454.
[15] F. Glover, A multiphasedual algorithm for the zeroone programming problem, ORSA 13 (1965)
879919.
[16] F. Glover and S. Zionts, A note OD the additive algorithm of Balas, ORSA 13 (1965) 546549.
(171 W. Healy, Jr., Multiple choice programming, ORSA 12 (1964) 122138.
[18] M.D. Kilbridge and L. Wester, A review of analytical systems of line balancing, ORSA 10 (1962)
626638.
[19] N.L. Lawrie, An integer linear programming model of a school timetabling problem, Computer J.
12 (1969) 307316.
[20] C. Lemke and K. Spielberg, Direct search algorithms for zeroone and mixed integer programming,
ORSA 15 (1967) 892914.
[21] C. Peterson, Computational experience with variants of the Balas algorithm applied to the selection
of R. & D. projects, Management Sci. 13 (1967) 7367.50.
[22] G.T. Ross and R.M. Soland, A branch and bound algorithm for the generalized assignment
problem, Math. Programming 8 (1975) 91103.
[23] H. Salkin, On the merit of generalized origin and restarts in implicit enumeration, ORSA 18 (1970)
549555.
[24] H. Salkin, Integer Programming (AddisonWesley, Reading, MA, 1975).
[25] U. Suhl, Entwicklung von Algorithmen fur ganzzahlige Optimierungsmodelle, unpublished
dissertation, Freie Universitat Berlin (1975).
[26) S.R. Thangavelu and C.M. Shetty, Assembly line balancing by 01 integer programming, AIIE
Trans. I11 (1971) 6479.
[27] N. Tuan, A flexible treesearch method for integer programming problems, ORSA 19 (1971)
115119.
Annals of Discrete Mathematics 1 (1977) 403414
@ NorthHolland Publishing Company
ON SOME NONLINEAR KNAPSACK PROBLEMS
I. MICHAEL1 and M.A. POLLATSCHEK
Faculry of Industrial and Management Engineering, Technion, Haifa, Israel
Minimization of separable strictly convex function is considered with nonnegative integer
variables when the sum of variables is constrained. Theorems concerning the condition for the
optimum and properties of the optimal solution are presented. For a few types of functions this
problem displays “periodic” properties similar to those in linear integer programming: The
difference between the noninteger and integer solution is a function depending solely on the
position of the noninteger solution inside a hypercube formed by the neighbouring integer points.
Utilization of this property shortens drastically the search for the integer solution, in many cases
the problem reduces to nonlinear 0/1 problem.
1. Introduction
Nonlinear integer programs have attracted less attention than their linear or
nonlinear 0/1 counterparts. (See [3,5]and the works referenced there for these two
cases.) We are aware of references [ 1 , 2 , 6 , 7 , 8 and 101only. If general theorems are
desired, even the convex case appears to be quite intractable when there are more
than one variable as has been pointed out recently [9].
Our aim is to eventually deal with the program wherein the minimand is
separable and strictly convex and the constraints are linear. This paper is the first
step toward this end: the constraint treated here is that the sum of variables is b.
Thus, our problem is (P):
minimize
2 fi (xi
i=l
= F(x),
xi = b,
subject to
i=l
x i > O , i = 1 , 2,..., n,
(3)
xi is integer, i = 1,2,. . ., n,
(4)
where b is a positive integer and f, (x,) is finite strictly convex for each i, for all the
values x, satisfying (2) and (3).
The authors have been motivated by a problem where f i ( x , ) = c,p:1, which arises
for example in allocating b (identical) weapons to n targets. Let c, be the utility of
destroying target i, 1p, the probability of destruction by a single weapon,
assuming independence among the weapons and additivity of utility one arrives
403
I . Michaeli, M . A . Pollatschek
404
(after trivial modifications) to (P) with the above j ( . ) where x, is the number of
weapons allocated to target i.
It is hoped that (P) will serve as a vehicle to analyse the case where the
constraints are linear but otherwise arbitrary.
In Section 2 an easily applicable necessary and sufficient condition is derived for
the (integer) optimum of (P) (Theorem 1 and its corollary). Denote an (integer)
optimal point of (P) by x o and the optimal point when (4)is disregarded by x * . It is
shown that either x: 3 [x :] for each i or x: [x T] + 1 for each i, or both, when [a]
is the largest integer not exceeding a. It is easy to check whether both inequalities
hold in which case (P) reduces to a 0/1 program which is less difficult to solve.
It is hoped that Theorems 1 and 2 can be extended to a more general program,
although their proofs exploit heavily the properties of constraint (2).
For a few types of functions it can be shown that x o  x * is not a function of b.
This is very similar to the phenomenon in asymptotic integer linear programs [4]
and has not been previously observed in the literature for the nonlinear case. Thus,
a general integer solution may be provided for an infinite number of righthand
sides.
2. Theorems
Theorem 1. x
(4) and (5):
= (xl,xz, . . ., x.)
J ( X l ) + f ; ( X , ) ~ f , ( X l
for each pair i, j (i
=
is a solution of (P) if and only if it satisfies (2), (3),
+ m)+fi(x,
1,. . ., n ; j

m)
= 1,. . ., n ; i# j )
(5)
and each integer m such that
Proof. The necessity of (2), (3), (4)and (5) for optimum is trivial. Their sufficiency
will be established by contradiction. Assume that x o is an optimal solution and x + is
not: F ( x ' ) > F ( x o ) ,while both are feasible, i.e., satisfy (2), (3) and (4).Suppose that
x + also satisfies (5) (xo clearly does). Denote one of them by x n and the other by x h
as follows: Define
and order the variables and points so that
ffl
2
a!*
2... 3 a!",
ff1+(Y,CO.
(7)
(8)
Note that this can be done without loss of generality and since both x R and x h
satisfy ( 2 ) we have