• Keine Ergebnisse gefunden

Solving the Pricing Subproblems

The subproblems Rb,∀b ∈ C, required by the models presented in this chapter are Weight Constrained Shortest Path Problems (WCSPPs). The WCSPP is in general NP-hard but fast pseudo-polynomial exact solution algorithms are available. For the implementation in our mod-els we use the algorithm presented by Gouveia et al. [20]. Algorithm 4.1 shows the correspond-ing pseudo code uscorrespond-ing delays as weights. The algorithm is based on dynamic programmcorrespond-ing

using states (i,h) fori ∈V andh∈ {0, . . . , dmax}. The valuesf(j, h)correspond to the costs of the cheapest path from sourcesto vertexjwith a delay of at mosth and can be computed recursively as follows:

f(j, h) = min

{j,i}∈E:d{j,i}≤h f(j, h−w{j,i}) +w{j,i}

For the source we definef(s, h) = 0,∀h ∈ {0, . . . , dmax}. Furthermore, M inCostlabels are used to keep track of the minimum cost found so far, to avoid dealing with already dominated connections. The algorithm runs in timeO(|E| ·dmax). However, by using the fact that the edge costs are non negative and thatf(j, h)≥f(j, h0)forh0 > hthe algorithm achieves better run-times in practice. In addition, Gouveia et al. note that the algorithm can be further improved by using a good upper bound on the cost of the shortest path from the given source to the target.

The MILP models presented in this chapter rely on pricing subproblems that only have negative reduced costs if the cost of the cheapest path is smaller than the sum of theµvalue(s). Hence, we can use this sum as upper bound.

Note that we do not use the communication graph for pricing. Instead we use the original graph. The reason for this is the fact that we require information on the original augmenting edges used in the path to state the respective linking constraints.

Furthermore, note that the pairs{i, j} ∈ C are undirected. As already mentioned in the beginning of this chapter there exists for every path a symmetric one in the opposite direction in the original undirected graph. As a consequence, it is sufficient to solve the problem in either of the directions, w.l.o.g. we consider the weight constrained shortest path fromitojfori < j.

Input:G= (V, E,), edge costswe, edge delaysde Input: Sources, targett

1 S0={s};

2 forall theh∈ {1, . . . , dmax}do

3 Sh=∅;

4 end

5 M inCost(s) = 0;

6 forall theh∈ {0, . . . , dmax}do

7 f(s, h) = 0;

8 end

9 forall thei∈V \ {s}do

10 M inCost(i) =∞;

11 forall theh∈ {0, . . . , dmax}do

12 f(i, h) =∞;

13 end

14 end

15 forall theh∈ {0, . . . , dmax−1}do

16 forall thej ∈Shwithf(j, h)≤M inCost(t)do

17 M inCost(j) = min(M inCost(j), f(j, h));

18 end

19 forall thej ∈Shwithf(j, h)≤M inCost(t)do

20 for{j, i} ∈Ewithd{j,i}+h≤dmaxand

f(j, h) +w{j,i}<min(M inCost(i), M inCost(t), f(i, h+d{j,i}))do

21 ifi /∈Sh+d{j,i}then

22 Sh+d{j,i} =Sd{j,i}+h∪ {i};

23 end

24 f(i, h+d{j,i}) =f(j, h) +w{j,i};

25 ifi=tthen

26 M inCost(t) =f(i, h+d{j,i});

27 end

28 end

29 end

30 end

Algorithm 4.1:Weight Constraint Shortest Path Problem

CHAPTER 5

Acyclic Problem Variant

As shown before (cf. Chapter 2), optimal solutions to the NDPR may contain cycles. For prac-tical applications, however, it might be required to enforce acyclic solutions.

5.1 Solution Properties

In terms of the RPP the relevance of acyclic solutions has already been considered by Sen et al.

[36]. They distinguish between three types of connections between the commodities. For the acyclic case only simple paths between a pair of vertices are allowed, and for the cyclic case all feasible connections (including cycles) are possible. In addition, they consider a third case for which only connections that traverse an edge twice in the same direction are prohibited, i.e., path(a, b, c, b, d, e)is allowed but(a, b, c, d, b, c, e)is not since edge(b, c)is used twice in the same direction. According to Theorem 2.1.3 this case is irrelevant for the NDPR.

As a consequence of this result we want to consider acyclic solutions by enforcing that every pair(i, j)∈ Khas to be connected by a feasible path that is also simple.

In Chapter 2 we presented an instance with a cyclic solution. If we enforce an acyclic solution we get a different result as shown in Figure 5.1. By enforcing this additional property we reduce the amount of possible solutions. As a result this might prevent the former optimal solution and increase the costs significantly.

Observe that enforcing simple paths as connections for the commodities does not mean that the overall solution is acyclic. Figure 5.2 shows an instance with three commodities that are connected with simple paths. When considering the union of the individual paths we get a cycle, which has to be considered when stating MILP models. Note that this is only relevant if we consider more than one source:

Corollary 5.1.1. In an optimal acyclic solution there exists for every sourceu∈ KS a directed graph rooted atuhaving a feasible connection to every targetv∈K(u)visiting each vertex at most once.

0(5) 1(5) 2(1)

2(3)

3(5)

1(3)

3(3)

K ={(0,3)},dmax = 4

0 1

2

3 0 1

2

3

cost= 10 cost= 14

(Cyclic Solution) (Acyclic Solution)

Figure 5.1:Different Solutions

Proof. By the definition of an acyclic solution there has to be for every(u, v) ∈ Ka simple feasible path fromu tov. In Theorem 2.1.2 we have shown how to merge paths with a com-mon source into a single graph without increasing the in-degree of any vertex while preserving feasibility and optimality. If we consider only simple paths we know that each vertex has an in-degree of at most one in the resulting graph.

Note that Figure 5.2 depicts the only optimal solution forK = {(0,2),(2,3),(3,4)}and dmax = 6. The numbers next to the edges denote their delay and the numbers in parentheses their costs. The numbers next to the vertices are the relay costs. This instance shows that a similar condition as stated in Corollary 5.1.1 cannot be proposed when considering more than one source at the same time.

In this chapter we are going to present adaptations of some of our models that only allow simple paths for the connection of the commodities. Note that at this point we focus on the nec-essary adjustments. For detailed explanations of the underlying models please refer to Chapter 3 (models on layered graphs) and 4 (models on communication graphs).

0(1) 1(1)

3(1) 2(1)

2 2

4(1)

4(2) 4(2)

4(2)

K={(0,2),(2,3),(3,4)},dmax = 6

0 1

3 2

4 0 1

3 2

4

Simple path connecting(0,2)∈ K Simple path connecting(3,4)∈ K

0 1

3 2

4 0 1

3 2

4

Simple path connecting(2,3)∈ K Union of simple paths

connecting the individual commodities Figure 5.2:Exemplary Instance