• Keine Ergebnisse gefunden

Although flow formulations usually provide rather tight LP bounds, the huge number of flow variables often leads to a slow and memory-intensive solving process, which can be clearly seen in the experimental results in Section 4.11. Thus, it is common practice for tree problems to consider a formulation only defined on arc variables but in general with an exponential number of inequalities guaranteeing connectivity. For tree problems without further constraints, e.g. the Steiner tree problem, the equivalence of a multi-commodity flow and a directed connection cut formulation can be shown by applying the max-flow-min-cut theorem [5]. In case of the RDCST problem it is not obvious how to model the delay-constraints only with arc variables. Here, we use a rather general approach by forbidding all simple paths with a delay higher than boundB. LetP(v1, vk) = {(vi, vi+1) :vi ∈V, i = 1, ..., k−1, vi 6=vj, i6=j}denote a simple path consisting of kdifferent nodes andk−1 arcs. A pathP is called infeasible for the RDCST problem if it cannot occur in any feasible solution, i.e. a solution includingPviolates the delay-bound. LetPinf denote the set of all infeasible paths P. Much work on infeasible paths has been published for the traveling salesman problem (TSP) with time windows, cf. [7, 8, 37], and the vehicle routing problem (VRP) with time windows, cf. [96]. However, to the best of the author’s knowledge this topic has not yet been discussed for MIP approaches on constrained tree problems.

Similarly to modelMCF, we use binary decision variablesxuv, ∀(u, v)∈A. ModelPC is

then defined as follows:

min X

(u,v)∈A

cuvxuv (4.26)

s.t. X

(u,v)∈A, u∈W, v /∈W

xuv≥1 ∀W ⊂V, s∈W, W ∩R6=∅ (4.27)

k−1

X

i=1

xvivi+1 ≤k−2 ∀P(v1, vk)∈ Pinf (4.28) xuv∈ {0,1} ∀(u, v)∈A (4.29) Inequalities (4.27) guarantee connectivity by stating that at least one arc has to cross any cut partitioning node setV into a setWcontaining the source and a setW =V\W including at least one terminal node. Inequalities (4.28) assure in a rather abstract way that the delay-constraints are satisfied. Both sets have in general an exponential number of inequalities. Thus, we add them in the typical branch-and-cut way, see Section 4.7.2 for according separation methods. PCLP denotes the LP relaxation ofPC.

To provide a “hot-start” of the branch-and-cut algorithm, we a priori add some inequalities which are indeed included in the sets above. Inequality (4.27) withW ={s}ensures at least one arc going out from the root, and a subset of the subtour elimination inequalities [124] (equivalent to inequalities (4.27)) with two-node-sets prevents cycles of length two:

X

(s,v)∈A

xsv≥1 (4.30)

xuv+xvu≤1 ∀{u, v} ∈E (4.31)

Furthermore, inequalities (4.32) guarantee exactly one incoming arc for each terminal node.

Provided that the objective function only has non-negative cost coefficients – as it is in our case – these in-degree constraints are also subsets of inequalities (4.27).

X

(u,v)∈A

xuv= 1 ∀v∈R (4.32)

4.7.1 Valid Inequalities

Ascheuer et al. [7, 8] and Kallehauge et al. [96] argue that the general infeasible path inequali-ties (4.28) can be rather weak for the TSP with time windows and the VRP with time windows, respectively, and therefore propose various lifted variants of them, e.g. the so-calledtournament inequalities. However, their stronger inequalities heavily rely on the fact that in these routing problems each node has exactly one incoming and one outgoing arc in a feasible solution. For the RDCST problem we can only assume that the indegree of a node is at most one. Neverthe-less, we provide one set of lifted infeasible path inequalities: Let VPi = {u ∈ V : (u, vi) ∈ A, u6=vi−1, vi+1, (u, vi)∪P(vi, vk)∈ Pinf}, ∀i∈ {2, ..., k−1}, be the sets of nodes which

u1

Figure 4.1: (a) Illustration of lifted infeasible path inequalities. We assume that all paths starting in nodesv1, ui, i= 1, ...,5, and ending invkare infeasible (without considering the additional reverse arcs). (b) The solution withda= 1, ∀a∈A, andB = 2is feasible forPCLP(arc labels denote variable values of the LP solution), but violates inequalities (4.33), e.g. for infeasible path P ={(s,1),(1,3),(3,4)}sincexs1+x13+x34+x23 = 2.5 >|P| −1 = 2. Squared nodes denote terminal nodes.

form together with a sub-path ofP again infeasible paths. The lifted inequalities are defined as follows:

Figure 4.1a shows an illustration of inequalities (4.33). Note, that the first sum and the right side of inequalities (4.33) are identical to inequalities (4.28). Thus, by including additional arc variables on the left side the constraints get tighter, see Fig. 4.1b for an example. It can be easily seen that due to the paths’ infeasibility and the limited node’s indegree we can choose at most k−2 arcs at the same time for a feasible solution. Note that these liftings are also applicable to many other tree problems since they only require the representation of the solution as arborescence and a maximal node indegree of one.

A subset of inequalities (4.33) considering infeasible paths of length two can optionally be added a priori to modelPC:

X

u∈VP1

xuv1 +xv1v2 +xv2v1 ≤1 ∀(v1, v2)∈A (4.34)

Obviously, inequalities (4.34) include inequalities (4.31).

4.7.2 Separation Methods

Here, we discuss details about used separation methods for inequalities (4.27), (4.28) and (4.33).

In our implementation directed connection cuts (4.27) are separated first until no violated in-equality can be found anymore. Then, we search for violated infeasible path inequalities (4.28) and (4.33), respectively. All found violated inequalities are stored in a simple archive based on hashes [31] making it possible to detect and discard duplicates.

Directed Connection Cuts

The separation problem for inequalities (4.27) basically reduces to finding the minimum cut in a flow network. Due to the equivalence of maximum flow and minimum cut [5] we determine the minimum cut by computing a maximum flow. First, we construct a flow networkGx = (V, A) with arc capacitiesςuvdepending on the current LP solutionxLP, i.e.ςuv=xuv, ∀(u, v) ∈A.

Then, we obtain the maximum flow from rootsto a terminal noder ∈ Rby applying a push-relabel method by Cherkassky and Goldberg [25] based on FIFO queues which runs inO(|V|3) time. If the capacity of the according minimum cut with cut-setW, s ∈ W, r /∈ W, is less than one, i.e.P

(u,v)∈A, u∈W, v /∈Wςuv <1, then we have found a violated inequality (4.27) with setW. This directly follows from the definition of the arc capacities above. If we repeat this for all terminal nodesr ∈ R, we obtain an exact separation algorithm for directed connection cuts (4.27) running in polynomial time.

Usually and also here this standard method is improved by several extensions, cf. [5,26,100, 119]:

• Source- and back-cuts: In general there can be more than one minimum cut separating rootsand a terminalr ∈R. However, there is exactly one minimum cut “nearest” to the source, i.e. minimizing the cardinality of cut-setW, and there is exactly one minimum cut

“nearest” to terminalr, i.e. minimizing the cardinality of cut-setW. In case of multiple violating minimum cuts both the so-calledsource-cutandback-cutare added to the model.

• Nested cuts: In many cases it is beneficial to add as many violated inequalities as possible within one separation iteration. Thus, by setting the arc capacities of a found violating minimum cut to one and repeating the maximum flow computation to the same terminal node, we possibly obtain another minimum cut with capacity less than one.

• Minimum cardinality cuts: Due to the structure of inequalities (4.27) it can be beneficial to provide cuts consisting of a small number of arc variables. Therefore, by adding the same value > 0 to all arc capacities we finally obtain the minimum cut with the least number of cut arcs.

• Random terminal sequence: If using nested cuts it may be disadvantageous if the terminal nodes are always examined in the same order. Due to the capacity modification the detec-tion of violated inequalities with respect to later considered terminals may be prevented leading to a possibly unbalanced cut generation. Thus, at the beginning of a separation iteration we derive a random permutation of the set of terminal nodesRdefining the ex-amination order. (To preserve determinism of our branch-and-cut algorithm we initialize the seed value of the random generator always with the same value 0.)

Infeasible Path Cuts

Ascheuer et al. [7] show that the problem of deciding whether a given path is infeasible isN P -complete for the TSP with time windows. However, the situation is different for the RDCST problem:

Theorem 4.7.1. LetP(v1, vk)⊆Abe a simple path from nodev1tovkinG0. WhetherP ∈ Pinf or not can be decided in polynomial time.

Proof. IfP(v1, vk)is a feasible path, i.e. is part of some feasible solutionT, then all incoming arcs for nodesvi, i = 2, ..., k, are fixed to the corresponding arcs inP. Since each node of a feasible tree can only have at most one incoming arc all other arcs to nodesvi, i= 2, ..., k, cannot be in T. Thus, we eliminate all these arcs and obtain a graph G00 = (V, A00) with A00 =A\ {(u, vi) :u 6=vi−1, i= 2, ..., k}. Now we apply the simple instance feasibility test by computing the shortest-delay-paths to all terminal nodes which can be done in polynomial time by Dijkstra’s algorithm [41]. Ifdminv ≤B, ∀v∈R, inG00then we obtain a feasible solution and thusPis feasible. Otherwise, if not even the shortest-delay-paths provide a feasible solution, P ∈ Pinf.

Although the proof of Theorem 4.7.1 provides an exact method, for efficiency reasons we use a heuristic decision method similar to the one proposed in [8, 37]. For a pathP(v1, vk)we check if condition

dminv1 +

k−1

X

i=1

dvivi+1 ≤dmaxvk (4.35)

holds. For definitions ofdminv anddmaxv see Section 4.3. In case of violation of (4.35), we clearly found a sufficient condition for the infeasibility of pathP. Otherwise, we assume pathP to be feasible. Thus, our separation method is only able to find a subsetPinf0 ⊆ Pinf of all infeasible paths. However, if the current LP solution is integer, then our separation method is exact, i.e.

Pinf0 =Pinf, cf. [8, 37].

We build a support graph based on the current LP solution and enumerate all paths by back-tracking from each node. Ascheuer et al. [8] argue – without a written proof – that there can only be a polynomial number of paths violating the tournament constraints in LP solutions for the TSP with time windows due to the node-degree limitations. Thus, by using some simple stopping criteria for backtracking they obtain a polynomial separation algorithm (with heuristic path infeasibility test). In case of the RDCST problem the question is still open if there can only be a polynomial number of paths violating inequalities (4.28). However, in our experimental results we always observed rather small numbers of backtracking steps within one separation.

Further details about this enumeration procedure can also be found in [37]. When searching for violated lifted inequalities (4.33) the according strengthening arcs are considered in the enumer-ation algorithm to guarantee that all violenumer-ations are found (w.r.t. setPinf0 ).