• Keine Ergebnisse gefunden

The Lagrangian dual problem is the challenge of finding an optimal vector of La-grange multipliers λ so that the lower bound obtained by (LR(λ)) becomes as large as possible. As this maximization problem is convex and piecewise linear, sub-gradient algorithms are well suited for this purpose [18]. While different variants of such methods exist, the volume algorithm [13] has proven to be more effective than several alternatives on various occasions [11, 86], and we therefore apply it here.

Also, our preliminary comparisons indicate the superiority of this algorithm over the standard subgradient strategy as described in [18], see also Section 2.1.7.

3.8.1 Theoretical Comparison to the MCF Formulation

For each concrete instantiation of λ, all subproblems obtained by the Lagrangian decomposition are always solved to optimality and integrality. Therefore, fk ∈ conv(Fk) holds for all k ∈ C, and the abstract constraints (3.96) of our model (3.94)–(3.98) can be regarded as “ideally instantiated”. Assuming we would be able to identify an optimal Lagrange vectorλ, the lower bound obtained by (LR(λ)) is at least as good as the lower bound determined by an LP relaxation of the model.

As already argued before, the MCF formulation from [178] is weaker than an “ideal”

instantiation of the abstract model, compare also Figure 3.11. We therefore conclude that (LR(λ)) is stronger than the LP relaxation of the MCF formulation.

3.9 Neighborhood Structures for Improving Primal Solutions

Our algorithms make use of three types of neighborhood structures. While the first two aim to reduce the cost of a given solution, the last type consisting of two concrete neighborhood structures tries to improve a solution by removing customers from a candidate solution. Therefore, the latter is only applicable to the SST variant.

For our neighborhood structures, next to its node set V0 ⊆ V and its edge set E0 ⊆ E, each candidate solution G0 = (V0, E0) is further represented by its set of feasibly connected customersC0 ⊆C and the corresponding individual connections X0 ={Ek0 | k ∈ C0}, where Ek0 denotes the set of edges used to connect customer k. Note that there may exist multiple connections to a single customer node in a solutionG0 in which case we store only one of them.

Furthermore, for each connectionEk0 we maintain its internal structure consisting of its branch nodeB(E0k)∈V0, edge setsP(Ek0), Q(Ek0)⊆E0 of its two paths between r and B(E0k) and finally the edge set of its branch line L(Ek0) ⊆E0. Note that we

Chapter 3 The bmax-Survivable Network Design Problem

Figure 3.15: An exemplary candidate solution and the representation of its connec-tions.

assumeB(Ek0) =kifbmax(k) = 0 ork∈C1 as well as defineP(Ek0) to be the “first”

path of a connection, i.e. P(Ek0) is used for type-1 customers whileQ(Ek0) =L(Ek0) =

∅ for type-1 customers, see Figure 3.15. Finally, to allow for efficient updates of a solution with respect to connections, we maintain for each edge e∈E0 a list of the customers that are connected via this edge: Me={k∈C0|e∈Ek0}.

3.9.1 Connection Exchange Neighborhood

The Connection Exchange Neighborhood (CEN) consists of all solutions differing from the current solution G0 by exactly one connection Ek0, see Algorithm 3.2. To determine the best neighboring solution for a fixed customerk∈C0, CEN calculates the saving due to removing the corresponding connectionEk0 (which is the sum of all edge costs exclusively used to connectk). The connection tok leading to minimum additional costs is then determined by calculating the cheapest feasible connection to k in a graph with edge costsc0e = 0, ∀e∈E00 =E0\ {e∈Ek0 |Me ={k}} and c0e=ce, ∀e∈E\E00, see Figure 3.16 for an exemplary move.

For type-1 customer nodes as well as type-2 customer nodes with bmax(k) = 0, the computational complexity of finding this new connection for one specific client node kis bounded byO(|E|+|V|log|V|), whereas the worst case complexity for a single type-2 customerkwithbmax(k)>0 isO(bmax(k)|E(k)|+|E|+|V|log|V|), see

3.9 Neighborhood Structures for Improving Primal Solutions

Algorithm 3.2: Connection Exchange (SolutionG0) c0e= 0, ∀e∈E0

c0e=ce,∀e∈E\E0 dopt = 0

forall the k∈C0 do

E00={e∈Ek0 |Me={k}}

c0e=ce,∀e∈E00 d=P

eE00ce

Ek00 = shortest connection tok using edge costsc0 d=P

eE00ce−P

eEk00c0e if d > dopt then

dopt=d

store solutionG0 withEk00 replacingEk0 as best solution c0e= 0, ∀e∈E00

return best solution

kC2

kC2

Figure 3.16: An exemplary connection exchange for customer k∈C2.

Chapter 3 The bmax-Survivable Network Design Problem

Section 3.4. Thus, the overall complexity of completely searching CEN is bounded by O(|C|(maxkC{bmax(k)|E(k)|}+|E|+|V|log|V|)).

3.9.2 Key-Path Exchange Neighborhood

A key-node of a solution G0 is a node v ∈V0\C0 with node degree degG0(v) ≥ 3, while a key-path is a path KP = (VP, EP) whose end nodes are either key-nodes, connected customer nodes k ∈ C0, or the root node r, while all other nodes are Steiner nodes v ∈V0\(C0∪ {r}) of degree two, i.e. degG0(v) = 2. This concept of key-paths is well known for the STP and several metaheuristic methods utilizing a key-path exchange neighborhood have been proposed, see e.g. [137]. TheKey-Path Exchange Neighborhood (KPEN) given in Algorithm 3.3 extends this concept by exchanging key-paths while respecting node- as well as bmax-redundancy, see also Figure 3.17 for a visualization of an exemplary path exchange.

Algorithm 3.3:Key-Path Exchange (Solution G0) determine key-paths W

dopt = 0

forall the key-paths (VP, EP)∈W do

// actual key-path connects its end nodes m, n c0e= 0 ∀e∈E0\EP

c0e=ce ∀e∈EP∪(E\E0) choose e∈EP randomly lmax=∞

forall thek∈Me0 do if e∈P(Ek0)then

c0e=∞,∀e∈E incident to a inner node of Q(Ek0) else if e∈Q(Ek0) then

c0e=∞,∀e∈E incident to a inner node of P(Ek0) else if e∈L(Ek0) then

lmax=bmax(k)−P

e(L(E0k)\EP)le

(VP0, EP0 ) = shortest path from mton usingc0e with max. lengthlmax d=P

eEPce−P

eEP0 c0e if d > dopt then

dopt =d

store solutionG0 with (VP, EP) replacing (VP, EP) as best solution return best solution

3.9 Neighborhood Structures for Improving Primal Solutions

kC2 kC2

Figure 3.17: An exemplary key-path exchange between r and k.

KPEN of a candidate solution G0 consists of all feasible solutions that differ from G0 by at most one key-path. To ensure feasibility, after exchanging a key-path KP, three relevant cases need to be considered. IfKPis used to connect type-1 customers only, it may simply be replaced by any other path, while if it is used in a branch line L(Ek0) of a type-2 customerk∈C2, the maximum length of the new path may be at mostbmax(k)−P

e(L(E0k)\EP)le. Finally, ifKPis used in the first pathP(Ek0) of aC2 customerk, all edges incident to “internal” nodes of its second pathQ(Ek0) may not be used by the new key-path to guarantee node redundancy (and vice versa for the alternate pathQ(Ek0)). All other edges e∈E0 are treated as pseudo-infrastructure, i.e. c0e= 0.

It is obvious that the number of key-paths |W| of any solution G0 = (V0, E0) is smaller or equal to |E0|. Let B = max{bmax(k) : k ∈ C2} denote the maximum value ofbmax(k),∀k∈C2, andE = max{|E(k)|:k∈C2} be the maximum number of edges in the bmax-neighborhood of a type-2 customer node. Then, the worst case complexity for finding the cheapest feasible path eventually replacing a key-path (VP, EP)∈W isO(max{B · E,|E|+|V|log|V|}) and the overall complexity of searching KPEN isO(|E0| max{B · E,|E|+|V|log|V|}

).

However, despite its large worst case complexity, KPEN performs well in practice since number of key-paths is usually relatively small in realistic solutions.

3.9.3 Connection Remove Neighborhood

Instead of exchanging a customer’s connection as in CEN, the Connection Remove Neighborhood (CRN) – which is given in Algorithm 3.4 – removes the connection to a single customer nodek∈C0.

CRN of a current solution G0 therefore consists of all solutions G00 where exactly one customer connected in C0 is not connected anymore, i.e. C00 ( C0 such that

Chapter 3 The bmax-Survivable Network Design Problem

Algorithm 3.4:Connection Remove (Solution G0) dopt = 0

forall the k∈C0 do d=P

eEk0|Me={k}ce−pk if d > dopt then

dopt =d

storeG0 without connection to k as best solution return best solution

kC2

kC2

Figure 3.18: An exemplary move, removing the connection to customerk.

|C0 \C00|= 1. As a customer’s connection may consist of O(|V|) edges only, CRN consisting of |C0| neighboring solutions can be searched in O(|C0||V|) time. Fig-ure 3.18 depicts an exemplary move, removing the connection to a type-2 customer k∈C2.

3.9.4 Restricted two Connection Remove Neighborhood

CRN can be easily generalized to simultaneously remove multiple customer nodes.

However, removing the connections to l > 1 customers at once will result in |C0|l neighboring solutions and the computational effort of searching such a neighborhood would beO(|C0|l|V|). To limit the effort, we therefore concentrate on simultaneously removing only pairs of customers i, j ∈ C0, i 6= j, that share at least one edge exclusively used by them, i.e. ∃e ∈ E0 | Me = {i, j}; see also Algorithm 3.5.

The Restricted two Connection Remove Neighborhood (R2CRN) can be searched in O(|V|min(|E0|,|C0|2)); see Figure 3.19 for an exemplary move.

3.9 Neighborhood Structures for Improving Primal Solutions

Algorithm 3.5: Restricted two Connection Remove Neighborhood (Solu-tion G0).

P ={{u, v} | ∃e∈E0:Me ={u, v}}

dopt = 0

forall the {u, v} ∈P do d=P

eEk0|Me∈{{u},{v},{u,v}}ce−pu−pv

if d > dopt then dopt=d

storeG0 without connection to u, vas best solution restore best solution

kC

2

k0 C2 k0 C2

kC2

Figure 3.19: An exemplary move, removing the connections to customers kand k0.

Chapter 3 The bmax-Survivable Network Design Problem

3.10 Metaheuristics

In this section we present metaheuristic approaches utilizing the neighborhood struc-tures explained in Section 3.9 to compute feasible solutions. After describing a construction heuristic in Section 3.10.1, we present a variable neighborhood search (VNS) with embedded variable neighborhood descent (VND) in Section 3.10.2 and – as an alternative – a GRASP/VND hybrid in Section 3.10.3.

3.10.1 Minimum Spanning Tree Augmentation Heuristic

We use a three-phase approach called Minimum Spanning Tree Augmentation Heuristic (MSTAH) to construct a feasible solution for a given selection of cus-tomers C0⊆C to be connected.

Initially, a Steiner tree is computed using the minimum spanning tree (MST) heuris-tic from [111], see also [138]. This procedure determines a MSTTD on the distance network, which is the complete graphD= (C0, C0×C0) with node set C0 and edge costsd(u, v) corresponding to the costs of the cheapest paths between anyu, v∈C0 inG. A feasible solution G00 to the Steiner tree problem is derived by further com-puting a MST on G(TD) which is the subgraph of G induced by all edges part of any cheapest path corresponding to an edge in TD.

In its second phase, MSTAH augmentsG00= (V00, E00) by feasible connections toC2 customers. Such connections are determined by individually calculating the cheapest feasible connection (compare Section 3.4) for all customersk∈C2 in random order.

All so far selected edges e ∈ E00 are considered as pseudo-infrastructure, i.e. have zero costs.

Finally, an edge minimal solution is extracted (i.e. no further edges can be deleted without violating feasibility) by greedily removing unnecessary key-paths in random order. A similar heuristic which does not consider bmax redundancy has been pre-sented in [36]. Similar to MSTAH the heuristic from [36] uses the MST heuristic [111, 138] to compute a Steiner tree. As opposed to MSTAH redundancy for C2 customers is ensured by adding a redundant route to each type-2 customer avoiding any inner node of the existing primary path using so far selected edge as pseudo-infrastructure.

3.10 Metaheuristics

Algorithm 3.6: Minimum Spanning Tree Augmentation Heuristic (Cus-tomers C0)

G00= (V00, E00) = Steiner tree computed by MST heuristic c0e= 0, ∀e∈E00

c0e=ce,∀e /∈E00 G0 =G00

forall the k∈C2∩C0 do

fk= cheapest connection to kusing edge costs c0 G0 =G0∪fk

updatec0 according to fk make edge minimal

determine solution structure

3.10.2 Variable Neighborhood Search

We use the general VNS scheme with VND as embedded local improvement [82]

as described in Section 2.2.4. In VND, we alternate between CEN, KPEN, CRN, R2CRN in this order, with the latter two considered only in the SST variant.

Our shaking algorithm used to escape local optima modifies a solutionG0 by exclud-ing a subset of its Steiner nodes as well as changexclud-ing the set of connected customers C0 in the SST variant: A set of l= 1, . . . , lmax = b|C2|c Steiner nodes VF ⊆V0 \C of the current solution G0 is randomly chosen for removal. Furthermore, we select a set ofl customer nodes VC ⊆ C at random. The set of customers C00 connected in the new solutionG00 is C00 =C04VC, i.e. we add those customers of VC that are currently unconnected while removing the so far connected ones. Finally, we apply MSTAH using the following adapted edge costsc0 with a sufficiently large value for M (M maxeEce).

c0e=





M ifeis incident to a nodes v∈VF,

0 ife∈E0 and enot incident to a node v∈VF, ce else.

Edge costs c0 ensure the creation of a new solutionG00 that is in general similar to G0 while the Steiner nodes selected for exclusion will not be used unless there is no other option to obtain a feasible solutionG00. Algorithm 3.7 summarizes the details of the VND approach.

Chapter 3 The bmax-Survivable Network Design Problem

Algorithm 3.7:VND for bmax-SNDP.

l= 1

while l≤4 do switchl do

case1:

x0 =CEN(x) // see Algorithm 3.2 case2:

x0 =KP EN(x) // see Algorithm 3.3 case3:

x0 =CRN(x) // see Algorithm 3.4 case4:

x0 =R2CRN(x) // see Algorithm 3.5 if c(x0)< c(x) then

x=x0 l= 1 else

l=l+ 1 return x