dmor networks. graphs: koenigsberg bridges leonard euler problem (1736)

Post on 19-Jan-2016

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

DMOR

Networks

Graphs: Koenigsberg bridges

Leonard Euler problem (1736)

Nodes

Edges

Is there a walk which uses each edge exactly once?

Build two more bridges.

Each such walk has to enter and leave any given node. The degree of any node has to be even.

Eulerian cycle

Hamiltonian cycle

Travelling salesman problem

TSP - cycle

Duration: 2 d 7 h 2 m Length: 3615 km

TSP - trail

Duration: 2 d 4 h 37 mLength: 3436 km

TSP – a real walk

Duration: 29 d 11 h 21 m Length: 3485 km

Travelling salesman problem TSP• Mathematically

• Variable xij = 1, if the salesman passes from i to j, 0 otherwise• Going from one city to the same city is forbidden• Is this all ???

min𝑥𝑖𝑗 𝑑𝑖𝑗𝑥𝑖𝑗𝑗𝑖≠𝑗𝑖 p.w. 𝑥𝑖𝑗𝑗𝑖≠𝑗

= 1, for all 𝑖 𝑥𝑖𝑗𝑖𝑖≠𝑗

= 1, for all 𝑗 𝑥𝑖𝑗 = 0 or 1, for all 𝑖 and 𝑗,where 𝑖 ≠ 𝑗

TSP

• Is this all?• Let’s say our solution with 5 cities is

x12=x23=x31=x45=x54=1• It satisfies all the constraints. But it involves

subtours (cycles involving fewer than all cities)• We need to introduce additional constraints

Subtour elimination• For two cities

• For three cities

• For four cities

• Etc.• In practical implementation too many constraints: with 30 cities there

would be 870 constraints eliminating only subtours of length 2

Subtour eleimination – second approach

• Introduce nonnegative variables ui:

• Subtours are eliminated

• How many such constraints? • (N-1)2-N, i.e. with 30 cities there would be 812 constraints.

Game

• http://www.tsp.gatech.edu/games/index.html

Introduction to networks• Two main elements:

– arcs/edges – nodes

• A graph is a structure consisting of nodes and arcs bewteen nodes• A directed graph (a digraph) is a graph in which arcs have a given

direction • A network is a graph (or digraph), in which arcs have a flow assigned to it• Simple examples:

Nodes Arcs Flow

Cities Highways Cars

Hubs Wire Transmitted packets

Pipelines joints Pipes Water

Introduction to networks• Chain is a sequence of arcs connecting two nodes i and j, e.g. figure on

the right: ABCE, ADCE• Path is a sequence of directed arcs connecting two nodes , e.g. figure

on the right ABDE, but not ABCE• Cycle is a chain, which connects a node with the same node without

any repetition (retracing) e.g. figure on the right ABCEDA, but not ABCDECBA

• Connected graph/network has only one part

Graph Directed graph

Introduction to networks• Tree – a connected graph which does not have cycles.• Spanning tree is a tree chosen among arcs in the graph

so that all nodes in the tree were connected

Two spanning treesTwo trees

• Flow capacity – upper (sometimes also lower) limit for the flow at a given arc in the network, e.g. maximal number of cars that can pass per minute at a given road

• Source is a node which introduces a flow into the network • Sink is a node which takes the flow out of the network

The shortest route problem

• Formulation: For a given graph in which every arc is assigned with a distance bewteen the two nodes it connects, what is the shortest path between node i and j.

• Example: What is the shortest route bewteen A and H?

Enumeration – impractical

Dijkstra algorithm

Dijkstra algorithm

http://optlab-server.sce.carleton.ca/POAnimations2007/DijkstrasAlgo.html

Minimum spanning tree

• Formulation: For a given graph, in which every arc is assigned with a distance between the two nodes it connects, find a spanning tree that has minimal total length.

• Example: Find minimal length for a wire that connects all the offices in the building when all the available wire paths are given.

• Algorithm:

An example of the so called greedy algorithm – it does what’s best in a given step not looking at the other stages of the problem (usually ineffective – here it is effective!)

One can do a maximal spanning tree the same way

http://optlab-server.sce.carleton.ca/POAnimations2007/MinSpanTree.html

Maximum flow and the minimum cut

• Formulation: What is the maximal flow between two given nodes in a graph? Each node is assigned with a maximal flow.

• Example: Find a maximal flow of cars from an underground parking lot downtown to the motorway entrance.

• Each arc is assigned with a maximal simultaneous flow between the two nodes it connects – Maximal flow may differ depending on the flow direction (e.g. one-way streets)

Example solution:4 cars/m on route A-D-E-G

3 cars/m ojn route A-B-E-G

4 cars/m on route A-C-F-G

Total flow between A and G is 11 cars/m

Is this optimal???

Maximum flow and the minimum cut

• Algorithm: Ford and Fulkerson (Canadian Journal of Mathematics 1956)

http://optlab-server.sce.carleton.ca/POAnimations2007/MaxFlow.html

• In Ford Fulkerson algorithm, why do we need to add flow in the opposite direction?– Accounting convention that keeps track of the flow that, if necessary, can be

reversed.

Maximum flow/minimum cut

• Maximum flow is closely related to minimum cut:– A cut in a graph is a set of directed arcs which contains at least one arc in every

possible path from the source to the sink. If we remove arcs from a given cut, the flow from the source to the sink will no longer be possible.

– Cut value is the sum of all flow capacities (direction from the source to the sink) for each arc in a cut.

• Possible cuts with cut values indicated on them

Maximum flow/minimum cut

top related