670 likes | 786 Views
Problemas de otimização em network design e biologia: Ajuste de pesos em roteamento sob OSPF Correspondência de grafos em reconhecimento de cenas. Celso Carneiro Ribeiro. Seminário do Departamento de Informática PUC-Rio, Junho 2002. Weight setting in OSPF routing.
E N D
Problemas de otimização em network design e biologia: • Ajuste de pesos em roteamento sob OSPF • Correspondência de grafos em reconhecimento de cenas Celso Carneiro Ribeiro Seminário do Departamento de Informática PUC-Rio, Junho 2002 Problemas de otimização em network design e biologia
Weight setting in OSPF routing • Weight setting in OSPF routing • Genetic algorithm for OSPF routing • Population dynamics • Parallel GA for OSPF routing • Numerical results and conclusions Problemas de otimização em network design e biologia
Weight setting in OSPF routing • Internet traffic has been doubling each year Coffman & Odlyzko (2001):in the 1995-96 period (introduction of web browsers), traffic doubled every three months! • Increasingly heavy traffic (due to video, voice, etc.) is raising the requirements of the Internet of tomorrow. Problemas de otimização em network design e biologia
Weight setting in OSPF routing • Objective of traffic engineering: make more efficient use of existing network resources • Routing of traffic can have a major impact on the efficiency of network resource utilization Problemas de otimização em network design e biologia
Packets of information Contains necessary routing information, such as IP destination address. body header Information sent over the Internet is broken into chunks, called packets or datagrams. Problemas de otimização em network design e biologia
D1 R1 D2 R2 R3 D3 R4 D4 Packet routing Packet’s final destination. When packet arrives at router, router must decide where to send it next. router router router router router Routing consists in finding a path from source to destination. Routing table Problemas de otimização em network design e biologia
Autonomous systems To decrease the complexity of routing, the Internet is divided into smaller domains, called Autonomous Systems. AS2 AS1 AS4 Routing within an AS is done via Interior Gateway Protocols (IGP), while between AS’s Exterior Gateway Protocols (EGP) are used. AS3 Problemas de otimização em network design e biologia
OSPF (Open Shortest Path First) • OSPF is the most commonly used intra-domain routing protocol (IGP). • It requires routers to exchange routing information with all other routers in the AS. • Complete network topology knowledge is available to all routers, i.e. state of all routers and links in the AS. Problemas de otimização em network design e biologia
Weight setting in OSPF routing • Each link in the AS is assigned an integer weight [1,65535=2161] • Smaller weights may be used: MAX • Each router computes tree of shortest weight paths to all other routers in the AS, with itself as the root, using Dijkstra’s algorithm. Bottom: Cisco 7000 router Top: ForeRunner ASX-200 ATM switch Problemas de otimização em network design e biologia
Weight setting in OSPF routing Routing table is filled with first hop routers for each possible destination. In case of multiple shortest paths, flow is evenly split. Routing table D1 R1 root D2 R1 R2 D3 R3 First hop routers. D4 1 2 3 D5 R1 D6 R3 6 1 5 3 4 Destination routers 2 Cisco 12400 routers Problemas de otimização em network design e biologia
Weight setting in OSPF routing • OSPF weights are assigned by network operator • CISCO assigns, by default, a weight proportional to the inverse of the available link bandwidth. • If all weights are unit, the cost of a path is the number of hops in the path. • Fortz & Thorup (2000): weight setting by using local search on large networks with up to 100 nodes and 503 links • Ericsson, Pardalos, & Resende (2001): genetic algorithm Problemas de otimização em network design e biologia
Minimization of congestion • Directed capacitated network G = (N,A,c), where N are routers, A are links, and cais the capacity of link a A. • Same measure of Fortz & Thorup (2000) to compute congestion (also used for PVC routing): = 1(L1) + 2(L2) + … + |A|(L|A|) La is the load on link a A,a(La) is piecewise linear and convex, and a(0) = 0, for all a A. Problemas de otimização em network design e biologia
Piecewise linear and convex a(La) link congestion measure slope = 5000 slope = 500 slope = 3 slope = 10 slope = 1 slope = 70 (Laca ) Problemas de otimização em network design e biologia
Weight setting in OSPF routing • Given a directed network G = (N, A ) with link capacities ca A and demand matrix D = (ds,t ) specifying a demand to be sent from node s to node t : • Assign weights wa[1,65535] to each link a A, such that the objective function is minimized when demand is routed according to the OSPF protocol. • Weights are computed off-line and do not change often Problemas de otimização em network design e biologia
Genetic algorithms done Initialize and evaluate P (0); Set t = 1 Test termination Generate P (t ) from P (t1) crossover Alter P (t ) mutation P (t ) is population of solutions at generation t. t = t + 1 Evaluate P (t ) Problemas de otimização em network design e biologia
GA for OSPF: solution encoding • Ericsson, Pardalos, & Resende (2001) • A population consists of nPop integer weight arrays: w = (w1, w2,…, w|A|), where wa [1,MAX] • All possible weight arrays correspond to feasible solutions, i.e., every weight setting is feasible • nice problem feature for application of a GA Problemas de otimização em network design e biologia
GA for OSPF: fitness evaluation • Route each demand pair (s,t ) using OSPF • Compute loads Las,t on each link a A • Add up loads on each link a A, yielding total load La on link • Compute link congestion cost a(La) for each link a A • Add up costs: = 1(L1) + 2(L2) + … + |A|(L|A|) Problemas de otimização em network design e biologia
Initial population • nPop 10 solutions with randomly generated arc weights, uniformly in the interval [1,MAX] • Weight settings of two other common heuristics: • OSPF (unit): all weights set to 1 • OSPF (invCap): each arc weight is set inversely proportional to its arc capacity • OSPF (fractions): all weights set to .MAX, with = 1/8, 1/4, 3/8, 1/2, 5/8, 3/4, 7/8, 1 all but invCap lead to the same routing decisions (all weights are equal) Problemas de otimização em network design e biologia
Population partitioning Class A 20% most fit Population is sorted according to fitness (solution value) and solutions are classified into three categories. Class B Class C 10% least fit Problemas de otimização em network design e biologia
Class A Class A is promoted unchanged Class B is replaced by crossover of: one Class A parent and Class B one Class B or C parent. Class C Class C is replaced by randomly generated solutions. Population dynamics generation t + 1 generation t Class A Class B Class C Problemas de otimização em network design e biologia
Parent selection • Parents are chosen at random: • one parent from Class A (elite) • one parent from Class B or C (non-elite) • Reselection is allowed, i.e. parents can breed more than once per generation • Better individuals are more likely to reproduce Problemas de otimização em network design e biologia
Crossover with random keys Bean (1994): crossover combines elite parent p1 with non-elite parent p2 to produce child c : for all genes i = 1,2,…,|A | do if rrandom[0,1] < 0.01 then c [i ]= irandom[1,MAX] else if rrandom[0,1] < 0.7 then c [i ]= p1[i ] else c [i ]= p2[i ] end With small probability child has single gene mutation. Child is more likely to inherit gene of elite parent. Problemas de otimização em network design e biologia
Parallel GA: local search • Combine GA with local search • LS with cost recomputations from scratch: • For each arc e with current weight we do: • Temporarily replace arc weight by (1+ we)/2 • Evaluate fitness • If new improved solution, update weight and go to next arc • Otherwise, temporarily replace arc weight by (MAX+ we)/2 • Evaluate fitness • If new improved solution, update weight • Go to next arc • Until no further improvement is possible Problemas de otimização em network design e biologia
Parallel GA: local search • Variants: • V-1: at each processor, apply LS to the best solution whenever it is improved • V-2: at each processor, always apply LS to the best non-locally optimal solution Problemas de otimização em network design e biologia
Parallel GA: cooperation • P processors • Whenever a processor improves its incumbent, the latter is broadcasted to: • all other processors • all closest log P processors (logical organization) • At the beginning of each generation, every processor replaces its worst solutions by those sent by other processors Problemas de otimização em network design e biologia
Numerical results • Work-in-progress, preliminary results: GA, LS • Combine GA+LS? Cooperative // GA? Scatter search? • One real world network: AT&T Worldnet backbone with 90 nodes, 274 links, and 272 pairs • Compared with cost and maximum utilizations of the LB lower bound and several heuristics: • OSPF(invCap) • Local search of Fortz and Thorup (2000) • Original sequential GA of Ericsson et al. (2001) • LP lower bound Problemas de otimização em network design e biologia
Concluding remarks • Sequential GAOSPF produced as good solutions as LS for most instances, even better in some cases. • GA generally finds good solutions close to the LP lower bound. • //GA+LS works very well on real-world AT&T Worldnet backbone network, significantly increasing traffic and Internet capacity over CISCO’s recommended weight setting strategy. • Extensions: speedup LS, improve cooperation, evaluate effects, scatter search Problemas de otimização em network design e biologia
Graph matching for scene recognition • Scene recognition • Graph matching • Problem formulation • GRASP heuristic Problemas de otimização em network design e biologia
Scene recognition • The recognition of complex scenes requires not only a detailed description of the objects involved, but also of the spatial relationships between them. • The diversity of the forms of the same object in different instantiations of a scene, and also the similarities of different objects in the same scene make relationships between objects of prime importance in order to remove ambiguities in the recognition of objects with similar appearance. Problemas de otimização em network design e biologia
Scene recognition • Graph based representations often used for scene representation in image processing: • Vertices represent the objects in the scene • Edges represent the relationships between the objects • Relevant information for the recognition is extracted from the scene and represented by relational attributed graphs. • Model-based recognition: both the model and the scene are represented by graphs • graph matching Problemas de otimização em network design e biologia
Motivation • Medical imaging: recognition of brain structures from magnetic resonance images • Model: each node represents one anatomical structure, while edges represent spatial relationships. • Inaccuracies are one of the main problem characteristics: • Unexpected objects (pathologies, for instance) • Expected objects not found • Deformations of objects • Attributes in the image and in the model may be imprecise Problemas de otimização em network design e biologia
Motivation (a) normal brain (b) pathological brain with a tumor (c) representation of a brain atlas (each grey level corresponds to a unique connected structure) Problemas de otimização em network design e biologia
Scene recognition • Similar problems: character recognition, aerial or satellite image interpretation using a map, face recognition, etc. • Search for the best correspondence formulated as a combinatorial optimization problem defined by the relational attributed graphs representing the model and the image, together with node and edge similarities between them. Problemas de otimização em network design e biologia
Graph matching • Attributed graphs widely used in pattern recognition problems: construction depends on the imperfections of the scene or of the model, and on the attributes of the object relations • One single vertex for each region of each image • Once the graph has been constructed, vertex and edge attributes are computed. • Finally, vertex-similarity and edge-similarity matrices are computed from the values of the attributed graphs, relating each pair of vertices and each pair of edges (one from the model, the other from the segmented image). Problemas de otimização em network design e biologia
Graph matching • G1 = (N1,E1): model • G2 = (N2,E2): over-segmented image • Each solution of the graph matching problem is a correspondence between the vertex and edges of the graphs representing the model and the image Problemas de otimização em network design e biologia
Example: two solutions Problemas de otimização em network design e biologia
Graph matching • Each node of G2 is associated with one node of G1: • xij = 1, if nodes i N1and j N2 are associated • xij = 0, otherwise. • Each solution may be represented by a bipartite graph G' = (N1 N2,E'): • each edge (i,j) E‘ = {(i,j), i N1, j N2 | xij = 1} corresponds to the association of i N1 with j N2. • A(i) = { j N2 | (i,j) E'} is the subset of nodes of N2 associated with i N1 Problemas de otimização em network design e biologia
Objective function • Similarity matrices constructed from similarity values calculated from graph attributes. • sv(i,j) [0,1] represents the vertex-similarity between vertices i N1 and j N2 • se(u,v) [0,1] represents the edge-similarity between edges u E1 and v E2 Problemas de otimização em network design e biologia
Objective function Maximize G’ Problemas de otimização em network design e biologia
Constraints • exactly one node i N1 such that (i,j) E‘ (i.e. xij = 1), j N2 • The subgraph induced in G2 by A(i) is connected, i N1 • at least one node j N2 such that (i,j) E', i N1 • xij = 1 sv(i,j) > 0, i N1, j N2 Problemas de otimização em network design e biologia
GRASP For i = 1,…,MaxIterations Build a feasible correspondence; Apply local search to improve the correspondence; Update the best solution found; End; Problemas de otimização em network design e biologia
Construction For k = 1,…,MaxTrials Generate a random permutation of N2; For each node j N2 Randomly search all nodes in N1; Associate to j a node i N1 satisfying the constraints; Remove i from N1; End; If a feasible solution was built, then return; End; Problemas de otimização em network design e biologia
Local search • Iterative improvement (first improvement) • Neighborhood: • Consider every pair of nodes j1 N2, j2 N2 • Let i1 = A-1(j1) and i2 = A-1(j2) • Exchange the associations: A(i1) A(i1) – {j1} {j2}A(i2) A(i2) – {j2} {j1} Problemas de otimização em network design e biologia
Example Cut of a muscle: (a) original 2-D image (b) model (c) over-segmented image 14 vertices 26 edges 28 vertices 62 edges Problemas de otimização em network design e biologia
Summary • Data: • Image to be recognized • Atlas of images • Examples: • Identification of tumors • Facial recognition • Images represented by graphs: • Nodes: image regions • Edges: relations among regions (boundaries) • Attributes: colors, intensities, adjacencies, etc. Problemas de otimização em network design e biologia