• Keine Ergebnisse gefunden

To get a better understanding how difficult it is to solve a combinatorial problem is, it can be investigated by means of complexity analysis, which is a major topic in computer science.

One of the most interesting questions is, if the considered problem belongs to the set ofN P -complete problems, which means that no algorithm with polynomial time complexity can exist to solve this problem, as long as we can assume thatP 6=N P. If one could find an algorithm of polynomial time complexity that can solve at least one of theN P-complete problems, this would mean that all problems in this complexity class could be solved with a polynomial time algorithm. This would also have the impact that the assumption thatP 6= N P holds could be rejected.

In the case of the HRNP the first layer can be treated independently as a Traveling Salesman Problem (TSP), see [14], which isN P-complete. The optimal ring connection of all nodes of V1 resembles an optimal TSP tour for these nodes.

The problem to find appropriate rings for the other layers can be reduced from the Traveling Salesman Problem with Precedence Constraints (TSPPC), see [13], which was shown to be N P-hard.

For layer 2 (layer 3) this means that if exactly two uplinks are contained that determine the precedence andbu2 =|V2|(bu3 =|V3|), the single ring connecting all nodes ofV2(V3) resembles a TSPPC tour.

To know that there is no polynomial algorithm that solves the Hierarchical Ring Network Problem motivates the use of heuristics to tackle larger instances, as it was done in this thesis.

CHAPTER 2

Related Work

Hierarchical Network Design Problem

Current introduces the basic Hierarchical Network Design Problem (HNDP) in [5]. It consists of primary nodes building a primary path that from a start- to an end-node. The other nodes are the secondary nodes that have to be connected to the primary nodes via secondary paths. The total cost is the cost of the primary path plus the sum of costs of all secondary paths. The objective is to minimize the total cost. The paper contains an ILP formulation and a heuristic approach. The heuristic calculates theMshortest paths between the start- and the end-node and then calculates an MST for each of them and takes the minimum of theM solutions.

Multi-level Network Design Problem

In [1] the Multi-level Network Design (MLND) problem is introduced. It is a generalization of the Hierarchical Network Design (HNDP) problem, whereK levels are used to describe the importance of nodes. If two levels are used then this is called the Two-level Network Design (TLND) problem. The generalization of the HNDP is that the primary layer can consist of more than exactly two designated nodes. An ILP formulation based on steiner trees and one based on multicommodity flow are provided.

Aspects of Network Design

Klincewicz [12] investigates various aspects of network design, like the cost, capacity, reliability, performance and demand pattern of networks. The cost can be important for hubs (nodes) and links either for creating or for using them. Also for both of them capacity constraints can apply.

Reliability can be improved by multi-homing or by the more general approach that multiple paths between nodes are available for rerouting. The performance measures if enough networks resources are available for a given demand, e.g., if enough capacity is available along some path.

Demand patterns describe the needed communication between the nodes, for example many-to-many or many-to-many-to-one node relations. The paper also gives a good survey about combinations of network structures between backbone (primary) and tributionary (secondary) topologies.

Survivable Networks with Bounded Rings

Fortz uses in this phd thesis [8] bounded rings for the reliability of networks. The resulting network has to be connected. A branch-and-cut approach and various heuristics are used to find the rings.

Some of the heuristics are shortly explained below (the names of the heuristics are from the original thesis):

Ear-inserting method

This method creates one ring after the other. At first a minimum length cycle is created. Then the node is chosen to be inserted into the ring that has the least insertion cost (i.e., replacing an existing edge by the two new ones that connect the node to the ring) until no node can be inserted without violating ring constraints. Then a new cycle is created and the procedure is repeated until all nodes are inserted.

Cutting cycles into two equal parts

A solution should be found where the bound constraint is relaxed. This may lead to a Hamilto-nian cycle. Later a cycle, where the bound is violated, is split into two parts and edges are added at the splitting points to get two cycles. This procedure is repeated recursively, until the bound constraints are fulfilled.

Path following method

At first a Hamiltonian cycle is created. Next the algorithm follows this tour (starting at some arbitrary point in some arbitrary direction) as long as the bound constraint is satisfied. Then an edge back to the starting point is added to close the cycle and the next point (following the tour) becomes the new starting point. This procedure is repeated until the first starting point is reached again.

Stringy method

The noticeable feature of this method is that it starts with all edges and removes edges system-atically. The crucial criterion for removing an edge is that the graph stays 2-connected after the removal.

Hierarchical Network Topologies

Thomadsen’s phd thesis [18] focuses on hierarchical network topologies. Many properties are described as ILP formulations. A chapter about ring structures is provided. The thesis contains a formulation of the Fixed Charge Network Design (FCND) problem. It involves demand between nodes, edge costs and the cost to use edges (satisfy demand).

Ring-chain Dual Homing

Lee [15] describes Self Healing Rings (SHR) in the context of the Ring-chain Dual Homing (RCDH) problem. An SHR is a cycle of network nodes that can reroute the traffic in case of a node failure. A chain is a path of nodes that is linked (homed) to distinct hub nodes on the SHR at each chain end.

CHAPTER 3

Methodology

In this chapter the theoretical background is explained. It mainly contains the data structures and algorithms that are used for the implementation.

3.1 Datastructures

Different ways are used to model application data. Especially the hierarchical aspect and the ring structure are important.

Dendrogram

A dendrogram is a tree that can be used for the hierarchical representation of data. Nodes that are closer to the root (i.e., the path length from the node to the root is shorter) are hierachically on a higher level. The root stands for all values, and the leafs represent the values that are hierachically structured. E.g., if the values are nodes in a graph, each subtree in the dendrogram can be seen as a cluster. For an example see Figure 3.1.

Cluster-Tree

A cluster-tree is the basic abstraction for the (partial) solution graph. In the case of this topic each node in the tree represents a cluster and therefore, it stands for many nodes in the network.

To be more precise it is intended to build a ring from the nodes of the cluster.

The edges of the cluster-tree stand for the connections between the rings. This means if two nodes from the cluster-tree are connected via an edge their rings are connected (“homed”) in the graph. In the case of dual-homing the edge stands for the two connections from the subring to the hubs of the upper ring. Since uplinks are only allowed to the same ring, one edge is sufficient for representing this connection. It is important to note that the nodes and edges building the cluster-tree are abstract representations of the elements in the original graph, but they are not contained there.

1 2 3 4 5 6 7 8 9 10 11 12 13 14

1 2 3 4 5 6 7 8 9 10 11 12 13 14

1 2 3 4 5 6 7

1 2 3 4 5 6

8 9 10 11 12 13 14

9 10 11 12 13 14

Figure 3.1: Dendrogram sample. Nodes 1, 2 and 3, for example are hierachically on a lower level than node 7.

The cluster-tree is similar to the dendrogram structure of clustered graphs, with two main differences:

1. Each node in the cluster-tree should represent a ring, whereas nodes in the dendrogram stand for regions and general clusters, which need not have the same granularity.

2. A dendrogram node stands for a cluster includingall subclusters (i.e. Type A). In the cluster-tree a node only stands for the nodes in the respective ring (i.e. Type R). One complete subtree (i.e., the union of its nodes) of the cluster-tree would correspond to one dendrogram node.