4
Discrete "ght hand computed without additional cuts or pivots. A sotu. rl .o. to (Pa) can be generated immediately, and it will id tri ti 4~ -- --be °ptimal if it is feasible" S e parame za on lOl- Other parametric integer procedures recently reported in the literature are based primarily on linear integer programs S~ren HOLM Institute of History and Social Science, Odense University, Odense, Denmark Dieter KLEIN School o f Business and Organizational Sciences, Florida International University, Miami, Florida, L:$.A. Received 28 August 1976 Revised Januzry 1977 A procedure is presented which allows for tJiscrete param- etric analysis of the right hand side of an integer linear pro- gramm~ng problem (ILP). The ILP must be solved using C, om_~r,: cuts, and certain information about these cuts must be saved.. When the right hand side of the ILP is shifted, these cuts shift too. The corresponding shifts can be computed without performing additional cuts or pivots. These shifts are used to calculate_ a new solution which, if feasible is optimal. if the solution is not optimal, additional cuts may be required. The procedure is illustrated with an example. 1. Introduction in this paper we present a recomputation proce- dure which ~ows for discrete parametric analysis of an integer linear program. We call (Pa) max cx s.t. Ax=b+A x t> 0, integer a parametric integer program (PIP), where A is an m by n matrix, c and x are n-vectors, and b and A are m- vectors. Without loss of generality all parameters are assumed integer. Our procedure requires the solution of (Po). the PIP with A = 0, using a cutting plane algorit~ and saving certain information about the cuts utilized. When the right hand side of the problem is shifted by A, the~e cuts are shifted too, and the shifts can be © North-Holland Pubfishing Company European Journal of Operational Research 2 (1978) 50-53. branch and bound algorithms. Marsten and Morin [10] solve simultaneously a family of problems whose fight hand sides lie on a given line segment (i.e. bAfb +OA, 0<0<~ 1). A new family of problems needs to be solved for every new direction A. Piper and Zoltners [14,15] solve a set of closely related integer problems and provide sufficiency tests which assure that a revised problem belongs in this set. Roodman [16,17] developed a technique which allows limited parameter ranging based on insights generated during the solution of the original problem. Nauss [12] suggests the simultaneous solution of a problem with a finite number of different right hand sides. Frank [3] proposes the only other procedure not based on branch and bound. He also solves the PIP after solution of (Po) via Gomory's Fractional algorithm. In the following we extend Gomory cuts to include parametric right hand sides in Section 2. In Section 3 we present our recalculation procedure and apply it to a numerical example in Section 4. 2. Gomorycuts for parametric right hand sides Our recalculation procedure can be applied when (Po) has been solved with Gomory cuts, e.g. using Gomory's Fractional, Primal All-Integer, or Dual All. Integer algorithm. These algorithms solve an integer linear problem in a finite, although possibly very large number of iterations. For descriptions of Gomory cuts and algorithms we refer to the literature in [4,5, 6,8,18,19]. Let B be a basis of the linear programming prob- lem (LPo) corresponding to (Po) and let k be the index of the constraint in (LPo) serving as the source row for a cut. A Gomory cut has the following equa- tion ~([hYk]] - [h]Yki)xj+s = [h~k] - [hiCk (1} j~o" where h is a nonzero scalar, s is an integer slack varia. ble, Y=B-1A, Yc=B-Ib, J is the index set of non- basic variables, and [a] denotes the operator selecting the largest integer less than or equal to a. The opera- tor {a} will denote the fractional remainder of a, i.e. a = [a] + {a} and 0 < {a} < 1.

Discrete right hand side parametrization for linear integer programs

Embed Size (px)

Citation preview

D i s c r e t e "ght hand computed without additional cuts or pivots. A sotu. r l . o . to (Pa) can be generated immediately, and it will

id tri ti 4~ -- --be °ptimal if it is feasible" S e parame z a o n l O l - Other parametric integer procedures recently

reported in the literature are based primarily on

linear integer programs S~ren HOLM Institute of History and Social Science, Odense University, Odense, Denmark

Dieter KLEIN School o f Business and Organizational Sciences, Florida International University, Miami, Florida, L:$.A.

Received 28 August 1976 Revised Januzry 1977

A procedure is presented which allows for tJiscrete param- etric analysis of the right hand side of an integer linear pro- gramm~ng problem (ILP). The ILP must be solved using C, om_~r,: cuts, and certain information about these cuts must be saved.. When the right hand side of the ILP is shifted, these cuts shift too. The corresponding shifts can be computed without performing additional cuts or pivots. These shifts are used to calculate_ a new solution which, if feasible is optimal. i f the solution is not optimal, additional cuts may be required. The procedure is illustrated with an example.

1. Introduction

in this paper we present a recomputation proce- dure which ~ows for discrete parametric analysis of an integer linear program. We call

(Pa) max cx

s.t. A x = b + A

x t> 0, integer

a parametric integer program (PIP), where A is an m by n matrix, c and x are n-vectors, and b and A are m- vectors. Without loss of generality all parameters are assumed integer.

Our procedure requires the solution of (Po). the PIP with A = 0, using a cutting plane a lgor i t~ and saving certain information about the cuts utilized. When the right hand side of the problem is shifted by A, the~e cuts are shifted too, and the shifts can be

© North-Holland Pubfishing Company European Journal of Operational Research 2 (1978) 50-53 .

branch and bound algorithms. Marsten and Morin [10] solve simultaneously a family of problems whose fight hand sides lie on a given line segment (i.e. b A f b +OA, 0 < 0 < ~ 1). A new family of problems needs to be solved for every new direction A. Piper and Zoltners [14,15] solve a set of closely related integer problems and provide sufficiency tests which assure that a revised problem belongs in this set. Roodman [16,17] developed a technique which allows limited parameter ranging based on insights generated during the solution of the original problem. Nauss [12] suggests the simultaneous solution of a problem with a finite number of different right hand sides. Frank [3] proposes the only other procedure not based on branch and bound. He also solves the PIP after solution of (Po) via Gomory's Fractional algorithm.

In the following we extend Gomory cuts to include parametric right hand sides in Section 2. In Section 3 we present our recalculation procedure and apply it to a numerical example in Section 4.

2. Gomory cuts for parametric right hand sides

Our recalculation procedure can be applied when (Po) has been solved with Gomory cuts, e.g. using Gomory's Fractional, Primal All-Integer, or Dual All. Integer algorithm. These algorithms solve an integer linear problem in a finite, although possibly very large number of iterations. For descriptions of Gomory cuts and algorithms we refer to the literature in [4,5, 6,8,18,19].

Let B be a basis of the linear programming prob- lem (LPo) corresponding to (Po) and let k be the index of the constraint in (LPo) serving as the source row for a cut. A Gomory cut has the following equa- tion

~([hYk]] - [h]Yki)xj+s = [h~k] - [hiCk (1} j~o"

where h is a nonzero scalar, s is an integer slack varia. ble, Y=B-1A, Yc=B-Ib, J is the index set of non- basic variables, and [a] denotes the operator selecting the largest integer less than or equal to a. The opera- tor {a} will denote the fractional remainder of a, i.e. a = [a] + {a} and 0 < {a} < 1.

,7. Hohn, D. Klebl / Linear integer programs 5 1

Remarks. (a) Every feasible solution of (Po) satisfies the equation of the Gomory cut (!) . Therefore (1) can be added to the constrains of (LPo) without excluding any feasible integer point.

(b) (1)is a valid cut for any basis of (LPo), i.e. also for a basis which is primal or dual infeasible. Our reeomputation procedure utilizes this property of Gomory cuts.

(c) Use of h = 1 leads to Gomory's Fractional algorithm, while use of h = l /Ykp, k and p appropri- ately chosen, leads to the Primal or Dual All-Integer algorithm.

Incorporating fhe parametric right hand side of (PA) into the equation of the Gomory cut yields an equation which we call a parametric cut:

~( [hYkj ] - [h] Yki)xi + s ieJ

__- [hBf. t (b + a ) l - lhlBL (b + a )

= [ / i f / c ] - [h]-xk + ([hB'k I. ] - [h]B£))a + 6 (2)

with

5 = [ {h~k} + (hBk~.}al (3)

where BL l denotes row k o f B - l , a n d [ ] and { } are the integer and fractional part operators defined ear- lier.

Remarks. (d) Since the parametric cut (2) is a valid Gomory cut incorporating the discrete shift A, it is a valid Gomory cut for (PA).

(e) The equation of the parametric cut (2), expressed in terms of the original variables of (iDA) is:

[ - (hB; }Alx + s = [ + (4)

which is the equation of the Gomory cut shifted parallel by 6.

(f) For any A, calculation of the shift ~i of the parametric cut can be deferred until the optimal solu- tion to (Po) has been obtained, if the arguments of 6 in (4) have been saved.

3. Reeomputation procedure

The recomputation procedure solves (Pz) by using the identical pivots and cuts, suitably shifted, that solved the original problem (Po). Recalculation of the location of each cut does not require additional cuts or pivots. If the recalculated solution is feasible, it is

optimal. If it is infeasible, i.e. not integer or not non- negative, further app~.ication of the algorithm used to solve (Po) is required.

The procedure can now be described.

Step i. Solve (Po) using r cuts. For each cut t, t - 1 .. . . , r, save 3t = (h-~k} and v t = (hB~-.t}, where k i~ the index of the corresponding source row.

Step 2. For each cut t calcuhte recursively the parametric shift 5 t from

f i t = [~t + v t d t ] , ( 5 )

w h e r e d t = ( A I . . . . . A m , 5 1 . . . . . ~ t - l ) , t = ! . . . . . r .

Step 3. Calculate the parametric solution xA from

XA = B~lbo + Boldr, tS)

where B0 is the ojgtimal basis of (Po), including ~V r cuts, bo is the corresponding right hand side, and dr = d r+l . Ifxzx/> 0 anc) ~nteger, then xa solves (PAL

Step 4. Ifxa/is not integer or not nonnegative, use /

Bo and xa as the startix g point for further cuts.

Remarks. (,g) As Bo will be dual feasible for every A, cxz~ always provides an upper bound on the optimal value Of (Pzx).

(h) If B~ 1 is integer, then XA will also be inleger, B61 will be integer if an All.Integer algorithm was used to solve (Po) or if the F~acti:mal algorithm was applied to B6 J after integerizati'm of x~.

(i) If one recalculates (P~) in a direction A = c~J, c~ t> 0, the procedure may alternate between feasible and nonfeasible solutions.

(j) As is customary in cutting plane algorithms, redundant cuts can also be dropped during s~ep 1, as long as their corresponding fractional parts fi and v are saved arid their shifts are dropped from d t in step

2.

4. An example

in this section we apply our recomputation proce- dure to a simple example taken from Garfinkel and Nemhauser [4]. The problem is

m a x X 0 = 2X I + X 2

S.t. X,, + X 2 ÷ X 3 = 5

- X 1 + X2 + X 4 = 0

6x I *2x 2 +x s =21

x l , . . . , x , / > 0 , integer

52

Table 1

S. Holm, D. Klein [ Linear integer programs

- x 3 - x 4 - x s

Source xo 31/4 1 ]2 0 1/4

x I 11/4 --1/2 0 -114

x 2 9/4 3/2 0 -1 /4 x4 112 - 2 1 1/2

Cut 1 st -112 0 0 - 1 / 2 "

Table 2

--x 3 - x 4 - -x 5 - s 1

Source xO 15/2 1/2 0 0 1/2

~1 = 1/2,ul = {0.0. 1/2)

xl 5/2 -112 0 0 !/2 x2 5/2 312 0 0 -1/2 x4 0 - 2 1 0 I xs 1 0 0 1 - 2

0 2 = I/2, v 2 = (I12,0,0, I12)

Cut 2 s 2 -1 /2 - i / 2 " 0 0 - I / 2

Step I. We solve the problem following Garfinkel and Nemhauser [4, pp. 159-161] using Gomory's Fractional algorithm, i.e. h = 1. (Po) is solved with two cuts. The solution tableaus are displayed in Tables 1, 2, and 3. To each tableau we have added sufficient basic variables, so that it contains B -1, in addition to the cut and the information to be saved. The optimal linear programming solution to the prob- lem yields the tableau in Table 1. Incorporating cut 1 and pivoting on the starred element yields the tableau in Table 2. The optimal solution of the problem is found in the tableau of Table 3.

S tep 2. Let A = (4,9,-2), then the two cuts need

Table 3

- x 3 - x 4 - x S -S l -s2

xO 7 0 0 0 0 1

x l 3 0 0 0 l -1 x2 1 0 0 0 -2 3 x3 I 1 0 0 1 -2 x4 2 0 l 0 3 -4 x5 1 0 0 1 - 2 0

to be shifted by

~i t = [1/2 + (0,0,1/2)(4,9,-2)1 = [-1/2] -- -1 ,

~52 = [1/2 + ( 1 / 2 , 0 , 0 . 1 / 2 ) ( 4 , 9 , - 2 , - 1 ) ] = [2] = 2,

and

dr = (4 ,9 , -2 , - 1,2).

S tep 3.

xz~ = (3,1 ,1,2,1) + ( -3 ,8 , -1 ,-2,0)

= (0,9,0,0,1) x a solves (Pa)!

cx~, = 9.

lhe system of constraints and cuts for (Po) and ( P a ) is

Cut 1

Cut 2

x i + x 2 < 5 + 4

- x l + x2~< 0 + 9

6xl +2x2 <21 - 2

3x1+ x 2 < l O - 1

2 x i + x2~< 7~-2

~. Holm, D. Klein/Linear integer programs 53

5. Condudon

The recomputation procedure presented here is more effieiem than the complete solution of (PA), if the recomputed solution xt~ is feasible. The differ- ence in ealculational effort lies in the difference between the ealculational requirements for making a cut or executing a vector product. But our com- putational experience shows that even in the case where x a is infeasible, reapplication of the cutting plane algorithm starting from xzx is more efficient than a complete resolution of (Pa). For example, our experience with the Haldi-1 problem [4, p. 370] shows that for 12 different right hand side shifts the correct optimal solution was obtained in 10 cases, while 2 eases required further cutting. Both of these cases were solved more efficiently using the reeom- putation procedure than solving the problem from scratch.

References

[1] R.E. Alcaly and AN. Klevorick, A note on the dual prices of integer programs, Economettiea 34 (1966) 206-214.

[21 E. Balas, Duality in di~rete .r'rogramming, in: H.W. Kuhn (Ed.), Proceedings of th- ~',inceton Symposium on Mathematical Programming (Princeton University Press, NJ, 1970) 179-198.

[3] C.R. Frank, Parametric programming in integers, Opera- tions Res. Verfahren 3 (1967) 167.

[41 R.S. Garfinkel and G.L. Nemhauser, Integer Program- ming (John Wiley, NY, 1972).

[51 R.E. Gomory, An algorithm for integer solutions to linear programs, in: R.L. Graves and P. Wolfe (Eds.), Recent Advances in Mathematical Programming (Mc- Graw-Hill, NY, 1963) 262-302. (Originally appeared

as PrincetonqBM Math. Res. Project Teeh. Rep. No. t, 1958.)

[6] R.E. Gomory, All-integer programming algorithm, in: J.F. Muth and G.L. Thompson (Eds.), Industrial Sche- duling (Prentice-Hall, Englewood Cliffs, N J, 1963).

[7] R.E. Gomory and W.J. Baumol, Integer programming and pricing, Econometrica 28 (1960) 521-550.

[8] T.C. Hu, Integer Programming and Network Flows (Addison Wesley, Reading, MA, 1970).

[9] R.E. Jensen, Sensitivity analysis and integer linear pro- gramming, The Accounting Rev. (July 1968).

[10] R.E. Marsten and T.L. Matin, Parametric integer pro- g'ramming: The right hand side case, MIT, Operation Research Center, OR 050-76 (March 1976).

[ 11 ] R.E. Marsten and T.L. Mori.n, A hybrid approach to di~ ~ crete mathematical programming, M.I.T., Operation Research Center (March 1976).

[ 12] R.M. Nauss, Parametric integer programming, Ph.D. Dis- sertation, University of California, LA (January 1975).

[ 13] H. Noltemeier, Sensitivit/itsanalyse bei Diskreten Linearen Optimierungsprablemen, Lecture Notes in Operations Research and Mathematical Systems, No. 30 (Springer Verlag, Berlin, 1970).

[14] C.J. Piper and A.A. Zoltners, Implicit enumeration based algorithms for postoptimizing zero-one programs, Nay. Res. Logistics Quart. 22 (4) (1976).

[15] CJ. Piper and A.A. Zoltners, Some easy postoptimality analysis for zero-one programmir~g, Management Sci. 22 (7) 1976.

[161 G.M. Roodman, Postoplimality analysis in zero-~ne programming by implicit enumeration, Nov. Res. L(~gis- tics Quart. 19 (1972) 435-447.

[17] G.M. Roodman, Postoptimality analysis in integer pro- gramming by implicit enumeration: The mixed integer case, Nay. Res. Logistics Quart. 22 (]975) 565-607.

[18] H.M. Salkin, Integer Programming (Addison Wesley, Reading, MA, 1975).

[19J M. Simonnard, Linear Programming (Prentice ttall, Englewood Cliffs, N J, 1966).

[20] H.M. Weingartner, Mathematic',d Programming and the Analysis of Capital Budgeting Problems (Prentice Hall, Englewood Cliffs, N J, 1963).