Multi-commodity variable upper bound flow models

Multi-commodity variable upper bound flow models

Linear Algebra and17 its(2015) Applications Discrete Optimization 89–122 466 (2015) 102–116 Contents lists at ScienceDirect Contents lists available ...

864KB Sizes 0 Downloads 48 Views

Linear Algebra and17 its(2015) Applications Discrete Optimization 89–122 466 (2015) 102–116

Contents lists at ScienceDirect Contents lists available at available ScienceDirect

Linear Algebra and its Applications Discrete Optimization www.elsevier.com/locate/laa www.elsevier.com/locate/disopt

✩ Inverse eigenvalue of Jacobi Multi-commodity variable upper problem bound flow modelsmatrix with mixed data ∗

D.L. Burchett, J.-P.P. Richard 1 Engineering, University of Florida, Gainesville, FL 32611-6595, Department of Industrial and Wei Systems Ying

USA

Department of Mathematics, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, PR China

article

info

a r t i c l e

abstract

i n f o

a b s t r a c t

Article history: We perform a polyhedral study of a multi-commodity generalization of variable Received 7 November 2014 upper bound flow models. In particular, we establish some relations between facets of Received in revised form 19 May Article history: In this models. paper, the eigenvalue problem of of reconstructing single- and multi-commodity Weinverse then introduce a new family inequalities, 2015 Received 16 January which 2014 generalizes traditional a Jacobi from its eigenvalues, its leading principal flowmatrix cover inequalities to the multi-commodity context. Accepted 26 May 2015 Accepted 20 September 2014 submatrix part of the eigenvalues of its submatrix We present encouraging numericaland results. Available online 18 JuneAvailable 2015 online 22 October 2014 is considered. The © necessary and sufficient conditions for 2015 Elsevier B.V. All rights reserved. Submitted by Y. Wei the existence and uniqueness of the solution are derived. Keywords: Furthermore, a numerical algorithm and some numerical MSC: Cutting planes examples are given. 15A18 Facets © 2014 Published by Elsevier Inc. Variable upper bounds 15A57 Lifting Keywords: Jacobi matrix Eigenvalue Inverse problem 1. Introduction Submatrix

Variable upper bound flow models are well-studied in the mixed-integer programming literature. The practical value of these models stems from the fact that they often occur as substructures of MILPs. In particular, they can be viewed as single-node instances of the fixed-charge capacitated network design problem, which has applications in telecommunications and transportation [1]. For the case where a single commodity is considered, Padberg, van Roy, and Wolsey [2] study the polyhedral structure of variable upper bound flow models and identify the family of flow cover inequalities. Wolsey [3] shows that these inequalities can be derived using properties of submodular functions. Gu, Nemhauser, and Savelsbergh [4] describe a procedure for lifting flow cover inequalities. Various authors have studied generalizations of the classic variable upper bound flow model, which in turn, yield extensions of flow cover inequalities. For instance, Klabjan and Nemhauser [5] study variable upper bound flow models with E-mail address: [email protected]. general integer variable upper bounds, while Shebalov and Klabjan [6] consider models in which the variable 1 Tel.: +86 13914485239. upper bound constraints include constant terms. Atamt¨ urk, Nemhauser and Savelsbergh [7] examine the http://dx.doi.org/10.1016/j.laa.2014.09.031 case with additive variable upper bound constraints. 0024-3795/© 2014 Published by Elsevier Inc.

This research was supported by the Sandia National Laboratories Laboratory-Directed Research and Development program. ∗ Corresponding author. E-mail addresses: [email protected] (D.L. Burchett), [email protected] (J.-P.P. Richard).



http://dx.doi.org/10.1016/j.disopt.2015.05.003 1572-5286/© 2015 Elsevier B.V. All rights reserved.

90

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

Various families of valid inequalities have been identified for variants of the multi-commodity capacitated network design problem (MCND). Bienstock et al. [8] apply partition inequalities and flow-cutset inequalities in a branch-and-cut framework to solve the minimum cost capacity installation problem. G¨ unl¨ uk [9] uses mixing to obtain valid inequalities for the capacity expansion problem. Atamt¨ urk [10] studies single- and multi-commodity cutset polyhedra arising from directed network design problems, while Raack et al. [11] consider cutset polyhedra for directed, undirected, and bi-directed arcs. These families of inequalities apply to network design problems with general integer design variables and therefore are valid for the 0–1 case. The model we study considers binary design variables specifically. We are therefore able to obtain families of facet-defining inequalities for the 0–1 fixed-charge problem described in [12]. More precisely, we perform a polyhedral study of a multi-commodity generalization of variable upper bound flow models. In Section 2, we present the model formulation, define notation used throughout the paper, and derive basic polyhedral results. In Section 3, we explore the use of commodity aggregation as a way to obtain strong valid inequalities for the model. In Section 4, we define hierarchical flow cover inequalities, which generalize flow cover inequalities. We provide a set of sufficient conditions under which these valid inequalities are facet-defining for the model. In Section 5, we lift hierarchical flow cover inequalities to obtain valid inequalities for a model with in- and outflows, and give conditions under which these lifted inequalities are facet-defining. We present computational results in Section 6, and give concluding remarks in Section 7. 2. Single node model without inflow Consider first a network node with outgoing arcs N := {1, . . . , |N |} and a set of distinct commodities K := {1, . . . , |K|}. For k ∈ K, the node has an exogenous supply in the amount of bk , where bk ∈ R+ . Further, each arc j ∈ N has capacity mj ∈ R+ . Commodities can be routed on any of the arcs leaving the node, as long as they are not overused, and the consolidated flow on each arc respects its capacity. For j ∈ N and k ∈ K, we let the binary variable xj correspond to the decision of whether or not to open arc j, and we let the continuous variable yjk represent the flow of commodity k on arc j. We will show in Section 5 that strong inequalities for this set directly yield strong inequalities for the model with additional incoming arcs. The aforementioned model can be expressed mathematically as follows:  yjk ≤ bk , ∀k ∈ K, (1a) j∈N



yjk ≤ mj xj ,

∀j ∈ N,

(1b)

k∈K

xj ≤ 1,

∀j ∈ N,

(1c)

xj ≥ 0,

∀j ∈ N,

(1d)

yjk ≥ 0,

∀j ∈ N, k ∈ K.

(1e)

Constraints (1a) guarantee that the flow of each commodity k does not exceed its supply. Constraints (1b) ensure that the capacity of each arc j is respected. Constraints (1c) and (1d) are upper and lower bounds constraints on the xj variables, respectively. Constraints (1e) enforce the nonnegativity of the flow variables yjk . We define the multi-commodity variable upper bound flow model (MVF) as the set   P := (x, y) ∈ ZN × RN ×K | (1a)–(1e) . We note that MVF reduces to a traditional variable upper bound flow model in the case that |K| = 1.

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

91

Fig. 1. Graphical representation of MVF for Example 1.

Throughout this paper, we make the following assumptions: A1. mj > 0, for each j ∈ N . A2. bk > 0, for each k ∈ K. Assumption A1 is without loss of generality, since if mj = 0 for some j ∈ N , then constraints (1b) require that yjk = 0 for each k ∈ K, effectively eliminating arc j from consideration. Similarly, there is no loss of generality in imposing A2, because if bk = 0 for some k ∈ K, then (1a) implies that yjk = 0 for each j ∈ N . To streamline the ensuing derivations, we next introduce some notation. Given a ∈ R, we let a+ := max{a, 0}. We represent the vector with all zero components by 0, and we let ej ∈ RN denote the elementary vector with a 1 in the jth component, and zeros elsewhere. Similarly, for j ∈ N and k ∈ K, we define ejk ∈ RN ×K as the vector y with  1 if ℓ = j, q = k q yℓ = 0 otherwise.  N For L ⊆ N , we define the characteristic vector of L in RN as 1L = j∈L ej . Given a vector v ∈ R ,  we let v(L) := j∈L vj when L ̸= ∅, and v(L) = 0 otherwise. Likewise, for a function f : N → R, we  let f (L) := j∈L f (j) if L ̸= ∅, and f (L) = 0 otherwise. Finally, we omit braces when writing the set subtraction of a single element, e.g., we write N \ j instead of N \ {j}. Example 1. Consider a three-arc, three-commodity flow model with capacities m = (8, 13, 15) and supplies  , K,  and P denote the arcs, b = (7, 9, 11); a problem that is graphically represented in Fig. 1. Let N commodities, and feasible region of this model, respectively. We used PORTA [13] to obtain the 398 inequalities of the linear description of conv(P). The following facet-defining inequalities are part of this description: y11 ≥ 0,

(2a)

x1 ≤ 1, y11 y12 y11 y11 y11 y11

+ + + + + +

y12 y22 y12 y12 y12 y12

(2b) + + + + + +

y13 y32 y21 y13 y22 y13

≤ 8x1 ,

(2c)

≤ 9,

(2d)

+ + + +

y22 y23 y23 y22

≤ 16 − 3(1 − x1 ) − 8(1 − x2 ), + + +

y32 y32 y31

+

y33

≤ 27 − 7(1 − x1 ) − 4(1 − x2 ) − 8(1 − x3 ),

≤ 27 − 7(1 − x1 ) − 11(1 − x2 ) − 6(1 − x3 ), +

y32

+

y33

≤ 27 − 3(1 − x1 ) − 4(1 − x2 ) − 10(1 − x3 ). 

We periodically refer back to Example 1 to illustrate the concepts presented in this paper.

(2e) (2f) (2g) (2h)

92

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

We first present basic properties of conv(P ), which generalize known results for traditional variable upper bound flow models [2]. Throughout this discussion, we let ε denote a small but positive number. Proposition 1. The set conv(P ) is a full-dimensional polytope. Proof. The fact that conv(P ) is a polytope is clear since P can be expressed as the union of a finite number of polytopes. Now, define z0 := (0, 0), zj := (ej , 0) for j ∈ N , and zjk := (ej , εejk ) for (j, k) ∈ N × K. These |K||N | + |N | + 1 affinely independent points of conv(P ) prove the result.  The following variable upper bound constraint, which Crainic et al. [12] refer to as a strong forcing constraint, will be useful in upcoming proofs. Proposition 2. For any j ∈ N and k ∈ K, the inequality yjk ≤ bk xj

(3)

is valid for conv(P ). Furthermore, (3) is facet-defining for conv(P ) if and only if (i) |K| = 1 and mj ≥ bk or (ii) mj > bk . Proof. First, we show the validity of (3). If xj = 0, then (3) reduces to yjk ≤ 0, which follows from (1b). Otherwise if xj = 1, then (3) reduces to yjk ≤ bk , which is implied by (1a) and (1e). Therefore, (3) is valid for conv(P ). Second, we prove the reverse implication. If either |K| = 1 and mj < bk or |K| > 1 and mj ≤ bk , then (3) is dominated by (1b) over the positive orthant, implying that (3) is not facet-defining for conv(P ). Finally, we prove the forward implication. Construct the points z0 := (0, 0), z¯j ′ := (ej ′ , 0) for j ′ ∈ ′ ′ N \ j, zˆjk′ := z¯j ′ + (0, εejk′ ) for (j ′ , k ′ ) ∈ (N \ j) × K, z˙0 := (ej , bk ejk ). Assume first that |K| = 1. In this case, dim(conv(P )) = |K||N | + |N | = 2|N |. If mj ≥ bk , the above 2|N | affinely independent points belong to P , and satisfy (3) at equality. This implies that (3) is facet-defining for conv(P ). Suppose second that |K| > 1 ′ ′ and mj > bk . In this case, we define the additional points z˘k = z˙0 + (0, εejk ) for k ′ ∈ K \ k. We now have |K||N | + |N | affinely independent points which belong to P and satisfy (3) at equality. Therefore, (3) is facet-defining for conv(P ).  We call inequalities (1a)–(1e) trivial inequalities. In Example 1, observe that (2a)–(2d) are trivial inequalities for conv(P). We next derive necessary and sufficient conditions for the trivial inequalities (1a)– (1e) to be facet-defining for conv(P ). Since, by definition, these inequalities are valid for conv(P ), we only need to determine the dimension of the faces of conv(P ) they induce. Proposition 3. For k ∈ K, (1a) defines a facet of conv(P ) if and only if m(N \ j) ≥ bk , for each j ∈ N . Proof. Suppose there exists j ∈ N such that m(N \ j) < bk . Then any solution (x, y) ∈ P satisfying (1a) at equality must have xj = 1. It follows that the dimension of the face induced by (1a) is at least two less than dim(conv(P )). We conclude that (1a) is not facet-defining for conv(P ). Now, assume that, for each j ∈ N, m(N \ j)≥ bk . This condition implies that |N | ≥ 2 and bk < m(N)     mℓ mℓ k k k because of Assumptions A1 and A2. Define z := 1N , b · ℓ∈N m(N ) eℓ , z˜j := 1N \j , bk · ℓ∈N \j m(N \j) eℓ ′



for j ∈ N, z¯j := z˜j +(ej , 0) for j ∈ N, zˆjk := z +(0, εejk ) for (j, k ′ ) ∈ N ×(K \k), and z˘j,j ′ := z +(0, εejk −εejk′ ) for j, j ′ ∈ N with j ̸= j ′ . These points belong to P and satisfy (1a) at equality. Let   αj xj + βjk yjk ≤ γ, (4) j∈N

j∈N k∈K

93

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

where (α, β, γ) ∈ RN × RN ×K × R, be any inequality that is satisfied at equality by all of these points. We show that (4) is a scalar multiple of (1a), thereby proving that (1a) is facet-defining for conv(P ). For j ∈ N , ′ ′ the points z˜j and z¯j imply that αj = 0. For j ∈ N and k ′ ∈ K \ k, points z and zˆjk imply that βjk = 0. Further, for j, j ′ ∈ N with j ̸= j ′ , points z and z˘j,j ′ imply that βjk = βjk′ . We conclude that βjk = β¯ for each j ∈ N for some β¯ ∈ R. It follows that (4) can be written as  β¯ · yjk ≤ γ. (5) j∈N

¯ k , proving the result. Since z satisfies (5) at equality, we obtain that γ = βb



Proposition 4. For j ∈ N , (1b) is facet-defining for conv(P ) if and only if (i) mj < b(K) or (ii) mj = b(K) and |K| = 1. Proof. Assume that mj < b(K). Consider the points z0 := (0, 0), z¯ℓ := (eℓ , 0) for ℓ ∈ N \ j, zˆℓk := z¯ℓ + (0, εeℓk )  bk )ejk ), and z˘k = z˙0 + (0, εejk − εejk+1 ) for k = 1, . . . , |K| − 1. for (ℓ, k) ∈ (N \ j) × K, z˙0 := (ej , mj · k∈K ( b(K) These |K||N | + |N | affinely independent points belong to P and satisfy (1b) at equality. Therefore, (1b) is facet-defining for conv(P ). Assume that mj = b(K). Observe that inequality  yjk ≤ b(K)xj ,

(6)

k∈K

can be obtained by summing inequalities (3) for each k ∈ K, and is therefore valid for conv(P ). Observe also that when mj = b(K), (1b) is exactly (6). If |K| = 1, then (6), and hence (1b), is equivalent to (3). It then follows from Proposition 2 that (1b) is facet-defining for conv(P ). Otherwise, if |K| > 1, then (1b) is obtained as a conic combination of multiple distinct inequalities of the form (3), and is therefore not facet-defining for conv(P ), as P is full-dimensional. Finally, assume that mj > b(K). In this case, it is clear that (6) dominates (1b), since they share the same left-hand side and the right-hand side of (6) has a smaller coefficient for xj . It follows that (1b) is not facet-defining for conv(P ).  For the remaining trivial inequalities, we identify in each case dim(conv(P )) = |K||N | + |N | affinely independent points that are tight for their respective inequality. Proposition 5. For j ∈ N , (1c) defines a facet of conv(P ). Proof. Construct z¯ := (ej , 0), z k := z¯+(0, εejk ) for k ∈ K, z˜ℓ := z¯+(eℓ , 0) for ℓ ∈ N \j, and z˘ℓk := z˜ℓ +(0, εekℓ ) for (ℓ, k) ∈ (N \ j) × K.  For j ∈ N , the nonnegativity constraint (1d) is dominated by (1b) and (1e). It is therefore not facetdefining for conv(P ). Proposition 6. For j ∈ N and k ∈ K, (1e) defines a facet of conv(P ). ′



Proof. Construct the points z0 := (0, 0), z¯ℓ := (eℓ , 0) for ℓ ∈ N , and zℓk := z¯ℓ + (0, εekℓ ) for (ℓ, k ′ ) ∈ (N × K) \ (j, k). 

94

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

Fig. 2. Graphical representation of MVF for Example 2.

3. Commodity aggregation When studying multi-commodity flow problems, it is useful to define relaxations where a subset of commodities is aggregated; that is, treated as a single commodity whose supply is equal to the total supply of its constituent commodities. For instance, Achterberg and Raack [14] derive single-commodity relaxations of multi-commodity flow formulations by aggregating the flow balance constraints associated with some commodity subset Q ⊆ K. We illustrate such a procedure in the following example. Example 2. Consider the model of Example 1. By aggregating commodities 1 and 2 into a single commodity we call {1, 2} with supply equal to b1 + b2 and by keeping commodity 3 unchanged, we obtain the new two-commodity model depicted in Fig. 2. Let P˙ be the feasible region of this aggregated model. The following inequality can be verified to be facet-defining for conv(P˙ ): {1,2}

y1

{1,2}

+ y2

≤ 16 − 3(1 − x1 ) − 8(1 − x2 ).

(7)

Observe that (7) can be used to obtain a valid inequality for conv(P) by disaggregating the flow variables {1,2} {1,2} {1,2} y1 and y2 , i.e., by replacing yj with yj1 + yj2 for j = 1, 2. The resulting inequality is (2e), which is facet-defining for conv(P).  We next study this aggregation procedure in more detail. Let Q := {Q1 , . . . , Qp }, where 1 ≤ p ≤ |K|, be p a collection of nonempty, pairwise disjoint subsets of K. We do not require that i=1 Qi = K, and we define p  Q0 := K \ i=1 Qi to represent the set of commodities removed from the aggregated model. Now, define  Q yj ≤ b(Q), ∀Q ∈ Q, (8a) j∈N



yjQ ≤ mj xj ,

∀j ∈ N,

(8b)

Q∈Q

xj ≤ 1,

∀j ∈ N,

(8c)

xj ≥ 0,

∀j ∈ N,

(8d)

yjQ ≥ 0,

∀j ∈ N, Q ∈ Q.

(8e)

The commodity aggregation of P with respect to Q is the set   ×Q P (Q) := (x, y) ∈ ZN × RN | (8a)–(8e) . + Note that P (Q) is an instance of MVF in which we associate each commodity subset Q ∈ Q with a single   commodity having a supply of b(Q). Naturally, P = P {1}, {2}, . . . , {|K|} . Consider the following valid inequality    Q Q α j xj + βj yj ≤ γ, (9) j∈N

j∈N Q∈Q

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

95

defined in the variable space of P (Q). This inequality can be disaggregated with respect to each Q ∈ Q, yielding    Q   βj (10) αj xj + yjk ≤ γ, j∈N

j∈N Q∈Q

k∈Q

in the variable space of P . The next result is simple to show. Proposition 7. If (9) is valid for conv(P (Q)), then (10) is valid for conv(P ).



We now give sufficient conditions for a facet-defining inequality of conv(P (Q)) to disaggregate into a facet-defining inequality of conv(P ). We define F := {(x, y) ∈ P | (10) is satisfied at equality}, F (Q) := {(x, y) ∈ P (Q) | (9) is satisfied at equality}, the sets of mixed-integer solutions in the faces defined by (10) in the original variable space, and by (9) in the aggregated variable space, respectively. In addition, for Q ∈ Q, we let     Q  Q Q Q σj = (¯ S¯ := j ∈ N ∃¯ x, y¯) ∈ F (Q) with y¯j > 0 and y¯ℓ < b(Q) , (11a) ℓ∈N

 S˘Q :=

  Q ′ ̸ j ′ , βjQ = βjQ′ and ∃˘ (j, j ) ∈ N × N j = σj,j x, y˘) ∈ F (Q) with ′ = (˘   Q Q x ˘j = x ˘j ′ = 1, y˘j < mj , and y˘j ′ > 0 .

(11b)

Q∈Q

Set S¯Q is comprised of arcs j for which a point can be found in F (Q) that does not saturate commodity Q and carries some flow on j. Similarly, S˘Q is the set of arc pairs (j, j ′ ) for which variables yjQ and yjQ′ have the same coefficient in (9) and for which a point can be found in F (Q) that does not saturate the capacity of open arc j but carries positive flow of Q on arc j ′ . Property 1. Either (i) Q0 = ∅, or (ii) for each j ∈ N , there exists a point σ˙ j = (x, ˙ y) ˙ ∈ F (Q) such that  x˙ j = 1 and Q∈Q y˙ jQ < mj . Property 2. For each Q ∈ Q such that |Q| > 1 and each j ′ ∈ N , either j ′ ∈ S¯Q or there exists j ∈ S¯Q such that (j, j ′ ) ∈ S˘Q . Theorem 1. Assume that (9) is facet-defining for conv(P (Q)) and satisfies Properties 1 and 2. Then (10) is facet-defining for conv(P ). Proof. We know that (10) is valid for conv(P ), since (9) is valid for conv(P (Q)); see Proposition 7. We define the transformation Ψ : RN ×N ×Q → RN ×N ×K as follows:      bk ejk . Ψ [(x, y)] := x, yjQ · b(Q) j∈N Q∈Q

k∈Q

It is easily shown that Ψ maps feasible points of P (Q) to feasible points of P . In addition, if a point p ∈ P (Q) satisfies (9) at equality, then Ψ (p) satisfies (10) at equality. Let d := dim conv(P (Q)). It is easily shown that since P satisfies A1 and A2, P (Q) does as well. It follows from Proposition 1 that conv(P (Q)) is full-dimensional, i.e., d = |Q||N | + |N |. Since (9) defines a

96

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

facet of conv(P (Q)), we can select d affinely independent points {(i x ˆ, i yˆ)}di=1 ⊆ F (Q). It follows that the points (i x ˘, i y˘) := Ψ [(i x ˆ, i yˆj )],

for i = 1, . . . , d,

(12)

Q ˘j,j are feasible to P and satisfy (9) at equality. Next, using the vectors σ˙ j , σ ¯jQ , and σ ′ that are provided by Properties 1 and 2, we create the remaining points needed to prove that (10) is facet-defining. Specifically, let ε be a positive but sufficiently small real number. For each arc j ∈ N and commodity k ∈ Q0 , if any, let   τ˙jk := Ψ (σ˙ j ) + 0, εejk (13)

be the point that modifies Ψ (σ˙ j ) by sending a small amount of commodity k on arc j. The fact that Ψ (σ˙ j ) ∈ F implies that τ˙jk ∈ F , as well. Next, suppose there exists Q ∈ Q such that |Q| > 1, and consider an arc j ∈ N . If j ∈ S¯Q , then for each distinct pair of commodities k, k ′ ∈ Q we define the point  ′ Q τ¯j,k,k σjQ ) + 0, εejk − εejk , (14) ′ := Ψ (¯ which transforms Ψ (¯ σjQ ) by increasing the flow of k on j while decreasing the flow of k on j by the same Q ¯Q amount. We see from the definition of S¯Q that τ¯j,k,k ′ ∈ F . Otherwise, if j ̸∈ S , then Property 2 implies that we can select an arc j ′ ̸= j such that (j, j ′ ) ∈ S˘Q and for each k ∈ Q define the point   Q Q k k τ˘j,j σj,j (15) ′ ) + 0, εej − εej ′ , ′ ,k := Ψ (˘ Q ′ ′ which alters Ψ (˘ σj,j ′ ) by increasing the flow of k on j and decreasing the flow of k on j by the same amount. Q It follows from the definition of S˘Q that τ˘j,j ′ ,k ∈ F .

Let 



µj xj +

j∈N

νjk yjk = ξ,

(16)

j∈N k∈K

for some (µ, ν, ξ) ∈ RN × RN ×K × R, be any representation of the face of conv(P ) defined by (10). We show  Q k ˆ γ), where βˆ :=  that (µ, ν, ξ) is a scalar multiple of (α, β, j∈N Q∈Q βj k∈Q ej , thereby proving that it is facet-defining for conv(P ). We see from points τ˙jk and Ψ (σ˙ j ) that νjk = 0 for j ∈ N and k ∈ Q0 . Now, consider Q ∈ Q. If Q = {k}, for some k ∈ K, then νjQ := νjk for j ∈ N . Otherwise, we have |Q| > 1. For j ∈ S¯Q , the points Ψ (¯ σjQ ) and ′ Q τ¯j,k,k′ imply that νjk = νjk for distinct k, k ′ ∈ Q. Next, for j ∈ N \ S¯Q , Property 2 allows us to choose an arc j ′ ∈ S¯Q such that (j ′ , j) ∈ S˘Q . In this case, the points Ψ (˘ σjQ′ ,j ) and τ˘jQ′ ,j,k imply that νjk = νjk′ for k ∈ Q. Since νjk are identical for all k ∈ Q, it follows that νjk′ are equal for all k ∈ Q. Therefore, for each j ∈ N we can set νjQ := νjk for any k ∈ Q. Thus, (16) reduces to 

µj xj +

j∈N



νjQ

 

j∈N

j∈N Q∈Q

for i = 1, . . . , d.

k∈Q

 For each i ∈ {1, . . . , d}, i x ˆ = ix ˘ and i yˆjQ = k∈Q i y˘jk , for j ∈ N and Q ∈ Q. Therefore, (18) becomes    Q Q µj i x ˆj + νj i yˆj = ξ, for i = 1, . . . , d. j∈N

j∈N Q∈Q

(17)

Q∈Q k∈Q

Now, we substitute the points (i x ˘, i y˘) into (17) to obtain    Q   i k µj i x ˘j + νj y˘j = ξ, j∈N

 yjk = ξ.

(18)

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

97

ˆ γ) is the unique solution of this system up Since (9) was assumed to be facet-defining for conv(P (Q)), (α, β, ˆ γ) for some scalar θ, yielding the desired to scalar multiplication. We therefore must have (µ, ν, ξ) = θ(α, β, result.  Next, we apply the result of Theorem 1 to obtain facet-defining inequalities for MVF through aggregation. In particular, we obtain these inequalities by converting the model into a single commodity model and constructing a valid inequality for the single commodity aggregation. We use the notation P 1 to refer to instances of P with a single commodity. The set P 1 is a traditional variable upper bound flow model, for which we omit commodity superscripts. A subset C ⊆ N is called a flow cover if λ := m(C) − b > 0. Given a flow cover C, the inequality   yj ≤ b − (mj − λ)+ (1 − xj ) (19) j∈C

j∈C

is commonly referred to as a flow cover inequality [2]. A discussion of variable upper bound flow models and flow cover inequalities can be found in [1]. Proposition 8 ([2]). Inequality (19) is valid for conv(P 1 ). Furthermore, if maxj∈C mj > λ, then (19) is facet-defining for conv(P 1 ).  Now, let Q ⊆ K be nonempty and let PQ := P ({Q}). Note that PQ is a single commodity model with a supply of b(Q). Suppose there exists C ⊆ N such that m(C) > b(Q). We say that C is an aggregated flow cover (AFC) for P with respect to Q. We define the aggregated flow cover inequality   yjk ≤ b(Q) − (mj − λQ )+ (1 − xj ), (20) j∈C k∈Q

j∈C

where λQ := m(C) − b(Q). Referring back to Example 1, it can be verified that (2e) is an AFC inequality for P. Also, we note that (3) is an AFC inequality for P in the case where |Q| = 1. Proposition 9. Inequality (20) is valid for conv(P ). Furthermore, if maxj∈C mj > λQ , then (20) is facetdefining for conv(P ) if and only if (i) |C| = 1 and |Q| = 1 or (ii) |C| > 1. Proof. The set C is a flow cover for PQ . By Proposition 8, its associated flow cover inequality (19) is valid for conv(PQ ). Disaggregating this flow cover inequality into the variable space of P yields (20), which is valid for conv(P ) by Proposition 7. Suppose that |C| = 1. If |Q| = 1, then (20) reduces to an inequality of the form (3), and it follows from Proposition 2 that (20) is facet-defining for conv(P ). If |Q| > 1, then (20) can be obtained as the nonnegative combination of multiple distinct inequalities of the form (3). It is therefore not facet-defining for conv(P ), since P is full-dimensional. Now, assume that |C| > 1. By assumption, there exists an arc ℓ′ ∈ C such that mℓ′ > λQ . Therefore, Proposition 8 implies that (19) is facet-defining for conv(PQ ). To prove that (20) is facet-defining for conv(P ), we construct the points required by Theorem 1. Select ℓ ∈ C \ ℓ′ arbitrarily, and define    mj ej , z := 1C , b(Q) · m(C) j∈C    z¯ℓ′ := 1C\ℓ′ , mj ′ ej ′ j ′ ∈C\ℓ′

 σ˙ j :=

z if j ∈ C z¯ℓ′ + (ej , 0) otherwise

∀j ∈ N,

98

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

σ ¯j := σ ˘ℓ′ ,ℓ

 z¯ℓ′

if j ∈ C

 1 σ˙ j + 0, min {mj , b(Q) − m(C \ ℓ′ )} 2 := z. 

otherwise

∀j ∈ N \ ℓ′ ,

Note that z¯ℓ′ is feasible, since λQ = m(C) − b(Q) < mℓ′ . Further, these points can be easily shown to belong to P (Q) and to satisfy (19) at equality. Points σ˙ j can be used to verify that Property 1 is satisfied. In addition, the points σ ¯j and σ ˘ℓ,ℓ′ show that N \ ℓ′ ⊆ S¯Q and that (ℓ, ℓ′ ) ∈ S˘Q , respectively. This implies that Property 2 is satisfied.  4. Hierarchical flow cover inequalities In this section, we introduce hierarchical flow cover inequalities, a family of valid inequalities for MVF that is not obtained through commodity aggregation. These inequalities arise from structures we call hierarchical flow covers, which are a generalization of flow covers. 4.1. Ordered sets Here, we give an overview of order-theoretic concepts that are central to our presentation. We refer the reader to Trotter [15] for an in-depth treatment of the subject. Throughout this section, we use S to denote a generic set. A quasi-order on S is a binary relation ≼ on S that is reflexive, i.e., s ≼ s ∀s ∈ S, and transitive, i.e., s ≼ t and t ≼ u =⇒ s ≼ u, ∀s, t, u ∈ S. The pair ⟨S, ≼⟩ is a quasi-ordered set. Consider two (not necessarily distinct) elements s, t ∈ S such that s ≼ t and t ≼ s. We call s and t equivalent under ≼, and denote this property by s ∼ t. If ≼ is antisymmetric, i.e., s ∼ t =⇒ s = t ∀s, t ∈ S, then it is called a partial order, and ⟨S, ≼⟩ is called a partially ordered set, or poset. The equivalence class of an element s ∈ S is [s] := {s′ ∈ S | s′ ∼ s}. Let S/ ∼ be the collection of equivalence classes of S under the relation ∼. It is well-known that S/ ∼ forms a partition of S. Further, it is easy to show that the quasi-order ≼ on S acts as a partial order on S/ ∼. So, a quasi-order can be viewed as a partial order on the blocks of a partition of S. Two elements s, t ∈ S are called comparable, a property we denote by s ⊥ t, if s ≼ t or t ≼ s. A quasi-ordered set ⟨S, ≼⟩ is connected if for any pair of elements s, t ∈ S, there exists a finite sequence of elements s = s0 , s1 , . . . , sp = t such that si ⊥ si+1 for i = 0, 1, . . . , p − 1. We define the down-set of s as ↓ s := {s′ ∈ S | s′ ≼ s}, and the up-set of s as ↑ s := {s′ ∈ S | s′ ≽ s}. Similarly, we define the strict down-set ⇓ s :=↓ s \ [s] and the strict up-set ⇑ s :=↑ s \ [s]. We say that t covers s, written s @ t, if s ̸∼ t and for u ∈ S, s ≼ u ≼ t implies that s ∼ u or u ∼ t. Intuitively, if s @ t, then t is the next element “above” s in the quasi-order. The following proposition describes a well-known class of posets. Proposition 10. The power set of S ordered by inclusion, ⟨2S , ⊆⟩, is a poset.



When we say that 2S is ordered by inclusion, we mean that, for A, B ⊆ S, A ≼ B if and only if A ⊆ B. A poset ⟨S, ≼⟩ can be depicted using a Hasse diagram, a graph with vertex set S and edges {(s, s′ ) : s @ s′ } in which “larger” elements are positioned higher along the vertical axis. Fig. 3 shows the Hasse diagram of ⟨2S , ⊆⟩, when S = {1, 2, 3}. 4.2. Hierarchical flow covers A commodity map is a function C : N → 2K . By definition, a commodity map C assigns some subset of  commodities to each arc. For L ⊆ N , we let C(L) := j∈L C(j). We do not require that C(N ) = K. We

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

99

Fig. 3. Hasse Diagram for ⟨2{1,2,3} , ⊆⟩.

a

b

c

Fig. 4. Arc–commodity hierarchies of Example 3. Each block corresponds to a tier, with commodities displayed on the left and arcs on the right. Marginal commodities are underlined.

define the support of C to be the set supp(C) := {j ∈ N | C(j) ̸= ∅}. Intuitively, supp(C) is the set of all arcs that are assigned at least one commodity. A commodity map induces a quasi-order ≼ on supp(C) with respect to set inclusion. We relate two given arcs j, j ′ ∈ supp(C) as follows: j ≺ j ′ ⇐⇒ C(j) ( C(j ′ ), ′



(21a)

j ≼ j ⇐⇒ C(j) ⊆ C(j ),

(21b)

j ∼ j ′ ⇐⇒ C(j) = C(j ′ ).

(21c)

The relations j ≻ j ′ and j ≽ j ′ are defined analogously to (21a) and (21b) by reversing the direction of the set inclusions. Referring back to concepts introduced in Section 4.1, [j] should be interpreted as the set of arcs that are assigned the same set of commodities as arc j. Let H := supp(C). We define the associated arc–commodity hierarchy as the quasi-ordered set ⟨H, ≼⟩, where ≼ is defined as in (21a)–(21c). Example 3. For Example 1, we may construct the following commodity maps: C1 : 1 → {1, 2, 3}, 2 → {3}, 3 → {2, 3}. C2 : 1 → {1, 2}, 2 → {2, 3}, 3 → {2}. C3 : 1 → {1, 2, 3}, 2 → {2}, 3 → {1, 2, 3}.  by Ci , for i = 1, 2, 3. Then ⟨N  , ≼1 ⟩, ⟨N  , ≼2 ⟩, and ⟨N  , ≼3 ⟩ are Let ≼i be the quasi-order induced on N commodity hierarchies, depicted in Fig. 4. We see that 2 ≺1 3 ≺1 1, 3 ≺2 1, 3 ≺2 2, and 2 ≺3 1 ∼3 3.  In the remainder of this paper, we refer to the equivalence classes under ≼ as tiers. In other words, a tier is a set of arcs that are assigned the same commodities. For each arc j ∈ H, we define the set of marginal commodities ∆(j) := C(j) \ C(⇓ j). The set ∆(j) contains those commodities assigned to j that are not  assigned to any arc strictly less than j in the arc–commodity hierarchy. We let ∆(L) := j∈L ∆(j), for L ⊆ N . A commodity k ∈ C(H) is marginal for at least one arc in H, but can be marginal for several arcs. Also, for each k ∈ C(H), we define the marginal arcs of k as ∆−1 (k) := {j ∈ H : k ∈ ∆(j)}. Definition 1. An arc–commodity hierarchy ⟨H, ≼⟩ is a hierarchical flow cover (HFC) if, for j ∈ H, ∆(j) ̸= ∅ and m([j]) > b(∆(j)).

100

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

An HFC is an arc–commodity hierarchy in which the total arc capacity in each tier is strictly greater than the supply of marginal commodities in the tier. Summing the relations m([j]) > b(∆(j)) over all tiers yields the following result. Corollary 1. If ⟨H, ≼⟩ is a HFC, then C(H) ̸= ∅ and m(H) > b(C(H)).



 , ≼1 ⟩ is a HFC, as Example 4. For Example 3, the arc–commodity hierarchy ⟨N m1 = 8 > b(∆(1)) = b1 = 7, m2 = 13 > b(∆(2)) = b3 = 11, m3 = 15 > b(∆(3)) = b2 = 9.  , ≼2 ⟩ is a HFC. For ⟨N  , ≼3 ⟩, we see that It can be verified similarly that ⟨N m({1, 3}) = 23 > b(∆({1, 3})) = b1 + b3 = 18, m2 = 13 > b(∆(2)) = b2 = 9,  , ≼3 ⟩ is also a HFC. demonstrating that ⟨N



Given a HFC ⟨H, ≼⟩, the upward excess of j ∈ H is λj := m(↑ j) − b(∆(↑ j)). The value λj measures the gap between the capacity of the up-set of j and the supply of the marginal commodities associated with the up-set of j. Since equivalent elements in ⟨H, ≼⟩ have identical up-sets, it follows that arcs in the same tier have the same upward excess. Given a HFC ⟨H, ≼⟩, we define the hierarchical flow cover inequality as   j∈H k∈C(j)

yjk ≤ b(C(H)) −



(mj − λj )+ (1 − xj ).

(22)

j∈H

Example 5. We next derive the HFC inequalities associated with the HFCs identified in Example 4. For  , ≼1 ⟩, we compute ⟨N λ1 = m(↑ 1) − b(∆(↑ 1)) = m1 − b1 = 1, λ2 = m(↑ 2) − b(∆(↑ 2)) = m({1, 2, 3}) − b({1, 2, 3}) = 9, λ3 = m(↑ 3) − b(∆(↑ 3)) = m({1, 3}) − b({1, 2}) = 7. The associated HFC inequality reduces to (2f), as (m1 − λ1 )+ = 7, (m2 − λ2 )+ = 4, and (m3 − λ3 )+ = 8.  , ≼1 ⟩ reduces to (2g). For ⟨N  , ≼3 ⟩, Similarly, it can be shown that the HFC inequality associated with ⟨N we have λ1 = m(↑ 1) − b(∆(↑ 1)) = m({1, 3}) − b({1, 3}) = 5, λ2 = m(↑ 2) − b(∆(↑ 2)) = m({1, 2, 3}) − b({1, 2, 3}) = 9, λ3 = λ1 = 5. The associated HFC inequality reduces to (2h), as (m1 −λ1 )+ = 3, (m2 −λ2 )+ = 4, and (m3 −λ3 )+ = 10.



In the remainder of this section, we present conditions under which the HFC inequality (22) is strong for conv(P ). As a first step, we establish that (22) is valid for conv(P ) under the following condition. C1 For j, j ′ ∈ H, if there exists k ∈ ∆(j) ∩ ∆(j ′ ), then j ∼ j ′ .

101

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

Condition C1 requires that each commodity k ∈ C(H) is marginal in exactly one tier. We assume that C1 holds throughout the remainder of the section. Wolsey [3] uses submodularity to derive a general class of valid inequalities for fixed charge problems, which includes traditional flow cover inequalities. We apply the same technique to show that (22) is valid. A set function f : 2S → R is submodular on S if f (A ∩ B) + f (A ∪ B) ≤ f (A) + f (B), ∀A, B ⊆ S.    For vectors u, v ∈ RN , define u ∧ v := min{u1 , v1 }, . . . , min{un , vn } and u ∨ v := max{u1 , v1 }, . . . ,  max{un , vn } . The notion of submodularity can also be defined for functions defined on RN . Let f : D → R, with D ⊆ RN . The function f is submodular on D if, for each u, v ∈ D such that u ∧ v, u ∨ v ∈ D, we have f (u ∧ v) + f (u ∨ v) ≤ f (u) + f (v). We refer to Topkis [16] for an extensive treatment of submodular functions. The following result is adapted from Proposition 6 in Wolsey [3]. Proposition 11. We have that (i) if g(u) is submodular and nonincreasing on Rm , then f (u, x) = g(u)x is submodular on Rm × {0, 1}, n n (ii) if L(u, x) is submodular on Rm  + × R+ , then w(x) = minu≥0 L(u, x) is submodular on R+ . Let I := {(j, k) ∈ N × K | j ∈ H and k ∈ C(j)}. For x ∈ [0, 1]N , we define the following flow problem       k k w(x) := max yj (1a), (1b), yj = 0 ∀(j, k) ∈ (N × K) \ I , y≥0  j∈H k∈C(j)

which seeks to find the maximum flow in the network, assuming that the flow is restricted to the given arc–commodity hierarchy and that certain arcs are (partially) closed. Theorem 2. The function w(x) is submodular on {0, 1}N . Proof. We dualize constraints (1a) in the definition of w(x), with corresponding dual variables uk ≥ 0, to obtain        k k k L(u, x) := max (1 − u )yj (1b), yj = 0 ∀(j, k) ∈ (N × K) \ I + bk uk . y≥0  j∈H k∈C(j)

k∈K

It follows from strong duality in linear programming that w(x) = minu≥0 L(u, x). For j ∈ H, select k′ + k (j) ∈ argmaxk′ ∈C(j) {(1 − u ) }. An optimal flow yˆ corresponding to the problem defining L(u, x) can be obtained as  mj xj if j ∈ H, k = k (j), and uk < 1, k yˆj = 0 otherwise. It follows that L(u, x) =

 j∈H

max {(1 − uk )+ }mj xj +

k∈C(j)



bk uk .

k∈K

 + For j ∈ H, let gj (u) := maxk∈C(j) {(1 − uk )+ }mj , or equivalently, gj (u) = 1 − mink∈C(j) {uk } mj . We K next show that gj (·) is submodular over RK + . Let u1 , u2 ∈ R+ . Assume without loss of generality that

102

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

u11 = mini=1,2 {mink∈C(j) {uki }}. Then gj (u1 ) = (1 − u11 )+ mj . Now, we have  +  gj (u1 ∧ u2 ) = 1 − min min{uk1 , uk2 } mj k∈C(j)

= (1 − u11 )+ mj = gj (u1 ), and  +  gj (u1 ∨ u2 ) = 1 − min max{uk1 , uk2 } mj k∈C(j)

+ ≤ 1 − min {uk2 } mj 

k∈C(j)

= gj (u2 ), where the inequality follows because (·)+ is an increasing function and, for k ∈ C(j), max{uk1 , uk2 } ≥ uk2 ,   and therefore mink∈C(j) max{uk1 , uk2 } ≥ mink∈C(j) {uk2 }. So, gj (u1 ∧ u2 ) + gj (u1 ∨ u2 ) ≤ gj (u1 ) + gj (u2 ), implying that gj (·) is submodular.   Since L(u, x) = j∈H gj (u)xj + k∈K bk uk , and a sum of submodular functions is submodular, it follows from Proposition 11 that L(u, x) is submodular, as gj (u) is nonincreasing in u. Since w(x) = minu≥0 L(u, x), Proposition 11 (ii) shows that w(x) is submodular.  For L ⊆ N , we define the set function ν(L) := w(1L ),

(23)

which computes the maximum flow assuming that flow is restricted to the given arc–commodity hierarchy, and that arcs are open if and only if they belong to L. Theorem 2 directly implies the following corollary. Corollary 2. ν(·) is submodular on N .



The following proposition is taken from Corollary 8 in Wolsey [3]. Proposition 12. For some x ∈ {0, 1}N , let T := {j ∈ N | xj = 1}. Then the following inequality holds:   ν(T ) ≤ ν(H) − ρj (H \ j)(1 − xj ) + ρj (∅)xj , (24) j∈H

where ρj (A) := ν(A ∪ {j}) − ν(A).

j∈N \H



We show that (22) is in fact (24) after computing the values of ν(T ), ν(H), ρj (H \ j) and ρj (∅) for a HFC. In order to compute these values, we solve (23). We do so by finding matching pairs of upper and lower bounds. Next, we introduce notation to define the points we use to establish the lower bounds. First, for Q ⊆ C(H), we define   mj  · bk ejk if Q ̸= ∅, −1 (k)) m(∆ (25) η(Q) := k∈Q j∈∆−1 (k)  0 otherwise. ×K The vector η(Q) ∈ RN corresponds to a flow in which the entire supply of each commodity in Q is + distributed proportionally, with respect to capacity, across its marginal arcs. This construction is welldefined, as ∆−1 (k) ̸= ∅ for each k ∈ C(H). Fix ℓ ∈ H, and let ∆(ℓ) := C(H) \ ∆(ℓ), the set of commodities associated with H that are not marginal to arc ℓ. For j ∈ H \ ℓ, we define  rℓ (j) := mj − [η(∆(ℓ))]kj . (26) k∈K

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

103

This expression computes the capacity remaining on arc j when y = η(∆(ℓ)). Note that η(∆(ℓ)) corresponds to a flow in which the entire amount of commodities that are not marginal to ℓ are distributed among their marginal arcs, proportionally with respect to the arc capacities. Next, we define    rℓ (j)   · bk ejk if ↑ ℓ \ ℓ ̸= ∅ and mℓ ≤ λℓ ,   r (↑ ℓ \ ℓ)  ℓ  k∈∆(ℓ) j∈↑ℓ\ℓ   bk θ¯ℓ := · rℓ (j)ejk if ↑ ℓ \ ℓ ̸= ∅ and mℓ > λℓ ,   b(∆(ℓ))   k∈∆(ℓ) j∈↑ℓ\ℓ    0 otherwise. This vector assigns the flow of marginal commodities of arc ℓ to other arcs in its tier and those in higher tiers, proportionally with respect to the arcs’ residual capacities. Note that θ¯ℓ = 0 if ↑ ℓ \ ℓ = ∅, since in this case, there is no arc j ∈ H \ ℓ with j ≽ ℓ to which the marginal commodities of ℓ can be assigned. Using the above notation, we construct the points ζ := (1H , η(C(H))), ζ¯ℓ := (1H\ℓ , η(∆(ℓ)) + θ¯ℓ ),

(27a) ∀ℓ ∈ H,

(27b)

which we will argue later are feasible for P and tight on (22). Finally, for j ∈ H \ ℓ, we define  ¯ k (θℓ )j k∈K µℓ (j) := , rℓ (j) a quantity that measures the proportion of the residual capacity rℓ (j) that is used when y = η(∆(ℓ))+ θ¯ℓ . We next provide alternate ways of computing rℓ (j) and µℓ (j) that allow us to streamline upcoming arguments. The proofs of these results are in Appendix A. Lemma 1. Let ℓ ∈ H. We have   b(∆(j) ∩ ∆(ℓ)) mj , rℓ (j) = 1 − m([j]) and  b(∆(ℓ) ∩ C(j))      rℓ (↑ ℓ \ ℓ) µℓ (j) = b(∆(ℓ) ∩ C(j))    b(∆(ℓ))   0 for j ∈ H \ ℓ.

if ↑ ℓ \ ℓ ̸= ∅ and mℓ ≤ λℓ , if ↑ ℓ \ ℓ ̸= ∅ and mℓ > λℓ , otherwise,



Lemma 2. Let ℓ ∈ H. Then, for j ∈ H \ ℓ, the following relations hold true: (i) 0 < rℓ (j) ≤ mj , (ii) 0 ≤ µℓ (j) ≤ 1.  The results of Lemmas 1 and 2 can be used to show the following proposition, whose proof can also be found in Appendix A. Proposition 13. The points ζ and ζ¯ℓ , where ℓ ∈ H, belong to P .



104

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

Theorem 3. The HFC inequality (22) is valid for conv(P ). Proof. Clearly, for any feasible point (x, y) ∈ P , we must have   yjk ≤ ν(T ), j∈H k∈C(j)

where T := {j ∈ N | xj = 1}. It follows from the flow balance constraints (1a) that ν(H) ≤ b(C(H)). Solution ζ demonstrates that ν(H) = b(C(H)). Now, fixing ℓ ∈ H, we determine the value of ρℓ (H \ ℓ). Suppose first that mℓ ≤ λℓ . Observe that ν(H \ ℓ) ≤ b(C(H \ ℓ)) ≤ b(C(H)). Further, ζ¯ℓ is a feasible solution of value b(C(H)) to the problem defining ν(H \ ℓ) in (23). Therefore ν(H \ ℓ) = ν(H), and we conclude that ρℓ (H \ ℓ) = 0. Assume next that mℓ > λℓ . Note that any feasible flow y satisfies      yjk = yjk + j∈H\ℓ k∈C(j)

j∈H\↑ℓ k∈C(j)



yjk

j∈↑ℓ\ℓ k∈C(j)

≤ b(C(H\ ↑ ℓ)) + m(↑ ℓ \ ℓ).

(28)

It follows that ν(H \ ℓ) ≤ b(C(H\ ↑ ℓ)) + m(↑ ℓ \ ℓ). Solution ζ¯ℓ shows that equality holds in the previous relation. Therefore ν(H \ ℓ) = b(C(H\ ↑ ℓ)) + m(↑ ℓ \ ℓ) = b(C(H) \ ∆(↑ ℓ)) + m(↑ ℓ \ ℓ), where the second equality follows from C1. This allows us to compute ρℓ (H \ ℓ) = b(C(H)) − [b(C(H) \ ∆(↑ ℓ)) + m(↑ ℓ \ ℓ)] = b(∆(↑ ℓ)) − m(↑ ℓ \ ℓ) = mℓ − λℓ . We conclude that ρj (H \ j) = (mj − λj )+ for j ∈ H. Finally, it is clear from the definition of (23) that, for j ∈ N \ H, ν({j}) = ν(∅) = 0, since the objective of (23) does not contain these values. We conclude that ρj (∅) = 0, for j ∈ N \ H. Applying Proposition 12 yields the desired result.  We next show that HFC inequalities are, under mild assumptions, facet-defining for conv(P ). To this end, we first establish that the points ζ and ζ¯ℓ defined above lie on the face of conv(P ) induced by (22). We then argue in Lemma 3 that certain perturbations of these points also belong to this face. These results are the building blocks for the facet proof given in Theorem 4. Proposition 14. The points ζ and ζ¯ℓ , for ℓ ∈ H, satisfy (22) at equality. Proof. For a given x ∈ {0, 1}N , define h(x) = b(C(H))− side of (22).



j∈H (mj −λj )

+

(1−xj ), i.e., h(x) is the right-hand

Let (ˆ x, yˆ) be the components of ζ. Since x ˆ = 1H , then h(ˆ x) = b(C(H)). We therefore see that  k y ˆ = b(C(H)) = h(ˆ x ). j∈H k∈C(j) j



D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

105

Now, let (¯ x, y¯) be the components of ζ¯ℓ , for some ℓ ∈ H. There are two cases. Case 1 (mℓ ≤ λℓ ). In this case, h(¯ x) = b(C(H)), since (mℓ − λℓ )+ = 0. Observe that       mj rℓ (j) y¯jk = · bk + · bk −1 m(∆ (k)) r (↑ ℓ \ ℓ) ℓ −1 j∈H k∈C(j)

(k)

k∈∆(ℓ) j∈∆

k∈∆(ℓ) j∈↑ℓ\ℓ

= b(∆(ℓ)) + b(∆(ℓ)) = b(C(H)) = h(¯ x). Case 2 (mℓ > λℓ ). Then h(¯ x) = b(C(H)) − (mℓ − λℓ ), and  





y¯jk =

k∈∆(ℓ) j∈∆−1 (k)

j∈H k∈C(j)

 mj · bk + −1 m(∆ (k))



k∈∆(ℓ) j∈↑ℓ\ℓ

bk · rℓ (j) b(∆(ℓ))

= b(∆(ℓ)) + rℓ (↑ ℓ \ ℓ) = [b(C(H)) − b(∆(ℓ))] + [m(↑ ℓ \ ℓ) − b(∆(⇑ ℓ))] = b(C(H)) + m(↑ ℓ \ ℓ) − b(∆(↑ ℓ)) = b(C(H)) − (mℓ − λℓ ) = h(¯ x), where the third equality follows from the definition of ∆(ℓ) and the fact that (26) implies that rℓ (↑ ℓ \ ℓ) = m(↑ ℓ \ ℓ) − b(∆(⇑ ℓ)), while the fifth equality holds by the definition of λℓ .

(29)



We next introduce an additional condition on ⟨H, ≼⟩, which we assume holds throughout the remainder of the section. C2 For j ∈ H, maxℓ∈[j] mℓ > λj , Condition C2 requires that the maximum arc capacity in each tier exceeds the upward excess of that tier. For each commodity k ∈ C(H), we choose ∆−1 max (k) ∈ argmaxj∈∆−1 (k) mj , i.e., a marginal arc of k with maximum capacity. Using this notation, we construct the points πj := ζ + (ej , 0), ∀j ∈ N \ H;  ζ¯∆−1 + (0, εejk ) if k ∈ C(H) k max (k) π ¯j := ζ + (0, εejk ) otherwise, π˙ jk := ζ¯∆−1 + (ej , 0), max (k) π ¨jk := π˙ jk + (0, εejk ),

(30a) ∀j ∈ H, k ∈ K \ C(j);

∀j ∈ N \ H, k ∈ K;

∀j ∈ N \ H, k ∈ K;





π ˜jk,k := ζ¯∆−1 + (0, εejk − εejk ), max (k) k k k π ˆj,j ′ := ζ + (0, −εej + εej ′ ),

′ ∀j ∈ H, k ∈ C(j), k ′ ∈ ∆(j) : j ̸= ∆−1 max (k) and k ̸= k ;

∀j, j ′ ∈ H, k ∈ ∆(j) ∩ C(j ′ ) : j ̸= j ′ .

(30b) (30c) (30d) (30e) (30f)

Note that each point in (30) is constructed as a perturbation of some point defined in (27). We do not claim that these points are affinely independent. However, we claim that these perturbations are points of P that belong to the face of conv(P ) defined by (22). A proof of this result can be found in Appendix A.

106

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

Lemma 3. The points defined in (30) belong to P and satisfy (22) at equality.



In order to guarantee that (22) is strong, we impose the additional condition C3 ⟨H, ≼⟩ is connected, which we assume holds in the remainder of this section. We next use Lemma 3 to show that when Conditions C1, C2, and C3 are met, (22) is facet-defining for conv(P ). Theorem 4. The HFC inequality (22) is facet-defining for conv(P ) if and only if (i) |H| = 1 and |C(H)| = 1; or (ii) |H| > 1. Proof. We consider two cases. Case 1 (|H| = 1). Then H = {j} for some j ∈ N , and (22) reduces to  yjk ≤ b(C(j)) − (mj − λj )+ (1 − xj ).

(31)

k∈C(j)

Condition C2 requires that mj − λj > 0. Consequently, we can rewrite (31) as  yjk ≤ b(C(j))xj ,

(32)

k∈C(j)

since λj = mj − b(C(j)). We now consider two subcases. Case 1.1 (|C(j)| = 1). In this case, C(j) = {k0 } for some k0 ∈ K, and (32) reduces to yjk0 ≤ bk0 xj .

(33)

Note that (33) is of the form (3), and C2 implies that mj > bk0 . It follows from Proposition 2 that (22) is facet-defining for conv(P ). Case 1.2 (|C(j)| > 1). We see that (32) can be obtained as a conic combination of distinct inequalities of the form (33) for k ∈ C(j). It is therefore not facet-defining for conv(P ), as conv(P ) is full-dimensional. Case 2 (|H| > 1). Consider any face-defining inequality   αj xj + βjk yjk ≤ γ, j∈N

(34)

j∈N k∈K

that is satisfied at equality by points (27) and (30), where (α, β, γ) ∈ RN × RN ×K × R. We next show that (34) is a scalar multiple of (22). For j ∈ N \ H, the points ζ and πj imply that αj = 0. Also, for j ∈ H and k ∈ K \ C(j), π ¯jk and the point , imply that βjk = 0. Similarly, for j ∈ N \ H and k ∈ K, the from which it is derived, either ζ or ζ¯∆−1 max (k) k k k points π˙ j and π ¨j imply that βj = 0. As a result, (34) reduces to    α j xj + βjk yjk ≤ γ, j∈H

j∈H k∈C(j)

or equivalently,   j∈H k∈C(j)

βjk yjk ≤ γ − α(H) +

 j∈H

αj (1 − xj ).

(35)

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

107

Next, we make the following claim, whose proof can be found in Appendix A, and requires the use of both C2, and C3. Claim 4.1. The coefficients βjk in (35) are equal for all k ∈ C(j) and j ∈ H. ¯ (35) can then be written as If we denote the common value of these coefficients by β,    β¯ yjk ≤ γ − α(H) + αj (1 − xj ). j∈H k∈C(j)

(36)

j∈H

Substituting ζ into (36), we obtain ¯ βb(C(H)) = γ − α(H).

(37)

Next, fix an arc ℓ ∈ H and let (¯ x, y¯) be the components of ζ¯ℓ . Substituting ζ¯ℓ into (36) therefore yields   ¯ βb(C(H)) + αℓ = β¯ y¯jk . (38) j∈H k∈C(j)

It was shown in Theorem 3 that   

y¯jk

=

j∈H k∈C(j)

b(C(H)) − (mℓ − λℓ ) if mℓ > λℓ , b(C(H)) otherwise.

(39)

¯ j − λj )+ for j ∈ H. Substituting (37) and the Combining (38) and (39), we therefore obtain αj = −β(m values just obtained for αj into (36) yields    ¯ β¯ yjk = βb(C(H)) − β¯ · (mj − λj )+ (1 − xj ), j∈H k∈C(j)

which establishes the desired result.

j∈H



To the best of our knowledge, HFC inequalities have not been described in the literature. However, they generalize traditional flow cover inequalities, as well as inequalities obtained from flow covers through aggregation. We formalize this observation next. Proposition 15. Let C ⊆ N be an AFC for Q ⊆ K. Then ⟨C, ≼⟩ is a HFC, where ≼ is obtained from the map C(j) = Q for j ∈ C and C(j) = ∅ for j ∈ N \ C. Proof. Since C is an AFC for Q, we must have m(C) > b(Q). Let j ∈ C. It follows from the definition of C that ⟨C, ≼⟩ contains a single tier, and therefore, [j] = C and ∆(j) = Q. We write that m([j]) = m(C) > b(Q) = b(∆(j)), showing that ⟨C, ≼⟩ is a HFC.  Since AFCs can be viewed as HFCs with a single tier, we obtain the following corollary. Corollary 3. Aggregated flow cover inequalities are HFC inequalities.



We note that Proposition 9, which establishes that AFC inequalities are facet-defining under mild assumptions, can be obtained by applying the results we derived in this section for HFC inequalities. In fact, C1 is satisfied by arc–commodity hierarchies with a single tier, and C2 reduces to the condition of Proposition 9. Further, C3 is satisfied by hierarchies with a single tier. It follows that the conditions under which Theorem 4 is established naturally reduce to those used in Proposition 9 in the case where ⟨H, ≼⟩ corresponds to an AFC.

108

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

. Fig. 5. Graphical representation of P 5. Lifting HFC inequalities In the preceding sections, we derived valid inequalities for MVF under the assumption that all arcs are directed outward from a network node. We next use continuous lifting (see, e.g., [17,4,18]) to extend HFC inequalities for situations where incoming arcs are also present. Let N = N + ∪ N − , where N + and N − are the sets of outgoing and incoming arcs, respectively. In this case, we replace (1a) with the flow balance constraint   yjk − yjk ≤ bk ∀k ∈ K, (40) j∈N +

j∈N −

and define the set   P := (x, y) ∈ ZN × RN ×K | (1b)–(1e), (40) . Graphically, we consider the flow model P, which is shown in Fig. 5. We assume, as before, that mj > 0 for j ∈ N and bk > 0 for k ∈ K. It can be shown using an argument similar to that presented in Proposition 1 that P is full-dimensional. For L ⊆ N − , we define PL to be the projection of     (x, y) ∈ Pxj = 0 and yjk = 0 ∀j ∈ L, ∀k ∈ K onto the set of non-fixed variables. Note that P∅ = P, while PN − is of the form of P , an MVF model without inflow. Assume that    αj xj + yjk ≤ δ, (41) j∈N +

j∈H k∈Qj

 where H ⊆ N + , Qj ⊆ K for j ∈ H, and j∈H Qj ̸= ∅, is a valid inequality for conv(PN − ) that is satisfied at equality by at least one solution of PN − . An example of such an inequality is (22), which under Condition C1 is satisfied at equality by the point ζ. We wish to lift (41) into a valid inequality of conv(P) of the form 

αj xj +

j∈N +



αℓ xℓ +

ℓ∈N −

 

yjk +

  ℓ∈N −

j∈H k∈Qj

βℓk yℓk ≤ δ,

k∈K

for suitable coefficients αℓ and βℓk , where ℓ ∈ N − and k ∈ K. To this end, we define (i) the function f (y) :=



(ii) the function g(x) :=



j∈H



j∈N +

k∈Qj

yjk for y ∈ RN

αj xj for x ∈ R

N+

,

+

×K

,

(42)

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

109

(iii) the set

S(u, x ¯) :=

  

y ∈ RN

+

 k ≤ bk + uk + y j∈N kj ¯j k∈K yj ≤ mj x yjk ≥ 0

×K

 

  ∀k ∈ K,  + , ∀j ∈ N ,  ∀j ∈ N + , ∀k ∈ K 

+

where u ∈ RK and x ¯ ∈ {0, 1}N , (iv) the lifting function   + φ (u) := max f (y) + g(x) − δ|x ∈ {0, 1}N , y ∈ S(u, x) , where u ∈ RK . Our assumption that (41) is valid for conv(PN − ) implies that φ (0) ≤ 0. Further, the assumption that this inequality is satisfied at equality by one solution shows that φ (0) = 0. In order for (42) to be valid for conv(P), the inequality       k k αℓ xℓ + βℓ y ℓ + φ yℓ ≤ 0, (43) ℓ∈N −

ℓ∈N − k∈K

ℓ∈N −

|K| (yℓ1 , yℓ2 , . . . , yℓ )

 where yℓ = for ℓ ∈ N − , must hold for all (xℓ , yℓ ) such that (i) k∈K yℓk ≤ mℓ xℓ , (ii) yℓk ≥ 0 for k ∈ K, and (iii) xℓ ∈ {0, 1}. Observe that the condition yℓk ≥ 0 for k ∈ K implies that it is sufficient to study the function φ (u) on RK +. T Lemma 4. For u ∈ RK + , φ (u) ≤ u 1Q where Q :=

Proof. First, we establish that, for x ¯ ∈ {0, 1}N

+



j∈N

Qj , and Q := K \ Q.

and u ∈ RK +,

zu∗ ≤ zℓ∗ + uT 1Q ,

(44)

¯)} and zℓ∗ := max {f (y) | y ∈ S(0, x ¯)}. Clearly, the problems defining zu∗ where zu∗ := max {f (y) | y ∈ S(u, x and zℓ∗ are feasible and have optimal solutions. Let y¯ be an optimal solution to the problem defining zu∗ . We may assume that y¯jk = 0 for all (j, k) such that (i) j ∈ N + \ H or (ii) j ∈ H and k ∈ K \ Qj , since  these variables do not appear in the objective. Define γ k := ( j∈N + y¯jk − bk )+ for k ∈ K. Clearly, since k k k

y ∈ S(u, x ¯), we have γ ≤ u for k ∈ K. Also, it is clear from the definition that γ ≥ 0. Now, define the solution y˜, where for j ∈ H and k ∈ K,    γk  k y¯j 1 − k if k ∈ Qj , y˜jk := b + γk  0 if k ∈ K \ Qj . k

We claim that y˜ ∈ S(0, x ¯). It is clear that 0 ≤ bkγ+γ k ≤ 1, since bk ≥ 0. It follows that 0 ≤ y˜jk ≤ y¯jk for j ∈ H. Now, we compute, for j ∈ H,       γk k k y˜j = y¯j 1 − k ≤ y¯jk = y¯jk ≤ mj x ¯j , k b +γ k∈K

k∈Qj

k∈Qj

k∈K

and for k ∈ Q, 

y˜jk

=

j∈N +



y¯jk

 1−

j∈H

 ≤

1−

bk

γk +γ

   γk γk = 1− k y¯jk bk + γ k b + γk j∈H  (bk + γ k ) = bk , k

110

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

while, for k ∈ Q,

y˜jk = 0. Solution y˜ being feasible to S(0, x ¯), we next verify that       γk y˜jk = y˜jk = y¯jk 1 − k zℓ∗ ≥ f (˜ y) = b + γk



j∈N +

j∈H k∈Q

j∈H k∈Qj

j∈H k∈Q

 γk γ k k y ¯ − y ¯ = j j bk + γ k bk + γ k j∈H k∈Q j∈H k∈Q j∈H k∈Q j∈H k∈Qj      γk  γk     = f (¯ y) − y¯jk  = zu∗ − y¯jk  bk + γ k bk + γ k + + k∈Q k∈Q j∈N j∈N  ∗ k ∗ T ≥ zu − γ = zu − u 1Q ,

=



y¯jk −

k



 

y¯jk

k∈Q

showing (44). We are now ready to prove the result. We write that     φ (u) = max + max f (y) + g(¯ x) − δ y∈S(u,¯ x)

x ¯∈{0,1}N

 ≤

max

   f (y) + uT 1Q + g(¯ x) − δ

max

y∈S(0,¯ x)

x ¯∈{0,1}N +



T

= u 1Q +

max

   max f (y) + g(¯ x) − δ

y∈S(0,¯ x)

x ¯∈{0,1}N +

= uT 1Q + φ (0) ≤ uT 1Q , where the first inequality follows from (44) and the last inequality holds since φ (0) ≤ 0.



Lemma 5. The coefficients αℓ = 0 for ℓ ∈ N − , βℓk = −1 for ℓ ∈ N − and k ∈ Q, and βℓk = 0 for ℓ ∈ N − and k ∈ Q are valid lifting coefficients in (42).  Proof. We need to verify (43) for all (xℓ , yℓ )ℓ∈N − such that k∈K yℓk ≤ mℓ xℓ and yℓk ≥ 0 for k ∈ K. For the given values of αℓ and βℓk , we write that      α ℓ xℓ + βℓk yℓk = − yℓk . ℓ∈N −

Since Lemma 4 shows that φ that



ℓ∈N − k∈K

ℓ∈N −



yℓ ≤



ℓ∈N −

ℓ∈N − k∈Q



k∈Q

yℓk , as yℓk ≥ 0 for ℓ ∈ N − and k ∈ K, we obtain 



αℓ xℓ +

ℓ∈N −

as desired.

  ℓ∈N −

 

βℓk yℓk + φ

yℓ

≤ 0,

ℓ∈N −

k∈K



Given a HFC ⟨H, ≼⟩, we define the lifted hierarchical flow cover inequality (LHFCI) to be   j∈H k∈C(j)

yjk −





yjk ≤ b(C(H)) −



(mj − λj )+ (1 − xj ).

j∈H

j∈N − k∈C(H)

Lemma 5 directly implies the following result, since HFC inequalities are of the form (41). Theorem 5. Inequality (45) is valid for conv(P).



(45)

111

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

Although Lemma 4 only derives an approximation of the lifting function of (41), we next show that this approximation is sufficient to perform exact lifting (and therefore to obtain facet-defining inequalities) in the case of HFCs. We first prove a more general result in Proposition 16. To this end, we introduce Property 3. There exists ε > 0 such that φ (u) = uT 1Q for all u ∈ [0, ε]K . Proposition 16. If (41) is facet-defining for conv(PN − ) and satisfies Property 3, then (42), with αℓ = 0 for ℓ ∈ N − , βℓk = −1 for ℓ ∈ N − and k ∈ Q, and βℓk = 0 for ℓ ∈ N − and k ∈ Q, is facet-defining for conv(P). Proof. Let d := dim conv(PN − ), and let {(xt , y t )}dt=1 be a set of affinely independent points of PN − showing t that (41) is facet-defining for conv(PN − ). We construct the points (¯ xt , x ¯tN − , y¯t , y¯N ¯tN − = 0 and − ), where x t y¯N − = 0 for t = 1, . . . , d. These points belong to P and satisfy (42) at equality. Next, we find |N − |(|K| + 1) additional points that are affinely independent from these and from each other. Clearly, we can choose (¯ x1 , ej , y¯1 , 0) for j ∈ N − to form |N − | of these points. For the other |N − ||K| points, we proceed as follows. For each q ∈ {1, . . . , |K|}, let (˜ xq , y˜q ) be any solution of     |N + | T q  , y ∈ S(εeq , x), φ (εeq ) = εeq 1Q . L := (x, y)x ∈ {0, 1} (46) In other words, L q is the set of optimal solutions defining the value of φ (εeq ). This set is nonempty because of Property 3. We then construct the solutions (˜ xq , ej , y˜q , εejq ) for q ∈ {1, . . . , |K|) and j ∈ N − . These points belong to P and satisfy (42) at equality and are affinely independent from all previously constructed points. It follows that the dimension of the face of conv(P) defined by (42) is |N − |(|K| + 1) more than that of (41), showing that (42) is facet-defining for conv(P).  We conclude this section by showing that (22) satisfies Property 3, thereby showing that (45) is facetdefining for conv(P) under suitable conditions. Lemma 6. There exists ε > 0 for which (22) satisfies Property 3.  Proof. Lemma 4 shows that φ (u) ≤ uT 1Q . We define (¯ x, y¯) := (1H , η(Q)) and γ := minj∈N {mj − k∈K y¯jk }. Observe that y¯ ∈ S(0, 1H ) and γ > 0. We will show that there exists a feasible solution to the problem γ . Consider the solution defining φ (u) that achieves the value uT 1Q for all u ∈ [0, ε], where ε = |K| (ˆ x, yˆ) = (1H , η ∗ (Q)), where   mj η ∗ (Q) := · (bk + uk )ejk . −1 (k)) m(∆ −1 k∈Q j∈∆

(k)

This solution has value uT 1Q and belongs to S(u, 1H ), since y¯ = η(Q) ∈ S(0, 1H ),  ε|K|, and k∈K y¯jk + γ ≤ mj for j ∈ H. 



k∈K

yˆjk ≤



k∈Q

y¯jk +

Example 6. Consider a five-arc, three-commodity model with N + = {1, 2, 3}, N − = {4, 5}, m = (8, 13, 15, 9, 12) and supplies b = (7, 9, 11). Note that this model can be obtained from the model of Example 1 by adding two incoming arcs {4, 5} with capacities m4 = 9 and m5 = 12, respectively. We find that the three hierarchical flow covers of Example 4 produce the following LHFCIs: y11 + y12 + y13 + y23 + y32 + y33 − y41 − y42 − y43 − y51 − y52 − y53 ≤ 27 − 7(1 − x1 ) − 4(1 − x2 ) − 8(1 − x3 ), y11

+

y12

+

y22

+

y23

+

y32



y41



y42



y43



y51



≤ 27 − 7(1 − x1 ) − 11(1 − x2 ) − 6(1 − x3 ),

(47a) y52



y53 (47b)

112

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

y11 + y12 + y13 + y22 + y31 + y32 + y33 − y41 − y42 − y43 − y51 − y52 − y53 ≤ 27 − 3(1 − x1 ) − 4(1 − x2 ) − 10(1 − x3 ).

(47c)

Inequalities (47a)–(47c), which are obtained by lifting (2f)–(2h) respectively, are facet-defining for the convex hull of this model.  Theorem 6. If Conditions C1, C2, and C3 hold and either (i) |H| = 1 and |C(H)| = 1, or (ii) |H| > 1, then the lifted HFC inequality (45) is facet-defining for conv(P).  6. Computation In this section, we show that LHFCIs have the potential to be very useful in the solution of network design problems with multiple commodities. These preliminary results would have to be confirmed through a full-fledged computational study, which we reserve for future work. 6.1. Instances We perform our computational experiments on a test bed of randomly generated instances of the multicommodity fixed charge capacitated network design problem (MFCND). Each instance consists of a directed A graph G = (V, A), a commodity set K, arc construction costs c ∈ RA + , variable arc flow costs h ∈ R+ , arc V ×K . We classify instances by the number of nodes capacities m ∈ RA + , and node supplies/demands b ∈ R |V |, the order of magnitude of |A|, and the order of magnitude of |K|. For a given number of nodes |V |, we     select |A| uniformly over (i) |V |1.3 , |V |1.5 to obtain instances with a medium number of arcs, or (ii)  1.6   1.8  |V | , |V | to obtain instances with a large number of arcs. Similarly, we select |K| uniformly over     (i) ⌈0.5|V |⌉ , ⌈0.8|V |⌉ to obtain instances with a medium number of commodities, or (ii) .9|V |, ⌈1.2|V |⌉ to obtain instances with a large number of commodities. Once the dimensions |V |, |A|, and |K| of an instance are set, we generate arc and commodity data. We iteratively add random pairs (i, j) ∈ V × V to A until we have reached the predetermined number of arcs. During this process, we forbid the creation of duplicate arcs and loops. For each arc (i, j) ∈ A, we generate values mij ∈ {10, . . . , 30}, cij ∈ {100, . . . , 200}, and hij ∈ {30, . . . , 50} uniformly at random. For each commodity k ∈ K, we uniformly generate a value ¯bk ∈ {5, . . . , 10}. We then (i) uniformly select parameters (s, d) ∈ {1, 2, 3}2 ; (ii) randomly add nodes i ∈ V to (initially empty) sets of source nodes S(k) and demand nodes D(k) so that |S(k)| = s, |D(k)| = d, and S(k)∩D(k) = ∅; and (iii) randomly assign values   bki ∈ {0, . . . , ¯bk } to the nodes such that i∈S(k) bki = ¯bk , bki > 0 for i ∈ S(k), i∈D(k) bki = −¯bk , bki < 0 for i ∈ D(k), and bki = 0 for i ∈ V \ (S(k) ∪ D(k)). It is easy to verify that an MFCND instance is feasible if and only if the linear program obtained by opening all arcs, i.e., fixing xij = 1 for each (i, j) ∈ A, is feasible. After generating each instance, we therefore verify its feasibility by solving the aforementioned linear program. If an instance is infeasible, we discard it and generate a new instance with the same node–arc–commodity setting, repeating this process until a feasible instance is obtained. We create instances for |V | = 15, with 10 instances for each of the arc–commodity settings medium–medium, medium–large, and large–medium. The test instances can be found online at [19] or by contacting the authors. 6.2. Separation Separating flow cover inequalities is known to be NP-Hard [1]. It follows that separating HFC inequalities is NP-Hard, as well, since the set of HFC inequalities is exactly the set of flow cover inequalities when a single commodity appears in the model. We therefore propose a greedy heuristic for identifying a most violated

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

113

lifted HFC inequality. Let (˜ x, y˜) be a fractional solution to (1), and let ⟨H, ≼⟩ be a HFC of (1), induced by a commodity map C(·). The procedure starts by heuristically solving the following knapsack problem to identify an AFC for Q ⊆ K         mj ωj > b(Q), ωj ∈ {0, 1} ∀j ∈ N . (48) max (˜ xj − 1)ωj     j∈N

j∈N

Next, commodities are iteratively removed from C(j), for j ∈ H, whenever doing so increases the violation of (45) by (˜ x, y˜). We compute the violation of inequality (45) by (˜ x, y˜) as        k k + v˜(H, C) := y˜j − y˜j − b(C(H)) − (mj − λj ) (1 − x ˜ j ) . j∈H k∈C(j)

j∈N − k∈C(H)

j∈H

The separation procedure is described formally in Algorithm 1. Algorithm 1 Separation heuristic for LHFCIs Input: A MVF, a commodity subset Q ⊆ K with bk > 0 for k ∈ Q, and a fractional point (˜ x, y˜). Output: A lifted HFC inequality of the form (45).

Solve (48) greedily to obtain H ⊆ N + . Set C(j) ← Q, ∀j ∈ H. for all k ∈ Q do repeat changed ← F alse. for all j ∈ H such that k ∈ C(j) do Set H ′ ← H and C ′ ← C. Set C ′ (j) ← C ′ (j) \ k. //Remove j if it has no associated commodities if C ′ (j) = ∅ then H ′ ← H ′ \ j. end if Use C ′ (·) to compute ∆′ (j) and λ′j , ∀j ∈ H ′ . //Let ⟨H ′ , ≼⟩ denote the hierarchy induced on H ′ by C ′ . if ⟨H ′ , ≼⟩ satisfies the definition of HFC and Condition C1 then if v˜(H ′ , C ′ ) > v˜(H, C) then Set H ← H ′ and C ← C ′ . changed ← T rue. end if end if end for until ¬changed end for

6.3. Computational setup We implement our separation algorithm in C++ using CPLEX 12.3 via ILOG Concert Technology. We disable CPLEX’s built-in cuts, impose a run time limit of 3 hours, set the MIP optimality gap parameter to

114

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

Table 1 Branch-and-bound. Arcs/Coms.

B&B Nodes

M/M M/L L/M

Time (s)

114,514 258,897 25,092,500

Avg

Min

Max

15 46 5686

1 1 134

69 269 10,808

Table 2 LAFCI Algorithm. Arcs/Coms.

B&B Nodes

STC

M/M M/L L/M

29,035 82,303 11,003,870

20.50 22.70 49.50

Time (s) Avg

Min

Max

8 29 3331

1 1 70

48 175 10,807

Table 3 LHFCI algorithm. Arcs/Coms. M/M M/L L/M

B&B Nodes 19,168 43,310 8,145,980

STC 27.90 33.60 47.50

MTC 0.50 2.60 2.50

Time (s) Avg

Min

Max

5 12 2428

1 1 28

25 62 10,808

Table 4 Instances in which multi-tiered LHFCIs were identified. Arcs/Coms M/M M/L L/M

AFC

HFC

B&B Nodes

STC

Time

B&B Nodes

STC

MTC

Time

1,295 128,980 7,062,398

10.50 31.00 50.00

1 31 2050

883 54,286 3,473,273

27.50 41.33 43.75

2.50 8.67 6.25

1 14 1028

0.1%, and leave the other parameters at their default values. Our experiments are performed on a PC with a 2.50 GHz Intel Core Processor and 6 GB RAM. When a fractional solution is found at any node in the branch-and-bound tree, we execute the separation algorithm from each node i ∈ V that has a positive supply for at least one commodity k ∈ K, using the initial commodity subset Q := {k ∈ K | bki > 0}. A cut is added to the formulation if its violation by the fractional solution is at least 1 × 10−3 , and we allow at most 50 cuts to be added in total. For comparison purposes, we also solve each instance using (i) branch-and-bound (i.e., no cuts are generated), and (ii) lifted AFC inequalities (LAFCIs). In the latter case, we obtain an AFC by solving (48). We then add its corresponding lifted HFC inequality (45) to the formulation. 6.4. Results The results of our computational experiments are summarized in Tables 1–4 (see Appendix B for detailed results). Table 1 shows the performance of pure branch-and-bound in solving the test instances. Each row corresponds to a particular arc–commodity category (with 10 instances), which is indicated in the “Arcs/Coms”. column. The “B&B Nodes” column shows the average number of nodes in the branch-andbound tree. We also include the average, minimum, and maximum time, in seconds, elapsed for each category. We note that the branch-and-bound procedure failed to solve two of the large arc–medium commodity instances due to insufficient memory, and therefore the statistics in this category are computed only for the eight instances that were successfully solved. Tables 2 and 3 show the results obtained using LAFCI and LHFCI algorithms, respectively. Recall that the arc–commodity hierarchy associated with a LAFCI must

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

115

consist of a single tier, whereas the hierarchy of an LHFCI may include one or many tiers. Therefore, some of the cuts produced by Algorithm 1 can also be obtained through commodity aggregation. For this reason, in Tables 2 and 3, the column marked “STC” displays the average number of single-tier cuts generated in each category, and in Table 3, the “MTC” column shows the average number of multi-tier cuts. We note that most of the medium arc–medium commodity (M/M) and medium arc–large commodity (M/L) instances solve in less than a minute, regardless of the choice of algorithm, whereas the large arc–medium commodity (L/M) instances typically require much more time. Both the LAFCI- and LHFCIbased branch-and-cut algorithms tend to solve faster than branch-and-bound across all three instance categories. More intriguingly, we observe that, on average, the LHFCI algorithm has shorter run times and requires the evaluation of fewer branch-and-bound nodes than the LAFCI algorithm. This difference is especially pronounced for the L/M instances. The LHFCI algorithm produces multi-tier cuts for only nine of the thirty instances: four L/M, three M/L, and two M/M instances, respectively. Table 4 shows the average performance of both branch-and-cut algorithms for this subset of instances. In each category, the average LHFCI algorithm run time is roughly half that of the LAFCI algorithm. The average percentage of cuts that are multi-tiered is highest in the M/L category (21.0%) and lowest in the M/M category (9.1%). This can be easily understood, since an instance with a larger set of commodities has more arc–commodity hierarchies, and therefore, more potential multi-tiered LHFCIs. Our separation heuristic obtains LHFCIs using only those commodities with positive supply at a given node. Since this subset of commodities tends to be small in our instances, most hierarchies will contain only few commodities. We believe that this is the reason that most inequalities generated are single-tiered. However, our numerical results show that when multi-tier cuts can be identified, they tend to have a significant impact on the solution times of these problems. 7. Conclusion In this paper, we study the polyhedral structure of MVF, a multi-commodity extension of variable upper bound flow models. We describe basic features of the MVF polytope and consider relaxations obtained through commodity aggregation. We present conditions under which facets of these relaxed models disaggregate into facets of the original model. We identify hierarchical flow cover inequalities. We show that these inequalities, which are tied to ordered structures we call arc–commodity hierarchies, generalize flow cover inequalities to a multi-commodity setting. Our computational tests suggest that HFC inequalities provide an advantage over flow cover inequalities obtained through aggregation alone. Appendix A. Proofs

Lemma 1. Let ℓ ∈ H. We have   b(∆(j) ∩ ∆(ℓ)) mj , rℓ (j) = 1 − m([j])

(49)

and  b(∆(ℓ) ∩ C(j))      rℓ (↑ ℓ \ ℓ) µℓ (j) = b(∆(ℓ) ∩ C(j))    b(∆(ℓ))   0 for j ∈ H \ ℓ.

if ↑ ℓ \ ℓ ̸= ∅ and mℓ ≤ λℓ , if ↑ ℓ \ ℓ ̸= ∅ and mℓ > λℓ , otherwise,

(50)

116

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

Proof. First, we compute rℓ (j). Observe that   [η(∆(ℓ))]kj = [η(∆(ℓ))]kj = k∈K

k∈∆(ℓ)

=



[η(∆(ℓ))]kj

k∈∆(j)∩∆(ℓ)

mj · bk = m(∆−1 (k))

 k∈∆(j)∩∆(ℓ)



b(∆(j) ∩ ∆(ℓ)) mj · bk = · mj , m([j]) m([j])

k∈∆(j)∩∆(ℓ)

[η(∆(ℓ))]kj

where the first equality holds because = 0 for each k ∈ K \ ∆(ℓ), the second equality follows from (25) and the fact that j ∈ ∆−1 (k) if and only if k ∈ ∆(j) for each k ∈ C(H), the third equality is obtained from the definition of η(·), and the fourth equality holds since C1 implies that ∆−1 (k) = [j] for j ∈ H and k ∈ ∆(j). This proves (49). Next, we compute µℓ (j). If ↑ ℓ \ ℓ = ∅, the definition of θ¯ℓ clearly shows that µℓ (j) = 0. If ↑ ℓ \ ℓ ̸= ∅, then    (θ¯ℓ )kj = (θ¯ℓ )kj = (θ¯ℓ )kj , (51) k∈K

k∈∆(ℓ)

k∈∆(ℓ)∩C(j)

where the first equality holds because (θ¯ℓ )kj = 0 for k ∈ K \ ∆(ℓ), and the second equality is verified as, for j ∈ H and j ̸= ℓ, C1 implies that j ∈↑ ℓ \ ℓ if and only if k ∈ C(j) for each k ∈ ∆(ℓ). Using (51) and the definition of θ¯ℓ , we obtain  b(∆(ℓ) ∩ C(j))   · rℓ (j) if ↑ ℓ \ ℓ ̸= ∅ and mℓ ≤ λℓ ,    rℓ (↑ ℓ \ ℓ)  (θ¯ℓ )kj = b(∆(ℓ) ∩ C(j))  · rℓ (j) if ↑ ℓ \ ℓ ̸= ∅ and mℓ > λℓ ,  k∈K  b(∆(ℓ))   0 otherwise, which implies (50).



Lemma 2. Let ℓ ∈ H. Then, for j ∈ H \ ℓ, the following relations hold true: (i) 0 < rℓ (j) ≤ mj , (ii) 0 ≤ µℓ (j) ≤ 1. Proof. Fix j ∈ H \ ℓ. Observe that 0 ≤ b(∆(j) ∩ ∆(ℓ)) ≤ b(∆(j)) < m([j]), where the strict inequality follows from the fact that ⟨H, ≼⟩ is a HFC. Therefore, 0 ≤

b(∆(j)∩∆(ℓ)) m([j])

< 1. Lemma 1 then implies (i).

Once again, let j ∈ H \ ℓ. It is clear from its definition that µℓ (j) ≥ 0. Assume first mℓ > λℓ . Then Lemma 1 directly shows that µℓ (j) =

b(∆(ℓ) ∩ C(j)) ≤ 1. b(∆(ℓ))

Next, suppose mℓ ≤ λℓ . We conclude from C1 that  ∆(ℓ) if j ∈↑ ℓ, ∆(ℓ) ∩ C(j) = ∅ otherwise.

(52)

So, if j ∈ H\ ↑ ℓ, then from (52), we have µℓ (j) = 0. Suppose j ∈↑ ℓ \ ℓ. From the definitions of HFC and λℓ , we have mℓ ≤ λℓ = m(↑ ℓ) − b(∆(↑ ℓ)). This inequality directly yields b(∆(ℓ)) ≤ m(↑ ℓ \ ℓ) − b(∆(⇑ ℓ)), since m(↑ ℓ \ ℓ) = m(↑ ℓ) − mℓ and b(∆(⇑ ℓ)) = b(∆(↑ ℓ)) − b(∆(ℓ)). It follows that µℓ (j) =

b(∆(ℓ)) b(∆(ℓ)) = ≤ 1, rℓ (↑ ℓ \ ℓ) m(↑ ℓ \ ℓ) − b(∆(⇑ ℓ))

(53)

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

117

where the first equality is established in Lemma 1 as ∆(ℓ) ∩ C(j) = ∆(ℓ), the second equality follows from (29), and the inequality follows from (53).  Proposition 13. The points ζ and ζ¯ℓ , where ℓ ∈ H, belong to P . Proof. Let (¯ x, y¯) be the components of ζ¯ℓ . By definition, (¯ x, y¯) satisfies the binary restriction on x and the nonnegativity requirement on y.  First, we show that (¯ x, y¯) satisfies (1a). Fix k ∈ K. Note that since y¯jk = 0 for j ̸∈ H \ ℓ, j∈N y¯jk =  ¯jk . Assume first that k ∈ ∆(ℓ). We have from (25) that j∈H\ℓ y   mj y¯jk = · bk = bk , −1 (k)) m(∆ −1 j∈H\ℓ

j∈∆

(k)

where the first equality follows from the fact that (θ¯ℓ )kj = 0 for all j ∈ N and k ∈ ∆(ℓ). Assume next that k ∈ ∆(ℓ). If mℓ ≤ λℓ , then   rℓ (j) y¯jk = · bk = bk , rℓ (↑ ℓ \ ℓ) j∈H\ℓ

j∈↑ℓ\ℓ

(η(∆(ℓ)))kj

= 0 for all j ∈ N and k ∈ ∆(ℓ). Now, assume mℓ > λℓ = m(↑ where the first equality holds since ℓ) − b(∆(↑ ℓ)). Similar to (53), this expression can be written as b(∆(ℓ)) > m(↑ ℓ \ ℓ) − b(∆(⇑ ℓ)).

(54)

It follows that 

y¯jk =

j∈H\ℓ

 j∈↑ℓ\ℓ

=

 bk bk · rℓ (j) = rℓ (j) b(∆(ℓ)) b(∆(ℓ)) j∈↑ℓ\ℓ

rℓ (↑ ℓ \ ℓ) k m(↑ ℓ \ ℓ) − b(∆(⇑ ℓ)) k ·b = · b < bk , b(∆(ℓ)) b(∆(ℓ))

(55)

where the fourth equality follows from (29) and the inequality follows from (54).  Next, we show that (¯ x, y¯) satisfies (1b). Fix j ∈ N . If j ̸∈ H \ ℓ, then x ¯j = 0 and k∈K y¯jk = 0 = mj x ¯j . Now, suppose j ∈ H \ ℓ, and hence, x ¯j = 1. We have      y¯jk = [η(∆(ℓ))]kj + (θ¯ℓ )kj = mj − rℓ (j) + µℓ (j) · rℓ (j) k∈K

k∈K

 =

1−

k∈K

rℓ (j) mj

 + µℓ (j) ·

 rℓ (j) · mj ≤ mj x ¯j , mj

(56)

where the first equality holds because of (27b), the second equality follows from the definitions of rℓ (·) and µℓ (·), respectively, and the last inequality holds since 0 ≤ µℓ (j) ≤ 1 and 0 < rℓ (j) ≤ mj by Lemma 2. Therefore, ζ¯ℓ belongs to P . The proof for ζ is similar.  Lemma 3. The points defined in (30) belong to P and satisfy (22) at equality. Proof. (a) First, given arc j ∈ N \ H, the point πj modifies ζ by setting xj = 1. The corresponding solution is clearly feasible, and since the coefficient of xj in (22) is zero, this solution satisfies (22) at equality. (b) Now, let j ∈ H and k ∈ K \ C(j). The point π ¯jk takes a point (¯ x, y¯) ∈ {ζ, ζ¯∆−1 } and increases the max (k) k flow of commodity k on arc j by ε. Since k ̸∈ C(j), the coefficient of yj in (22) is zero, and so π ¯ k satisfies (22)  j q at equality. In order to be feasible, we must have (i) x ¯j = 1, (ii) q∈K y¯j < mj , and (iii) j ′ ∈N y¯jk′ < bk .

118

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

Suppose k ∈ C(H), in which case (¯ x, y¯) = ζ¯∆−1 . We see that x ¯ = 1H\∆−1 . Since k ̸∈ C(j), we max (k) max (k) −1 conclude that j ̸= ∆max (k), which implies (i). From C2, we have m∆−1 > λ∆−1 . From (50), setting max (k) max (k) ℓ = ∆−1 (k), we obtain max  −1  b(∆(∆max (k)) ∩ C(j)) µ∆−1 (j) = b(∆(∆−1 max (k))) max (k)  0

−1 if ↑ (∆−1 max (k)) \ (∆max (k)) ̸= ∅

(57)

otherwise.

−1 −1 Expression (57) shows that µ∆−1 (j) = 0 if ↑ (∆−1 max (k)) \ (∆max (k)) = ∅. Suppose that ↑ (∆max (k)) \ max (k) −1 −1 (∆max (k)) ̸= ∅. Since k ̸∈ C(j), C1 implies that ∆(∆max (k)) ∩ C(j) = ∅. In this case, (57) also implies that µ∆−1 (j) = 0. Now, using (56), again setting ℓ = ∆−1 max (k), yields max (k)

   −1 r∆−1 (j) r (j) (k) ∆ (k) max + µ∆−1 · mj = 1 − max (k) (j) · mj mj  max   

 q∈K

y¯jq

=0



= 1−

r∆−1 (j)  max (k) mj

· mj < mj ,

> λ∆−1 where the inequality follows from Lemma 2. Thus, (ii) is satisfied. Using the fact that m∆−1 max (k) max (k) −1 and setting ℓ = ∆max (k) in (55) gives (iii). Next, assume k ̸∈ C(H), and hence, (¯ x, y¯) = ζ. The fact that x ¯ = 1H and j ∈ H implies (i). From the construction of ζ and the definition of HFC, we see that  q∈K

y¯jq =

 q∈∆(j)

which gives (ii). Also, since k ̸∈ C(H), (iii) holds, as

bq · mj < mj , m([j]) 

j ′ ∈N

yjk′ = 0 < bk .

(c-d) Let j ∈ N \ H and k ∈ K. The point π˙ jk is obtained from ζ¯∆−1 by setting xj = 1. It follows that max (k) π˙ jk is feasible. Since j ̸∈ H, π˙ jk also satisfies (22) at equality. The point π ¨jk is derived from π˙ jk by increasing the flow of commodity k on arc j by ε. Letting (¯ x, y¯) be the components of π˙ jk , we see that π ¨jk is feasible  q if (¯ x, y¯) meets requirements (i)–(iii) defined above. By construction, x ¯j = 1 and q∈K y¯j = 0 < mj , which −1 shows (i) and (ii). As in the previous case, using (55) with ℓ = ∆max (k) implies (iii). Since the coefficient of yjk in (22) is zero, it follows that π˙ jk also satisfies (22) at equality. ′

′ (e) Let j ∈ H, k ∈ C(j), and k ′ ∈ ∆(j) be such that j ̸= ∆−1 ˜jk,k modifies max (k) and k ̸= k . The point π ζ¯∆−1 by increasing the flow of commodity k on arc j by ε and simultaneously decreasing the flow of max (k) commodity k ′ on arc j by ε. This perturbation is neutral with respect to the total flow over H, which implies that it satisfies (22) at equality. Letting (¯ x, y¯) be the components of ζ¯∆−1 , we see that this max (k)  k k k′ perturbation is feasible if (iv) x ¯j = 1, (v) j ′ ∈N y¯j ′ < b , and (vi) y¯j > 0.

Since x ¯ = 1H\∆−1 and j ̸= ∆−1 max (k), (iv) holds. As in the previous cases, (v) follows from (55). We max (k) see that (vi) holds, since k ′ ∈ ∆(j) and the point ζ¯∆−1 assigns each j ′ ∈ H \ ∆−1 max (k) a positive amount max (k) of flow for each of its marginal commodities. k (f) Let j, j ′ ∈ H, with j ̸= j ′ , and let k ∈ ∆(j) ∩ C(j ′ ). The point π ˆj,j ′ modifies ζ by decreasing the flow of commodity k on arc j by ε while increasing the flow of commodity k on arc j ′ . Since this perturbation is commodity-neutral with respect to the variables that appear in (22), the corresponding point still satisfies (22) at equality. Let (¯ x, y¯) be the components of ζ. To verify that these perturbations are feasible, we must  show that (vii) x ¯j ′ = 1, (viii) q∈K y¯jq′ < mj ′ , and (ix) y¯jk > 0. Since x ¯ = 1H and j ′ ∈ H, (vii) holds. Next,

119

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

from the definition of ζ, we have  q∈K



y¯jq′ =

q∈∆(j ′ )

b(∆(j ′ )) mj ′ q · b = · mj ′ < mj ′ , m(∆−1 (q)) m([j ′ ])

where the strict inequality follows from the definition of HFC. This shows (viii). Finally, the definition of ζ and the fact that k ∈ ∆(j) shows (ix), as yjk =

mj · bk > 0.  m(∆−1 (k))

Claim 4.1. The coefficients βjk in (35) are equal for all k ∈ C(j) and j ∈ H. Proof. We first show that, for each j ∈ H, the coefficients βjk where k ∈ C(j) are equal to each other. We consider two cases. Case 1 (∆(j) ( C(j)). Since 0 < |∆(j)| < |C(j)|, we have C(j) \ ∆(j) ̸= ∅ and Condition C2 also requires that ∆(j) ̸= ∅. Consider any k0′ ∈ ∆(j) and any k0 ∈ C(j) \ ∆(j). Clearly, j ̸= ∆−1 max (k0 ). We conclude from k ,k′ k′ points ζ¯ −1 and π ˜ 0 0 that β 0 = β k0 . It follows that all coefficients β k , for k ∈ C(j), are equal. ∆max (k0 )

j

j

j

j

Case 2 (∆(j) = C(j)). In this case, it follows from the definition of ∆(j) that C(⇓ j) = ∅, and therefore, ⇓ j = ∅. Suppose first that ⇑ j ̸= ∅. Then we can select an arc j ′ ∈⇑ j. Since, by the definition of HFC, ∆(j ′ ) ̸= ∅ and C(j) ∪ ∆(j ′ ) ⊆ C(j ′ ), we have that ∆(j ′ ) ( C(j ′ ). It follows from the argument of Case 1 that the coefficients βjk′ , for k ∈ C(j ′ ), are all equal. Denote this common value by β¯j ′ . For each k ∈ C(j), k k k ¯ the points ζ and π ˆj,j ′ imply that βj = βj ′ . Therefore, the coefficients βj , for k ∈ C(j), are all equal to each other. Now, assume ⇑ j = ∅. Recall that, by C3, ⟨H, ≼⟩ is connected. This implies that ⟨H, ≼⟩ consists of a single tier, and therefore, C(j ′ ) = C(H) for each j ′ ∈ H. If |C(H)| = 1, then |C(j)| = 1 and the set {βjk | k ∈ C(j)} contains a single element, trivially establishing the result. Suppose |C(H)| > 1. Since ′ ′ |H| > 1, H \ ∆−1 (k) ̸= ∅ and we see that ζ¯ −1 and π ˜ k,k imply that β k′ = β k′ for j ′ ∈ H \ ∆−1 (k) ′ max

∆max (k)

j

j

max

j

k and for distinct k, k ′ ∈ C(j ′ ) = ∆(j ′ ). Also, for k ∈ C(j) and j ′ ∈ H \ ∆−1 ˆ∆ −1 max (k), ζ and π k β∆ −1

max (k)

= βjk′ . It follows that the coefficients βjk , for k ∈ C(j), are all equal.

max

(k),j ′

imply that

At this point, we have shown that for any j ∈ H, the coefficients βjk , for k ∈ C(j), equal a single value β¯j . Now, select any two distinct arcs ℓ, ℓ′ ∈ H. Since ⟨H, ≼⟩ is connected, there is a sequence of arcs {ℓi }pi=1 ⊆ H, where 1 ≤ p ≤ |N |, such that ℓ = ℓ1 ⊥ ℓ2 ⊥ · · · ⊥ ℓp = ℓ′ . Consider any two consecutive arcs ℓi and ℓi+1 in the sequence. Since ℓi ⊥ ℓi+1 , it must hold that C(ℓi ) ⊆ C(ℓi+1 ) or C(ℓi ) ) C(ℓi+1 ). Suppose C(ℓi ) ⊆ C(ℓi+1 ), and therefore, ∆(ℓi ) ⊆ C(ℓi+1 ). Taking a commodity k ∈ ∆(ℓi ), the points ζ and π ˆℓki ,ℓi+1 imply that βℓki = βℓki+1 . This, in turn, implies that β¯ℓi = β¯ℓi+1 . Alternatively, if C(ℓi ) ) C(ℓi+1 ), we take k ∈ ∆(ℓi+1 ) and use the points ζ and π ˆℓki+1 ,ℓi to obtain the same result. We conclude that β¯ℓ = β¯ℓ1 = · · · = β¯ℓp = β¯ℓ′ . Therefore, the coefficients βjk in (35) are equal.



120

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

Appendix B. Computational results

Instance

|V |

|A|

|K|

Algorithm

B&B Nodes

LM1

15

124

12

BB AFC HFC

Out of Memory 35,683,497 50 35,497,417 50

LM2

LM3

LM4

LM5

LM6

LM7

LM8

LM9

LM10

ML1

ML2

15

15

15

15

15

15

15

15

15

15

15

82

104

105

54

122

99

94

112

118

45

47

11

12

12

18

10

11

10

11

12

16

18

STC

MTC

Time

0

10807.00 10807.30

0

133.06 69.60 27.42

BB AFC HFC

850,198 161,457 119,079

BB AFC HFC

47,491,586 14,792,470 5,740,471

50 43

7

10806.80 4496.19 1773.77

BB AFC HFC

Out of Memory 33,919,085 50 22,741,099 50

0

10806.70 6908.67

1

1241.83 77.59 38.87

0

10807.20 3220.22 2254.52

0

961.39 104.00 94.67

0

2599.66 100.29 75.55

9

8123.30 1919.61 1602.18

8

10807.20 1704.18 696.25

0

0.36 0.47 0.52

0

0.84 1.00 0.66

46 50

BB AFC HFC

7,012,430 325,177 155,056

BB AFC HFC

45,806,604 11,207,194 8,486,065

50 50

BB AFC HFC

5,114,697 383,886 388,306

50 50

BB AFC HFC

14,505,178 433,983 334,744

50 50

BB AFC HFC

38,103,545 6,945,917 5,943,382

BB AFC HFC

41,855,758 6,186,028 2,054,181

BB AFC HFC

1,582 1,051 1,026

7 8

BB AFC HFC

3,272 2,131 1,269

5 16

50 49

50 41 50 42

121

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

Instance

|V |

ML3

15

ML4

ML5

ML6

ML7

ML8

ML9

ML10

MM1

MM2

MM3

MM4

MM5

15

15

15

15

15

15

15

15

15

15

15

15

|A| 52

52

54

47

47

49

52

44

59

41

54

50

47

|K|

Algorithm

14

BB AFC HFC

170,180 56,306 30,373

BB AFC HFC

5,125 1,582 1,288

20 37

BB AFC HFC

824,623 352,532 224,058

28 50

BB AFC HFC

688 587 316

BB AFC HFC

13,184 6,953 4,831

16 50

BB AFC HFC

21,458 18,601 8,744

23 41

BB AFC HFC

1,521,978 366,755 152,825

BB AFC HFC

26,875 16,532 8,367

17 26

BB AFC HFC

28,989 3,405 1,366

20 27

BB AFC HFC

690 228 172

BB AFC HFC

45,344 8,226 8,073

25 23

BB AFC HFC

4,779 3,942 3,914

18 19

BB AFC HFC

11,233 3,935 3,252

14

18

17

15

17

18

14

10

11

12

12

8

B&B Nodes

STC

50 50

11 12

50 46

8 9

17 23

MTC

Time

0

26.12 10.84 11.00

13

0.96 0.74 0.74

0

149.99 174.86 61.87

0

0.17 0.29 0.18

0

2.38 2.77 1.39

9

4.69 8.98 2.81

4

268.05 82.05 37.17

0

4.26 5.72 3.10

0

3.85 1.12 0.52

1

0.11 0.09 0.07

0

5.85 2.85 2.70

0

0.76 1.30 1.35

0

1.37 1.06 0.87

(continued on next page)

122

D.L. Burchett, J.-P.P. Richard / Discrete Optimization 17 (2015) 89–122

Instance

|V |

MM6

15

MM7

MM8

MM9

MM10

15

15

15

15

|A| 57

54

55

41

51

|K|

Algorithm

10

BB AFC HFC

509,651 100,031 34,778

50 46

BB AFC HFC

1,538 447 426

14 18

BB AFC HFC

527,196 160,619 130,372

25 50

BB AFC HFC

5,309 2,361 1,593

13 46

BB AFC HFC

10,406 7,151 7,729

15 18

8

10

11

9

B&B Nodes

STC

MTC

Time

0

65.01 15.96 11.53

0

0.24 0.15 0.14

0

68.50 47.38 24.18

4

0.72 0.67 0.31

0

1.42 1.98 2.11

References [1] G.L. Nemhauser, L.A. Wolsey, Integer and Combinatorial Optimization, Wiley, 1999. [2] M.W. Padberg, T.J. van Roy, L.A. Wolsey, Valid linear inequalities for fixed charge problems, Oper. Res. 33 (1985) 842–861. [3] L.A. Wolsey, Submodularity and valid linear inequalities for fixed charge problems, Oper. Res. Lett. 8 (1989) 119–124. [4] Z. Gu, G.L. Nemhauser, M. Savelsbergh, Lifted flow cover inequalities for mixed 0–1 integer programs, Math. Program. 84 (1999) 439–467. [5] D. Klabjan, G.L. Nemhauser, A polyhedral study of integer variable upper bounds, Math. Oper. Res. 27 (4) (2002) 711–739. [6] S. Shebalov, D. Klabjan, Sequence independent lifting for mixed integer programs with variable upper bounds, Math. Program. 105 (2006) 523–561. [7] A. Atamt¨ urk, G.L. Nemhauser, M. Savelsbergh, Valid inequalities for problems with additive variable upper bounds, Math. Program. 91 (2001) 145–162. [8] D. Bienstock, S. Chopra, O. G¨ unl¨ uk, C. Tsai, Minimum cost capacity installation for multicommodity network flows, Math. Program. 81 (1998) 177–199. [9] O. G¨ unl¨ uk, A branch-and-cut algorithm for capacitated network design problems, Math. Program. 86 (1) (1999) 17–39. [10] A. Atamt¨ urk, On capacitated network design cut-set polyhedra, Math. Program. 92 (3) (2001) 425–437. [11] C. Raack, A. Koster, S. Orlowski, R. Wess¨ aly, On cut-based inequalities for capacitated network design polyhedra, Networks 57 (2) (2011) 141–156. [12] T.G. Crainic, A. Frangioni, B. Gendron, Bundle-based relaxation methods for multicommodity capacitated fixed charge network design, Discrete Appl. Math. 112 (1) (2001) 73–99. [13] T. Christof, A. L¨ obel, M. Stoer, Porta-polyhedron representation transformation algorithm, 1997. http://www.zib.de/Optimization/Software/Porta. [14] T. Achterberg, C. Raack, The MCF-separator: detecting and exploiting multicommodity flow structures in mips, Math. Program. Comput. 2 (2010) 125–165. [15] W.T. Trotter, Combinatorics and Partially Ordered Sets: Dimension Theory, The Johns Hopkins University Press, 1992. [16] D. Topkis, Supermodularity and Complementarity, Princeton University Press, 1998. [17] H. Marchand, L.A. Wolsey, The 0–1 knapsack problem with a single continuous variabe, Math. Program. 85 (1999) 15–33. [18] J.-P.P. Richard, I.R. de Farias Jr, G.L. Nemhauser, Lifted inequalities for 0–1 mixed integer programming: Basic theory and algorithms, Math. Program. 98 (1-3) (2003) 89–113. [19] D.L. Burchett, J.-P.P. Richard, MFCND instances, 2014. http://plaza.ufl.edu/deonlb/mfcnd.