Download presentation
Presentation is loading. Please wait.
1
Network Simplex Animations
and 6.855J Network Simplex Animations Obtain a network, and use the same network to illustrate the shortest path problem for communication networks, the max flow problem, the minimum cost flow problem, and the multicommodity flow problem. This will be a very efficient way of introducing the four problems. (Perhaps under 10 minutes of class time.)
2
Calculating A Spanning Tree Flow
A tree with supplies and demands. (Assume that all other arcs have a flow of 0) 1 1 -6 2 7 3 1 3 6 -4 What is the flow in arc (4,3)? 2 4 5 3
3
Calculating A Spanning Tree Flow
To calculate flows, iterate up the tree, and find an arc whose flow is uniquely determined. 1 1 -6 2 7 3 1 3 6 -4 2 What is the flow in arc (5,3)? 2 4 5 3
4
Calculating A Spanning Tree Flow
1 1 What is the flow in arc (3,2)? -6 2 7 3 1 3 6 -4 2 3 2 4 5 3
5
Calculating A Spanning Tree Flow
1 1 What is the flow in arc (2,6)? -6 2 7 3 6 1 3 6 -4 2 3 2 4 5 3
6
Calculating A Spanning Tree Flow
1 1 What is the flow in arc (7,1)? -6 2 7 3 6 4 1 3 6 -4 2 3 2 4 5 3
7
Calculating A Spanning Tree Flow
1 1 What is the flow in arc (1,6)? 3 -6 2 7 3 6 4 1 3 6 -4 2 3 2 4 5 3
8
Calculating A Spanning Tree Flow
1 1 Note: there are two different ways of calculating the flow on (1,2), and both ways give a flow of 4. Is this a coincidence? 4 3 -6 2 7 3 6 4 1 3 6 -4 2 3 2 4 5 3
9
Calculating Simplex Multipliers for a Spanning Tree
1 Here is a spanning tree with arc costs. How can one choose node potentials so that reduced costs of tree arcs is 0? 5 -6 2 7 -4 3 3 6 -2 1 Recall: the reduced cost of (i,j) is cij - i + j 4 5
10
Calculating Simplex Multipliers for a Spanning Tree
There is a redundant constraint in the minimum cost flow problem. 1 5 -6 2 7 One can set 1 arbitrarily. We will let i = 0. -4 3 3 6 -2 1 What is the simplex multiplier for node 2? 4 5
11
Calculating Simplex Multipliers for a Spanning Tree
The reduced cost of (1,2) is c12 - 1 + 2 = 0. Thus 2 = 0. 1 5 -6 -5 2 7 -4 3 3 6 -2 1 What is the simplex multiplier for node 7? 4 5
12
Calculating Simplex Multipliers for a Spanning Tree
The reduced cost of (1,2) is c71 - 7 + 1 = 0. Thus -6 - 2 +0 = 0. 1 5 -6 -5 2 7 -4 3 -6 3 6 What is the simplex multiplier for node 3? -2 1 4 5
13
Calculating Simplex Multipliers for a Spanning Tree
1 5 -6 -5 2 7 -4 3 -6 -2 3 6 What is the simplex multiplier for node 6? -2 1 4 5
14
Calculating Simplex Multipliers for a Spanning Tree
1 5 -6 -5 2 7 -4 3 -6 -2 3 6 -1 What is the simplex multiplier for node 4? -2 1 4 5
15
Calculating Simplex Multipliers for a Spanning Tree
1 5 -6 -5 2 7 -4 3 -6 -2 3 6 -1 What is the simplex multiplier for node 5? -2 1 -4 4 5
16
Calculating Simplex Multipliers for a Spanning Tree
These are the simplex multipliers associated with this tree. They do not depend on arc flows, nor on costs of non-tree arcs. 1 5 -6 -5 2 7 -4 3 -6 -2 3 6 -1 -2 1 -4 4 5 -1
17
Network Simplex Algorithm
U 2 -4 2, $4 1 4 4, $2 3, $4 3 4, $2 4, $1 1, $4 3, $5 5, $5 2 5 5 -3 The minimum Cost Flow Problem
18
Spanning tree flows 2 -4 1 4 3 2 5 5 -3 T L U
2 3 2 5 5 -3 An Initial Spanning Tree Solution
19
Simplex Multipliers and Reduced Costs
-4 1 4 2 3 c45 = 2 3 ? -2 4 2 5 3 -2 What arcs are violating? The initial simplex multipliers and reduced costs
20
Add a violating arc to the spanning tree, creating a cycle
u14, x14 T L U 2, 1 1 4 4,1 3,3 3 4, 0 4,0 1, 0 3,2 5, 3 2 5 What is the cycle, and how much flow can be sent? Arc (2,1) is added to the tree
21
Send Flow Around the Cycle
u14, x14 T L U 2, 1 1 4 4,3 3,3 3 4, 0 4,2 1, 0 3,0 5, 3 2 5 What is the next spanning tree? 2 units of flow were sent along the cycle.
22
After a pivot u14, x14 T L U 2, 1 1 4 4,3 3,3 3 4, 0 4,2 1, 0 3,0 5, 3 2 5 In a pivot, an arc is added to T and an arc is dropped from T. The Updated Spanning Tree
23
Updating the Multipliers
-4 1 4 2 3 3 4 -2 4 2 5 How can we make cp21 = 0 and have other tree arcs have a 0 reduced cost? 3 -2 The current multipliers and reduced costs
24
Deleting (2,1) from T splits T into two parts
U -4 1 4 2 3 3 4 -2 4 2 5 What value of should be chosen to make the reduced cost of (2,1) = 0? 3+ -2+ Adding to nodes on one side of the tree does not effect the reduced costs of any tree arc except (2,1). Why?
25
The updated multipliers and reduced costs
-4 1 4 2 3 3 2 2 2 2 5 Is this tree solution optimal? 1 -4 The updated multipliers and reduced costs
26
Add a violating arc to the spanning tree, creating a cycle
U 2, 1 1 4 4,3 3,3 3 4, 0 4,2 1, 0 3,0 5, 3 2 5 What is the cycle, and how much flow can be sent? Add arc (3,4) to the spanning tree
27
Send Flow Around the Cycle
2, 2 1 4 4,2 3,2 3 4, 0 4,2 1, 0 3,0 5, 3 2 5 What is the next spanning tree solution? 1 unit of flow was sent around the cycle.
28
The next spanning tree solution
2, 2 1 4 4,2 3,2 3 4, 0 4,2 1, 0 3,0 5, 3 2 5 Here is the updated spanning tree solution
29
Updated the multipliers
-4 1 4 2 3 3 2 2 2 2 5 How should we modify the multipliers? 1 -4 Here are the current multipliers
30
Updated the multipliers
-4 + 1 4 2 3 3 2 2 2 2 5 What value should be? 1 -4 Here are the current multipliers
31
The updated multipliers
-6 -2 1 4 3 3 4 2 2 2 5 Is the current spanning tree solution optimal? 1 -4 Here are the updated multipliers.
32
The Optimal Solution -6 1 4 3 2 5 1 -4 T L U
-6 -2 1 4 3 3 4 2 2 2 5 No arc violates the optimality conditions. 1 -4 Here is the optimal solution.
33
Finding the Cycle 1 8 7 2 3 6 9 12 10 11 5
34
Use Depth and Predecessor
1 8 7 depth(5) = 4; depth(3) = 2; replace node 5 by pred(5) 2 2 3 6 9 12 10 11 5 4
35
Use Depth and Predecessor
1 8 7 depth(9) = 3; depth(3) = 2; replace node 9 by pred(9) 2 2 3 6 9 3 12 10 11 5
36
Use Depth and Predecessor
1 8 7 depth(2) = 2; depth(3) = 2; replace node 2 by pred(2); replace node 3 by pred(3) 2 2 2 3 6 9 12 10 11 5
37
Use Depth and Predecessor
1 1 1 8 7 depth(8) = 1; depth(7) = 1; replace node 8 by pred(8); replace node 7 by pred(1) 2 3 6 9 12 10 11 5
38
Use Depth and Predecessor
1 8 7 The least common ancestor of nodes 3 and 5 has been found. 2 3 6 9 12 10 11 5
39
Updating the multipliers: use the thread and depth
1 Suppose that arc (1,8) will drop out of the tree. What is the subtree rooted at node 8? 8 7 2 3 6 9 12 10 11 5
40
Follow the thread starting with node 8
1 What is thread(8)? 8 7 2 3 6 9 12 10 11 5
41
Follow the thread starting with node 8
1 What is thread(3)? 8 7 2 3 6 9 12 10 11 5
42
Follow the thread starting with node 8
1 What is thread(10)? 8 7 2 3 6 9 12 10 11 5
43
Follow the thread starting with node 8
1 What is thread(11)? 8 7 2 3 6 9 12 10 11 5
44
Follow the thread starting with node 8
1 What is thread(6)? 8 7 2 3 6 9 12 10 11 5
45
The stopping rule Stopping rule: stop when depth(current node) depth(8) 1 depth = 1 8 7 depth = 1 2 3 6 9 12 10 11 5
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.