• Keine Ergebnisse gefunden

Pruning by Integer Linear Programming

9.3 The SDP for One Component

9.3.3 Pruning by Integer Linear Programming

Until now, we could only solve the problem of computing PNds,t approximately. This is not surprising, since for every node inVc, we basically need to solve a 2-disjoint paths problem, which isN P-complete [57].

Definition 9.3.1(The 2-Disjoint Paths Problem). Given a directed graphG= (V, A)and two pairs(s1, t1),(s2, t2)of pairwise different vertices ofG. Find two vertex-disjoint directed paths P1andP2inG, whereP1goes froms1tot1andP2froms2tot2.

If we want to test whetherk∈PNds,t, we need to splitkinto two copiesk0andk00. All incoming arcs of kgo tok0, all outgoing arcs leave from k00. Then we set G = Gc, s1 = s, t1 = k0, s2 =k00andt2 =tto get a 2-disjoint paths problem. To reduce the 2-disjoint paths problem to

the problem of determining whetherk∈PNds,t, we just need to do this transformation in reverse.

We include an additional nodekinGand add an arc fromt1 tokand fromktos2. By finding a simple path from s1 tot2 crossingk withinG, we solve the 2-disjoint paths problem. As a side-note, the special case of planar graphs is in P [153], but we do not restrict ourselves to planar extended component graphs. So if we want to calculate PNds,texactly, we need to solve an N P-complete problem for every node in Vc (and we have not even considered the delay constraint yet). One possibility to do this is using Integer Linear Programming (ILP) to solve the following problem:

Definition 9.3.2(The Node Testing Problem). Given a directed graphG(V, A)with arc delays de, ∀e∈ A, three nodess,t, andkfromGand a delay limitd. Find apds,t ∈ Ps,td , such that k∈pds,t.

We now present two different ILP models based on network flows for solving the node testing problem.

The first model, denoted by (TWOFLOW), is based on the idea of finding a simple path froms tok, and a simple path fromktot, while forbidding that they share a node and enforcing that they do not exceedd. It utilizes decision variablesy1e ∈ {0,1}, ∀e∈ Ato indicate if an arc is used for the first path (tok) and decision variablesy2e ∈ {0,1}, ∀e∈Ato indicate if an arc is used for the second path (tot).

(TWOFLOW) X Equalities (9.1) and (9.2) ensure flow conservation, so that the result is one connected path, inequalities (9.3) and (9.4) limit the incoming and outgoing flow at every node, so that the result is a simple path and that the two flows cannot share an arc. Inequality (9.5) is the delay constraint. The integrality constraints (9.6) and (9.7) ensure the integrality of the final solution.

Note that this model allows disconnected flow circulations. As a result, for reconstructing the

solution to the model, we need to follow the flow values fromsoverktotto see which arcs (and nodes) are actually used for the path. After we have introduced the second model, we will discuss why we need to know the actual path and why we accept the overhead of having to reconstruct it instead of ensuring that no superfluous flow can be contained in the result. The presented model does not contain an objective function, since node testing is a satisfiability problem. (TWOFLOW) can be transformed to correspond to the definition of an ILP model as presented in Section 2.2.12 by adding the minimization of a constant as objective. This also holds for the following models for satisfiability problems.

The second model, denoted by (FLOWINFLOW) is based on the idea of finding a simple path fromstotwhich is limited bydand contains a path fromstok. It utilizes decision variables y1e ∈ {0,1}, ∀e∈Ato indicate if an arc is used for the path fromstotand decision variables Equalities (9.8) and (9.9) ensure flow conservation. The linking constraints (9.10) state that the flow fromstokhas to be contained in the flow fromstot. Inequalities (9.11) and (9.12) force the path fromstotto be simple, (9.13) realizes the delay constraint. The integrality of the so-lution is enforced with (9.14) and (9.15). As with the previous model, (FLOWINFLOW) allows disconnected flow circulations, so the actual path fromstotoverkhas to be reconstructed after the model has been solved.

Why do we allow disconnected flow circulations? After all, it would be easy to add an objec-tive to both models, stating for instance that the number of selected arcs should be minimized.

However, keep in mind that we are not only interested in the solution of the model with one par-ticulark, we need to check allk∈Vc, which would be very time-consuming if done in the naive way. Luckily, when we solve the model for one particulark, we can extract the path fromstot

that has been found. This path proves not only that there exists a simple path fromstotusing k within the delay limit, it proves this for all nodes on the path, and those nodes do not have to be checked via the ILP models. So we actually want to get long paths as a result, because they reduce the need for further ILP solver invocations. By adding constraints to remove the disconnected flow circulations, we shorten the resulting path which causes more work later on.

We could go towards the other extreme and add an objective to maximize the number of selected arcs and remove the circulations by using directed connection cuts, but then we get the overhead of actually having to find a longest path and proving its optimality, which again increases the run-time requirements.

This touches on another requirement for ILP models for solving the node testing problem: rapid reconfigurability. The structure of the ILP model (number of constraints, involved variables) is constant for one particular extended component graph. The only changing components are the coefficients on the right-hand side of the (in)equalities for different values of s, t, k and d. So it is much more efficient to change the coefficients of the model to match new values ofs, t, k, and dthan to rebuild the whole model. A consequence of this is that models that require cuts for correctness, like the variant previously mentioned that maximizes path length, are highly undesirable, because every cut that has to be separated represents work that has to be thrown away when the model is reconfigured. Section 10.5 will offer some results on this reconfiguration aspect.

As a result of these considerations, we rejected two other modeling possibilities that we know of for the node testing problem. One model is based on the idea of having two units of flow which leaves, atkone unit is removed and attthe second one. This model has the advantage of only needing one flow variable per arc. However, it can happen that we get solutions where one unit of flow goes fromstokand then loops back tokagain (so we have two units of flow entering k and one leaving) and one unit of flow directly from sto t. We would need cuts to ensure feasibility and as already explained, this is undesirable in our situation. Due to this reason, we also rejected another modeling idea: require a flow fromstotand use directed connection cuts to ensure that this flow crossesk.