Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1....

22
Digital Object Identifier (DOI) 10.1007/s10107-006-0711-y Math. Program., Ser. B 108, 275–296 (2006) Nan Kong · Andrew J. Schaefer · Brady Hunsaker Two-stage integer programs with stochastic right-hand sides: a superadditive dual approach Received: July 7, 2004 / Accepted: April 20, 2005 Published online: June 2, 2006 – © Springer-Verlag 2006 Abstract. We consider two-stage pure integer programs with discretely distributed stochastic right-hand sides. We present an equivalent superadditive dual formulation that uses the value functions in both stages. We give two algorithms for finding the value functions.To solve the reformulation after obtaining the value functions, we develop a global branch-and-bound approach and a level-set approach to find an optimal tender. We show that our method can solve randomly generated instances whose extensive forms are several orders of magnitude larger than the extensive forms of those instances found in the literature. Key words. Stochastic Programming – Integer Programming – Superadditive Duality – Global Branch and Bound – Level Sets 1. Introduction We consider the following class of two-stage pure integer stochastic programs: (P1) : max c T x + IE ξ Q(x, ξ(ω)) (1) subject to Ax b, x ZZ n 1 + , where Q(x, ξ(ω)) = max d T y subject to Wy h(ω) Tx, y ZZ n 2 + , and random variable ω from a probability space (, F , P ) is used to describe the realiza- tions of the uncertain parameters or scenarios. The numbers of constraints and decision variables in stage i are m i and n i , for i = 1, 2, and c and b are known vectors in IR n 1 A. J. Schaefer · B. Hunsaker: Department of Industrial Engineering, University of Pittsburgh, 1048 Benedum Hall, Pittsburgh, PA 15261, USA. e-mail: [email protected], [email protected] N. Kong: Department of Industrial and Management Systems Engineering, University of South Florida, 4202 E. FowlerAvenue, ENB 118, Tampa, FL 33620, USA. e-mail: [email protected]. Mathematics Subject Classification (2000): 90C15, 90C10, 90C06 This work is supported by National Science Foundation grants DMI-0217190 and DMI-0355433.

Transcript of Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1....

Page 1: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

Digital Object Identifier (DOI) 10.1007/s10107-006-0711-y

Math. Program., Ser. B 108, 275–296 (2006)

Nan Kong ·Andrew J. Schaefer · Brady Hunsaker

Two-stage integer programs with stochastic right-hand sides:a superadditive dual approach�

Received: July 7, 2004 / Accepted: April 20, 2005Published online: June 2, 2006 – © Springer-Verlag 2006

Abstract. We consider two-stage pure integer programs with discretely distributed stochastic right-handsides. We present an equivalent superadditive dual formulation that uses the value functions in both stages.We give two algorithms for finding the value functions. To solve the reformulation after obtaining the valuefunctions, we develop a global branch-and-bound approach and a level-set approach to find an optimal tender.We show that our method can solve randomly generated instances whose extensive forms are several ordersof magnitude larger than the extensive forms of those instances found in the literature.

Key words. Stochastic Programming – Integer Programming – Superadditive Duality – Global Branch andBound – Level Sets

1. Introduction

We consider the following class of two-stage pure integer stochastic programs:

(P1) : max cT x + IEξQ(x, ξ(ω)) (1)

subject to Ax ≤ b,x ∈ ZZn1+ ,

where

Q(x, ξ(ω)) = max dT ysubject to Wy ≤ h(ω)− T x,

y ∈ ZZn2+ ,

and random variableω from a probability space (�,F,P) is used to describe the realiza-tions of the uncertain parameters or scenarios. The numbers of constraints and decisionvariables in stage i are mi and ni , for i = 1, 2, and c and b are known vectors in IRn1

A. J. Schaefer · B. Hunsaker: Department of Industrial Engineering, University of Pittsburgh, 1048 BenedumHall, Pittsburgh, PA 15261, USA.e-mail: [email protected], [email protected]

N. Kong: Department of Industrial and Management Systems Engineering, University of South Florida, 4202E. Fowler Avenue, ENB 118, Tampa, FL 33620, USA.e-mail: [email protected].

Mathematics Subject Classification (2000): 90C15, 90C10, 90C06

� This work is supported by National Science Foundation grants DMI-0217190 and DMI-0355433.

Used Distiller 5.0.x Job Options
This report was created automatically with help of the Adobe Acrobat Distiller addition "Distiller Secrets v1.0.5" from IMPRESSED GmbH. You can download this startup file for Distiller versions 4.0.5 and 5.0.x for free from http://www.impressed.de. GENERAL ---------------------------------------- File Options: Compatibility: PDF 1.2 Optimize For Fast Web View: No Embed Thumbnails: No Auto-Rotate Pages: No Distill From Page: 1 Distill To Page: All Pages Binding: Left Resolution: [ 600 600 ] dpi Paper Size: [ 595 842 ] Point COMPRESSION ---------------------------------------- Color Images: Downsampling: Yes Downsample Type: Bicubic Downsampling Downsample Resolution: 150 dpi Downsampling For Images Above: 225 dpi Compression: Yes Automatic Selection of Compression Type: Yes JPEG Quality: Medium Bits Per Pixel: As Original Bit Grayscale Images: Downsampling: Yes Downsample Type: Bicubic Downsampling Downsample Resolution: 150 dpi Downsampling For Images Above: 225 dpi Compression: Yes Automatic Selection of Compression Type: Yes JPEG Quality: Medium Bits Per Pixel: As Original Bit Monochrome Images: Downsampling: Yes Downsample Type: Bicubic Downsampling Downsample Resolution: 600 dpi Downsampling For Images Above: 900 dpi Compression: Yes Compression Type: CCITT CCITT Group: 4 Anti-Alias To Gray: No Compress Text and Line Art: Yes FONTS ---------------------------------------- Embed All Fonts: Yes Subset Embedded Fonts: No When Embedding Fails: Warn and Continue Embedding: Always Embed: [ ] Never Embed: [ ] COLOR ---------------------------------------- Color Management Policies: Color Conversion Strategy: Convert All Colors to sRGB Intent: Default Working Spaces: Grayscale ICC Profile: RGB ICC Profile: sRGB IEC61966-2.1 CMYK ICC Profile: U.S. Web Coated (SWOP) v2 Device-Dependent Data: Preserve Overprint Settings: Yes Preserve Under Color Removal and Black Generation: Yes Transfer Functions: Apply Preserve Halftone Information: Yes ADVANCED ---------------------------------------- Options: Use Prologue.ps and Epilogue.ps: No Allow PostScript File To Override Job Options: Yes Preserve Level 2 copypage Semantics: Yes Save Portable Job Ticket Inside PDF File: No Illustrator Overprint Mode: Yes Convert Gradients To Smooth Shades: No ASCII Format: No Document Structuring Conventions (DSC): Process DSC Comments: No OTHERS ---------------------------------------- Distiller Core Version: 5000 Use ZIP Compression: Yes Deactivate Optimization: No Image Memory: 524288 Byte Anti-Alias Color Images: No Anti-Alias Grayscale Images: No Convert Images (< 257 Colors) To Indexed Color Space: Yes sRGB ICC Profile: sRGB IEC61966-2.1 END OF REPORT ---------------------------------------- IMPRESSED GmbH Bahrenfelder Chaussee 49 22761 Hamburg, Germany Tel. +49 40 897189-0 Fax +49 40 897189-71 Email: [email protected] Web: www.impressed.de
Adobe Acrobat Distiller 5.0.x Job Option File
<< /ColorSettingsFile () /AntiAliasMonoImages false /CannotEmbedFontPolicy /Warning /ParseDSCComments false /DoThumbnails false /CompressPages true /CalRGBProfile (sRGB IEC61966-2.1) /MaxSubsetPct 100 /EncodeColorImages true /GrayImageFilter /DCTEncode /Optimize false /ParseDSCCommentsForDocInfo false /EmitDSCWarnings false /CalGrayProfile () /NeverEmbed [ ] /GrayImageDownsampleThreshold 1.5 /UsePrologue false /GrayImageDict << /QFactor 0.9 /Blend 1 /HSamples [ 2 1 1 2 ] /VSamples [ 2 1 1 2 ] >> /AutoFilterColorImages true /sRGBProfile (sRGB IEC61966-2.1) /ColorImageDepth -1 /PreserveOverprintSettings true /AutoRotatePages /None /UCRandBGInfo /Preserve /EmbedAllFonts true /CompatibilityLevel 1.2 /StartPage 1 /AntiAliasColorImages false /CreateJobTicket false /ConvertImagesToIndexed true /ColorImageDownsampleType /Bicubic /ColorImageDownsampleThreshold 1.5 /MonoImageDownsampleType /Bicubic /DetectBlends false /GrayImageDownsampleType /Bicubic /PreserveEPSInfo false /GrayACSImageDict << /VSamples [ 2 1 1 2 ] /QFactor 0.76 /Blend 1 /HSamples [ 2 1 1 2 ] /ColorTransform 1 >> /ColorACSImageDict << /VSamples [ 2 1 1 2 ] /QFactor 0.76 /Blend 1 /HSamples [ 2 1 1 2 ] /ColorTransform 1 >> /PreserveCopyPage true /EncodeMonoImages true /ColorConversionStrategy /sRGB /PreserveOPIComments false /AntiAliasGrayImages false /GrayImageDepth -1 /ColorImageResolution 150 /EndPage -1 /AutoPositionEPSFiles false /MonoImageDepth -1 /TransferFunctionInfo /Apply /EncodeGrayImages true /DownsampleGrayImages true /DownsampleMonoImages true /DownsampleColorImages true /MonoImageDownsampleThreshold 1.5 /MonoImageDict << /K -1 >> /Binding /Left /CalCMYKProfile (U.S. Web Coated (SWOP) v2) /MonoImageResolution 600 /AutoFilterGrayImages true /AlwaysEmbed [ ] /ImageMemory 524288 /SubsetFonts false /DefaultRenderingIntent /Default /OPM 1 /MonoImageFilter /CCITTFaxEncode /GrayImageResolution 150 /ColorImageFilter /DCTEncode /PreserveHalftoneInfo true /ColorImageDict << /QFactor 0.9 /Blend 1 /HSamples [ 2 1 1 2 ] /VSamples [ 2 1 1 2 ] >> /ASCII85EncodePages false /LockDistillerParams false >> setdistillerparams << /PageSize [ 576.0 792.0 ] /HWResolution [ 600 600 ] >> setpagedevice
Page 2: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

276 N. Kong et al.

and IRm1 , respectively. The first-stage constraint matrixA is a known matrix in IRm1×n1 .Note that the technology matrix T ∈ IRm2×n1 , the recourse matrix W ∈ IRm2×n2 , andthe second-stage objective function d ∈ IRn2 are all deterministic, so that the stochasticcomponent consists of only h(ω). For each ω ∈ �, h(ω) ∈ IRm2 .

In (P1) we also make the following assumptions:

A1 The random variable ω follows a discrete distribution with finite support.A2 The first-stage feasibility setX = {

x | Ax ≤ b, x ∈ ZZn1+}

is nonempty and bounded.A3 Q(x, ξ(ω)) is finite for all x ∈ X and ω ∈ �.A4 The first-stage constraint matrix, the technology matrix, and the recourse matrix are

integral, i.e., A ∈ ZZm1×n1 , T ∈ ZZm2×n1 , W ∈ ZZm2×n2 .

Assumption A1 is justified by the results of Schultz [39], who observed that the opti-mal solution to any stochastic program with continuously distributed ω can be approx-imated within any given accuracy by the use of a discrete distribution. Assumption A2along with integrality restrictions in the first stage ensures thatX is a finite set. Assump-tion A3 explicitly requires thatQ(x, ξ(ω)) is feasible for all x ∈ X and ω ∈ �, which isknown as relatively complete recourse. Note that most of the related work in the literaturemakes assumptions similar to Assumptions A1–A3, e.g., [1, 11, 41, 42]. Assumption A4guarantees that without loss of generality, we can assume b ∈ ZZm1 , h(ω) ∈ ZZm2 for allω ∈ �.

In this paper, we develop a two-phase solution procedure to solve a superadditivedual reformulation of an important class of two-stage stochastic integer programs. Thereformulation takes advantage of the fact that many similar integer programs must besolved. This approach is relatively insensitive to the numbers of scenarios and decisionvariables, but it is sensitive to the number of rows as well as the magnitude of feasibleright-hand side values.

In Section 2, we review some related research results in stochastic integer program-ming, particularly some algorithmic development results, as well as some superaddi-tive duality properties of integer programs. In Section 3, we present a superadditivedual reformulation of (P1). Since ω is discretely distributed, the reformulation providesmany similar integer programs in the first stage and second stage. In the first phase ofour solution procedure, we construct the value functions in both stages to solve theseinteger programs and take advantage of the similarity among them using IP duality.Section 4 considers the first phase of the solution procedure. In this section, we proposetwo algorithms to compute the first- and second-stage value functions. In the secondphase of the solution procedure, search space reduction methods are applied to evaluateobjective functions cT x and Q(x) implicitly and optimize cT x +Q(x) efficiently withrespect to the tender variable. Section 5 considers the second phase of the solution pro-cedure. In this section, we describe two search techniques to find an optimal tender forthe purpose of reducing the number of objective function evaluations that are needed. InSection 6, we discuss some implementation details and present computational results.These computational results indicate that the method described in this paper is able tosolve a specific class of instances whose extensive forms are several orders of magnitudelarger than the extensive forms of instances previously reported in the literature. Onefeature of these instances is that there are very few rows but enormously many columnsin both stages. We draw conclusions and give directions for future research in Section 7.

Page 3: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

Two-stage SIP: a superadditive dual approach 277

2. Mathematical preliminaries

We first review some research results in stochastic integer programming with particularemphasis on three papers closely related to this work. We then review the concept ofvalue functions and some properties of integer programs, which will be used later todevelop the algorithms to find value functions.

2.1. Stochastic integer programming

Relative to stochastic linear programs, very little is known about two-stage stochasticinteger programs. When integrality restrictions are only imposed in the first stage —in other words, the recourse problem is continuous — models retain convexity proper-ties and algorithms similar to those for stochastic linear programs may be applied [49].Such problems arise from a variety of real-world applications, including cargo networkscheduling [34], manufacturing capacity planning [4], and telecommunication networkplanning [13, 45]. When some or all second-stage decision variables are also requiredto be integers, Q(x) becomes nonconvex and discontinuous in general [33, 46]. Modelsin this case are classified as stochastic programs with (mixed-)integer recourse. A fewunit commitment problems fall into this category [38].

Due to the inherent difficulties in two-stage stochastic programs with integer re-course, problems with special structures have been identified and studied. An exampleis stochastic programs with simple integer recourse (SIR), in which the only possiblerecourse action is to incur linear penalties for any shortage or surplus [26, 27, 29, 30,33].

In the case of general two-stage stochastic integer programs, relatively few solu-tion techniques have been developed. The majority of algorithmic developments forthese problems are based on cutting planes or branch-and-bound techniques, which haveproved their effectiveness in solving large-scale deterministic mixed-integer programs.Laporte and Louveaux [31] developed a decomposition-based approach that combinesthe L-shaped method [48] and branch-and-cut techniques. Norkin et al. [37] proposed astochastic branch-and-bound algorithm for minimizing the expected recourse functionof a discrete stochastic program over a finite set. Other branch-and-bound approachesinclude scenario decomposition techniques [8, 9] and a branch-and-fix approach [2, 3].Some recent papers have applied cutting planes [10, 11, 42–44]. In recent years, test setmethods have gained interest in stochastic integer programming. For example, Gravertest sets [18] have been attempted for solving the pure integer version of two-stage sto-chastic integer programs [19]. A detailed discussion of various algorithms for stochasticinteger programs can be found in Carøe [8], Klein Haneveld and van der Vlerk [28], andSchultz [40].

Next, we describe in more detail three papers closely related to this work. (P1) is sim-ilar to the problem considered in Schultz et al. [41], except that we further assume that allfirst-stage decision variables are integral and the first-stage feasibility set is bounded. Theauthors applied Grobner basis reductions [6, 47] to exploit the underlying relationshipwithin the family of second-stage integer programs parameterized by their right-handsides. However, determining Grobner bases is challenging even for problems with small

Page 4: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

278 N. Kong et al.

size. A recent implementation of computing Grobner bases [14] indicated that thesedrawbacks may be overcome. The recourse problem of the examples in [41] has only 4binary decision variables and 2 constraints. In addition, the set of points in the space offirst-stage decision variables for which the objective function has to be evaluated maybe large. Therefore, a level-set approach and some further improvements were presentedthat aim at reducing the number of candidate points. Ahmed et al. [1] proposed a dualreformulation of a general class of two-stage stochastic integer programs and developeda global branch-and-bound algorithm that is guaranteed finite termination and avoidsexplicit enumeration of the search space. Their algorithm achieved better computationalperformance than previous works on several test problems from the literature. Carøe andTind [11] generalized the convex hull approximation of the expected recourse functionin the L-shaped method. They extended the integer L-shaped method for pure integersecond-stage cases by introducing nonlinear cuts generated via IP duality. They alsoemployed branch-and-bound and cutting plane techniques for solving the second-stageproblem in the generalized L-shaped method. However, they concluded that solving themaster problem obtained from either approach would in general become cumbersome.No implementation details or computational results were provided in their paper.

2.2. Superadditive duality for integer programs

Superadditive duality was pioneered by Gomory [17], who showed strong duality forthe group problem. An explicit statement of a superadditive dual appeared in Johnson[21] in the context of a cyclic group problem. The treatment for other integer programswas given in Johnson [23, 24]. For a summary of results on superadditive duality, seeJohnson [22] and Nemhauser [35]. Before stating some necessary results on superaddi-tive duality, we introduce the concept of a value function. Much of the notation here isthe same as that in Nemhauser and Wolsey [36].

Given G ∈ ZZm×n, we consider the following family of parameterized pure integerprograms:

(PIP): z(β) = max{γ T x

∣∣∣ x ∈ S(β)}, S(β) =

{x ∈ ZZn+

∣∣∣ Gx ≤ β}

for β ∈ ZZm.

The function, z(·) : ZZm �→ ZZ, is called the value function of (PIP). We say thatz(β) = −∞ if S(β) = ∅ and that z(β) = +∞ if the objective value is unbounded fromabove. We define opt(β) to be argmax

{γ T x | x ∈ S(β)}; that is, the set of optimal pri-

mal solutions to (PIP) given a right-hand side β. Define SLP (β) ={x ∈ IRn+ | Gx ≤ β

}

and define zLP (β) = max{γ T x | x ∈ SLP (β)

}, the linear relaxation of z(β). We first

state several elementary properties of the value function. The proofs of these propositionscan be found in [36, 50].

Proposition 1. z(0) ∈ {0,∞}. If z(0) = 0, then z(β) <∞ for allβ ∈ ZZm. If z(0) = ∞,then z(β) = ±∞ for all β ∈ ZZm.

Problems with z(β) = ±∞ for all β ∈ ZZm reduce to feasibility problems. Hence,for simplicity of exposition, we assume z(0) = 0 and thus z(β) <∞ for all β ∈ ZZm.

Page 5: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

Two-stage SIP: a superadditive dual approach 279

Proposition 2. Let gj and γj be the j th column of the constraint matrix G and the j th

coefficient of the objective function γ T x of (PIP), respectively. Then, z(gj ) ≥ γj forj = 1, . . . , n.

Proposition 3. (Nondecreasing). The value function of (PIP) is nondecreasing over ZZm.

Proposition 4. (Superadditivity). The value function of (PIP) is superadditive overD ={β ∈ ZZm | S(β) �= ∅}. That is, for all β1, β2 ∈ D, if β1 + β2 ∈ D,

z(β1)+ z(β2) ≤ z(β1 + β2).

The superadditivity of the value function of pure integer programs was first studiedby Blair and Jeroslow [5] and Wolsey [50].

Proposition 5. (Integer Complementary Slackness). If x ∈ opt(β), then

z(Gx) = γ T x and z(Gx)+ z(β −Gx) = z(Gx)+ z (G

(x − x)) = z(β),

for all x ∈ ZZn+ such that x ≤ x.

Corollary 1. (Column Elimination) If z(gj ) > γj , then for all β ∈ ZZm and all x ∈opt(β), xj = 0.

We provide a more general column elimination procedure in Section 5.3.

3. Superadditive dual reformulation

The key concept behind our development is to reformulate (P1) via a decision variabletransformation, similar to the one presented in Ahmed et al. [1]. With this reformula-tion, we divide the solution procedure into two phases. Unlike Ahmed et al. [1], wherea global branch-and-bound framework was presented, we give more attention to thefirst phase in which we develop two algorithms to find the first-stage and second-stagevalue functions defined over an enormous number of right-hand sides. Unlike Carøeand Tind [11], we exploit the properties of superadditive duality for finding the valuefunctions in both stages efficiently. In the second phase, we implicitly search a solutionspace constructed through the reformulation. One technique to reduce the search spaceis a branch-and-bound approach. The other technique is based on a level-set approach,which differs from the one in Schultz et al. [41] in the way that it constructs the set ofcandidate solutions first and then searches for the optimal solution in this set.

We reformulate (P1) using the value functions of pure integer programs in bothstages. Define B1 to be the set of vectors β1 ∈ IRm2 such that there exists x ∈ X withβ1 = T x, i.e., B1 = {

β1 ∈ IRm2∣∣ ∃x ∈ X, β1 = T x

}, where X ⊆ ZZn1+ is the first-stage

feasibility set. Define B2 to be the set of vectors β2 ∈ IRm2 such that there exist β1 ∈ B1

and ω ∈ �, β2 = h(ω) − β1, i.e., B2 = ∪β1∈B1 ∪ω∈� {h(ω) − β1}. Note that sinceT ∈ ZZm2×n1 , all vectors contained in B1 are, in fact, integral. Together with the conditionh(ω) ∈ ZZm2 for all ω ∈ �, this implies that all vectors in B2 are also integral.

For any β1 ∈ ZZm2 , define the first-stage value function as:

ψ(β1) = max{cT x

∣∣ x ∈ S1(β1)}, S1(β1) =

{x ∈ ZZn1+

∣∣ Ax ≤ b, T x ≤ β1}. (2)

Page 6: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

280 N. Kong et al.

Note that the condition T x = β1 in the definition of B1 is replaced by T x ≤ β1 in (2).As a matter of fact, T x ≤ β1 is equivalent to T x = β1 by Proposition 3 in definingthe first-stage value function. Using the inequalities instead of the equalities enables usto apply superadditive duality in the algorithmic aspect. For any β2 ∈ ZZm2 , define thesecond-stage value function as:

φ(β2) = max{dT y

∣∣∣ y ∈ S2(β2)}, S2(β2) =

{y ∈ ZZn2+

∣∣∣ Wy ≤ β2

}. (3)

Then we reformulate (P1) as:

(P2): max{ψ(β)+ IEξφ(h(ω)− β)

∣∣∣ β ∈ B1}. (4)

Variables β in (P2) are known as the “tender variables.” Instead of searching X, wesearch the space of tender variables to obtain a global optimum. Note that the lineartransformation β = T x preserves the finiteness of the search space with AssumptionA2. The following result establishes the correspondence between the optimal solutionsto (P1) and (P2).

Theorem 1. Let β∗ be an optimal solution to (P2). Then x ∈ arg max{cT x

∣∣ Ax ≤ b,T x ≤ β∗, x ∈ ZZn1+

}is an optimal solution to (P1). Furthermore, the optimal objective

values of the two problems are equal.

The proof of Theorem 1 is similar to the one for Theorem 3.2 of Ahmed et al. [1]except for the difference in the definition of the first-stage value function.

It is evident that finding the value functions in both stages is the key to solving (P2).In the next section, we present one algorithm based on integer programming and onebased on dynamic programming to find the value functions ψ(·) and φ(·). To simplifythe exposition we continue the use of notation z(·) for a generic value function in thenext section.

In our current implementation, value functions z(β) are stored in computer memoryexplicitly for all β ∈ B. As the dimension of B increases, |B| increases exponentiallyand each z(β) for β ∈ B takes more memory. Hence the algorithms are only suitablefor problems with small |B| when value functions are explicitly stored. However, recentresults in [12] indicated that the value functions of an integer program can be encodedand computed as a polynomial-size rational generating function. This may offer a wayto overcome the computational difficulty in future work.

4. Finding the value function of a parameterized integer program

Very little is known about how to compute the value function efficiently for a generalinteger program. Llewellyn and Ryan [32] showed how a value function can be con-structed from Chvatal-Gomory cuts. Burdet and Johnson [7] presented an algorithm thatstrengthens Chvatal-Gomory cuts by using superadditive functions. Neither of theseworks presented any computational results. Klabjan [25] studied a family of computa-tionally tractable superadditive dual functions and developed a solution methodologythat computes the value function. He also discussed implementation details and presentedcomputational results on several set partitioning instances.

Page 7: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

Two-stage SIP: a superadditive dual approach 281

With the integrality specification on problem parameters A, T , and W in (P1), weconsider a class of integer programs z(β) = max

{γ T x | Gx ≤ β, x ∈ ZZn+

}for β ∈ B,

whereG is integral. This broad class of problems includes the group problem, the integerknapsack problem, and the set packing problem, for example.

In (P1) Assumptions A1 and A2 ensure the finiteness of B1 and B2. Therefore, weassume that B is finite. Additionally, under Assumptions A2 and A3, the value functionsin both stages, ψ(β1) and φ(β2), are finite for all β1 ∈ B1 and β2 ∈ B2, respectively.Therefore, we assume that z(β) is finite for all β ∈ B. Hence, a dual feasible solutionπ exists for zLP (β) with respect to any β ∈ B. Since B1,B2 ⊂ ZZm2 , we also assumeB ⊆ ZZm. Next, we present two algorithms for finding the value function z(·).

4.1. An integer-programming-based algorithm for finding the value function

The algorithm described in this section defines l(·) and u(·) to be lower and upper boundsof z(·), respectively, and maintains l(β) ≤ z(β) ≤ u(β) for all β ∈ B throughout theprocedure of finding z(·). Once l(β) = u(β), z(β) is known. The algorithm terminateswhen z(β) is determined for all β ∈ B. At each iteration, the algorithm updates l(β) andu(β) for some β ∈ B by performing the following three basic operations.

1. Solve an integer program given a right-hand side β ∈ B and obtain an optimal primalsolution x.

2. Given x, the optimal primal solution obtained from the first operation, apply thecomplementary slackness property for integer programs (Proposition 5).

3. Apply the nondecreasing and superadditive properties (Propositions 3 and 4).

Most of the algorithms for finding the value function of integer programs in theliterature construct the value function by iteratively improving the upper bounding su-peradditive function without solving the integer program for any right-hand side [7, 25].Our proposed algorithm, on the other hand, solves integer programs for some right-handsides β ∈ B. Another difference is that our algorithm terminates once z(β) is determinedfor all β ∈ B.

Algorithm 1. An IP-based Algorithm for Finding the Value Function

Step 0: Initialize the lower bound l0(β) = −∞ for all β ∈ B. For j = 1, . . . , n, ifgj ∈ B, set l0(gj ) = γj . Without loss of generality, we assume that there are noduplicate columns. Find zLP (β0) for an arbitrary β0 ∈ B to obtain an optimal dualsolution π0. Initialize the upper bound u0(β) = πT0 β for all β ∈ B. Set k← 1.

Step 1: Put lk(β)← lk−1(β) and uk(β)← uk−1(β) for all β ∈ B. Select βk ∈ B suchthat lk(βk) < uk(βk). Solve the integer program with right-hand side βk to obtainan optimal primal solution xk . Set lk(βk) = uk(βk) = γ T xk . Initialize a vector listLk = {βk}.

Step 2: Select all x ∈ ZZn+ such that x ≤ xk . If Gx ∈ B, set lk(Gx) = uk(Gx) = γ T xand Lk ← Lk∪{Gx}. If βk−Gx ∈ B, lk(βk−Gx) = uk(βk−Gx) = γ T (

xk − x)and Lk ← Lk ∪ {βk −Gx}. Let V be the set containing all right-hand sides β ∈ Bsuch that lk(β) �= uk(β). Select an arbitrary set Vk ⊆ V .

Page 8: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

282 N. Kong et al.

Step 3: For any (β, β ′) ∈ Vk × Lk ,(3a) if β ′ ≤ β, lk(β)← max{lk(β), lk(β ′)};(3b) if β ′ ≥ β, uk(β)← min{uk(β), uk(β ′)}.

Step 4: For any (β, β ′) ∈ Vk × Lk ,(4a) If β − β ′ ∈ B\Lk , lk(β)← max{lk(β), lk(β ′)+ lk(β − β ′)};(4b) If β ′ − β ∈ B\Lk , uk(β)← min{uk(β), uk(β ′)− lk(β ′ − β)};(4c) If β + β ′ ∈ B\Lk , uk(β)← min{uk(β), uk(β + β ′)− lk(β ′)}.

Step 5: If lk(β) = uk(β) for all β ∈ B, terminate with solution z(·) = lk(·) = uk(·);otherwise, set k← k + 1 and go to Step 1.

A possible improvement to Algorithm 1 is column elimination. For j = 1, . . . , n,if gj ∈ B, one can compare lk−1(gj ) and γj at the beginning of iteration k > 1. ByCorollary 1, if lk−1(gj ) > γj , one can delete the j th column of (PIP). Note that therunning time of column elimination at each iteration is O(n).

To prove the correctness of Algorithm 1, we first show that lk(·) and uk(·) are lowerbound and upper bound functions of z(·) at any iteration k, respectively. Then we showthat at each iteration there exists at least one right-hand side whose optimal objectivevalue is obtained.

Lemma 1. At any iteration k in Algorithm 1, lk(β) ≤ z(β) ≤ uk(β) for all β ∈ B.

Proof. We show the result by induction. In Step 0, u0(β) = πT0 β ≥ z(β) for β ∈ B.Denote G to be the set of columns in the constraint matrix G of (PIP). For β ∈ B\G,l0(β) = −∞ ≤ z(β). For j = 1, . . . , n, if gj ∈ B, l0(gj ) = γj ≤ z(gj ).

Suppose that at iteration k − 1 ≥ 0, Lemma 1 holds. At iteration k, in Steps 1 and2, for β ∈ Lk , lk(β) = uk(β) = z(β). In Step 3, for β ′ ∈ Lk , lk(β ′) = uk(β ′) = z(β ′).Hence for β ∈ Vk , if β ≥ β ′, lk(β) ← max{lk(β), lk(β ′)} ≤ z(β), and if β ≤ β ′,uk(β) ← min{uk(β), uk(β ′)} ≥ z(β), since the result held at iteration k − 1 and z(·)satisfies the nondecreasing property. In Step 4, for β ′ ∈ Lk , lk(β ′) = uk(β ′) = z(β ′).Hence forβ ∈ Vk , ifβ−β ′ ∈ B\Lk , lk(β)← max{lk(β), lk(β ′)+lk(β−β ′)} ≤ z(β), ifβ ′−β ∈ B\Lk ,uk(β)← min{uk(β), uk(β ′)−lk(β ′−β)} ≥ z(β), and ifβ+β ′ ∈ B\Lk ,uk(β) = min{uk(β), uk(β + β ′)− lk(β ′)} ≥ z(β). All inequalities above hold becausethe result held at iteration k−1 and z(·) satisfies the superadditivity property. Therefore,Lemma 1 also holds at iteration k. ��Theorem 2. Algorithm 1 terminates finitely with optimal solutions to z(·) with respectto all β ∈ B.

Proof. Consider any iteration k ≥ 1. Clearly after Step 1 of the iteration, there exists atleast oneβ ∈ B such that lk(β) = uk(β) = z(β) but lk−1(β) �= z(β) oruk−1(β) �= z(β).By Lemma 1, lk(β) ≤ z(β) ≤ uk(β) for all β ∈ B at any iteration k, and since B isfinite, the result follows. ��

4.2. A dynamic-programming-based algorithm for finding the value function

In this section we discuss a simple algorithm for finding the value function. It onlyapplies, however, to problems with nonnegativeG. Therefore, we assume thatG is alsononnegative here. Thus, B ⊂ ZZm+ with the assumption that z(β) is finite for all β ∈ B.

Page 9: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

Two-stage SIP: a superadditive dual approach 283

If βi < 0 for some i = 1, . . . , m, z(β) = −∞, which violates the above assumption.Because B is finite, there exists a nonnegative hyper-rectangle rooted at the origin thatcontains B. Therefore, once the value of z(·) for every integer point in the hyper-rectangleis found, we have obtained z(β) for all β ∈ B. Denote B to be the hyper-rectangle andb = (b1, b2, . . . , bm) to be the largest vector in B componentwise. Hence for simplicityof exposition, we let B = B ∩ ZZm+, where B = {[0, b1] × [0, b2] × · · · × [0, bm]}. Incontrast to the IP-based algorithm, the following algorithm only defines l(·) and doesnot need to solve any integer programs. The algorithm is motivated by Gilmore andGomory’s dynamic programming recursion for the knapsack problem [16].

Algorithm 2. A DP-based Algorithm for Finding the Value Function

Step 0: Initialize the lower bound l0(β) = 0 for allβ ∈ B. For j = 1, . . . , n, if gj ∈ B1,l0(gj ) = γj and insert gj into a vector list L. Set l1(β) = l0(β) for all β ∈ B. Setk← 1.

Step 1: Denote the kth vector in L by βk and the ith element of a vector β by βi . Letβ = βk . Update all vectors β ′ such that β ′ ∈ B and β ′ ≥ βk with the followinglexicographic order:

(1a) Set β1 ← β1 + 1 and lk(β)← max{lk(β), lk(βk)+ lk(β − βk)}.(1b) If β1 ≥ b1, go to Step (1c); otherwise, go to Step (1a).(1c) If for all i = 1, . . . , m,βi ≥ bi , go to Step 2. Otherwise, let s = min{i : βi < bi}.

Set βi ← βki for i = 1, . . . , s − 1. Set βs ← βs + 1 and go to Step (1a).Step 2: If k = |L|, terminate with solution z(·) = lk(·). Otherwise, put lk+1(β) ←

lk(β) for all β ∈ B, set k← k + 1 and go to Step 1.

DenoteBj to be the set containing all β ∈ B such that β ≥ gj . Step 0 of Algorithm 2solves z(β) for all β ∈ B\ ∪nj=1 Bj , which is shown below in Proposition 6. Steps 1and 2 in the algorithm are essentially similar to Step (4a) in Algorithm 1. They updatel(·) iteratively, which is also similar to the dynamic programming recursion presentedin [16].

Proposition 6. For all β ∈ B\ ∪nj=1 Bj , z(β) = 0.

Theorem 3. [16]. For any β ∈ ∪nj=1Bj ,

z(β) = max{γj + z(β − gj ) : gj ∈ B, j = 1, . . . , n}. (5)

Theorem 4. Algorithm 2 terminates with optimal solutions to z(·) in at mostn iterations.

Proof. For any β ∈ B\∪nj=1Bj , we initialize l0(β) = 0 in Step 0 and do not update themafterward. By Proposition 6, z(β) = 0 forβ ∈ B\∪nj=1Bj . We assume that the algorithm

terminates at iteration k∗ = |L|. Then lk∗(β) = z(β) for all β ∈ B\ ∪nj=1 Bj . Suppose

there exists β ∈ ∪nj=1Bj such that lk∗(β) �= z(β) and for all β ′ ≤ β and β ′ ∈ ∪nj=1Bj ,

lk∗(β ′) = z(β ′). Then clearly lk

∗(β) < z(β) by Lemma 1. It follows that there exists a

j∗ ∈ {1, . . . , n}, such that lk∗(β) < γj∗+z(β−gj∗) by Theorem 3. Since lk

∗(gj∗) ≥ γj∗

and lk∗(β−gj∗) = z(β−gj∗), it follows that lk

∗(gj∗)+lk∗(β−gj∗) ≥ γj∗+z(β−gj∗) >

lk∗(β), which contradicts the superaddivity of lk

∗(·). Hence, lk

∗(β) = z(β) for all

β ∈ ∪nj=1Bj . The result thus follows from k∗ = |L| ≤ n. ��Step 1 of Algorithm 2 requires O(|B|) calculations, so the overall running time of

the algorithm is O(n|B|).

Page 10: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

284 N. Kong et al.

5. Finding the optimal tender

Once the value functions in both stages are found, an optimal tender β∗ for (P2) isdetermined by searching B1. The brute-force way to do this is to evaluate the objectivefunction in (P2) for all β ∈ B1. We call this method exhaustive search. We will proposetwo additional methods for finding β∗ that are often more efficient. The first one is aglobal branch-and-bound approach in which bounds are designed for each hyper-rect-angle that is a subset of B1. The second approach is a level-set approach that evaluatesthe objective function of (P2) only in a subset of B1.

5.1. A global branch-and-bound approach

The proposed branch-and-bound approach is based on a generic global branch-and-bound method described in Horst and Tuy [20]. In the presentation of the followingalgorithm, M is a list of unfathomed hyper-rectangles, each of which is associated witha subproblem of the form f k = max

{ψ(β)+ IEξφ(h(ω)− β) | β ∈ Pk ∩ ZZm2

}, and

a lower bound µk ≤ f k and an upper bound νk ≥ f k .Algorithm 3. A Global Branch-and-Bound Algorithm

Step 0: Initialization Construct the hyper-rectangle P0 := [l0, u0

] = �m2i=1

[l0i , u

0i

]

such that B1 ⊆ P0 ∩ ZZm2 . Initialize the list M ← {P0

}and a global lower

bound L = ψ(β0) + IEξφ(h(ω) − β0) with an arbitrarily selected β0 ∈ B1. Setµ0 = ψ(l0)+ IEξφ(h(ω)− u0) and ν0 = ψ(u0)+ IEξφ(h(ω)− l0). Set k← 1.

Step 1: Subproblem selection If M = ∅, terminate with optimal solution β∗; other-

wise, select and delete from M a hyper-rectangle Pk := [lk, uk

] = �m2i=1

[lki , u

ki

].

Step 2: Subproblem pruning(2a) If νk ≤ L or Pk ∩ B1 = ∅, go to Step 1.(2b) If µk < νk , i.e., Pk is an unfathomed hyper-rectangle, go to Step 3.(2c) If µk = νk and L < µk , update L = µk = νk = f k , and arbitrarily select a

β ∈ Pk ∩ B1 and set β∗ = β.

(2d) Delete from M all hyper-rectangles Pk′ with νk′ ≤ L, i.e., M ← M

{Pk′ ∣∣νk

′ ≤ L}

. Go to Step 1.

Step 3: Subproblem partitioning Choose a dimension i′, 1 ≤ i′ ≤ m2, such that

lki′ < uk

i′ . Divide Pk into two hyper-rectangles Pk1 and Pk2 along dimension i′ as:Pk1 := [

lk1 , uk1] = [

lki′ ,

⌊(uki′ + lki′

)/2

⌋] ×�i �=i′[lki , u

ki

]and Pk2 := [

lk2 , uk2] =[⌊(

uki′ + lki′

)/2

⌋+ 1, uki′] × �i �=i′

[lki , u

ki

]. Add the two hyper-rectangles Pki , i =

1, 2, to M, i.e., M←M∪ {Pk1 ,Pk2

}. Set µki = ψ(lki )+ IEξφ(h(ω)− uki ) and

νki = ψ(uki )+ IEξφ(h(ω)− lki ), i = 1, 2. Set k← k + 1 and go to Step 1.

Note that Algorithm 3 requires the storage of first-stage value function ψ(·) overP0 ∩ ZZm2 , and the storage of second-stage value function φ(·) over the integer setinduced by P0 ∩ ZZm2 .

Proposition 7. For any Pk , µk and νk are a lower bound and an upper bound respec-tively of max

{ψ(β)+ IEξφ(h(ω)− β)|β ∈ Pk ∩ ZZm2

}.

Page 11: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

Two-stage SIP: a superadditive dual approach 285

Proof. In Pk , lk ≤ β ≤ uk for all β ∈ Pk . By the nondecreasing property of ψ(·) andφ(·), ψ(lk) ≤ ψ(β) ≤ ψ(uk) and φ(h(ω) − uk) ≤ φ(h(ω) − β) ≤ φ(h(ω) − lk) forall ω ∈ �. ��

To prove the correctness of Algorithm 3, we use the concept of finite consistencyfrom Horst and Tuy [20]. Then we show the proposed bounding operation is finitelyconsistent and thus the algorithm terminates finitely.

Definition 1. [20]. A bounding operation is called finitely consistent if, at every step,any unfathomed hyper-rectangle can be further refined, and if any decreasing sequence{Pk

}of successively refined hyper-rectangles is finite.

Lemma 2. [20]. In a branch-and-bound procedure, suppose that the bounding opera-tion is finitely consistent. Then the procedure terminates after finitely many steps.

See Theorem IV.1 in [20] for the proof of Lemma 2.

Theorem 5. Algorithm 3 terminates with an optimal solution to (P2) after a finite num-ber of steps.

Proof. Any unfathomed hyper-rectangle Pk can be further refined by the subproblempartitioning described in Algorithm 3. It satisfies the first condition of finite consistency.Since Pk ∩ ZZm2 is a finite integer vector set, the second condition follows. Hence, thebounding operation inAlgorithm 3 is finitely consistent and thus the algorithm terminatesafter finitely many steps by Lemma 2.

Next we show that Algorithm 3 terminates with an optimal tender. In the algorithm,we update L only after a hyper-rectangle can be fathomed. That is, for any hyper-rectangle Pk such that µk = νk and Pk ∩ B1 �= ∅, we set L ← max{L,µk} ≤max

{ψ(β)+ IEξφ(h(ω)− β)|β ∈ B1

}in Step (2c). This shows that L is a valid global

lower bound in the algorithm. Let β∗ ∈ B1 be a global optimum to (P2). Suppose at anyiteration k, β∗ ∈ Pk andµk < νk , then Pk can be further refined in Step 3. It follows thatthe refining operation on Pk terminates at iteration k∗ > k when µk

∗ = νk∗ = ψ(β∗)+IEξφ(h(ω)−β∗). Therefore, we haveL=νk∗=max

{ψ(β)+ IEξφ(h(ω)− β)|β ∈ B1

}

in Step (2c). ��

5.2. The minimal tender approach

In this section we describe a level-set approach to reduce the search space B1. It is basedon the observation that there must exist an optimal solution to (P2) that is an extremepoint of the level set associated with its first-stage objective value. In other words, thereexists an optimal tender satisfying the condition that each smaller tender also has astrictly smaller objective value in the first stage. We call such tenders minimal tenders,and form a candidate set that only contains all minimal tenders and thus has fewer candi-date solutions. This approach only applies, however, to the cases where the technologymatrix T in (P1) is also nonnegative. In those cases, since ψ(·) is finite, B1 ⊂ ZZm2+ .

Definition 2. A vector β ∈ B1 is a minimal tender if for all i, i = 1, . . . , m2, eitherβi = 0 or ψ(β− ei) < ψ(β), where ei is the ith unit vector. Let� be the set containingall minimal tenders in B1.

Page 12: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

286 N. Kong et al.

Theorem 6. There exists an optimal solution to (P2) that is a minimal tender. That is,

maxβ∈�

{ψ(β)+ IEξφ(h(ω)− β)

} = maxβ∈B1

{ψ(β)+ IEξφ(h(ω)− β)

}.

Proof. Clearly since � ⊆ B1, maxβ∈�{ψ(β)+ IEξφ(h(ω)− β)

} ≤ maxβ∈B1{ψ(β)+ IEξφ(h(ω)− β)

}. Suppose there does not exist a β ∈ � that is an optimal

tender in (P2), i.e., for all β ∈ �, ψ(β) + IEξφ(h(ω) − β) < maxβ∈B1{ψ(β)+ IEξφ

(h(ω)− β)}. Let β be the lexicographically minimum optimal tender. By assumption,β /∈ �, thus there exists an i ∈ {1, . . . , m2}, such that βi ≥ 1 and ψ

(β − ei

) = ψ (β).

Since φ(·) is nondecreasing, φ(h(ω)− β) ≤ φ

(h(ω)− (

β − ei))

for all scenariosω ∈ �. It follows that

ψ(β − ei

)+ IEξφ(h(ω)− (

β − ei)) ≥ ψ (

β)+ IEξφ

(h(ω)− β)

.

Therefore, β − ei is also an optimal tender in (P2), which is a contradiction. ��We define ρ = |�|/|B1|. Intuitively, as ρ → 1, the computational benefit of search-

ing� could be surpassed by the computational burden of determining� by the definitionof minimal tenders. The value of ρ is typically not known untilψ(·) is completely deter-mined. In some special cases, � and ρ can be identified analytically. One of them ispresented as follows.

Proposition 8. Suppose that c is strictly positive, and that T contains Im2 , the m2-dimensional identity matrix, as a submatrix. Then � = B1 and so that ρ = 1.

In general, it is still possible to calculate an upper bound on ρ a priori. In the remain-der of this paper, let opt(β) refer to the set that contains optimal solutions to ψ(·) forβ ∈ ZZm2+ .

Lemma 3. For any β ∈ � and for any x ∈ opt(β), T x = β.

Proof. The result is trivial when β = 0. By definition, T x ≤ β. Suppose T x �= β forsome β ∈ �\{0} and x ∈ opt (β)

, then there must exist an i ∈ {1, . . . , m2}, such thatβi ≥ 1 and T x ≤ β − ei . This implies that x ∈ S1

(β − ei

), the feasible solution set for

ψ(β − ei

), contradicting the assumption that β is a minimal tender. ��

Definition 3. [5]. An integral monoid is a setM of vectors of ZZm which forms a semi-group under addition in ZZm. In other words: (i) 0 ∈ M; and (ii) if u, v ∈ M , thenu+ v ∈ M .

We define T to be the index set of columns in T that are minimal tenders and M tobe the integral monoid generated by {tj }j∈T .

Lemma 4. For any β ∈ �\{0} and x ∈ opt(β), if xj ≥ 1, then j ∈ T .

Proof. Suppose for some β ∈ �\{0} and x ∈ opt (β), there exists a j /∈ T such

that xj ≥ 1. It follows that ψ(tj ) = cT ej = cj by integer complementary slackness.Since j /∈ T , tj /∈ �, there exists an i ∈ {1, . . . , m2}, such that tj − ei ≥ 0 andψ(tj − ei) = ψ(tj ) = cj . Let x ∈ opt(tj − ei) and thus x ∈ S1(tj − ei) and cT x = cj .

Page 13: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

Two-stage SIP: a superadditive dual approach 287

Considering x− ej + x, it follows that T(x − ej + x

) ≤ β− tj + tj − ei = β− ei andcT

(x − ej + x

) = cT x − cj + cj = cT x. Therefore, ψ(β − ei

) ≥ cT x = ψ (β). Due

to nonnegativity of T , β = T x ≥ T ej = tj , and thus tj − ei ≥ 0 implies β − ei ≥ 0.Hence, β /∈ �, which is a contradiction. ��Theorem 7. The minimal tender set � ⊆ M ∩ B1 and so that ρ ≤ |M ∩ B1|/|B1|.Proof. Clearly minimal tender 0 ∈ M ∩ B1. Consider any β ∈ �\{0} and x ∈ opt(β).By Lemma 3, T x = β. By Lemma 4, there exists some j ∈ T such that xj ≥ 1. Itimplies that x ≥ ej , and β ≥ tj due to nonnegativity of T . By integer complementaryslackness, ψ(β) = ψ (

T(x − ej

))+ψ(tj ). It follows that ψ(β)−ψ(tj ) = ψ(β − tj ).Consider any i ∈ {1, . . . , m2}. If βi − tij = 0, β − tj − ei /∈ ZZm2+ . If βi − tij ≥ 1,β − tj − ei ∈ ZZm2+ and thus βi ≥ 1 due to nonnegativity of T . Hence, β ∈ �\{0}implies that ψ(β) > ψ(β − ei). It follows from superadditivity that ψ(β − tj ) =ψ(β) − ψ(tj ) > ψ(β − ei) − ψ(tj ) ≥ ψ(β − tj − ei). Hence β − tj is a minimaltender. By induction, β =∑

j∈T kj tj , where kj ∈ ZZ+ for j ∈ T ,i.e., β can be written

as a nonnegative integer combination of vectors in {tj }j∈T . It follows that� ⊆ M ∩B1

and thus ρ = |�|/|B1| ≤ |M ∩ B1|/|B1|. ��

5.3. Using minimal tenders to reduce the primal formulation

As shown later in Lemma 5, one can delete all columns j /∈ T in ψ(·) when computingψ(β) for β ∈ �. This results in a smaller superadditive dual reformulation of (P1). InTheorem 8 we show the equivalence between this reformulation and (P2).

For any β ∈ ZZm2+ , let us define

ψ ′(β) = max

j∈Tcj xj

∣∣∣∣∣∣x ∈ S′1(β)

, (6)

where

S′1(β) =

x ∈ ZZn1+

∣∣∣∣∣∣

j∈Tajxj ≤ b,

j∈Ttj xj ≤ β

. (7)

Then the reduced superadditive dual formulation is

max{ψ ′(β)+ IEξφ(h(ω)− β)

∣∣β ∈ �}. (8)

Lemma 5. For β ∈ �, ψ ′(β) = ψ(β).Proof. The result is trivial for the case β = 0. For any β ∈ �\{0} and x ∈ opt(β),xj = 0 for all j /∈ T by Lemma 4. Clearly x ∈ S′1(β). Therefore,ψ(β) =∑n2

j=1 cj xj =∑j∈T cj xj ≤ ψ ′(β).On the other hand, for any optimal solution x to ψ ′(β), one can construct solution

x as follows. For any j ∈ T , xj = xj and for any j /∈ T , xj = 0. Clearly x ∈ S′1(β)and

∑j∈T cj xj =

∑j∈T cj xj . It implies that x is an optimal solution to ψ ′(β). Since

x ∈ S1(β), ψ ′(β) ≤ ψ(β) and the result follows. ��

Page 14: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

288 N. Kong et al.

Theorem 8. There exists an optimal solution to (P2) that is an optimal solution to (8).That is,

maxβ∈�

{ψ ′(β)+ IEξφ(h(ω)− β)

} = maxβ∈B1

{ψ(β)+ IEξφ(h(ω)− β)

}.

Proof. Lemma 5 implies that

maxβ∈�

{ψ ′(β)+ IEξφ(h(ω)− β)

} = maxβ∈�

{ψ(β)+ IEξφ(h(ω)− β)

}.

Therefore, the equivalence between (8) and (P2) follows from Theorem 6. ��Corollary 2. Let β∗ be an optimal solution to (8). Then x ∈ arg max

{cT x

∣∣ Ax ≤ b,T x ≤ β∗, x ∈ ZZn1+

}is an optimal solution to (P1). Furthermore, the optimal objective

values of the two problems are equal.

Corollary 3. There exists an optimal solution x∗ to (P1) where x∗j = 0 for j /∈ T .

6. Computational experiments

We conducted our computational experiments on randomly generated instances withAssumptions A1 – A4 stated earlier in the paper. Moreover, we assumed in all instancesthat the sets of feasible right-hand sides in both stages, B1 and B2, are hyper-rectan-gular nonnegative integer vector sets rooted at 0, i.e., Bk = Bk ∩ ZZm2+ where Bk =�m2i=1

[0, bki

], k = 1, 2. This assumption allowed us to test both algorithms in the first

phase of the solution procedure and both approaches in the second phase. Since all valuefunctions needed to be stored in computer memory, with this additional assumption, wecould only consider cases where right-hand sides h(ω) for all ω ∈ � are relatively smallcomponentwise. We also ignored first-stage constraints Ax ≤ b in our computationalexperiments. Without loss of generality, first-stage constraints can be incorporated intothe technology matrix T , where the corresponding rows are 0 in the recourse matrixW . This simplification would however limit our ability of solving instances with manyfirst-stage constraints due to the value function storage limitation stated above.

In the first phase of the solution procedure, we tested both algorithms to find the valuefunctions in both stages of (P2). To simplify the implementation of the IP-based algo-rithm, we selected Vk at each iteration k differently than previously presented. To be

specific, for each βj ∈ Lk , we updated all vectors in the set Vkj = �m2i=1

[0, βji

]∪

�m2i=1

[βji , b

ji

]. Hence, at iteration k we updated all vectors in Vk = ∪

∣∣Lk∣∣

j=1Vkj . In

our implementation of the IP-based algorithm, we also omitted Step 3 since it canbe accomplished equivalently in Step 4 for the considered instances. In the secondphase of the solution procedure, we compared all three strategies for finding an optimaltender of (P2). With the branch-and-bound approach, we implemented the proposedglobal branch-and-bound algorithm in which the initial global lower bound was set tobe max

{IEξφ(h(ω)), ψ(b1)+ IEξφ(h(ω)− b1)

}, the maximum between the objective

function values of (P2) with respect to 0 and b1. With the minimal tender approach, we

Page 15: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

Two-stage SIP: a superadditive dual approach 289

did not explore the computational tradeoff between constructing the superset of the min-imal tender set M ∩ B1 and evaluating the objective function in (P2) over the superset.We simply checked if each β ∈ B1 is a minimal tender by definition and then formed theminimal tender set�, after obtaining the first-stage value function. An optimal solutionto (P2) was obtained by evaluating the objective function with respect to each β ∈ �.All computational experiments were conducted on a Pentium IV PC with 2GHz CPUand 2GB RAM.

6.1. Random instance generation

We begin by presenting our random instance generation scheme. First, each of determin-istic components in an instance was randomly generated with a uniform distribution givenan associated value range. These deterministic components include the first-stage objec-tive c, the second-stage objective d , the technology matrix T , and the recourse matrixW . A Bernoulli distribution was used to model the density of the generated matrices Tand W . Second, the scenario set that contains all h(ω) was uniformly generated givenits associated value range and the number of scenarios |�|. Then each scenario wasassigned with a randomly generated probability. All scenarios were checked to ensurethat there were no duplicate scenarios. Third, Bk = �m2

i=1

[0, bki

]∩ZZm2+ for k = 1, 2 wereconstructed such that b1

i = minω∈� hi(ω) and b2i = maxω∈� hi(ω) for i = 1, . . . , m2.

Hence,∣∣B1

∣∣ = �m2i=1

(b1i + 1

)and

∣∣B2∣∣ = �

m2i=1(b

2i + 1). Note that each h(ω) was

required to be bounded by b1 and b2 componentwise.By using the above random instance generation scheme, we considered 10 instance

classes. Their characteristics are presented in Tables 1 and 2. In Table 1, δ is the param-eter for the density of matrices T and W ; m2, n1, n2 are as denoted in the paper. The“min” and “max” listed under cj , dj , tij , and wij are the lower and upper bounds of theuniform distribution associated with the coefficients of each deterministic component.For instance, in class IC1, cj was generated with the uniform distribution in the interval[1, 5]. The “min” and “max” related to hi(ω) in Table 1 are the minimum and maximumof the interval associated with the uniform distribution respectively. In each of the 10instance classes, we generated all m2 elements in h(ω), for ω ∈ �, independently withthe same uniform distribution. We considered a set of integer points as scenarios in thehyper-rectangleH that is bounded inclusively by the “min” and “max” in each dimension,i.e., H = �m2

i=1

[b1i , b

2i

]. When the number of chosen integer points in H is relatively

large compared to∣∣H ∩ ZZm2+

∣∣, it is likely that b1i = b1

j and b2i = b2

j for 1 ≤ i < j ≤ m2.

For instance, in instance class IC1, b1 = (5, 5, 5, 5, 5, 5)T , b2 = (9, 9, 9, 9, 9, 9)T , andthe number of scenarios |�| is approximately 1

2 of∣∣H ∩ ZZm2+

∣∣; in instance class IC7,b1 = (5, 5, 5, 5, 5, 5, 5)T , b2 = (10, 10, 10, 10, 10, 10, 10)T , and |�| = ∣∣H ∩ ZZm2+

∣∣.Table 2 presents

∣∣B1∣∣ and

∣∣B2∣∣ that are the numbers of right-hand sides we needed to con-

sider in each stage to compute ψ(·) and φ(·). The numbers of variables and constraintsin the extensive form are also shown in the table.

For each instance class, we generated and solved several instances. These instancesare available online in SMPS format [15]. We omitted instances where the optimalsolution was either the smallest or largest vector in B1, as such instances were solved

Page 16: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

290 N. Kong et al.

Table 1. Characteristics of test problems (I)

cj dj tij wij hi (ω)

δ m2 n1 n2 min max min max min max min max min max

IC1 0.5 6 1000 100 1 5 2 6 1 4 2 5 5 9IC2 0.5 6 500 500 1 5 2 6 1 4 2 5 5 9IC3 0.5 6 300 500 1 5 2 6 1 4 2 5 5 9IC4 0.5 6 500 500 1 10 2 6 1 4 2 5 5 9IC5 0.5 6 500 500 1 5 2 6 1 3 2 5 5 9IC6 0.8 6 500 500 1 5 2 6 1 4 2 5 5 9IC7 0.7 7 1000 500 1 5 2 6 1 4 2 5 5 10IC8 0.7 7 500 500 1 5 2 6 1 4 2 5 5 10IC9 0.7 7 300 500 1 5 2 6 1 4 2 5 5 10IC10 0.3 7 1000 500 1 5 2 6 1 4 2 5 5 10

Table 2. Characteristics of test problems (II)

Extensive Form∣∣B1∣∣ ∣∣B2

∣∣ Scenarios Constraints Variables

IC1 46656 1000000 7812 46872 782200IC2 46656 1000000 7812 46872 3906500IC3 46656 1000000 7812 46872 3906300IC4 46656 1000000 7812 46872 3906500IC5 46656 1000000 7812 46872 3906500IC6 46656 1000000 7812 46872 3906500IC7 279936 19487171 279936 1959552 139969000IC8 279936 19487171 279936 1959552 139968500IC9 279936 19487171 279936 1959552 139968300IC10 279936 19487171 279936 1959552 139969000

very quickly and do not provide any insight. As a mnemonic, the instances were namedICm-n, where m is the instance class index and n is the instance index.

6.2. Finding the optimal value function

The computational results for the first phase of the solution procedure are given inTables 3 and 4, which reports several different running times for the IP- and DP-basedalgorithms. The running times for the IP-based algorithm include the times spent in solv-ing deterministic integer programs, initializing the lower bound function, applying theinteger complementary slackness property, and applying the superadditivity property.These times are denoted by tIP , tLBI , tICS , and tSUP respectively. The running timesfor the DP-based algorithm contain the times spent in Steps 0 and 1 that are denotedas t1 and t2. We also report the number of deterministic integer programs solved in theIP-based algorithm as well as the total running time for each algorithm, denoted by ttotal .All reported running times are in seconds except those exceeding an imposed 5-hourtime limit.

Both tables show that the DP-based algorithm is computationally superior to theIP-based algorithm on all instances we considered, which affirms our hypothesis thatthe DP-based algorithm fits the generated instances better. It has been observed in manystudies, however, that DP type algorithms are much less efficient form2 > 10. We expect

Page 17: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

Two-stage SIP: a superadditive dual approach 291

Table 3. Computational results in phase I – (first stage)

Algorithm 1 Algorithm 2

Instance # IPs tIP tLBI tICS tSUP ttotal t1 t2 ttotal

IC1-1 1 0.05 0 108 61 169 0.02 3.92 3.95IC2-1 6 0.09 0 9.58 36.4 46.2 0 1.56 1.59IC2-2 1 0.03 0.02 106 60.2 166 0 1.47 1.50IC2-3 9 0.14 0.02 18.2 49.3 67.8 0 1.48 1.52IC3-1 4 0.06 0 17.8 46.6 64.6 0 0.89 0.91IC3-2 7 0.08 0 13.7 40.2 54.1 0 0.89 0.92IC3-3 13 0.14 0 3.97 29.1 33.3 0 0.97 1.00IC4-1 1 0.03 0 12.0 22.3 34.5 0 1.51 1.55IC4-2 5 0.08 0 44.9 58 103 0 1.58 1.61IC5-1 1 0.02 0 106 61 168 0 2.00 2.03IC5-2 1 0.02 0 74.5 52.5 127 0 1.98 2.02IC5-3 1 0.03 0 105 60.8 166 0 1.98 2.02IC6-1 682 7.74 0 2.12 14.7 25.0 0 0.73 0.77IC6-2 2762 26.7 0 3.15 15.0 45.8 0.01 0.77 0.81IC6-3 1019 12.58 0 1.90 14.2 29.2 0 0.73 0.75IC7-1 8820 164 0 19.2 113 301 0.01 8.39 8.56IC7-2 6583 133 0.02 76.5 461 674 0.02 9.09 9.27IC7-3 5316 131 0.01 60.7 394 588 0 9.30 9.45IC8-1 1331 13.6 0 14.8 356 386 0 4.08 4.25IC8-2 1145 12.7 0.02 11.6 272 297 0.01 4.05 4.22IC9-1 1275 7.83 0 4.95 209 223 0 2.47 2.63IC9-2 9034 68.3 0 6.57 213 292 0 2.33 2.50IC9-3 10114 76.5 0 11.2 274 365 0 2.56 2.72IC10-1 1 0 3708 1440 3708 5149 0.01 33.08 33.25

Table 4. Computational results in phase I – (second stage)

Algorithm 1 Algorithm 2

Instance # IPs tIP tLBI tICS tSUP ttotal t1 t2 ttotal

IC1-1 773 3.21 0 8.66 2511 2525 0 8.28 8.88IC2-1 3 0.09 0.02 308 1834 2143 0 36.6 37.2IC2-2 27 0.45 0 827 4117 4946 0.02 38.6 39.2IC2-3 20 0.72 0 153 3020 3175 0 37.3 37.9IC3-1 24 0.48 0 108 2390 2499 0 36.8 37.4IC3-2 27 1.09 0 147 3439 3589 0.01 36.6 37.3IC3-3 9 0.16 0 315 2191 2508 0.02 39.3 39.9IC4-1 12 0.25 0 101 1718 1820 0 38.0 38.6IC4-2 9 0.25 0 67.6 1390 1459 0 38.0 38.6IC5-1 11 0.33 0 48.2 1776 1826 0 38.7 39.3IC5-2 243 4.13 0 923 11948 12876 0 38.3 38.9IC5-3 3 0.10 0 44.3 1036 1081 0 37.7 38.3IC6-1 16642 432 0 18.1 1304 1762 0.02 20.3 20.9IC6-2 13636 330 0.02 34.3 1975 2347 0 19.1 19.7IC6-3 17928 414 0 38.3 2011 2472 0 19.7 20.3IC7-1 7803 593 0 6.25 9212 9833 0 220 232IC7-2 – – – – – > 5 hrs 0 441 453IC7-3 – – – – – > 5 hrs 0.02 449 461IC8-1 – – – – – > 5 hrs 0.02 453 465IC8-2 – – – – – > 5 hrs 0 447 460IC9-1 – – – – – > 5 hrs 0 443 454IC9-2 – – – – – > 5 hrs 0 431 444IC9-3 – – – – – > 5 hrs 0 467 479IC10-1 – – – – – > 5 hrs 0 1180 1193

Page 18: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

292 N. Kong et al.

Table 5. Computational results in phase II

ES BB MT

Instance CPU Time CPU Time CPU Time Time Computing � (s.) ρ

IC1-1 0:03:17 0:00:20 0:02:20 1.34 0.699IC2-1 0:03:18 0:16:33 0:03:22 3.91 1.000IC2-2 0:03:17 0:06:13 0:01:41 0.95 0.500IC2-3 0:03:20 0:07:23 0:03:06 3.42 0.917IC3-1 0:03:17 0:20:24 0:01:29 0.45 0.444IC3-2 0:03:20 0:17:01 0:01:23 0.72 0.415IC3-3 0:03:13 0:35:28 0:02:30 2.31 0.736IC4-1 0:03:24 0:00:25 0:01:15 0.33 0.375IC4-2 0:03:20 0:00:39 0:03:16 2.13 0.970IC5-1 0:03:20 0:03:41 0:03:19 1.74 1.000IC5-2 0:03:14 0:05:21 0:03:20 1.84 1.000IC5-3 0:03:30 0:16:48 0:02:22 1.58 0.699IC6-1 0:03:17 0:04:05 0:00:45 0.14 0.224IC6-2 0:03:24 0:11:04 0:00:35 0.16 0.175IC6-3 0:03:10 0:02:15 0:00:25 0.13 0.130IC7-1 23:20:10 0:24:59 2:22:35 4.14 0.102IC7-2 22:46:35 43:19:41 6:45:04 22.6 0.294IC7-3 22:53:40 49:09:49 4:44:27 13.6 0.207IC8-1 23:26:25 1:35:22 5:45:01 6.73 0.249IC8-2 24:03:43 5:09:48 6:37:13 4.17 0.217IC9-1 24:07:15 4:29:29 5:16:37 7.95 0.229IC9-2 23:33:09 17:40:50 1:52:20 2.03 0.082IC9-3 23:01:17 56:47:39 3:23:40 4.73 0.147IC10-1 22:26:49 27:43:39 23:21:12 106 1.000

that the superiority of the DP-based algorithm over the IP-based algorithm would endas the number of second-stage constraints increases. Not surprisingly, as the number ofdecision variables or the number of feasible right-hand sides increases, the total run-ning time for either algorithm increases, as indicated from the comparison between theinstance classes. As the computational results show, our approach is more sensitive toincreasing the number of constraints than the number of decision variables. In addition,our approach is also sensitive to the increase of the magnitude of feasible right-handside values. Another observation is that the total running time decreases and the numberof deterministic integer programs solved increases as the matrix density δ increases.

6.3. Finding the optimal tender

Table 5 reports the computational results in the second phase of the solution procedure.For the branch-and-bound algorithm (BB), the time for finding an optimal tender isrecorded. For the minimal tender approach (MT), the time spent in computing the min-imal tender set � is indicated in addition to the total time for finding an optimal tender.The ratio between the numbers of minimal tenders and feasible right-hand sides in thefirst stage, denoted by ρ, is also presented in the table. We also report the running timewith the exhaustive search method (ES). All CPU times but the time spent in computing� are in the form of hh:mm:ss.

There is no decisive conclusion we could draw in terms of the comparison betweenBB and MT from the computational results in Table 5. However, MT tends to outper-

Page 19: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

Two-stage SIP: a superadditive dual approach 293

form BB and its performance is less variable when the number of scenarios is fixed.The computational results in Table 5 also reflect several desired algorithmic behaviorsfor scalability. First, the running times for ES among instances with the same numberof scenarios are approximately identical. Second, ρ is approximately equal to the ratiobetween the times for finding the optimal tender with MT and ES for all instances exceptone. Finally, the time spent in computing � with MT is insignificant compared to therunning time for finding the optimal tender. However, when ρ is close to 1, computing� results in poor performance with MT.

6.4. Analysis of the overall performance

Comparing the results in the first phase using the DP-based algorithm and those in thesecond phase, it is clear that a large amount of the total running time is spent in the secondphase, regardless of the strategy to find an optimal tender. Moreover, the ratio has thetendency to increase as the number of scenarios increases. For example, in instance clas-ses IC1-IC6 all with 7812 scenarios, the average proportion of total running time spentin the second phase is 70.6% when the least time-consuming search strategy among thethree is selected for each instance, whereas in instance class IC7-IC10 all with 279936scenarios, this proportion increases to 96.3%.

Table 6 presents the total running time for solving each instance with the DP-basedalgorithm in the first phase and the most efficient search strategy in the second phase.For comparison, we also solved the corresponding stochastic linear programming (SLP)relaxation — integrality restrictions are relaxed in both stages — by the L-shaped method[48]. Table 6 presents the solution statistics of these corresponding SLP relaxations. Theterm % SIP Gap is defined as the percentage difference between the optimal value of aninstance and that of its SLP relaxation.

Overall our method is insensitive to the number of decision variables in both stagesbut sensitive to the number of second-stage constraints and the magnitude of second-stage right-hand side values, which largely determine the numbers of feasible right-handsides in B1 and B2. Table 6 shows that our exact solution is even less time consumingin one instance (instance IC7-1) than the L-shaped method and essentially equally timeconsuming in a few other instances.

7. Conclusions and future work

We present an algorithmic framework for a class of two-stage stochastic integer pro-grams where the uncertainty only appears in the second-stage right-hand sides. The maincontribution of the paper is that we use some integer programming properties to obtainthe value functions in both stages via a superadditive dual reformulation.

The IP-based algorithm presented in Section 4 is, in fact, an algorithm for findingthe value function of a general integer program. It provides the flexibility for improve-ments that would be interesting for further investigation. Various objectives regardingthe computational preference between solving integer programs and using superadditivedual properties will lead to different procedural selections.

Once the value functions are obtained, we propose two search strategies to find anoptimal tender. For the branch-and-bound approach, alternative choices for the subprob-

Page 20: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

294 N. Kong et al.

Table 6. Overall computational results

Proposed SLP Relaxation Solution

Instance CPU Time (s.) CPU Time (s.) Num Iters % SIP Gap

IC1-1 31.3 4.34 3 5.31IC2-1 241 2.08 2 4.64IC2-2 141 2.00 2 4.17IC2-3 225 2.00 2 6.01IC3-1 127 1.55 2 6.13IC3-2 122 1.55 2 6.13IC3-3 191 1.53 2 6.46IC4-1 115 2.03 2 3.50IC4-2 237 2.00 2 4.39IC5-1 241 1.97 2 4.32IC5-2 235 2.03 2 4.32IC5-3 182 2.03 2 5.65IC6-1 66.3 64.4 22 9.13IC6-2 55.3 42.1 8 13.1IC6-3 46.4 8.50 3 16.6IC7-1 1743 3382 25 5.85IC7-2 24766 1249 8 14.4IC7-3 17537 385 3 10.9IC8-1 6189 340 3 7.11IC8-2 19051 312 3 8.75IC9-1 14894 321 3 9.64IC9-2 7187 815 8 11.4IC9-3 12701 695 7 13.1IC10-1 82022 121 2 4.17

lem selection, pruning, and partitioning operations to speed up the algorithm shouldbe considered. For the level-set approach, a theoretical contribution is to link the iden-tification of minimal tenders with the construction of an associated monoid. However,further investigation would be needed on better predicting the minimal tender set withoutknowing the complete first-stage value function. It would be interesting to conduct morecomputational experiments on the relationship between the ratio ρ = |�|/ ∣∣B1

∣∣ andthe problem parameters in (P1). It would also be interesting to study the computationaltradeoff between constructingM ∩B1 and evaluating the objective function of (P1) overM ∩ B1.

It would be interesting to compare the performance of the proposed algorithm to thatof alternative algorithms. For example, [14] recently reported a promising implemen-tation of computing Grobner bases for problems that involve matrices with only a fewrows but many columns. By making our own instances publicly available, we hope tofacilitate comparisons among various SIP algorithms in the future.

The major limitation in the framework is the storage of value functions in computermemory. This results in our randomly generated instances having many columns butrelatively few rows. This may be a primary reason why the DP-based algorithm is moreeffective than the IP-based algorithm on the test instances. One approach to overcomethis limitation is to seek more efficient ways to store value functions, such as using theconcept of generating functions to encode the value function [12]. Another approach isto incorporate a global branch-and-bound scheme to calculate the solution on a subsetof right-hand sides so that only a portion of the value function needs to be stored at

Page 21: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

Two-stage SIP: a superadditive dual approach 295

any time. We expect that this approach will allow the solution of much larger stochasticinteger programs. With the enhanced ability, it is also important to obtain more insightinto the algorithmic behavior of our flexible solution procedure through more intensivecomputational experiments on larger instances.

Acknowledgements. We thank three anonymous referees for their careful reading of the manuscript and forsuggesting a number of improvements.

References

1. Ahmed, S., Tawarmalani, M., Sahinidis, N.V.: A finite branch-and-bound algorithm fortwo-stage stochastic integer programs. Mathematical Programming 100 (2), 355–377 (2004)

2. Alonso-Ayuso, A., Escudero, L.F., Garin, A., Ortuno, M.T., Perez, G.: An approach for strategic supplychain planning under uncertainty based on stochastic 0–1 programming. Journal of Global Optimization26 (1), 97–124 (2003)

3. Alonso-Ayuso, A., Escudero, L.F., Ortuno, M.T.: BFC, a branch-and-fix coordination algorithmic frame-work for solving some types of stochastic pure and mixed 0-1 programs. European Journal of OperationalResearch 151 (3), 503–519 (2003)

4. Barahona, F., Bermon, S., Gunluk, O., Hood, S.: Robust capacity planning in semiconductor manufactur-ing. Optimization-Online Digest, Oct. 2001. http://www.optimization-online.org/ARCHIVE DIGEST/2001-10.html

5. Blair, C.E., Jeroslow, R.G.: The value function of an integer program. Mathematical Programming 23,237–273 (1982)

6. Buchberger, B.: Grobner bases: An algorithmic method in polynomial ideal theory. In: Bose, N.K. (ed.)Multidimensional Systems Theory, Chapter 6. Reidel Publishing Company, Dordrecht, Holland, 1985,pp. 184–232

7. Burdet, C.A., Johnson, E.L.: A subadditive approach to solve linear integer programs. Annals of DiscreteMathematics 1, 117–144 (1977)

8. Carøe, C.C.: Decomposition in stochastic integer programming. PhD thesis, University of Copenhagen(1998)

9. Carøe, C.C., Schultz, R.: Dual decomposition in stochastic integer programming. Operations ResearchLetters 24 (1-2), 37–45 (1999)

10. Carøe C.C., Tind, J.:A cutting-plane approach to mixed 0-1 stochastic integer programs. European Journalof Operational Research 101 (2), 306–316 (1997)

11. Carøe, C.C., Tind, J.: L-shaped decomposition of two-stage stochastic programs with integer recourse.Mathematical Programming 83 (3), 451–464 (1998)

12. De Loera, J., Haws, D., Hemmecke, R., Huggins, P., Sturmfels, B. Yoshida, R.: Short rationalfunctions for toric algebra and applications. Submitted to Journal of Symbolic Computation, 2004.http://front.math.ucdavis.edu/math.CO/0307350

13. Dye, S., Stougie, L., Tomasgard,A.: The stochastic single node service-provision problem. Naval ResearchLogistics 50 (8), 869–887 (2003)

14. Eriksson, N.: Toric ideals of homogeneous phylogenetic models. Proceedings of the 2004 Interna-tional Symposium on Symbolic and Algebraic Computation, 2004. http://front.math.ucdavis.edu/math.CO/0401175

15. RANDOMRHS: Test Instances for Stochastic Integer Programming. http://www.engr.pitt.edu/hunsak-er/randomrhs/

16. Gilmore, P.C., Gomory, R.E.: The theory and computation of knapsack functions. Operations Research14 (6), 1045–1074 (1966)

17. Gomory, R.E.: Some polyhedra related to combinatorial problems. Linear Algebra and its Applications 2(4), 451–558 (1969)

18. Graver, J.E.: On the foundation of linear integer programming I. Mathematical Programming 9, 207–226(1975)

19. Hemmecke, R., Schultz, R.: Decomposition of test sets in stochastic integer programming. MathematicalProgramming 94 (2–3), 323–341 (2003)

20. Horst, R., Tuy, H.: Global Optimization: Deterministic Approaches, 3rd edition. Springer-Verlag, Berlin,1996

21. Johnson, E.L.: Cyclic groups, cutting planes and shortest paths. In: Hu, T.C., Robinson, S.M. (eds.)Mathematical Programming. Academic Press, New York, NY, 1973, pp. 185–211

Page 22: Two-stage integer programs with stochastic right-hand ...schaefer/papers/SuperaddSIP.pdf2.1. Stochastic integer programming. Relative to stochastic linear programs, very little is

296 N. Kong et al.: Two-stage SIP: a superadditive dual approach

22. Johnson, E.L.: Integer Programming: Facets, Subadditivity, and Duality for Group and Semi-GroupProblems. SIAM Publications, Philadelphia, PA, 1980

23. Johnson, E.L.: Subadditive lifting methods for partitioning and knapsack problems. Journal ofAlgorithms1, 75–96 (1980)

24. Johnson, E.L.: Characterization of facets for multiple right-hand choice linear programs. MathematicalProgramming Study 14, 112–142 (1981)

25. Klabjan, D.: A new subadditive approach to integer programming: Theory and algorithms. In: Proceed-ings of the 9th Integer Programming and Combinatorial Optimization Conference, Cambridge, MA, May,2002, pp. 384–400

26. Klein Haneveld, W.K., Stougie, L., van der Vlerk, M.H.: Convex approximations for simple integerrecourse models by perturbing the underlying distributions. Technical report, 97A19, SOM, Universityof Groningen, 1997

27. Klein Haneveld, W.K., van der Vlerk, M.H.: On the expected value of a simple integer recourse problemwith random technology matrix. Journal of Computational and Applied Mathematics 56, 45–53 (1994)

28. Klein Haneveld, W.K., van der Vlerk, M.H.: Stochastic integer programming: general models and algo-rithms. Annals of Operations Research 85, 39–57 (1999)

29. Klein Haneveld, W.K., van der Vlerk, M.H., Stougie, L.: On the convex hull of the simple integer recourseobjective function. Annals of Operations Research 56 (1–2), 209–224 (1995)

30. Klein Haneveld, W.K., van der Vlerk, M.H., Stougie, L.: An algorithm for the construction of convexhulls in simple integer recourse programming. Annals of Operations Research 64, 67–81 (1996)

31. Laporte, G., Louveaux, F.V.: The integer L-shaped method for stochastic integer programs with completerecourse. Operations Research Letters 13 (3), 133–142 (1993)

32. Llewellyn, D.C., Ryan, J.: A primal dual integer programming algorithm. Discrete Applied Mathematics45 (3), 261–275 (1993)

33. Louveaux, F.V., van derVlerk, M.H.: Stochastic programming with simple integer recourse. MathematicalProgramming 61 (3), 301–325 (1993)

34. Mulvey, J.M., Ruszczynski, A.: A new scenario decomposition method for large-scale stochastic optimi-zation. Operations Research 43 (3), 477–490 (1995)

35. Nemhauser, G.L.: Duality for integer optimization. In: O’hEigeartaigh, M., Lenstra, J.K., RinnooyKan, A.H.G. (eds.) Combinatorial Optimization: Annotated Bibliographies. Wiley, New York, NY, 1985,pp. 11–20

36. Nemhauser, G.L., Wolsey, L.A.: Integer and Combinatorial Optimization. Wiley, New York, NY, 198837. Norkin, V.I., Ermoliev, Y.M., Ruszczynski, A.: On optimal allocation of indivisibles under uncertainty.

Operations Research 46 (3), 381–395 (1998)38. Nowak, M.P., Schultz, R., Westphalen, M.: Optimization of simultaneous power production and trading

by stochastic integer programming. Stochastic Programming E-Print Series, 2002. http://www.speps.info39. Schultz, R.: On structure and stability in stochastic programs with random technology matrix and complete

integer recourse. Mathematical Programming 70 (1), 73–89 (1995)40. Schultz, R.: Stochastic programming with integer variables. Mathematical Programming 97 (1–2),

285–309 (2003)41. Schultz, R., Stougie, L., van der Vlerk, M.H.: Solving stochastic programs with integer recourse by enu-

meration: A framework using Grobner basis reductions. Mathematical Programming 83 (2), 229–252(1998)

42. Sen, S., Higle, J.L.: The C3 theorem and aD2 algorithm for large scale stochastic integer programming:Set convexification. Stochastic Programming E-Print Series, 2000. http://www.speps.info

43. Sen, S., Sherali, H.D.: Decomposition with branch-and-cut approaches for two stage stochastic mixed-integer programming. Submitted to Mathematical Programming, 2004. http://tucson.sie.arizona.edu/MORE/papers.html

44. Sherali, H.D., Fraticelli, B.M.P.: A modification of Benders’ decomposition algorithm for discrete sub-problems: An approach for stochastic programs with integer recourse. Journal of Global Optimization 22(1–4), 319–342 (2002)

45. Smith, J.C., Schaefer, A.J., Yen, J.W.: A stochastic integer programming approach to solving a synchro-nous optical network ring design problem. Networks 44 (1), 12–26 (2004)

46. Stougie, L.: Design and analysis of methods for stochastic integer programming. Technical report, CWITract 37, Centrum voor Wiskunde en Informatica, Amsterdam, The Netherlands, 1987

47. Thomas, R.R.: A geometric Buchberger algorithm for integer programming. Mathematics of OperationsResearch 20 (4), 864–884 (1995)

48. Van Slyke, R., Wets, R.J.-B.: L-shaped linear programs with applications to optimal control and stochasticprogramming. SIAM Journal on Applied Mathematics 17, 638–663 (1969)

49. Wollmer, R.D.: Two-stage linear programming under uncertainty with 0–1 integer first stage variables.Mathematical Programming 19 (3), 279–288 (1980)

50. Wolsey, L.A.: Integer programming duality: Price functions and sensitivity analysis. MathematicalProgramming 20 (2), 173–195 (1981)