Tải bản đầy đủ - 0 (trang)
Chapter 24. Implicit Enumeration with Generalized Upper Bounds

Chapter 24. Implicit Enumeration with Generalized Upper Bounds

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

P. Meuert, U. Suhl


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], time-table problems [19], and a number of other scheduling

problems [2, 7, 81. Certain production planning problems with setup costs and

location-distribution 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






a,jx, 2 b ,

xj = 0

Vi E M,

or 1, V j E J ,

where Jk are the special ordered sets with




and J, nJk = 0 for i # k.


Without loss of generality, we assume that



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:


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 right-hand-side;

b , ( S )= b, JESl


z(S) =


current value of the partial solution S ;


Implicit enumeration


V , ( S )= { i E M b i ( S )> 0)


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


= 0,

F ( S ) index set of free (unassigned) variables xi, j E J - S ;

L k

( S )=


nF ( S )

if S1n Jk = 0,


index set of admissible variables from the special ordered set

L ( S )=

u &(S)



index set of admissible variables.


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


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


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


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 non-Lero elements of the constraint matrix (1) are

stored and chained row-wise and column-wise, 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:


Implicit enumeration




Lower bound Ib ( S )


Ib ( S ) 3 zkst

V * ( S=

) 0


Feasibility test

3 feas. compl.


Fixing tests

3 candidates


Select branch



Forward step (s)

I V@)l’




Search L ( S )




3 feas. cornpl.


Record solution






3j E S not fixed

Fig. 1.

(1) Calculate




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.



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

(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 book-keeping 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 assembly-line-balancing problems.

Finally, penalties can be calculated in steps 3 and 4 of the algorithm which reduces

the number of branches significantly.

Implicit enumeration


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 non-zero elements by rows, only, will reduce core requirements significantly and to some extend computation times for feasibility and branching tests.

The updating of the right-hand-side, however, requires prohibitive search times.

For this implementation non-zero elements were stored and chained row-wise as

well as column-wise. The list structure can be characterized as follows:


variables are ordered by increasing cost coefficients within each special ordered



the constraint matrix (1) is partitioned into positive elements and negative


the positive elements of the same row and special ordered set are chained in


decreasing order of magnitude;

the negative elements of each row are chained in increasing order of mag0


for each column, the positive elements and the negative elements are chained;


the multiple choice constraints are stored implicitly.


The storage of the coefficients of the constraint matrix (1) requires the following 5


(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 non-zero 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


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 assembly-line-balancing 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.2-B.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 right-hand-side

coefficients of each problem were assigned values between 60 and 120. Problem C is

a resource-constrained network scheduling problem. Table 1 summarizes the


Thangavelu and Shetty [26] developed an efficient algorithm for assembly-linebalancing 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 MPSX-MIP. For comparison, an attempt was made to solve

all problems except B.3, B.4, and B.5 using CDC’s LP-based 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 CPU-time,

respectively. All other problems could not be solved in 1 hour CPU-time; the

feasible solutions which were found in 1 hour CPU-time did not contain the optimal

solution in any of these cases.

40 1

Implicit enumeration

Table 1 .









number of 0-1 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 CPU-time in sec., including input processing































































































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


[l] S. Ashour and A . Char, Computational experience on zero-one programming approaches to

various combinatorial problems, J.Op.Res.Soc. Japan 13 (1970) 78-108.

[2] K.R. Baker, Introduction to Sequencing and Scheduling, (Wiley, 1974).

[3] E. Balas, An additive algorithm for solving linear programs with zero-one variables, ORSA 13

(1965) 517-546.

[4] E. Balas, Discrete programming by the filter method, ORSA 15 (1967) 915-957.

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

[6] E.M.L. Beale and J.A. Tomlin, Special facilities in a general mathematical programming system for

non-convex 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) 201-207.

[8] A.R. Brown, Optimum Packing and Depletion, (McDonald, London, 1971).

[9] A. D e Maio and C. Roveda, An all zero-one algorithm for a certain class of transportation

problems, ORSA 19 (1971) 1406-1418.

[lo] B. Fleischmann, Computational experience with the algorithm of Balas, ORSA 15 (1967) 153-155.

[ l l ] R.S. Garfinkel and G.L. Nemhauser, Integer Programming, (Wiley, New York, 1972).


P. Mevert, U. Suhl

1121 A.M. Geoffrion and G.W. Graves, Multicommodity distribution system design by Benders

decomposition, Management Sci. 20 (1974) 822-844.

[13] A. Geoffrion, Integer programming by implicit enumeration and Balas’ method, SIAM Review 9

(1967) 178-190.

[14] A. Geoffrion, An improved implicit enumeration approach for integer programming, ORSA 17

(1969) 437-454.

[15] F. Glover, A multiphase-dual algorithm for the zero-one programming problem, ORSA 13 (1965)


[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) 122-138.

[18] M.D. Kilbridge and L. Wester, A review of analytical systems of line balancing, ORSA 10 (1962)


[19] N.L. Lawrie, An integer linear programming model of a school time-tabling problem, Computer J.

12 (1969) 307-316.

[20] C. Lemke and K. Spielberg, Direct search algorithms for zero-one and mixed integer programming,

ORSA 15 (1967) 892-914.

[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) 91-103.

[23] H. Salkin, On the merit of generalized origin and restarts in implicit enumeration, ORSA 18 (1970)


[24] H. Salkin, Integer Programming (Addison-Wesley, 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 0-1 integer programming, AIIE

Trans. I11 (1971) 64-79.

[27] N. Tuan, A flexible tree-search method for integer programming problems, ORSA 19 (1971)


Annals of Discrete Mathematics 1 (1977) 403-414

@ North-Holland Publishing Company



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


2 fi (xi


= F(x),

xi = b,

subject to


x i > O , i = 1 , 2,..., n,


xi is integer, i = 1,2,. . ., n,


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, 1-p, the probability of destruction by a single weapon,

assuming independence among the weapons and additivity of utility one arrives


I . Michaeli, M . A . Pollatschek


(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 right-hand


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



= 1,. . ., n ; i# j )


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




2... 3 a!",




Note that this can be done without loss of generality and since both x R and x h

satisfy ( 2 ) we have

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

Chapter 24. Implicit Enumeration with Generalized Upper Bounds

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