Title: 15.082J and 6.855J
115.082J and 6.855J
- Successive Shortest Path Algorithm
2The Original Costs and Node Potentials
0
0
4
2
4
7
5
2
1
1
0
6
2
3
5
0
0
3The Original Capacities and Supplies/Demands
5
-2
10
2
4
30
25
23
20
1
20
20
25
3
5
-7
-19
4Select a supply node and find the shortest paths
shortest path distance
7
8
4
2
4
7
5
0
The shortest path tree is marked in bold and blue.
2
1
1
6
2
3
5
8
6
5Update the Node Potentials and the Reduced Costs
-7
-8
4
3
2
4
7
5
0
0
2
6
1
1
0
0
6
2
3
5
0
-8
-6
6Send Flow From a Supply Node to a Demand Node
Along Shortest Paths (along arcs with reduced
costs of 0)
5
-2
Arc numbers are residual capacities. Red arcs
have a reduced cost of 0
10
2
4
30
25
23
20
1
20
send 7 units from node 1 to node 3
20
25
3
5
-7
-19
7Update the Residual Network
5
-2
If an arc is added to G(x), then it has a reduced
cost of 0, and it is red.
10
2
4
30
25
23
20
1
20
16
Arcs in the residual network will always have a
non-negative reduced cost
7
13
25
3
5
Arc (3,1) has a reduced cost of 0
-7
-19
0
8A comment
- At this point, one would choose a source node,
and then find the shortest path from the source
node to all other nodes, and then update the
residual network. - However, there are still paths of 0 reduced cost
in the residual network, and it makes sense to
use them. This heuristic is quite useful in
practice.
9Send Flow From a Supply Node to a Demand Node
Along Shortest Paths
5
-2
10
Recall that red arcs have a reduced cost of 0
2
4
30
25
20
1
20
16
7
Send 2 units of flow from node 1 to node 4
13
25
3
5
0
-19
10Update the Residual Network
5
-2
0
10
2
4
30
2 units of flow were sent from node 1 to node 4
on 1-3-4
25
18
1
20
16
2
9
14
11
25
3
5
0
-19
11Send Flow From a Supply Node to a Demand Node
Along Shortest Paths
5
0
10
2
4
Send flow from node 1 to node 5
30
25
18
14
1
20
2
How much flow should be sent?
9
11
25
3
5
0
-19
12Update the Residual Network
5
0
10
2
4
30
11 units of flow were sent from node 1 to node 5
25
18
14
1
20
2
3
20
14
3
5
-8
11
0
-19
13Select a supply node and find the shortest paths
-7
-8
3
2
4
The shortest path tree is marked in bold and blue.
0
0
6
1
1
0
0
0
The values on the nodes are the current node
potentials
0
3
5
0
-8
-6
14Update the node potentials and the reduced costs
-11
0
-7
-8
3
2
4
To obtain new node potentials, subtract the
shortest path distances from the old potentials.
0
0
3
1
1
0
0
3
0
3
5
0
-11
-8
-6
-9
15Send Flow From a Supply Node to a Demand Node
Along Shortest Paths
5
0
10
2
4
30
Send flow from node 1 to node 5
25
18
1
20
3
2
20
How much flow will be sent?
14
3
5
-8
11
0
16Update the Residual Network
5
0
8
2
4
2
28
25
2 units of flow were sent from node 1 to node 5
2
3
20
1
20
1
20
12
3
5
-8
13
0
-6
17Select a supply node and find the shortest paths
-7
-11
0
2
4
0
0
The shortest path tree is marked in bold and blue.
0
0
3
1
1
0
3
0
3
5
0
-11
-9
18Update the Node Potentials and the Reduced Costs
-7
-11
0
2
4
0
0
To obtain the new node potential, subtract the
shortest path distance from the old potential.
1
0
2
1
0
0
4
0
3
5
0
-11
-9
-12
-10
19Send Flow From a Supply Node to a Demand Node
Along Shortest Paths
5
0
8
2
4
2
28
Send flow from node 2 to node 5
25
2
20
1
20
1
How much flow can be sent?
20
12
3
5
13
0
-6
20Update the Residual Network
5
0
0
3
2
4
7
5 units of flow were sent from node 2 to node 6.
28
25
2
20
1
15
1
5
20
12
3
5
-1
13
0
-6
21Send Flow From a Supply Node to a Demand Node
0
0
3
2
4
7
28
Send flow from node 1 to node 5
25
2
20
1
15
1
5
20
12
3
5
-1
13
0
22Update the Residual Network
0
0
2
2
4
8
1 unit of flow was sent from node 1 to node 5.
27
25
3
0
20
1
14
1
6
The resulting flow is feasible, and also optimal.
20
12
3
5
-1
13
0
0
23The Final Optimal Flow
5
-2
10,8
2
4
30,3
25
23
20
1
20,6
20,20
25,13
3
5
-7
-19
24The Final Optimal Node Potentials and the Reduced
Costs
-7
-11
0
2
4
Flow is at lower bound.
1
0
2
1
0
0
-4
3
5
Flow is at upper bound
0
-12
-10