Surrogate duality in a branch-and-bound procedure for integer programming

Surrogate duality in a branch-and-bound procedure for integer programming

326 European Journal of Operational Research33 (1988) 326-333 North-Holland Surrogate duality in a branch-and-bound procedure for integer programmin...

654KB Sizes 0 Downloads 49 Views

326

European Journal of Operational Research33 (1988) 326-333 North-Holland

Surrogate duality in a branch-and-bound procedure for integer programming Sanjiv S A R I N North Carolina A & T State University, Department of Industrial Engineering, Greensboro, NC 27411, USA M a r k H. K A R W A N State University of New York, Buffalo, NY, USA R o n a l d L. R A R D I N Purdue University, West Lafayette, IN, USA

Abstract: The existence of efficient techniques such as subgradient search for solving Lagrangean duals has led to some very successful applications of Lagrangean duality in solving specially structured discrete problems. While surrogate duals have been theoretically shown to provide stronger bounds, the complexity of surrogate dual multiplier search has discouraged their employment in solving integer programs. We have recently suggested a new strategy for computing surrogate dual values that allows us to directly use established Lagrangean search methods for exploring surrogate dual multipliers. This paper considers the problem of incorporating surrogate duality within a branch-and-bound procedure for solving integer programming problems. Computational experience with randomly generated multiconstraint knapsack problems is also reported. Keywords: Integer programming, Lagrangean duality, surrogate duality, branch-and-bound

Introduction

(PO) Minimize subject to

We consider an integer linear programming problem as: (P)

Minimize cx, subject to Ax >l b,

x~S.

The surrogate dual of problem (PO) is given by:

(Ds) x ~ S,

where S = { x > / 0 : Gx>lh and x satisfies some discrete constraints}. A and G are matrices and x, b, c and h are vectors of conformable dimensions. We assume that S is a bounded set and (P) has a non-empty feasible region. In addition to implying integrality requirements, the set S is assumed to have some computationally convenient structure not possessed by the entire problem (P). For a nonnegative real vector v, a surrogate relaxation of (P) is defined as:

cx, v(b-Ax)<~O,

sup

o/>0,

where v(P) denotes the optimal objective function value of the problem (P) if one exists or v(P)= + oo if (P) is infeasible. A Lagrangean relaxation of (P) is defined as: (Pu)

Minimize

cx+u(b-Ax),

subject to

x ~ S,

where u is a nonnegative real vector. The corresponding Lagrangean dual is given by: (DL)

sup

{v(Pu) ).

u>~O

Received January 1986; revised December 1986

It can easily be seen that surrogate and Lagrangean relaxations provide bounds to v(P)

0377-2217/88/$3.50 © 1988, Elsevier Science Publishers B.V. (North-Holland)

S. Sarin et aL / Surrogate duality in a B & B procedure for integer programming

and can be employed within a branch-and-bound procedure for solving (P) (in place of the conventional linear programming relaxation). Greenberg and Pierskalla (1970) have shown that the surrogate dual value is a better bound than the Lagrangean dual. However, surrogate duals are usually more difficult to compute. This is mainly due to the characteristics of v(P v) as a function of v: v(W) is a quasi-concave function of v. Any search procedure for determining dual multipliers is complicated by the presence of flat spots or plateaus. On the other hand, the value of a Lagrangean relaxation, v(Pu) is a piecewise linear concave function of u. This property has led to a number of efficient search procedures for locating optimal Lagrangean multipliers (for review see Geoffrion (1974), Fisher (1981)). The many instances of successful applications of the Lagrangean approach are well known. Similar success could be expected in using appropriate surrogate constraint formulations and corresponding duals in solving specially structured integer programs. Karwan and Pan's (1979) application to the fixed charge transportation problem, Dinkel and Kochenberger's (1975) implementation in a nonlinear programming problem, Gavish and Pirkul's (1985) application to the multiconstraint zero-one knapsack problems and Glover et al.'s (1979) application to a large-scale personnel planning problem are examples of the few applications of surrogate duality to specially structured problems. The important theoretical issues involving surrogate constraint duality are documented in Glover (1965), Greenberg and Pierskalla (1970), Greenberg and Pierskalla (1973), Glover (1975), Geoffrion (1969) and Karwan and Rardin (1979). The first attempt at determining optimal surrogate multipliers was suggested by Banerjee (1971). Working independently, Karwan and Rardin (1984) and Dyer (1980) analyzed several complete search procedures for computing surrogate dual multipliers. Most recently Gavish and Pirkul (1985) have presented a new heuristic algorithm for surrogate dual multiplier search and their paper includes computational results with completely solving multiconstraint knapsack problems involving upto 300 variables and 5 constraints. In another study, Sarin et al. (1984) presented a new method for computing surrogate dual multipliers in integer programming. Their approach

327

allows direct use of established Lagrangean search methods, such as subgradient-based search, for exploring surrogate dual multipliers. The objective of this paper is to demonstrate that this surrogate dual multiplier search technique is particularly attractive for incorporation within a primal branch-and-bound procedures. It will be shown that, unlike any of the other search algorithms, the proposed method can work in a direct manner with the value of the primal incumbent. The plan of the paper is as follows: In Section 1, we state the algorithm for surrogate dual search. In Section 2, we described the method for using surrogate duality within a tree enumeration method for solving an integer program. Finally, Section 3 contains results of computational testing of the proposed method with randomly generated problems.

1. Surrogate dual multiplier search algorithm The surrogate dual multiplier search algorithm used within the branch-and-bound procedure has been presented in detail in Satin et al. (1984). We summarize here the key features of the algorithm. The following problem is important in the discussion of the algorithm. (P~,v)

Minimize

v(b-Ax),

subject to

x ~ S(cQ,

where S(a) = {x ~ S: cx ~
Theorem 1.1. For a f i x e d a, i f there exists a multiplier vector v >~ 0 such that v(P~,~,) > 0, then v(Ds) > a. (P~,~,) may be thought of as a Lagrangean relaxation of problem (Pa) given by: (P,)

Minimize

z = 0,

subject to

A x >1 b,

x~S(~), with the constraint set A x >~b relaxed via multipliers v >~0. The Lagrangean dual of problem (P~,~,) is: (D~,L)

sup L'>~0

{v(P~,~,)},

328

S. Sarin et aL / Surrogate duality in a B& B procedure for integer programming

Theorem 1.2. For a fixed a, v(D~,L) is either zero or (D,,L) is unbounded from above. It is easy to specify lower and upper bounds on v(Ds), v(P ~) for any arbitrary v >/0 is a lower bound and any feasible solution to (P) is an upper bound to v(Ds). Given that v(Ds) lies within a range limited by these bounds, we shall now propose an outline of a procedure to locate v(Ds). If v(P~,~) is strictly positive for a fixed a and a v >~0, we can conclude that v ( D s ) > a and reduce the search interval suitably. It needs to be considered how a should be increased and the solution to (P,~,o) repeated. We shall term this a 'a-increase process'. If, on the other hand, v(P,,~)< 0, we would require a systematic iterative search for new multipliers until either one of the following should occur: (i) v(P,,o) becomes strictly positive upon which we may decide to execute the a-increase procedure or (ii) v(D,x,L ) = supv>~0v(P,,~)= 0 in which case a systematic reduction in the value of a may become necessary. We shall call the search for new multipliers the v-changing process'. The v-changing process is essentially the solution procedure to (D~,L). Since (D,,L) is the Lagrangean dual of (P~), any existing Lagrangean dual multiplier search procedure can be used to constitute the v-changing routine. We can hence talk about using subgradient methods for (D~,L) and could formulate a steepest ascent problem in (D~,L) not previously possible in (Ds). Of course, as soon as v(P,,o) > 0 for any v >~ 0, we could stop searching in (D~,L) and conclude that v(Ds) > a. We shall implement the v-changing process through a specialized subgradient search method (see Camerini et al. (1975)), whose scheme is essentially equivalent to using a weighted sum of all preceeding subgradient directions. The a-increase scheme is briefly discussed later in this section. We now state the algorithm for surrogate dual search. The algorithm requires two input parameters: klim and 2; klim is the maximum number of iterations allowed during the solution of (D,,L) subproblems, and 3 is an estimate of v(D~,L) used in the computation of a step-size during the subgradient-based Lagrangean search. Since we are interested in determining whether v(D~,L)= 0 or if there exist a v such that v(P~,~) > O, 2 equal to a small positive number serves the purpose. Algorithm S.

Step O. Overall initialization.

Choose a dual

iteration limit klim, lower and upper limits df and ud on v(Ds), a tolerance A > 0 and a factor 0 (0, 1), set & *-- d r + 0 ( u d - dd), and pick 2 ~ S(~). Step 1. (D,,L) initialization. Initialize iteration counter k ~ 1, dual solution ~ >I 0, and smoothed subgradient direction 8 ~ 0. Step 2. (P,,v) solution. If 9 ( b - A 2 ) <~0, terminate because u(P~,o)~0, go to Step 3 to change ~. If not, apply an enumerative procedure to solve (Pa,o) such that 2 is the incumbent solution. Step 2a. If ever t3(b - A 2 ) ~ 0, terminate (Pa,~) and go to Step 3 to change ~3. Otherwise, proceed until 2 is provably optimal in (Pa,~)- Then Step 2b. If ~ ( b - A 2 ) & v ( P a , o ) > O , set dd~c~ and to to Step 4 to increase ~. Step 2c. If (Pa,~)~<0 and ( b - A 2 ) < ~ O , 2 is a new incumbent solution for (P) and c2 a new upper bound on v(Ds). Set u d ~ c2 and go to Step 5 to decrease k. Step 2d. If v(P~,~) ~<0 and (b - A2) ~ 0, go to Step 3 to change ~3. Step 3. v-changing. If k >/ iteration limit klim, go to Step 5 to decrease & Otherwise, Step 3a. Update the smoothed subgradient s and v via

X,--1181111b-A~ll b

fl ( - - f O

'

-

~li

if 8 ( b - A 2 )

< 0,

otherwise,

2-v(b-A~)

11811

'

s *-- (b - A2) + fig, ~ *-- ~ + ~tS. Step 3b. Project the revised t3 on {v >/0} by 13j~ max {0, 0j} for all j. Then increase k *-- k + 1 and return to Step 2. Step 4. a-increase. The present 8 < v(D~). If Ieed- ~d I < A, stop; v(Ds) = & Otherwise, apply the a-increase process to choose a new k (d& u d ) and return to Step 1. Step 5. a-decrease. The present 8 >/v(Ds). If [ u d - dd [ < A, stop; v(Ds) -- & Otherwise, choose ~ ~ Yd+ 0 ( e l - dg), 2 ~ S(&), and return to Step 1. The undefined element of the Algorithm S is the a-increase process occurring when we conclude

S. Sarin et al. / Surrogate duality in a B & B procedure for integer programming

i.e. u(Ds) > a. If the remaining range [(#, e e l is small, we may terminate. But otherwise, we wish to increase a from its current value ~t. If u(D~.k) = m and u(P~,~) > 0 we know {x S: cx <~a, v(b-Ax)<<.O}=J3. Thus, v(P o ) = i n f {cx: x ~ S, v ( b - A x ) <<.0} > a. The a-increase scheme implements this idea by solving a surrogate relaxation (P';) at each Step 4 and picking a ~ p(pv). Explanation of each of the steps and proof of convergence of the above algorithm is reported in Satin et al. (1984). ~'(Da,L) = ~ ,

2. Using surrogate duality in a branch-and-bound procedure Suppose u* is the objective function value of the current incumbent solution within a branchand-bound procedure for the primal problem. Then, at a given node (candidate problem), we are interested in ascertaining if we can fathom the tree at that node or if further branching is necessary. Recall the use of the parameter a in the algorithm for computing p(Ds). If we choose a equal to u*, all we need to examine is whether u(Ds)>~ a or u(Ds) < a. If ~(Ds) >/a we can fathom the corresponding node of the tree. On the other hand, if it can be proven that ~,(D~)< a, then there is little advantage in searching for any more multipliers to actually find u(Ds) since it will not allow us to fathom the tree. Of course, there is a possibility of coming across a better feasible solution to (P) thus providing a lower incumbent solution value. The surrogate search procedure reported in Section 1 simplifies to a great extent if we employ a -- ~*. For a fixed value of a we may have to execute the v-changing process a number of times, but it will never be necessary to carry out the a-increase routine. In the special case when c and x are integer, it will be sufficient to choose a = i,* - 1. We summarize the above ideas in a partial enumeration procedure for the primal problem as follows.

329

optimal in (P). Otherwise, select one of the problems from the candidate fist to become the current candidate problem (CP). Step 3. Implicit enumeration tests. Some inexpensive implicit enumeration tests such as (i) comparison of the sum of the costs of the fixed variables to the incumbent value v* (assuming that suitable variable transformations have been conducted to assure that all costs are nonnegative) and (ii) examination of infeasibility of candidate problems can be carried out. If the above enable fathoming, go to Step 2 after deleting (CP) from the candidate list. If a new incumbent solution is found, update the incumbent solution vector and the value of ~*, and go to Step 2 after deleting (CP) from the candidate list. Otherwise, go to Step 4. Step 4. Fathoming via surrogate dual. Initialize a~*-l, k~l, v k = ( 0 , 0 . . . . . 0), x k ~ (0, 0 . . . . . 0)', g ,-- (0, 0 . . . . . 0) t. Step 4a. Solve (CP~.~,~). During the solution of (CP~.,,k), if an incumbent solution 2 is found such that vk(b - A 2 ) ~ O, terminate (CP,,~,~) early; x k 2 and go to Step 4b. Otherwise, let x k be an optimal solution to (CP~.,j~). If u(CP~,,~)>0, ~,(Ds) > a; delete (CP) from the candidate list and go to Step 2. If ~,(CP~.,,k)~< 0 and ( b - A x k) ~ O, go to Step 4b. Otherwise, a new primal incumbent solution is found; u* ~ cx k. a ,--- v* - 1 and repeat Step 4a. Step 4b. v-changing. If k > klim, (CP) cannot be fathomed; go to Step 5. Otherwise, compute: y, fl, /x, a new subgradient ~ and new multiplier set using the formulas in Step 3a of Algorithm S. Let v k + l ~ - ~ , project vk+l on the {v>~0} space by setting v~ +1 = max{0, v~ +1 } for all j. If v~+1(bA x k) <~O, then ~(CP~,~+,) will be negative; this implies priori termination of (CP~,~,~,); repeat Step 4b. Otherwise, k ~ k + 1 and go to Step 4a. Step 5. Branching. Replace problem (CP) in the candidate list by one or more further restricted problems. Return to Step 2.

The multiconstraint knapsack problem Algorithm SP. Step 1. Initialization. Select A, klim, 2. Establish the candidate list by making the full problem (P) the candidate list. Let Y be a feasible solution to (P) and let u* ~ c2. Step 2. Candidate selection. Stop if the candidate fist is empty: the incumbent solution must be

For an illustration of the overall approach and for computational experiments, the multiconstraint knapsack problem is employed. The mathematical formulation is as follows: (MKP)

Minimize

~_, cjxj, j=l

S. Sarin et al. / Surrogate duafity in a B & B procedure for integer programming

330

n

subject to

~ a~jxj >1b~, j=l

i=1 .... ,m, x binary. (MKP) can be a viewed as a particular case of our general problem (P) with the set S defined as S = ( x [ x binary}. Recall the general statements of problems (P), (po) and (P,,v) as given earlier. The particular surrogate relaxation we consider is obtained by dualizing all the resource constraints in (MKP), therefore, (PV) and (P~,~) in this case are singleconstraint 0-1 knapsack problems. The intent of this section is to establish the economic viability of using surrogate duality in integer programming problems (in particular, the multiconstraint knapsack problem). We perform this analysis as follows. Consider Algorithm SP as described earlier in this section for solving a general integer program. If we exclude Step 4 (i.e. fathoming via surrogate bounds) SP reduces to a simple implicit enumeration for the solution of (P). An implicit enumeration version of SP designed for the multiconstraint knapsack problem (MKP) is defined as Algorithm IE. We define Algorithm IES as comprised of the surrogate bound routine in addition to all the steps in IE. Note that the surrogate dual-based fathoming in IES is executed only if the implicit enumeration tests fail to fathom the candidate problem. The initial incumbent solution, branching strategy and the implicit enumeration tests are identical for both IE and IES. The difference in total execution times of algorithms IE and IES will then measure the incremental advantage of using surrogate duality over a simplified implicit enumeration procedure. We shall first discuss the method of computing an initial incumbent, implicit enumeration tests and the branching strategy followed. These will serve to completely specify Algorithms IE and IES in view of the general logic stated earlier.

the two methods is also reported in Satin (1983). Identical sets of problems were completely solved using each of the two methods separately for identifying an initial incumbent. For the type of problems we solved, we found that Loulou and Michaelides' algorithm usually finds a superior incumbent solution, but requires greater computational effort. When considering total computation times of the overall branch-and-bound tree, it was found preferable to use the simplified version for computing an initial incumbent.

Implicit enumeration tests We have included two implicit enumeration tests in our branch-and-bound procedure to limit the total number of candidate problems investigated. These tests as described below are valid only for problems which have cj >/0 and aij >i 0 for all i and j. The first test is based on the least cost completion (for the minimization problem) of the partial solution at any node. Since all costs are nonnegative, such a test determines the best cost completion as one which sets all the free variables to zero. If the objective function value of such a solution is worse than the incumbent value, then the tree can be fathomed at the current node. The second test conducts a simple feasibility check. Since all constraint coefficients are nonnegative for the 'greater than or equal to' constraints, setting all free variables to one should lead to a feasible solution. Otherwise, the partial solution at the current node can never be augmented by any set of branches to yield a feasible solution to (MKP); the node can hence be fathomed. The branch-and-bound code stores the total fixed cost at any node in variable ZP and the cumulative 'left hand side' value of each constraint in array BLHS(i). This allows the implicit enumeration tests to be implemented with minimal computational effort. See Balas (1965) for details on an additive algorithm for solving z e r o - o n e programruing problems.

Initial incumbent

Branching strategy

A heuristic procedure for finding a good feasible solution to (MKP) has been described in Sarin (1983). It can be viewed as a much simplified version of Loulou and Michaelides' (1979) method for the same purpose. An empirical comparison of

Selection of a variable to branch on is based on cost coefficients and constraint coefficients. For each variable x j, we define a quantity Tj which is a function of cj, agj and b r The way it is defined, a variable with a low T~ value will either have a

S. Sarin et al. / Surrogate duality in a B & B procedure for integer programming

small cost or large constraint coefficients (or both). Branching on such a variable equal to one would imply a high likelihood of discovering a new feasible solution (which may have an objective function value better than the current incumbent solution) thereby helping in fathoming. On the other hand, branching on such a variable equal to zero may enable fathoming due to an infeasible completion. At any point in the solution tree, the next variable branching on is the one which has the minimum value of Tj over all free variables. The primal enumeration tree is constructed with a L I F O policy, i.e., the last candidate problem added to the candidate list is the first one considered. We now make some comments regarding surrogate dual-based fathoming as incorporated in a branch-and-bound scheme for solving (MKP).

Surrogate dual-based bounding procedure The salient features of the surrogate dual based fathoming process (i.e. Step 4 of the general Algorithm SP) are listed as follows: (1) The value of the surrogate dual is compared against the current incumbent value for potential fathoming only if the implicit enumeration tests fail to fathom the tree at the current node. (2) A partial solution at any node may satisfy the requirements of one or more constraints. Since all constraint coefficients are nonnegative, any choice of values for the free variables will still preserve the feasibility of such constraints. Therefore, the surrogate relaxation considers only those constraints which are as yet unsatisfied. This is equivalent to using a fixed surrogate multiplier of zero for all the satisfied constraints. This reduces the dimensionality of the multiplier search thereby improving the efficiency of the algorithm. (3) If there is exactly one unsatisfied constraint, then the surrogate dual value is simply the value of the resulting knapsack problem. This special case is treated separately. The solution to the knapsack must be feasible to the primal problem. Fathoming in such a case is certain; there is also a likelihood of finding a new incumbent solution. (4) Surrogate dual based bounding is not attempted at the penultimate level of the tree. Since there is only one free variable, total enumeration at the ( n - 1)st level (for a n-variable problem) can be easily conducted without appreciable computational effort.

331

3. Computational results The intent of this computational analysis is (i) to demonstrate the use of our surrogate dual search procedure in solving general integer programming problems and (ii) to ascertain whether the extra work involved over and above implicit enumeration is worthwhile. This is done by solving identical sets of randomly generated multiconstraint knapsack problems using Algorithm IE and IES. The problem generator used is essentially the one used by Karwan and Rardin (1984). The coefficients of A are integer valued uniformly distributed random variables over the range (1, 10) with a prespecified density of 0.75. The cost coefficients c are integers and belong to the uniform (1,100) distribution. Values for the fight hand side b are selected from the uniform distribution over (E/4, 3 E / 4 ) where E equals the expected value of the sum of all coefficient in any row of A. The computations are performed using a FORTRAN IV code on the SUNY at Buffalo's C D C Cyber Dual 173/730 computer system (60 bit word, NOS version 1 operating system). All times are in milliseconds of CPU time. All results reported are based on five randomly generated problems. The main statistics of interest in our computational experimentation are defined in Table 1. These statistics are collected during execution with IE and IES and are reported in Tables 2 and 3 respectively. Note that the same algorithm is employed to compute an initial incumbent and a Table 1 Definitions of statistics used in Tables 2, 3 and 4 Notation

Description

NNODES FFEASCP

Total number of nodes explored Total number of nodes fathomed due to infeasibility Total number of nodes fathomed based on poor cost completion Total number of attempts made to fathom based on surrogate dual value Total number of times surrogate dual permitted fathoming Total number of knapsacks solved during surrogate dual search Time spent in executing surrogate dual based bounding scheme Overall branch-and-bound execution time

FZP NMULT FMULT NKPN TMULT TTOTAL

332

S. Sarin et al. / Surrogate duality in a B & B procedure for integer programming

Table 2 Computational results with Algorithm IE Problem

Mean [range]

size m × n

NNODES

FFEASCP

FZP

']'TOTAL

207

46

54

74

[40,3421

[10,83]

[7,1021

[19,116]

15912 [2296,37432]

3535 [688,7702]

4415 [446,11002]

5910 [836,13913]

5 x 10 5 X 20 10 x 10 10 x 20

151

51

22

64

[86,224]

[30,76]

[11,32]

[40,92]

13970 [638,32866]

3872 [219,7527]

3103 [91,8897]

6332 [297,15186]

(constant) branching order for both IE and IES. The surrogate dual based bound evaluation in IES is implemented using klim = 15, £ = 0.9. Computational results in Table 2 indicate that implicit enumeration tests tend to become inefficient as problem size (number of variables) increases. The number of nodes explored increase tremendously as the number of variables in test problems are increased from ten to twenty. This leads to extremely expensive computations for larger problems. The introduction of surrogate dual based bounding in IES helps to affect a significant reduction in the total number of nodes investigated. However, for small problems (5 × 10 and 10 × 10 size categories) the overall execution times with IES are rather worse or marginally better. This is due to the fact that percent reduction in total number of nodes brought about by the surrogate duals is much less for smaller problems and the additional work done in IES does not pay for itself. This is a common phenomenon with sophisticated bounding procedures such as the LP relaxation or dual formulations; they tend

to become attractive only for larger problems. The relative advantage of using surrogate dual bounds over a simple implicit enumeration is evident for 5 × 20 and 10 × 20 problems. We have solved similarly structured test problems using a commercial package (see MPos, 1976) which uses an LP relaxation based branch-andbound procedure. Our observation is that IES solves the problems in time comparable to those taken by the MPOS routine. An exact numerical comparison between the two would be confounded since the MPos code uses perhaps, a different initial incumbent, branching strategy and implicit enumeration tests. To demonstrate the viability of IES in solving still larger problems, we have generated and solved 5 x 3 0 , 1 0 × 3 0 , 2 0 x 3 0 and 5 × 4 0 problems. Computational results are summarized in Table 4 and confirm our earlier experience with relatively smaller problems. The analysis in this section has shown the advantage of using our surrogate dualbased fathoming scheme in a branch-and-bound procedure for solving multiconstraint knapsack

Table 3 Computational results with Algorithm IES Problem

Mean [range]

size m x n

NNODES

FFEASCP

FZP

NMULT

FMULT

NKPN

TMULT

TTOTAL

24 [16,42] 46 [32,92] 34 [18,46] 114 [40,192]

3 [1,6] 2 [0,6] 5 [2,9] 10 [2,19]

4 [1,10] 10 [2,28] 5 [1,8] 22 [2,43]

4 [1,7] 11 [9,17] 8 [4,13] 27 [10,48]

4 [1,7] 11 [9,14] 7 [4,10] 22 [9,37]

16 [5,41] 32 [18,57] 31 [14,43] 110 [48,202]

44 [5,133] 146 [91,252] 106 [43,153] 492 [246,816]

60 [17,157] 183 [120,306] 130 [57,186] 588 [298,964]

5 x 10 5 x 20 10 x 10 10 x 20

S. Sarin et al. / Surrogate duality in a B&B procedure for integer programming

333

Table 4 Computational results with Algorithm IES: Larger problems Problem size

Mean [range]

m >( n

NNODES

NMULT

FMULT

NKPN

TMULT

TTOTAL

5 × 30

379 [60,648]

59 [6,93]

47 [6.691

228 [23,419]

1155 [118,16361

1390 [156,19091

10 x 30

150 [60,300]

35 [8,80]

32 [8,74]

118 [32,2631

727 [234,16001

904 [284,20821

20 × 30

298 [102,6141

86 [38,182]

75 [37,1531

327 [131,741]

2402 [1242.54931

2823 [1461.63401

5 × 40

987 [78,2742]

173 [20,4851

140 [20,3851

590 [65,16641

3753 [541,10372]

4339 [646,119271

problems. Much of the overall savings in execution times may be attributed to two factors: (i) an efficient algorithm for solving knapsack problems encountered during surrogate dual search and (ii) a very high fathoming efficiency exhibited by the surrogate dual scheme (fathoming efficiency is defined as FMULT/NUMLT). The overall average fathoming efficiency for test problems in Tables 3 and 4 is equal to 88%.

References Balas, E. (1965), "An additive algorithm for solving linear programs with zero-one variables", Operations Research 13, 517-544. Banerjee, K. (1971), "Generalized Lagrange multipliers in dynamic programming", Research Report No. ORC 71-12, Operations Research Center, University of California, Berkeley, CA. Camerini, P.M., Fratta, L., and Maffioli, F. (1975), " O n improving relaxation methods by modified gradient techniques", M.L. Balinsky and P. Wolfe (eds.), Mathematical Programming Study 3, 26-34. Dinkel, J.J., and Kochenberger, G.A. (1978), "An implementation of surrogate constraint duality", Operations Research 26, 358-364. Dyer, M.E. (1980), "Calculating surrogate constraints", Mathematical Programming 19, 255-278. Fisher, M.L. (1981), "The Lagrangian relaxation method of solving integer programming problems", Management Science 27, 1-18. Gavish, B., and Pirkul, H. (1985), "Efficient algorithms for solving multiconstraint zero-one knapsacks to optimality", Mathematical Programming 31, 78-105. Geoffrion, A.M. (1969), "An improved implicit enumeration approach for integer programming", Operations Research 17, 437-454. Geoffrion, A.M. (1974), "Lagrangean relaxation for integer

programming", Mathematical Programming Study 2, 82114. Glover, F. (1965), "A multiphase-dual algorithm for the zero-one integer programming problem", Operations Research 13, 879-919. Glover, F. (1975), "Surrogate constraint duality in mathematical programming", Operations Research 23, 434-451. Glover, F., Karney, D., and Klingman, D. (1979), "A study of alternative relaxation approaches for a manpower planning problem", in: ljiri and Whinston (eds.), Quantitatioe Planning and Control, Academic Press, Orlando, FL, pp. 141-164. Greenberg, H.J., and Pierskalla, W.P. (1970), "Surrogate mathematical programming", Operations Research 18, 924-939. Greenberg, H.J., and Pierskalla, W.P. (1973), "Quasi-conjugate functions and surrogate duality", Cahier Centre d'Etude de Recherche Operationelle 15, 437-448. Karwan, M.H., and Pan, S.T. (1979), "Surrogate duality and the fixed charge transportation problem", Research Report No. 79-10. Department of Industrial Engineering, State University of New York at Buffalo, Buffalo. NY. Karwan, M.H., and Rardin, R.L. (1979), "Some relationships between Lagrangean and surrogate duality in integer programming", Mathematical Programming 17, 320-334. Karwan, M.H., and Rardin, R.L. (1984), "Surrogate dual multiplier search procedures in integer programming", Operations Research 32, 562-69. Loulou, R., and Michaelides, E. (1979), "New greedy-like heuristics for the multidimensional 0-1 knapsack problem", Operations Research 27, 1101-1114. Mpos (1976), Multi Purpose Optimization System, User's Guide, Version 3, Vogelback Computing Center, Northwestern University, Evanston, IL. Satin, S. (1983), "Surrogate dual multiplier search procedures in integer programming", Ph.D. dissertation. Department of Industrial Engineering, State University of New York at Buffalo, NY. Sarin, S., Karwan, M.H., and Rardin, R.L. (1984), "'A new surrogate dual search procedure in integer programming", Naval Research Logistics 34, 431-450.