A GENETIC ALGORITHM FOR THE WEIGHT SETTING PROBLEM IN OSPF ROUTING

Similar documents
Optimising OSPF Routing for Link Failure Scenarios

Course Routing Classification Properties Routing Protocols 1/39

On the Optimality of Link-State Routing Protocols

Optimal Network Flow Allocation. EE 384Y Almir Mutapcic and Primoz Skraba 27/05/2004

An Enhanced Estimator to Multi-objective OSPF Weight Setting Problem

Chapter 7 Routing Protocols

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

Design of Large-Scale Optical Networks Λ

Why dynamic route? (1)

Routing Basics. What is Routing? Routing Components. Path Determination CHAPTER

ROUTING PROTOCOLS. Mario Baldi Routing - 1. see page 2

Network Routing Protocol using Genetic Algorithms

Optimal network flow allocation

Routing, Routing Algorithms & Protocols

Network Layer: Routing

Neural Network Weight Selection Using Genetic Algorithms

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 16, 2017

BTEC Level 3 Extended Diploma

Planning for Information Network

Effective probabilistic stopping rules for randomized metaheuristics: GRASP implementations

CS 43: Computer Networks. 24: Internet Routing November 19, 2018

ETSF05/ETSF10 Internet Protocols Routing on the Internet

Routing Concepts. IPv4 Routing Forwarding Some definitions Policy options Routing Protocols

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

Solving the Capacitated Single Allocation Hub Location Problem Using Genetic Algorithm

Interplay Between Routing, Forwarding

The Network Layer and Routers

Routing Basics ISP/IXP Workshops

Routing. Routing. Overview. Overview. Routing vs. Forwarding. Why Routing

Top-Down Network Design

OPTIMIZATION OF IP NETWORKS IN VARIOUS HYBRID IGP/MPLS ROUTING SCHEMES

Routing Basics. Campus Network Design & Operations Workshop

Review for Chapter 4 R1,R2,R3,R7,R10,R11,R16,R17,R19,R22,R24, R26,R30 P1,P2,P4,P7,P10,P11,P12,P14,P15,P16,P17,P22,P24,P29,P30

Unicast Routing. Information About Layer 3 Unicast Routing CHAPTER

TRAFFIC engineering has become an important issue in

BIASED RANDOM-KEY GENETIC ALGORITHMS WITH APPLICATIONS IN TELECOMMUNICATIONS

CHAPTER 5 ANT-FUZZY META HEURISTIC GENETIC SENSOR NETWORK SYSTEM FOR MULTI - SINK AGGREGATED DATA TRANSMISSION

Internet Routing Protocols Tuba Saltürk

Internet Traffic Engineering

EECS 122, Lecture 16. Link Costs and Metrics. Traffic-Sensitive Metrics. Traffic-Sensitive Metrics. Static Cost Metrics.

Configuring IGRP. The Cisco IGRP Implementation

Routing Basics. ISP Workshops. Last updated 10 th December 2015

AN EVOLUTIONARY APPROACH TO DISTANCE VECTOR ROUTING

Dynamics of Hot-Potato Routing in IP Networks

Role of Genetic Algorithm in Routing for Large Network

ICMP, ARP, RARP, IGMP

ITEC310 Computer Networks II

ETSF05/ETSF10 Internet Protocols. Routing on the Internet

IJMT Volume 2, Issue 3 ISSN:

Evolutionary Computation for Quality of Service Internet Routing Optimization

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 14, 2013

From Routing to Traffic Engineering

What is GOSET? GOSET stands for Genetic Optimization System Engineering Tool

Routing Protocol comparison

Optimizing OSPF/IS-IS Weights in a Changing World

Routing Basics. ISP Workshops

IP Routing. Bharat S. Chaudhari International Institute of Information Technology Pune, India

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2

Routing Basics ISP/IXP Workshops

Top-Down Network Design, Ch. 7: Selecting Switching and Routing Protocols. Top-Down Network Design. Selecting Switching and Routing Protocols

ICS 351: Today's plan. OSPF BGP Routing in general routing protocol comparison encapsulation network dynamics

CS 640: Introduction to Computer Networks. Intra-domain routing. Inter-domain Routing: Hierarchy. Aditya Akella

Introduction to Dynamic Routing Protocols

A Genetic Algorithm Framework

Internet Architecture and Experimentation

Optimizing OSPF/IS IS Weights in a Changing World

A New Hybrid Approach to OSPF Weight Setting Problem

EEC-684/584 Computer Networks

Course 6. Internetworking Routing 1/33

GENETIC ALGORITHM with Hands-On exercise

CSc 450/550 Computer Networks Internet Routing

McGill University - Faculty of Engineering Department of Electrical and Computer Engineering

Routing Protocols --- Exterior Gateway Protocol

Routing Basics. Routing Concepts. IPv4. IPv4 address format. A day in a life of a router. What does a router do? IPv4 Routing

Network Topology Control and Routing under Interface Constraints by Link Evaluation

Enhanced IGRP. Chapter Goals. Enhanced IGRP Capabilities and Attributes CHAPTER

Outline. Routing. Introduction to Wide Area Routing. Classification of Routing Algorithms. Introduction. Broadcasting and Multicasting

Routing Protocols and

Table of Contents. Cisco Introduction to EIGRP

Lecture 12. Introduction to IP Routing. Why introduction? Routing

Prof. Shervin Shirmohammadi SITE, University of Ottawa. Internet Protocol (IP) Lecture 2: Prof. Shervin Shirmohammadi CEG

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Sparse Matrices Reordering using Evolutionary Algorithms: A Seeded Approach

Internetworking Terms. Internet Structure. Internet Structure. Chapter 15&16 Internetworking. Internetwork Structure & Terms

Routing Protocols. The routers in an internet are responsible for receiving and. forwarding IP datagrams through the interconnected set of

The Memetic Algorithm for The Minimum Spanning Tree Problem with Degree and Delay Constraints

A Steady-State Genetic Algorithm for Traveling Salesman Problem with Pickup and Delivery

Algorithms for Provisioning Virtual Private Networks in the Hose Model

Overview 4.2: Routing

Review: Final Exam CPSC Artificial Intelligence Michael M. Richter

A Genetic Approach for Solving Minimum Routing Cost Spanning Tree Problem

Overview. Problem: Find lowest cost path between two nodes Factors static: topology dynamic: load

Open Shortest Path First (OSPF)

CHAPTER 6 REAL-VALUED GENETIC ALGORITHMS

BLM6196 COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini

Computer Networks II IPv4 routing

Genetic Algorithms. Kang Zheng Karl Schober

SEMESTER 2 Chapter 3 Introduction to Dynamic Routing Protocols V 4.0

On Routing Performance of MENTOR Algorithm

Transcription:

A GENETIC ALGORITHM FOR THE WEIGHT SETTING PROBLEM IN OSPF ROUTING M. ERICSSON, M.G.C. RESENDE, AND P.M. PARDALOS Abstract. With the growth of the Internet, Internet Service Providers (ISPs) try to meet the increasing traffic demand with new technology and improved utilization of existing resources. Routing of data packets can affect network utilization. Packets are sent along network paths from source to destination following a protocol. Open Shortest Path First (OSPF) is the most commonly used intra-domain Internet routing protocol (IRP). Traffic flow is routed along shortest paths, splitting flow at nodes with several outgoing links on a shortest path to the destination IP address. Link weights are assigned by the network operator. A path length is the sum of the weights of the links in the path. The OSPF weight setting (OSPFWS) problem seeks a set of weights that optimizes network performance. We study the problem of optimizing OSPF weights, given a set of projected demands, with the objective of minimizing network congestion. The weight assignment problem is NP-hard. We present a genetic algorithm (GA) to solve the OSPFWS problem. We compare our results with the best known and commonly used heuristics for OSPF weight setting, as well as with a lower bound of the optimal multi-commodity flow routing, which is a linear programming relaxation of the OSPFWS problem. Computational experiments are made on the AT&T Worldnet backbone with projected demands, and on twelve instances of synthetic networks. 1. Introduction With the growth of the Internet, traffic is approximately doubling each year [8]. Today, Internet Service Providers (ISPs) try to meet tomorrow s escalating traffic demand with new technologies, but primarily with a massive capacity expansion of already existing links. There have been spectacular growth rates of traffic, doubling every three months in the 1995 96 boom, caused by the emerging graphic-intensive web browsers. In, the growth rate has recessed to doubling each year. In the near future, we are likely to see another data traffic boom due to the worldwide spread of the Internet and its use for an increasing number of purposes. These developments highlight the importance of Internet traffic engineering, which seeks more efficient use of existing network resources. The Internet on a network level is built up of approximately twelve major Internet Service Providers (ISPs) worldwide [5]. An ISP is a company that provides access to the Internet and lets other companies lease bandwidth from their high-speed lines. AT&T Worldnet is an example of a large ISP. The larger ISPs arrange peering agreements to exchange traffic. Connected to these major backbones are the regional providers with thousands of local providers. Individual users can also get access through online service providers. Date: October 9, 1. Key words and phrases. OSPF routing, Internet, metaheuristics, genetic algorithm, path relinking. 1

M. ERICSSON, M.G.C. RESENDE, AND P.M. PARDALOS When one sends or receives data over the Internet, the information is divided into small chunks called packets or datagrams. A header, containing the necessary transmission information, such as the destination Internet Protocol (IP) address, is attached to each packet. The data packets are sent along links between routers on Internet. When a data packet reaches a router, the incoming datagrams are stored in a queue to await processing. The router reads the datagram header, takes the IP destination address and determines the best way to forward this packet for it to reach its final destination [4]. As each packet is treated individually, the order in which they arrive may not be the same order in which they were sent out. The Internet Protocol (IP) simply delivers them and it is up to the Transmission Control Protocol (TCP) to reorder the datagrams. Routing is a fundamental engineering task on the Internet. It consists in finding a path from a source to a destination host. Routing is complex in large networks because of the many potential intermediate destinations a packet might traverse before reaching its destination [6]. To decrease complexity, the network is divided into smaller domains. Considering each domain individually makes the network more manageable. Routing domains in today s Internet are called autonomous systems (AS). Interior Gateway Protocols (IGP) are used within the AS, while Exterior Gateway Protocols (EGP) are used to route traffic flow between them [4]. The TCP/IP suite has many routing protocols, such as OSPF, BGP, RIP, IGRP, and Integrated IS-IS, all in use in today s Internet [4, 3]. OSPF, RIP, IGRP, and IS-IS are categorized as IGPs, while BGP is an EGP. A routing table instructs the router how to forward packets. The routing protocols employ different operations to analyze different incoming update messages to produce their routing tables. Given a packet with an IP destination address in its header, the router performs a routing table lookup which returns the IP address of the packet s next hop. Open Shortest Path First (OSPF) is the most commonly used intra-domain Internet routing protocol [1, 6]. OSPF requires routers to exchange routing information with all other routers in the AS. Complete network topology knowledge, i.e. the arrangement of all routers and links in the domain, is required. Because each router knows the complete topology, each router can compute all needed shortest paths [4]. OSPF is a dynamic protocol and quickly detects topological changes in the AS and calculates new loop-free routes after a short period of convergence [16]. OSPF calculates routes as follows. Each link is assigned a dimensionless metric, called cost or weight. This integer cost ranges from 1 to 65535 (= 16 1) and is shown in the link-state database. The cost of a path in the directed graph is the sum of the link costs. Using Dijkstra s shortest path algorithm [9], OSPF mandates that each router computes a tree of shortest paths with itself as the root [16]. This tree shows the best routes to all destinations in the AS. The destination router in the first hop is extracted into the IP routing table. In the case of multiple shortest paths, some vendors have implemented OSPF so that it will use load balancing and split the traffic flow over several shortest paths [3]. The link weights are assigned by the network operator. The lower the weight, the greater the chance that traffic will get routed on that link [4]. Recommendations have been suggested as to how to assign link weights. Cisco, a major router vendor, by default, assigns OSPF metrics as the inverse of the interface available bandwidth [6]. If each link cost is set to 1, the cost of a path is equal to the number of links (hops) in the path [3]. In this paper, we propose a technique to find good OSPF

A GA FOR WEIGHT SETTING IN OSPF ROUTING 3 routing weight settings for a given network and router-to-router traffic requirements (demand). OSPF is an IGP and, therefore, is designed to run internal to a single AS. There are evolving guidelines on how to best design an OSPF network. In 1991, the guideline was at most routers in a single area []. To date, Cisco s guideline recommends no more than six router hops from source to destination, and 3 to 1 routers per area [6]. There is no limit in the number of routers per area, but for OSPF to scale well, less than 4 routers in an area is recommended [6]. As OSPF uses a CPU-intensive shortest-path algorithm, experience has shown that 4 to 5 routers per area is the optimal upper limit for OSPF. Our test problems range very realistically from 5 routers (148 links) to 1 routers (53 links). Our only real-world network is a realistic version of the AT&T Worldnet backbone. The instance we use is a few years old and has 9 routers and 74 links. The mathematical model of a data communications network is the general routing problem, defined as follows. Consider the capacitated directed graph G = (N, A, c), A N N, c : A, where N and A denote, respectively, the sets of nodes and arcs. The nodes and arcs represent routers and the capacitated network links, respectively. Given the demand matrix D = (d st ), with origin-destination pairs (s, t), where d st is the amount of data traffic to be sent from IP source address s to IP target address t, the problem is to route this demand on paths in the network while minimizing congestion. We use the congestion measure proposed by Fortz and Thorup [1]. With each arc a A, we associate a cost Φ a as a function of the utilization l a /c a, i.e. how close the load l a is to the link capacity c a. Our objective is to distribute the flow so as to minimize the sum of the costs over all arcs (1) Φ = a A Φ a (l a ). Generally, Φ favors sending flow over arcs with small utilization. The cost increases progressively as the utilization approaches 1% and then explodes when maximum capacity is reached. This approach of heavily penalizing congestion gives us our formal objective. The cost function Φ is piecewise linear and convex. For each arc a A, Φ a is the continuous function with Φ a () = and derivative () Φ a (l a) = 1 for l a /c a < 1/3, 3 for 1/3 l a /c a < /3, 1 for /3 l a /c a < 9/1, 7 for 9/1 l a /c a < 1, 5 for 1 l a /c a < 11/1, 5 for 11/1 l a /c a <. Function Φ a is depicted in Figure 1. Because of the explosive increase in cost as loads exceed capacities, our objective is to keep the maximum utilization max a A l a /c a below 1, if possible. In the general routing problem, there are no constraints on how flow can be distributed along the paths, and the problem can be formulated and solved in polynomial time as a multi-commodity flow problem. Other choices of the objective function are possible, see e.g. Awduche et al. [].

4 M. ERICSSON, M.G.C. RESENDE, AND P.M. PARDALOS 7 6 5 cost per unit of capacity 4 3 1..4.6.8 1 1. trunk utilization rate Figure 1. Arc congestion function Φ a. In this model, the most controversial issue is the demand matrix D. An estimation of future demands can be based, as in the case of the AT&T Worldnet backbone, on concrete measures of flow between source-destination pairs [1, 11]. The demand matrix could also be predicted from a concrete set of consumer subscriptions to virtual leased lines. Our demand matrix assumption does not accommodate unpredicted bursts in traffic. However, one could deal with more predictable periodic changes. From observed Internet traffic activity, one could divide the day into different parts and consider the parts as independent routing problems. Given a network topology and predicted traffic demands, the OSPF weight setting (OSPFWS) problem is to find a set of OSPF weights that optimizes network performance. More precisely, given a directed network G = (N, A), where N is the set of nodes and A is the set of arcs, with capacity c a for each a A, and a demand matrix D that, for each pair (s, t) N N, specifies the demand d st in traffic flow between s and t, we want to determine a positive integer weight w a [1, 65535] for each arc a A such that the objective function Φ is minimized. The chosen arc weights determine the shortest paths, which in turn completely determine the routing of traffic flow, the loads on the arcs, and the value of the cost function Φ. Fortz and Thorup [1] prove that it is NP-hard to find not only the optimal setting of OSPF weights for the OSPFWS problem, but even finding an approximate solution is NP-hard. To the best of our knowledge, the only previous work on optimizing OSPF weights with even splitting of flow is Fortz and Thorup [1]. They describe a local search heuristic for the problem. Other papers on optimizing OSPF weights [5,, 4] have either chosen weights so as to avoid multiple shortest paths from source to destination, or applied a protocol for breaking ties, thus selecting a unique shortest path for each source-destination pair. Rodrigues and Ramakrishnan [4]

A GA FOR WEIGHT SETTING IN OSPF ROUTING 5 present a local search procedure similar to that of Fortz and Thorup. They consider only a single descent and work with small networks having at most 16 nodes and 18 links. Bley et al. [5] use local search with single descent and consider small networks with at most 13 links. They simultaneously deal with the problem of designing the network. Lin and Wang [] present a completely different approach based on Lagrangian relaxation, and consider networks up to 6 nodes. We tested our algorithm on the test problems used by Fortz and Thorup. The AT&T Worldnet backbone, as well as the other test problems, are described in Section 4. In this paper, we present a genetic algorithm, which we call, for optimizing OSPF weights for intra-domain Internet routing. We use similar objective, modeling of the OSPFWS problem, and measure of algorithm performance as Fortz and Thorup. is tested on the AT&T Worldnet backbone, as well as on twelve instances of synthetic networks, from three different theoretical network models. Results are compared to a linear programming (LP) relaxation lower bound and to other commonly used heuristics for weight setting. We also compare our results with the local search heuristic of Fortz and Thorup [1]. For most network instances, finds solutions within a few percent of the LP lower bound. Compared to the commonly used heuristic recommended by Cisco, we are able to increase network capacity by 7% for the AT&T Worldnet backbone, and over 1% for the most realistic -level hierarchical graphs before the network becomes congested. The average possible traffic increase is 5% for all test problems.. Mathematical formulation In a data communication network, nodes and arcs represent routers and transmission links, respectively. Let N and A denote, respectively, the sets of nodes and arcs. Data packets are routed along links, which have fixed capacities. In the OSPFWS problem, we relax the capacity constraint and penalize congestion with a cost function Φ, defined in (1). Each demand from source to destination router represents a commodity. This way, the problem of determining the minimum cost routing of all demands is an uncapacitated multicommodity flow problem [1]. Given a directed network graph G = (N, A) with a capacity c a for each a A, and a demand matrix D that, for each pair (s, t) N N, gives the demand d st in traffic flow between nodes s and t, then for each pair (s, t) and each arc a, we associate a variable f a (st) that indicates how much of the traffic flow from s to t goes over a. Variable l a represents the total load on arc a, i.e. the sum of the flows going over a, and Φ a is used to model the piecewise linear cost function of arc a [1]. With this notation, the multi-commodity flow problem with increasing linear costs is formulated as the following linear program: min Φ = a A Φ a

6 M. ERICSSON, M.G.C. RESENDE, AND P.M. PARDALOS subject to (3) (4) (5) (6) (7) (8) (9) (1) (11) u:(u,v) A f (st) (u,v) u:(v,u) A f (st) (v,u) = d st if v = s, d st if v = t, otherwise, l a = (s,t) N N v, s, t N, f (st) a, a A, Φ a l a, a A, Φ a 3l a /3c a, a A, Φ a 1l a 16/3c a, a A, Φ a 7l a 178/3c a, a A, Φ a 5l a 1468/3c a, a A, Φ a 5l a 19468/3c a, a A, f (st) a, a A; s, t N. Constraints (3) are flow conservation constraints that ensure routing of the desired traffic. Constraints (4) define the load on each arc and constraints (5 1) define the cost on each arc according to the cost function Φ. This linear program is a relaxation of OSPF routing, as it allows for arbitrary splitting of flow. It can be solved optimally in polynomial time [17, 18]. In our computational experiments, we solve this LP relaxation optimally to obtain a lower bound of the optimal OSPFWS solution. We denote this lower bound by. Fortz and Thorup [1] show that the largest gap between and the value of an optimal solution of the OSPFWS problem is at most 5. They show that, for a specific family of networks, this gap can approach 5. 3. GA for the OSPFWS problem Genetic algorithms (GA) are global optimization techniques derived from the principles of natural selection and evolutionary theory [13, 14]. Genetic algorithms have been theoretically and empirically proven to be robust search techniques [13]. Each possible point in the search space of the problem is encoded into a representation suitable for applying the GA. A GA transforms a population of individual solutions, each with an associated fitness (or objective function value), into a new generation of the population, using the Darwinian principle of survival of the fittest. By applying genetic operators, such as crossover and mutation, a GA successively produces better approximations to the solution. At each iteration, a new generation of approximations is created by the process of selection and reproduction [19]. A simple genetic algorithm is described by the pseudo-code in Figure. In this pseudo-code, the population at time t is represented by P (t). The three steps of a GA, according to the pseudo code, are: 1. Randomly create an initial population P () of individuals.. Iteratively perform the following substeps on the current generation of the population until the termination criterion has been satisfied. (a) Assign fitness value to each individual using the fitness function. (b) Select parents to mate. (c) Create children from selected parents by crossover and mutation. (d) Identify the best-so-far individual for this iteration of the GA.

A GA FOR WEIGHT SETTING IN OSPF ROUTING 7 begin t = initialize P () evaluate P () while(not termination-criteria) do t = t + 1 select P (t) from P (t 1) alter P (t) evaluate P (t) end end Figure. Pseudo-code for a simple genetic algorithm 3.1. Implementation of GA for the OSPFWS problem. Next, we describe how the above principles were tailored to produce a genetic algorithm for the OSPFWS problem. 3.1.1. Representation. Since the representation of a solution should be such that the genetic operators produce feasible offsprings, encoding is often difficult when tailoring a genetic algorithm for an optimization problem. However, this is not the case for the OSPFWS problem. A solution to the OSPFWS problem is represented by a point in the discrete search space [1, 65535] A. We used the representation of weights w = w 1, w,..., w A, where w i [1, 65535] for each arc i = 1,..., A. All points in the search space represent feasible solutions. As we note later, instead of using the upper limit of 65535, in our implementation we use a user-defined upper limit MAXWEIGHT. 3.1.. Initial population. The initial population is generated by randomly choosing feasible points in the search space [1, 65535] A, represented as integer vectors. In addition to these randomly generated solutions, we also add the weight settings of two other common heuristics. We add UnitOSP F, represented by the unit vector, and InvCapOSP F, represented by the weight vector where each arc weight is set inversely proportional to its arc capacity. Both heuristics are described later. 3.1.3. Evaluation function. The association of each solution to a fitness value is done through the fitness function. We associate a cost to each individual through the cost function Φ. The evaluation function is complex and computationally demanding, as it includes the process of OSPF routing, needed to determine the arc loads resulting from a given set of weights. This evaluation function is the computational bottleneck of the algorithm. Another basic computation needed by the genetic algorithm is the comparison of different solutions. The fitness value is the same as the cost value. In other words, cost and fitness are used in the same sense, i.e. less fitness is better. We now show how we calculate the cost function Φ for a given weight setting {w a } a A, and a given graph G = (N, A) with capacities {c a } a A, and demands d st D. We follow closely the procedure given in Fortz and Thorup [1]. A given weight setting will completely determine the shortest paths, which in turn determine the OSPF routing, and how much of the demand is sent over which

8 M. ERICSSON, M.G.C. RESENDE, AND P.M. PARDALOS arcs. The load on each arc gives us the arc utilization, which in turn gives us a cost from the cost function Φ a. The total cost Φ for all arcs in the network is the fitness value. We show, in more detail, how to compute the cost function Φ = a A Φ a(l a /c a ). The basic problem is to compute the arc loads l a resulting from the given weight setting {w a } a A. The arc loads are computed in five steps [1]. For all demand pairs d st D, consider one destination t at a time and compute partial arc loads la t t Ñ N, where Ñ is the set of destination nodes. 1. Compute the shortest distances d t u to t from each node u N, using Dijkstra s shortest path algorithm [9]. Dijkstra s algorithm usually computes the distances away from source s, but since we want to compute distance to sink node t, we apply the algorithm on the graph obtained by reversing all arcs in G.. Compute the set A t of arcs on shortest paths to t as, A t = {(u, v) A : d t u dt v = w (u,v)}. 3. For each node u, let δ t u denote its out degree in G t = (N, A t ), i.e. δ t u = {v N : (u, v) At }. If δu t > 1, then traffic flow is split at node u. 4. The partial loads la t are computed as: (a) Nodes v N are visited in order of decreasing distance d t v (b) When visiting a node v, for all (v, w) A t, set l(v,w) t = 1 δv t (d vt + l(u,v) t ). (u,v) A t 5. The arc load l a is now summed from the partial loads as, to t. l a = t Ñ l t a. The evaluated costs are normalized to allow us to compare costs across different sizes and topologies of networks. We applied the same normalizing scaling factor as introduced by Fortz and Thorup [1]. The uncapacitated measure is defined as Φ uncap = d st h st, (s,t) N N where h st is the distance measured with unit weights (hop count) between nodes s and t. The scaled cost is defined as Φ = Φ/Φ uncap. Note that Φ = 1 implies that the traffic flow is routed along unit weight shortest paths with all loads staying below 1/3 of the capacity. 3.1.4. Population partitioning. After sorting the individuals according to their fitness values, the population is divided into three classes. The top α 1% (class A) is called the upper class, or elite. The next β 1% (class B) is called the middle class. The remaining population (class C) constitutes the lower class.

A GA FOR WEIGHT SETTING IN OSPF ROUTING 9 3.1.5. Parent selection. uses a combined selection method from Hollstein s five selection methods [15]. It combines family selection and individual selection, so that it randomly chooses one parent from the elite class (class A) and the other parent from a non-elite class (either class B or C). Using the family size control parameters α and β, one can control the elitist property, and thus the balance of convergence and diversity. To create the next generation, promotes all class A solutions without change, replaces all class C solutions by randomly generated solutions, and chooses β P opsize pairs of parents, as described above, where P opsize is the size of the population. This selection method follows three principles [19]: 1. Better individuals are more likely to reproduce.. Re-selection is allowed as better individuals can be selected for breeding more than once. 3. Selection is probabilistic. This way, the selection process will do a significant amount of hill climbing, but it is not entirely greedy. 3.1.6. Crossover. Crossover is done on the selected pairs of parents. The crossover procedure used is called random keys, first proposed by Bean [3]. To cross and combine two parent solutions p 1 (elite) and p (non-elite), first generate a random A -vector r of real numbers between and 1. Let K be a cutoff real number between.5 and 1, which will determine if a gene is inherited from p 1 or p. A child c is generated as follows: for all genes i = 1,..., A do if r[i] < K c[i] = p 1 [i] else c[i] = p [i] end. With this strategy, the best convergence results are experimentally obtained with K =.7. However, the GA often experienced premature convergence to local optima. To escape this convergence problem and diversify the search, an additional mutation is implemented in the crossover procedure. The mutation simply inserts a random integer in the interval between 1 and 65535 in the gene. The single gene mutation probability p g determines if a gene will be randomly mutated. To do this, generate an additional A -vector s of real numbers between and 1. A child c is generated as follows: for all genes i = 1,..., A do if s[i] < p g c[i] = random[1...65535] else if r[i] < K c[i] = p 1 [i] else c[i] = p [i] end Good convergence results are obtained with p g =.1.

1 M. ERICSSON, M.G.C. RESENDE, AND P.M. PARDALOS 4. Computational results We describe computational experiments with a C language implementation of. The genetic algorithm is compared with several heuristics as well as the linear programming lower bound. Most of the experiments were done on an IBM SP RS6 system, running AIX v4.3. An additional experiment was done on an SGI Challenge computer (196-MHz MIPS R1). The objective of the experiments was to study the performance of the genetic algorithm on the test problems used in Fortz and Thorup [1]. These problems consist of instances on the AT&T Worldnet backbone network with projected demands, and three flavors of synthetic networks. Problem characteristics are summarized in Table 1. For each problem, the table lists its type, number of nodes (N), number of arcs (A), number of demand pairs (D s ), sum of demands ( D), time (in seconds) to make one cost evaluation, and product of time for a single cost evaluation (time eval.) and the total number of evaluations made in the experiments (tot. time). The AT&T Worldnet backbone is a real-world network of 9 routers and 74 links. The -level hierarchical networks are generated using the GT-ITM generator [8], based on a model of Calvert et al. [6] and Zegura et al. [9]. Arcs are of two types. Local access arcs have capacities equal to, while long distance arcs have capacities equal to 1. For the random networks, the probability of having an arc between two nodes is given by a constant parameter that controls the density of the network. All arc capacities are set to 1. In the Waxman networks, the nodes are points uniformly distributed in the unit square. The probability of having an arc between nodes u and v is ηe δ(u,v)/(θ), where η is a parameter used to control the density of the network, δ(u, v) is the Euclidean distance between u and v, and θ is the maximum distance between any two nodes in the network [7]. All arc capacities are set to 1. Fortz and Thorup generated the demands to force some nodes to be more active senders or receivers than others, thus modeling hot spots on the network. Their generation assigns higher demands to closely located nodes pairs. Details can be found in [1]. The cost evaluation of a solution is the computational bottleneck of the algorithm. The cost evaluation includes the shortest path evaluations, as well as the OSPF routing. Recall that in Table 1, the average time (time/eval.), in seconds, for each cost evaluation is listed. For example, the total expected running time for a run with population size (PopSize) of, maximum number of generations (MaxGen) of 7, and elite population parameter α of., results in (1 α) P opsize (MaxGen 1) + P opsize = 114 cost evaluations. Under these parameter settings, on the AT&T Worldnet backbone network, the algorithm will run for approximately 67 seconds on the IBM SP RS6 system. requires that seven parameters be specified: 1. POPSIZE denotes the size of the population. This variable affects the running time of the GA. We ran tests with moderate population sizes of 5 up to 5. In the experiments, we set POPSIZE to for the AT&T Worldnet backbone instance and all 5-node instances, and to 1 for all 1-node instances. This setting was arbitrary. Increasing population size usually improves the quality of the genetic algorithm s solution.. MAXGEN denotes the number of generations. The genetic algorithm uses this parameter as a stopping criterion. finds good solutions after only about 1 generations, but continues to find improvements afterwards.

A GA FOR WEIGHT SETTING IN OSPF ROUTING 11 Table 1. Problem characteristics (times are in IBM SP RS6 seconds. Network type N A Ds D time/eval. tot. time AT&T Worldnet backbone 9 74 7 18465.6 67. -level hierarchical graph 1 8 99 91.54 161. -level hierarchical graph 1 36 99 133.55 1. -level hierarchical graph 5 148 45 76.11 13. -level hierarchical graph 5 1 45 66.11 13. Random graph 1 43 99 994.54 161. Random graph 1 53 99 16.55 1. Random graph 5 8 45 49.11 13. Random graph 5 45 45 36.11 13. Waxman graph 1 391 99 1143.55 1. Waxman graph 1 476 99 858.57 81. Waxman graph 5 169 45 77.11 13. Waxman graph 5 3 45 64.11 13. We ran the experiments for 7 generations for the AT&T Worldnet backbone instance and the 5-node instances, and for 5 generations for the 1-node instances. This setting was arbitrary. As we note later in this section, increasing the maximum number of generations improves the quality of the genetic algorithm s solution. 3. The parameter α is the proportion of the population of solutions that are elite, or upper class. In the experiments, we set α =.. 4. The parameter β is the proportion of the population of solutions that are middle class. In the experiments, we set β =.7. Consequently, the proportion of lower class solutions is 1 α β =.1. 5. XOVERCUTOFF is the crossover cutoff value. This is the probability that the child inherits the gene from its elite parent. We found that a cutoff value of.7 resulted in a good balance between convergence and diversity. 6. XOVERMUTATIONPROB is the crossover mutation probability. This is the probability that a gene of a child will be mutated instead of inherited from any parent. A probability of.1 is used. 7. MAXWEIGHT is the maximum arc weight. We implemented for the original OSPF metric of weights, i.e. from 1 to 65535. As in Fortz and Thorup [1], we set MAXWEIGHT to in the experiments. This decreases the search space and increases the probabilities of even flow splitting. Flow splitting can be desirable for load balancing. We compare the solution with the LP lower bound () and the results obtained with the following heuristics: In UnitOSPF, all arc weights are set to 1. The cost of a path is the number of links in the path, and therefore is equivalent to routing with minimum hops. In, the arc weights are set inversely proportional to arc capacities, as recommended by Cisco [7]. In Cisco IOS 1.3 and later, by default, the cost is inversely proportional to the bandwidth of the interface [6]. In RandomOSPF, arc weights are randomly generated and OSPF routing is done for as many cost evaluations as is done with, using new randomly generated weights, if necessary. F&T is the Fortz and Thorup local search heuristic. We did not run their code and simply report the results given in [1].

1 M. ERICSSON, M.G.C. RESENDE, AND P.M. PARDALOS We next present the computational results for the thirteen test problems and the five heuristics. For each test problem, we present one table and one figure with two plots. In the experiments, the heuristics and lower bounding procedure are run using several levels of Internet traffic. This scaling of Internet traffic is done by simply multiplying each entry in the demand matrix by a fixed number. We use the scaling values used in [1]. Table and Figure 3 show the results for the AT&T Worldnet backbone network instance. Tables 3 6 and Figures 4 7 show the results for the -level hierarchical network instances. Tables 7 1 and Figures 8 11 show the results for the random network instances. Finally, Tables 11 14 and Figures 1 15 show the results for the Waxman network instances. In the tables, we present the OSPF routing costs and the maximum utilizations for each of the heuristics and the LP lower bound, as a function of the total demand (D). The routing costs are normalized, as described earlier, with the normalizing scaling factor Φ uncap. In the routing cost figures, the dashed horizontal line corresponds to the threshold of 1.667, when network congestion is reached. By maximum utilization, we mean the arc utilization (total traffic on the arc load divided by arc capacity) of the maximum utilized arc in the network. The maximum utilizations are listed in parenthesis in the tables. We make the following remarks regarding the computational experiments. First, we observe that the generally finds good solutions close to the lower bound. With the exception of the random networks, found solutions with similar quality as those found by the Fortz and Thorup local search. The solutions found by were significantly better than those produced by UnitOSPF,, and RandomOSPF, and allowed a significant increase of the network s throughput with respect to the throughputs associated with those heuristics. works particularly well for the real-world AT&T Worldnet backbone instance, where compared to the heuristic, it was able to increase network traffic by 7% until the network becomes congested. Recall that is recommended by Cisco. also produces good solutions on the instances of the -level hierarchical graphs and on the large Waxman graphs, where the gap to the lower bound is very small. For the two instances of the -level hierarchical graphs with 5 nodes, produced an average traffic increase of 15%, when compared with. The average traffic increase for all test problems was 5%. Comparing the UnitOSPF and routing schemes, we see that is slightly better than UnitOSPF for most instances. is therefore the most challenging of the simple heuristic to compete with.

A GA FOR WEIGHT SETTING IN OSPF ROUTING 13 1 1 cost 8 6 RandomOSPF 4 5 1 15 5 3 35 4 45 5 1.5 RandomOSPF maximum utilization 1.5 5 1 15 5 3 35 4 45 5 Figure 3. Routing cost and maximum utilization versus scaled Internet traffic on AT&T Worldnet backbone network

Table. Routing costs and (max-utilization) for AT&T Worldnet backbone with scaled projected demands. D UnitOSPF RandomOSPF F&T 3761 1. (.16) 1.1 (.15) 1.3 (.19) 1. (.15) 1. (.15) 1. (.1) 75 1. (.31) 1.1 (.31) 1.3 (.33) 1. (.3) 1. (.9) 1. (.) 1184 1.3 (.47) 1.5 (.46) 1.6 (.44) 1.1 (.36) 1.1 (.36) 1.1 (.9) 1545 1.13 (.6) 1.15 (.61) 1. (.67) 1.5 (.48) 1.6 (.46) 1.5 (.39) 1886 1.33 (.78) 1.36 (.76) 1.37 (.68) 1.17 (.65) 1.17 (.6) 1.15 (.49) 567 1.63 (.94) 1.66 (.9) 1.56 (.85) 1.33 (.68) 1.34 (.68) 1.31 (.59) 638 3.39 (1.9).94 (1.7).7 (1.) 1.51 (.79) 1.5 (.79) 1.48 (.69) 389 4.49 (1.5) 1.5 (1.) 3.65 (1.6) 1.7 (.9) 1.7 (.9) 1.65 (.79) 33851 54.95 (1.4) 6.83 (1.37) 19.49 (1.).4 (.91).5 (.91) 1.93 (.88) 3761 11.48 (1.56) 116.69 (1.53) 6.39 (1.3).7 (1.).69 (1.).4 (.98) 41373 168.16 (1.7) 185.68 (1.68) 16.46 (1.57) 4.66 (1.1) 5.11 (1.1) 3.97 (1.8) 45134 41.96 (1.87) 58.7 (1.83) 195.45 (1.69) 17.34 (1.) 18.91 (1.36) 15.6 (1.18) Table 3. Routing costs and (max-utilization) for -level hierarchical graph (5 nodes, 148 arcs) with scaled demands. D UnitOSPF RandomOSPF F&T 411 1. (.19) 1. (.) 1.3 (.18) 1. (.17) 1. (.17) 1. (.9) 81 1. (.37) 1.3 (.43) 1.3 (.39) 1. (.33) 1. (.31) 1. (.19) 13 1.4 (.56) 1.6 (.65) 1.8 (.55) 1.1 (.33) 1.1 (.33) 1.1 (.8) 1643 1.13 (.75) 1.15 (.87) 1.17 (.58) 1.5 (.55) 1.5 (.56) 1.4 (.38) 53 1.31 (.93).34 (1.8) 1.1 (.8) 1.11 (.67) 1.11 (.67) 1.1 (.47) 464 4.67 (1.1) 1.89 (1.3) 1.5 (.85) 1. (.66) 1. (.67) 1.17 (.56) 874 1.3 (1.31) 37.73 (1.51).63 (1.3) 1.31 (.79) 1.34 (.86) 1.7 (.66) 385 5.3 (1.5) 56.18 (1.73) 9.88 (1.15) 1.44 (.9) 1.47 (.89) 1.39 (.75) 3696 79.6 (1.68) 75.97 (1.95) 36.96 (1.45) 1.66 (.9) 1.69 (.95) 1.53 (.85) 416 119.5 (1.87) 16.9 (.16) 55.77 (1.48). (1.).3 (1.) 1.89 (.94) 4517 168.67 (.6) 14.5 (.38) 157.6 (1.57) 4.9 (1.1) 5.11 (1.1) 3.44 (1.3) 498.1 (.4) 18.3 (.6) 3.1 (1.74) 15.73 (1.1) 1.99 (1.34) 14.4 (1.13) 14 M. ERICSSON, M.G.C. RESENDE, AND P.M. PARDALOS

A GA FOR WEIGHT SETTING IN OSPF ROUTING 15 1 1 cost 8 6 RandomOSPF 4 5 1 15 5 3 35 4 45 5.5 RandomOSPF maximum utilization 1.5 1.5 5 1 15 5 3 35 4 45 5 Figure 4. Routing cost and maximum utilization versus scaled Internet traffic on -level hierarchical network (5 nodes, 148 arcs)

Table 4. Routing costs and (max-utilization) for -level hierarchical graph (5 nodes, 1 arcs) with scaled demands. D UnitOSPF RandomOSPF F&T 8 1. (.19) 1. (.19) 1.5 (.) 1. (.18) 1. (.19) 1. (.7) 56 1.1 (.39) 1.1 (.38) 1.6 (.3) 1. (.33) 1. (.33) 1. (.15) 841 1.4 (.58) 1.4 (.56) 1.11 (.6) 1. (.33) 1. (.33) 1.1 (.) 111 1.11 (.78) 1.11 (.75) 1.19 (.67) 1.6 (.43) 1.6 (.43) 1.3 (.3) 141 1.34 (.97) 1.7 (.94) 1.9 (.7) 1.9 (.55) 1.9 (.55) 1.6 (.37) 1681 1.8 (1.17) 6.8 (1.13) 1.48 (.83) 1.14 (.67) 1.15 (.67) 1.11 (.45) 196 33.71 (1.36) 7.66 (1.31) 1.98 (.99) 1.1 (.7) 1.3 (.77) 1.16 (.5) 4 5.66 (1.56) 44.14 (1.5) 3.4 (1.4) 1.3 (.83) 1.33 (.85) 1.4 (.6) 5 73.84 (1.75) 63.9 (1.69) 13.98 (1.) 1.46 (.9) 1.46 (.9) 1.35 (.67) 8 1.83 (1.95) 95.13 (1.88) 41.77 (1.3) 1.73 (.95) 1.79 (1.) 1.47 (.75) 38 135.13 (.14) 18.35 (.6) 1.3 (.33). (1.).3 (1.) 1.61 (.8) 3363 167.47 (.34) 159.85 (.5) 141.1 (1.7) 4.5 (1.1) 5.9 (1.1) 1.83 (.89) 3643 197.44 (.53) 1.5 (.44) - (-) - (-) 18.71 (1.4).6 (-) 393 3.34 (.73) 4.95 (.63) - (-) - (-) 43.5 (1.49) 3.88 (-) 43 6.97 (.9) 75.48 (.81) - (-) - (-) 1.11 (1.57) 6.11 (-) 4484 9.7 (3.1) 37.31 (3.) - (-) - (-) 13.6 (3.13) 8.95 (-) Table 5. Routing costs and (max-utilization) for -level hierarchical graph (1 nodes, 8 arcs) with scaled demands. D UnitOSPF F&T 384 1. (.18) 1. (.17) 1. (.17) 1. (.18) 1. (.11) 768 1. (.36) 1. (.35) 1. (.33) 1. (.33) 1. (.) 1151 1. (.54) 1.3 (.5) 1.1 (.36) 1.1 (.36) 1.1 (.34) 1535 1.1 (.7) 1.9 (.69) 1.3 (.51) 1.3 (.5) 1.3 (.45) 1919 1.17 (.9) 1.17 (.86) 1.8 (.63) 1.8 (.63) 1.6 (.56) 33 1.89 (1.7) 1.59 (1.4) 1.13 (.67) 1.14 (.67) 1.11 (.67) 686 11.65 (1.5) 8.87 (1.1) 1. (.78) 1.3 (.78) 1. (.78) 37 1.4 (1.43) 17.5 (1.38) 1.31 (.89) 1.34 (.89) 1.8 (.89) 3454 37.93 (1.61) 4.93 (1.56) 1.55 (1.1) 1.63 (1.1) 1.5 (1.1) 3838 67.6 (1.79) 38.54 (1.73) 3.5 (1.1) 3.7 (1.1) 3.18 (1.1) 41 117.9 (1.97) 7.5 (1.9) 11.83 (1.3) 1.17 (1.3) 11.71 (1.3) 465 168.47 (.15) 114.55 (.7) 19.6 (1.34) 19.66 (1.34) 19.6 (1.34) 16 M. ERICSSON, M.G.C. RESENDE, AND P.M. PARDALOS

A GA FOR WEIGHT SETTING IN OSPF ROUTING 17 1 1 cost 8 6 RandomOSPF 4 5 1 15 5 3 35 4 45 3.5 RandomOSPF maximum utilization 1.5 1.5 5 1 15 5 3 35 4 45 Figure 5. Routing cost and maximum utilization versus scaled Internet traffic on -level hierarchical network (5 nodes, 1 arcs) with scaled demands.

18 M. ERICSSON, M.G.C. RESENDE, AND P.M. PARDALOS 1 1 cost 8 6 4 5 1 15 5 3 35 4 45 5 maximum utilization 1.5 1.5 5 1 15 5 3 35 4 45 5 Figure 6. Routing cost and maximum utilization versus scaled Internet traffic on -level hierarchical network (1 nodes, 8 arcs) with scaled demands.

A GA FOR WEIGHT SETTING IN OSPF ROUTING 19 1 1 cost 8 6 RandomOSPF 4 4 6 8 1 1 14 3 maximum utilization.5 1.5 1 RandomOSPF.5 4 6 8 1 1 14 Figure 7. Routing cost and maximum utilization versus scaled Internet traffic on -level hierarchical network (1 nodes, 36 arcs) with scaled demands.

Table 6. Routing costs and (max-utilization) for -level hierarchical graph (1 nodes, 36 arcs) with scaled demands. D UnitOSPF RandomOSPF F&T 134 1. (.3) 1.17 (.15) 1.9 (.7) 1. (.19) 1. (.3) 1. (.1) 68 1.1 (.46) 1.17 (.31) 1.11 (.45) 1. (.33) 1. (.33) 1. (.) 31 1.3 (.69) 1.19 (.46) 1.19 (.69) 1.1 (.41) 1.1 (.4) 1. (.31) 4136 1.1 (.9) 1.7 (.6) 1.33 (.86) 1.3 (.59) 1.3 (.61) 1. (.41) 5169 3.94 (1.15) 1.39 (.77) 1.56 (.91) 1.7 (.67) 1.8 (.67) 1.6 (.5) 63 1.39 (1.38) 1.57 (.93) 5.46 (1.13) 1.1 (.67) 1.13 (.67) 1.1 (.6) 737 19.3 (1.61).39 (1.8) 31.4 (1.37) 1.19 (.75) 1. (.8) 1.16 (.73) 871 35.86 (1.84) 1.66 (1.3) 36.4 (1.6) 1.9 (.9) 1.35 (.9) 1.5 (.83) 935 61.46 (.7) 4.77 (1.39) 14.45 (1.86) 1.46 (.93) 1.64 (.97) 1.38 (.93) 1339 89.49 (.3) 53.4 (1.54).1 (.1).7 (1.4).3 (1.8) 1.76 (1.4) 11373 13.91 (.53) 11.11 (1.7) 57.98 (.8) 5.5 (1.14) 6.9 (1.14) 4.48 (1.14) 147 166.31 (.76) 181.1 (1.85) 31.51 (.61).4 (1.43) 17.74 (1.34) 13.3 (1.4) Table 7. Routing costs and (max-utilization) for random graph (5 nodes, 8 arcs) with scaled demands. D UnitOSPF RandomOSPF F&T 353 1. (.16) 1. (.16) 1.1 (.9) 1. (.) 1. (.) 1. (.1) 747 1. (.3) 1. (.3) 1.16 (.43) 1. (.31) 1. (.3) 1. (.) 157 1.4 (.47) 1.4 (.47) 1.35 (.75) 1. (.33) 1. (.35) 1. (.3) 1494 1.14 (.63) 1.14 (.63) 1.74 (.89) 1.4 (.47) 1.1 (.59) 1.3 (.4) 17617 1.3 (.79) 1.3 (.79) 3.49 (1.4) 1.15 (.63) 1.4 (.67) 1.13 (.5) 1141 1.57 (.95) 1.57 (.95) 39.47 (1.9) 1.9 (.67) 1.41 (.73) 1.7 (.61) 4664 3.65 (1.1) 3.65 (1.1) 16.4 (.5) 1.46 (.71) 1.65 (.89) 1.4 (.71) 8187 7.35 (1.6) 7.35 (1.6).39 (1.97) 1.69 (.87) 1.98 (.9) 1.61 (.81) 31711 66.67 (1.4) 66.67 (1.4) 4.8 (.55) 1.99 (.91).77 (1.) 1.9 (.91) 3534 1.87 (1.58) 1.87 (1.58) 514.3 (.9).65 (1.1) 5.19 (1.9).43 (1.1) 38758 188.78 (1.73) 188.78 (1.73) 667.6 (.54) 5. (1.11) 5.36 (1.1) 4.6 (1.11) 481 64.61 (1.89) 64.61 (1.89) 849.1 (.99) 17.4 (1.1) 84.56 (1.79) 13.75 (1.1) M. ERICSSON, M.G.C. RESENDE, AND P.M. PARDALOS

A GA FOR WEIGHT SETTING IN OSPF ROUTING 1 1 1 cost 8 6 RandomOSPF 4 5 1 15 5 3 35 4 45 3.5 RandomOSPF maximum utilization 1.5 1.5 5 1 15 5 3 35 4 45 Figure 8. Routing cost and maximum utilization versus scaled Internet traffic on random network (5 nodes, 8 arcs) with scaled demands.

M. ERICSSON, M.G.C. RESENDE, AND P.M. PARDALOS 1 1 cost 8 6 RandomOSPF 4 5 1 15 5 3 35 4 45 5 55 3.5 3 maximum utilization.5 1.5 RandomOSPF 1.5 5 1 15 5 3 35 4 45 5 55 Figure 9. Routing cost and maximum utilization versus scaled Internet traffic on random network (5 nodes, 45 arcs) with scaled demands.

Table 8. Routing costs and (max-utilization) for random graph (5 nodes, 45 arcs) with scaled demands. D UnitOSPF RandomOSPF F&T 4463 1. (.1) 1. (.1) 1.13 (.35) 1. (.5) 1. (.1) 1. (.1) 897 1.1 (.43) 1.1 (.43) 1.4 (.6) 1. (.3) 1. (.34) 1. (.) 1339 1.7 (.64) 1.7 (.64) 1.58 (.87) 1.1 (.35) 1.5 (.49) 1.1 (.3) 17854 1. (.86) 1. (.86) 5.37 (1.9) 1.8 (.67) 1.16 (.66) 1.5 (.41) 317.13 (1.7).13 (1.7).4 (1.17) 1. (.67) 1.36 (.8) 1.19 (.51) 6781 16.6 (1.8) 16.6 (1.8) 165.63 (1.68) 1.4 (.67) 1.6 (.9) 1.35 (.61) 3144 4.65 (1.5) 4.65 (1.5) 335.5 (.35) 1.63 (.89).1 (.99) 1.57 (.71) 3578 81.8 (1.71) 81.8 (1.71) 558.74 (.17).1 (.9) 3.7 (1.8) 1.87 (.81) 4171 131.86 (1.9) 131.86 (1.9) 615.9 (3.58).65 (.99) 1.69 (1.19).9 (.91) 44635 3.56 (.14) 3.56 (.14) 89.17 (3.4) 5.11 (1.9) 34.3 (1.49) 3. (1.1) 4998 79. (.35) 79. (.35) 167.68 (3.1) 14.9 (1.11) 114.5 (1.77) 5.98 (1.11) 5356 357.4 (.57) 357.4 (.57) 114.61 (3.59) 5.68 (1.57) 6.79 (.1) 19.65 (1.) Table 9. Routing costs and (max-utilization) for random graph (1 nodes, 43 arcs) with scaled demands. D UnitOSPF F&T 5775 1. (.17) 1. (.17) 1. (.19) 1. (.17) 1. (.9) 11549 1. (.33) 1. (.33) 1. (.33) 1. (.33) 1. (.18) 1734 1.4 (.5) 1.4 (.5) 1. (.33) 1.3 (.46) 1. (.8) 399 1.13 (.67) 1.13 (.67) 1.4 (.58) 1.11 (.64) 1.3 (.37) 8874 1.31 (.83) 1.31 (.83) 1.16 (.67) 1.7 (.7) 1.14 (.46) 34648 1.68 (1.) 1.68 (1.) 1.3 (.67) 1.48 (.85) 1.9 (.55) 443 9.5 (1.17) 9.5 (1.17) 1.5 (.71) 1.86 (.9) 1.47 (.64) 46198 37. (1.34) 37. (1.34) 1.76 (.89).46 (.99) 1.71 (.73) 51973 71.5 (1.5) 71.5 (1.5).13 (.9) 4.16 (1.6). (.83) 57747 115.6 (1.67) 115.6 (1.67).93 (.98) 13.56 (1.14).46 (.9) 635 173.79 (1.84) 173.79 (1.84) 4.16 (1.4) 58.3 (1.39) 3.7 (1.1) 6997 38.56 (.) 38.56 (.) 16.5 (1.11) 13. (1.59) 5.79 (1.1) 7 314.83 (.17) 314.83 (.17) 56.4 (1.47) - (-) 18. (1.19) A GA FOR WEIGHT SETTING IN OSPF ROUTING 3

4 M. ERICSSON, M.G.C. RESENDE, AND P.M. PARDALOS 1 1 cost 8 6 4 1 3 4 5 6 7 maximum utilization 1.5 1.5 1 3 4 5 6 7 Figure 1. Routing cost and maximum utilization versus scaled Internet traffic on random network (1 nodes, 43 arcs) with scaled demands.

A GA FOR WEIGHT SETTING IN OSPF ROUTING 5 1 1 cost 8 6 4 1 3 4 5 6 7 8 9 1 11 1.5 maximum utilization 1.5 1 3 4 5 6 7 8 9 1 11 Figure 11. Routing cost and maximum utilization versus scaled Internet traffic on random network (1 nodes, 53 arcs) with scaled demands.

Table 1. Routing costs and (max-utilization) for random graph (1 nodes, 53 arcs) with scaled demands. D UnitOSPF F&T 8383 1. (.15) 1. (.15) 1. (.19) 1. (.15) 1. (.1) 16766 1. (.3) 1. (.3) 1. (.33) 1. (.3) 1. (.) 5149 1. (.46) 1. (.46) 1. (.33) 1.1 (.46) 1. (.3) 33531 1.9 (.61) 1.9 (.61) 1.1 (.44) 1.9 (.6) 1.1 (.4) 41914 1. (.76) 1. (.76) 1.1 (.67) 1.1 (.7) 1.7 (.5) 597 1.4 (.91) 1.4 (.91) 1.3 (.67) 1.37 (.9) 1. (.6) 5868 1.96 (1.7) 1.96 (1.7) 1.4 (.7) 1.6 (.88) 1.36 (.7) 6763 8.13 (1.) 8.13 (1.) 1.61 (.88).4 (.91) 1.54 (.8) 75446.51 (1.37).51 (1.37) 1.86 (.9).98 (1.) 1.76 (.89) 8389 48.85 (1.5) 48.85 (1.5).3 (.99) 7.35 (1.1).1 (.99) 911 94.5 (1.68) 94.5 (1.68) 3.3 (1.9) 3.4 (1.48).78 (1.9) 1594 155.68 (1.83) 155.68 (1.83) 7.68 (1.19) 81.5 (1.86) 5.87 (1.19) Table 11. Routing costs and (max-utilization) for Waxman graph (5 nodes, 169 arcs) with scaled demands. D UnitOSPF RandomOSPF F&T 118 1. (.14) 1. (.14) 1.5 (.18) 1. (.15) 1. (.15) 1. (.1) 435 1. (.8) 1. (.8) 1.7 (.33) 1. (.3) 1. (.8) 1. (.1) 6353 1.1 (.4) 1.1 (.4) 1.11 (.45) 1. (.33) 1. (.33) 1. (.31) 847 1.8 (.55) 1.8 (.55) 1.4 (.63) 1. (.4) 1. (.4) 1. (.4) 1588 1.17 (.69) 1.17 (.69) 1.4 (.8) 1.9 (.58) 1.14 (.6) 1.8 (.5) 176 1.3 (.83) 1.3 (.83) 1.69 (.87) 1.18 (.66) 1.19 (.67) 1.18 (.6) 1483 1.6 (.97) 1.6 (.97).4 (.97) 1.31 (.73) 1.3 (.73) 1.9 (.73) 16941 3.9 (1.11) 3.9 (1.11) 6.66 (1.1) 1.48 (.84) 1.5 (.84) 1.45 (.83) 1959.63 (1.5).63 (1.5) 45.9 (1.31) 1.76 (.94) 1.78 (.94) 1.7 (.94) 1176 45.77 (1.39) 45.77 (1.39) 98.8 (1.37).37 (1.4).4 (1.4).31 (1.4) 394 84.41 (1.5) 84.41 (1.5) 198.5 (1.57) 6. (1.14) 6.18 (1.5) 3.7 (1.14) 5411 139.5 (1.66) 139.5 (1.66) 314.38 (.9) 13.15 (1.5) 13.79 (1.5) 4.36 (1.5) 759.4 (1.8).4 (1.8) - (-) - (-) - (-) 6.93 (-) 9647 61.73 (1.94) 61.73 (1.94) - (-) - (-) - (-) 16.75 (-) 6 M. ERICSSON, M.G.C. RESENDE, AND P.M. PARDALOS

A GA FOR WEIGHT SETTING IN OSPF ROUTING 7 1 1 cost 8 6 RandomOSPF 4 5 1 15 5 3 1.5 RandomOSPF maximum utilization 1.5 5 1 15 5 3 Figure 1. Maximum utilization versus scaled Internet traffic on Waxman network (5 nodes, 169 arcs) with scaled demands.

8 M. ERICSSON, M.G.C. RESENDE, AND P.M. PARDALOS 1 1 cost 8 6 RandomOSPF 4 5 1 15 5 3 35 4 45 5.5 RandomOSPF maximum utilization 1.5 1.5 5 1 15 5 3 35 4 45 5 Figure 13. Routing cost and maximum utilization versus scaled Internet traffic on Waxman network (5 nodes, 3 arcs) with scaled demands.

Table 1. Routing costs and (max-utilization) for Waxman graph (5 nodes, 3 arcs) with scaled demands. D UnitOSPF RandomOSPF F&T 387 1. (.1) 1. (.1) 1.13 (.) 1. (.13) 1. (.1) 1. (.1) 6574 1. (.3) 1. (.3) 1.1 (.38) 1. (.7) 1. (.3) 1. (.) 986 1. (.35) 1. (.35) 1.3 (.63) 1. (.33) 1. (.34) 1. (.31) 13149 1.5 (.46) 1.5 (.46) 1.5 (.7) 1.1 (.41) 1.3 (.45) 1.1 (.41) 16436 1.13 (.58) 1.13 (.58) 1.84 (.94) 1.3 (.51) 1.1 (.53) 1.3 (.51) 1973 1.3 (.7) 1.3 (.7) 7.99 (1.15) 1.1 (.65) 1. (.6) 1.9 (.61) 311 1.39 (.81) 1.39 (.81) 37.4 (1.35) 1.1 (.71) 1.3 (.73) 1.19 (.71) 698 1.63 (.93) 1.63 (.93) 14.8 (1.54) 1.35 (.81) 1.49 (.81) 1.3 (.81) 9585.71 (1.4).71 (1.4) 48.7 (1.86) 1.51 (.9) 1.7 (.9) 1.48 (.9) 387 1.8 (1.16) 1.8 (1.16) 7.3 (.17) 1.9 (1.). (1.) 1.83 (1.) 36159 38.71 (1.8) 38.71 (1.8) 515.65 (.6) 3.89 (1.1) 4.34 (1.1).84 (1.1) 39447 78.8 (1.39) 78.8 (1.39) 587.54 (.5) 11.9 (1.) 1.11 (1.) 4.3 (1.) 4734 1.75 (1.51) 1.75 (1.51) - (-) - (-) - (-) 5.65 (-) 461 177.4 (1.63) 177.4 (1.63) - (-) - (-) - (-) 1.4 (-) Table 13. Routing costs and (max-utilization) for Waxman graph (1 nodes, 391 arcs) with scaled demands. D UnitOSPF F&T 439 1. (.16) 1. (.16) 1. (.19) 1. (.16) 1. (.1) 879 1. (.33) 1. (.33) 1. (.3) 1. (.33) 1. (.3) 1118 1.1 (.49) 1.1 (.49) 1. (.36) 1. (.35) 1. (.35) 16158 1.3 (.66) 1.3 (.66) 1.1 (.48) 1. (.47) 1.1 (.47) 197 1.9 (.8) 1.9 (.8) 1.1 (.6) 1.6 (.58) 1.1 (.58) 437 1.4 (.99) 1.4 (.99) 1.5 (.7) 1.13 (.7) 1.4 (.7) 876 4.66 (1.15) 4.66 (1.15) 1.13 (.8) 1.3 (.8) 1.11 (.8) 3316 1.37 (1.3) 1.37 (1.3) 1.5 (.93) 1.39 (.93) 1.3 (.93) 36355 3. (1.48) 3. (1.48) 1.6 (1.5) 1.78 (1.5) 1.57 (1.5) 4395 3.3 (1.65) 3.3 (1.65) 4.39 (1.17) 4.68 (1.17) 4.36 (1.17) 44434 4.64 (1.81) 4.64 (1.81) 8.19 (1.8) 8.64 (1.8) 8.14 (1.8) 48474 54.56 (1.98) 54.56 (1.98) 11.43 (1.4) 1.3 (1.4) 11.35 (1.4) A GA FOR WEIGHT SETTING IN OSPF ROUTING 9

3 M. ERICSSON, M.G.C. RESENDE, AND P.M. PARDALOS Table 14. Routing costs and (max-utilization) for Waxman graph (1 nodes, 476 arcs) with scaled demands. D UnitOSPF F&T 591 1. (.14) 1. (.14) 1. (.13) 1. (.14) 1. (.11) 158 1. (.8) 1. (.8) 1. (.8) 1. (.8) 1. (.) 15873 1.1 (.4) 1.1 (.4) 1. (.33) 1.1 (.34) 1. (.33) 1164 1.6 (.56) 1.6 (.56) 1. (.44) 1.5 (.5) 1. (.44) 6455 1.13 (.7) 1.13 (.7) 1.4 (.61) 1.11 (.67) 1.3 (.55) 31747 1.5 (.84) 1.5 (.84) 1.1 (.67) 1. (.66) 1.9 (.66) 3738 1.49 (.98) 1.49 (.98) 1. (.77) 1.34 (.77) 1.19 (.77) 439 3.38 (1.1) 3.38 (1.1) 1.36 (.88) 1.56 (.88) 1.3 (.88) 476 18.8 (1.5) 18.8 (1.5) 1.61 (.99) 1.9 (.99) 1.54 (.99) 5911 38.94 (1.39) 38.94 (1.39).55 (1.1) 3.14 (1.1).41 (1.1) 58 69.4 (1.53) 69.4 (1.53) 1.46 (1.) 1.75 (1.) 9.6 (1.) 63493 13.43 (1.67) 13.43 (1.67) 19.77 (1.31).13 (1.31) 19.49 (1.31) When comparing with the local search procedure of Fortz and Thorup (F&T), we can generally state that the two heuristics find equally good solutions on the AT&T Worldnet backbone network instance, the -level hierarchical network instances, and the Waxman graph instances. On all four random graph instances, however, we observe that the gap between the solution and the lower bound is larger than the corresponding gap for F&T. These graphs as well as the small Waxman graphs are those where the performance of F&T also degrades, which may suggest that the gap between OSPF and the lower bound is large. The running times of varied from about 1 minutes to about 4 minutes on the IBM machine, while Fortz and Thorup mention CPU times only when they say that 5 iterations of their algorithm took about one hour [1]. We chose an arbitrary 7 generations for the runs on the AT&T Worldnet backbone instance. With this number of generations, was able to find solutions similar in quality to those found by the Fortz and Thorup local search. To investigate the tradeoff between longer runs and solution quality, we performed ten independent runs of (using different random number generator seeds) on the AT&T instance with a total demand 3761. Each run consisted of 8 generations. The plots of the incumbent objection function value as a function of running time (on the SGI Challenge computer) for each of the ten runs is shown in Figure 16. The figure shows that all ten runs improve upon the Fortz and Thorup solution (.7) within 3 seconds. From that point on, all runs continued improving the incumbent. The best run produced a value of.5138, closer to the LP lower bound of.4 than to the Fortz and Thorup solution. RandomOSPF does better than both UnitOSPF and for the AT&T and hierarchical graphs, but is always worse on the random and Waxman graphs. This is why we did not include RandomOSPF in the experiments for some of the larger instances. 5. Concluding remarks A new genetic algorithm for finding good weight settings for OSPF routing was proposed in this paper. The algorithm was tested on several networks and compared with results produced by other heuristic approaches, as well as a linear programming lower bound. The results show that the algorithm produces good-quality solutions