![Page 1: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/1.jpg)
Minimum Cost Flow: Basic Algorithms
![Page 2: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/2.jpg)
Assumptions
Assumption 9.1 : All data are integral.
Assumption 9.2 : The network is directed.
Assumption 9.3 : The minimum cost flow problem has a feasible solution and so
Assumption 9.4 : We assume that the network contains an incapacitated directed path between every pair of nodes.
Assumption 9.5 : All arc cost are nonnegative.
0)( Ni
ib
![Page 3: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/3.jpg)
Residual Networks
Network Original
j i (xij, cij,uij)
j i
Network Residual
(cij,uij- xij)
(-cij,xij)
![Page 4: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/4.jpg)
Optimality Conditions
• Negative Cycle Optimality Condition
• Reduced Cost Optimality Condition
• Complementary Slackness Optimality Condition
![Page 5: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/5.jpg)
Negative Cycle Optimality Condition
Theorem 9.1 (Negative Cycle Optimality Condition) A feasible
solution x* is an optimal solution of the minimum cost flow
problem iff x* , G(x*) contains no negative cycle.
![Page 6: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/6.jpg)
Cycle Canceling Algorithm
. update and along flow of units Augment 2.3
} in arcan is j)(i, :{rmin 2.2
),(in cycle negative aidentify 1.2
do cycle negative a contains )( while2
network in the flow feasible aestablish 1
ij
G(x)W
W
xGW
xG
x
![Page 7: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/7.jpg)
Cycle Canceling Algorithm
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(-4,4)
(2,5) (-3,4)
(2,2)
(5,3) 3
4
j i (cij,uij)
-5
-2
(6,4)
![Page 8: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/8.jpg)
Cycle Canceling Algorithm
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(-4,4)
(2,5) (-3,4)
(2,2)
(5,3)
j i (cij,uij)
(0,2)
s t (6,4)
(0,5)
(0,3)
(0,4)
Establishing a feasible flow
![Page 9: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/9.jpg)
Cycle Canceling Algorithm
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(-4,4)
(2,5) (-3,4)
(2,2)
(5,3)
j i (cij,uij)
(0,2)
s t (6,4)
(0,5)
(0,3)
(0,4)
3
3 5
4
4
2
2
Establishing a feasible flow
![Page 10: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/10.jpg)
Cycle Canceling Algorithm
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(-4,4)
(2,5) (-3,4)
(2,2)
(5,3)
4
j i (cij,uij)
(6,4)
3 3
4
2
-5
-2
Establishing a feasible flow
![Page 11: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/11.jpg)
Cycle Canceling Algorithm
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(-4,4)
(2,5) (-3,4)
(2,2)
(-5,3)
j i (cij,uij)
(6,4)
4
2
Constructing the residual Network
![Page 12: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/12.jpg)
Cycle Canceling Algorithm
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(4,4)
(2,5) (-3,4)
(2,2)
(-5,3)
j i (cij,uij)
(6,4) 2
Constructing the residual Network
![Page 13: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/13.jpg)
Cycle Canceling Algorithm
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(4,4)
(2,5) (-3,4)
(2,2)
(-5,3)
j i (cij,uij)
(6,2) (-6,2)
Establishing a negative cycle in the residual Network
![Page 14: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/14.jpg)
Cycle Canceling Algorithm
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(4,4)
(2,5) (-3,4)
(2,2)
(-5,3)
j i (cij,uij)
(6,2) (-6,2)
Establishing a negative cycle in the residual Network
![Page 15: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/15.jpg)
Cycle Canceling Algorithm
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(4,4)
(2,5) (-3,4)
(2,2)
(-5,3)
j i (cij,uij)
(6,2) (-6,2)
Augmenting along the negative cycle in the residual Network
![Page 16: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/16.jpg)
Cycle Canceling Algorithm
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(4,4)
(2,5) (-3,4)
(-2,2)
(-5,3)
j i (cij,uij)
(6,2) (-6,2)
Updating the residual Network
![Page 17: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/17.jpg)
Cycle Canceling Algorithm
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(4,4)
(2,5) (-3,4)
(-2,2)
(-5,3)
4
j i (cij,uij)
(6,4)
3 -5
-2
Updating the residual Network
![Page 18: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/18.jpg)
Cycle Canceling Algorithm
2
3 4
5 6
1
(-2,2)
(0,1)
(0,4)
(4,4)
(2,5) (-3,4)
(-2,2)
(-5,3)
4
j i (cij,uij)
(6,4)
3 -5
-2
Updating the residual Network
(0,2)
![Page 19: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/19.jpg)
Cycle Canceling Algorithm
2
3 4
5 6
1
(-2,2)
(0,1)
(0,4)
(4,4)
(2,5) (-3,4)
(-2,2)
(-5,3)
4
j i (cij,uij)
(6,4)
3 -5
-2
(0,2)
Establishing a negative cycle in the residual Network
![Page 20: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/20.jpg)
Cycle Canceling Algorithm
2
3 4
5 6
1
(-2,2)
(0,1)
(0,4)
(4,4)
(2,5) (-3,4)
(-2,2)
(-5,3)
j i (cij,uij)
(6,4)
(0,2)
Augmenting flow along the negative cycle in the residual Network
![Page 21: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/21.jpg)
Cycle Canceling Algorithm
2
3 4
5 6
1
(-2,1)
(0,1)
(0,4)
(4,4)
(2,5) (-3,3)
(-2,2)
(-5,3)
j i (cij,uij)
(6,4)
(0,2) (2,1)
(3,1)
Updating the residual Network
![Page 22: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/22.jpg)
Cycle Canceling Algorithm
2
3 4
5 6
1
(-2,1)
(0,1)
(0,4)
(4,4)
(2,5) (-3,3)
(-2,2)
(-5,3)
j i (cij,uij)
(6,4)
(0,2) (2,1)
(3,1)
There is no negative cycle in the residual network
![Page 23: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/23.jpg)
Establishing an Optimal flow in the original network
2
3 4
5 6
1
(-2,1)
(0,1)
(0,4)
(4,4)
(2,5) (-3,3)
(-2,2)
(-5,3)
(6,4)
(0,2) (2,1)
(3,1)
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(-4,4)
(2,5)
(2,2)
(5,3) 3
4
-5
-2
(6,4) (-3,4)
![Page 24: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/24.jpg)
Establishing an Optimal flow in the original network
2
3 4
5 6
1
(-2,1)
(0,1)
(0,4)
(4,4)
(2,5) (-3,3)
(-2,2)
(-5,3)
(6,4)
(0,2) (2,1)
(3,1)
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(-4,4)
(2,5)
(2,2)
(5,3) 3
4
-5
-2
(6,4) (-3,4)
1
![Page 25: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/25.jpg)
Establishing an Optimal flow in the original network
2
3 4
5 6
1
(-2,1)
(0,1)
(0,4)
(4,4)
(2,5) (-3,3)
(-2,2)
(-5,3)
(6,4)
(0,2) (2,1)
(3,1)
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(-4,4)
(2,5)
(2,2)
(5,3) 3
4
-5
-2
(6,4) (-3,4)
1 1
![Page 26: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/26.jpg)
Establishing an Optimal flow in the original network
2
3 4
5 6
1
(-2,1)
(0,1)
(0,4)
(4,4)
(2,5) (-3,3)
(-2,2)
(-5,3)
(6,4)
(0,2) (2,1)
(3,1)
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(-4,4)
(2,5)
(2,2)
(5,3) 3
4
-5
-2
(6,4) (-3,4)
1 1
1
![Page 27: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/27.jpg)
Establishing an Optimal flow in the original network
2
3 4
5 6
1
(-2,1)
(0,1)
(0,4)
(4,4)
(2,5) (-3,3)
(-2,2)
(-5,3)
(6,4)
(0,2) (2,1)
(3,1)
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(-4,4)
(2,5)
(2,2)
(5,3) 3
4
-5
-2
(6,4) (-3,4)
1 1
1
3
![Page 28: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/28.jpg)
Establishing an Optimal flow in the original network
2
3 4
5 6
1
(-2,1)
(0,1)
(0,4)
(4,4)
(2,5) (-3,3)
(-2,2)
(-5,3)
(6,4)
(0,2) (2,1)
(3,1)
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(-4,4)
(2,5)
(2,2)
(5,3) 3
4
-5
-2
(6,4) (-3,4)
1 1
1
3
4
![Page 29: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/29.jpg)
Establishing an Optimal flow in the original network
2
3 4
5 6
1
(-2,1)
(0,1)
(0,4)
(4,4)
(2,5) (-3,3)
(-2,2)
(-5,3)
(6,4)
(0,2) (2,1)
(3,1)
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(-4,4)
(2,5)
(2,2)
(5,3) 3
4
-5
-2
(6,4) (-3,4)
1 1
1
3
4
2
![Page 30: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/30.jpg)
Establishing an Optimal flow in the original network
2
3 4
5 6
1
(-2,1)
(0,1)
(0,4)
(4,4)
(2,5) (-3,3)
(-2,2)
(-5,3)
(6,4)
(0,2) (2,1)
(3,1)
2
3 4
5 6
1
(-2,2)
(0,1)
(0,6)
(-4,4)
(2,5)
(2,2)
(5,3) 3
4
-5
-2
(6,4) (-3,4)
1 1
1
3
4
2
2
![Page 31: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/31.jpg)
Complexity of Cycle Canceling
Algorithm
. update and along flow of units Augment 2.3
} in arcan is j)(i, :{rmin 2.2
),(in cycle negative aidentify 1.2
do cycle negative a contains )( while2
network in the flow feasible aestablish 1
ij
G(x)W
W
xGW
xG
x
),,( UnmM
)(mnO
)(nO
)(nO
)2( mCUO
)( 2nCUmO
![Page 32: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/32.jpg)
Result of Cycle Canceling Algorithm
flow.cost minimuminteger an has
problem flowcost mimimum theinteger, are emandssupplies/d
and capacities arc all If :Property)rality 9.10(Integ Theorem
![Page 33: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/33.jpg)
Reduced Cost
• Let π be a potential function then the reduced cost of
arc (i,j) is defined as flowing:
• Property 9.2 : For any directed path p from node k to
node l , and For any
directed cycle w , .
)()( jicc ijij
)()()()( lkpCpC
)()( wCwC
![Page 34: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/34.jpg)
Reduced Cost Optimality Conditions
• Theorem 9.3 (Reduced Cost Optimality Conditions): A
feasible solution x* is an optimal solution of the minimum cost
flow problem iff for some set of node potentials π satisfy the
following reduced cost optimality conditions:
0c )(),( ij
* xGji
• We say a set of node potentials π is optimal node potential if π satisfies the reduced cost optimality conditions
![Page 35: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/35.jpg)
Complementary Slackness Optimality Conditions
• Theorem 9.4 (Complementary Slackness Optimality Conditions):
A feasible solution x* is an optimal solution of the minimum cost
flow problem iff for some set of node potentials π , the reduced
costs and flow values satisfy the following Complementary Slackness Optimality Conditions :
ijij
ij
ij
ux
x
x
*
ij
ij ij ,
*
*
ij
then ,0c If
0cthen u0 If
0 then ,0c If
![Page 36: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/36.jpg)
The relationship of optimal node potential and optimal Flow
• Given an optimal flow how might we obtain
optimal node potential?
• Given optimal node potentials, how might we
obtain an optimal flow?
![Page 37: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/37.jpg)
Obtaining optimal node potential from
an optimal flow x*
1- Let d(i) be the length of the shortest path from
node 1 to node i.
2- π(i)=d(i)
So, for each arc (i,j) in G(x*),
0)()()()( jdidcjicc ijijij
![Page 38: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/38.jpg)
Obtaining an optimal flow from
optimal node potential π
To obtain an optimal flow it is sufficient to find a
feasible flow x* such that :
For each are (i,j)
ijij
ij
ux
x
*
ij
*
ij
then ,0c If
0 then ,0c If
![Page 39: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/39.jpg)
Obtaining an optimal flow from
optimal node potential π
1- obtain Network G’ from G as following:
For each arc (i,j)
2- Using application 6.1, find a feasible solution x in G’.
3- For each are (i,j)
A}i)|(j ,0{c
ji
A}j)|(i,0{c
ij
ij
jiij
uub(i)(i)b' N,i
j)(i, arc moveRe ,0c If
ijij
ijij
ij
xx
ux
x
*
*
ij
*
ij
Otherwise
then ,0c If
0 then ,0c If
![Page 40: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/40.jpg)
Pseudoflow
A pseudoflow is a function x:A→R satisfying the
capacity and nonnegativity constraints; it need not
satisfy the mass balance constraints.
2
3 4
5 6
1
(2,2)
(0,1)
(0,6)
(6,6)
(1,5) (0,4)
(1,2)
(3,3) 3
4
-5
-2
(2,4)
j i (xij,uij)
![Page 41: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/41.jpg)
Pseudoflow
The imbalance of a node is defined as follows:
2
3 4
5 6
1
(2,2)
(0,1)
(0,6)
(6,6)
(1,5) (0,4)
(1,2)
(3,3) 3
4
-5
-2
(2,4)
j i (xij,uij)
}),(:{}),(:{
)()(Ajij
ij
Aijj
ji xxibie
0
-4
1 0
1
2
![Page 42: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/42.jpg)
Pseudoflow
We say node i is an excess node if e(i)>0.
We say node i is a deficit node if e(i)<0.
We say node i is a balanced node if e(i)=0.
E: the set of all excess nodes
D: the set of all deficit nodes
DiEi
ieie )()(
NiNi
ibie 0)()(
![Page 43: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/43.jpg)
Pseudoflow
Lemma 9.11. Suppose that a pseudoflow x satisfies the
reduced cost optimality conditions with respect to some node
potentials π. Let the vector d represent the shortest path
distances from some node s to all other nodes in the residual
network G(x) with as the length of an arc (i,j). Then the
following properties are valid:
(a) The pseudoflow x also satisfies the reduced cost optimality
conditions with respect to node potentials π’=π-d.
(b) The reduced costs are zero for all arcs (i,j) in a shortest
path from node s to every other node.
ijc
'ijc
![Page 44: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/44.jpg)
Pseudoflow
Lemma 9.12. Suppose that a pseudoflow x satisfies the
reduced cost optimality conditions. Obtain x’ from x by
sending flow along a shortest path from node s to some other
node k: then x’ also satisfies the reduced cost optimality
conditions.
![Page 45: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/45.jpg)
Successive Shortest path Algorithm
costs reduced theand EG(x), x,update 4.6
} }in arcan is j)(i, :min{r),{e(k),-e(lmin 4.5
d- 4.4
l node k to node frompath shortest a denote pLet 4.3
c costs reduced therespect to
with G(x)in nodesother all k to node
from d(j) distancespath shortest determine4.2
Dl node a and Ek node aselect 1.4
do E while4
}0)(:{},0)(:{E sets theintialize3
allfor 2
0,0 1
ij
ij
p
ieiDiei
Nib(i)e(i)
x
![Page 46: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/46.jpg)
Successive Shortest path Algorithm
j i ),( ijij uc
2
3 4
5 6
1
(2,2)
(0,1)
(0,6)
(4,4)
(2,5) (3,4)
(2,2)
(5,3) 3
4
-5
-2
(6,4)
b(i)
![Page 47: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/47.jpg)
Successive Shortest path Algorithm
j i ),( ijij rc
2
3 4
5 6
1
(2,2)
(0,1)
(0,6)
(4,4)
(2,5) (3,4)
(2,2)
(5,3) 3 0
4 0
-5 0
-2 0
(6,4)
e(i) π(i)
E={2,5} D={1,6}
![Page 48: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/48.jpg)
Successive Shortest path Algorithm
j i ),( ijij rc
2
3 4
5 6
1
(2,2)
(0,1)
(0,6)
(4,4)
(2,5) (3,4)
(2,2)
(5,3) 3 0
4 0
-5 0
-2 0
(6,4)
e(i) π(i) E={2,5}
D={1,6} k=2, l=1
d(i) i
5 1
0 2
7 3
5 4
3 5
7 6
Finding shortest paths from l to every other node
![Page 49: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/49.jpg)
Successive Shortest path Algorithm
j i ),( ijij rc
2
3 4
5 6
1
(2,2)
(0,1)
(0,6)
(4,4)
(2,5) (3,4)
(2,2)
(-5,3) 3 0
4 -3
-5 -5
-2 -7
(6,4)
e(i) π(i) E={2,5}
D={1,6} k=2, l=1
d(i) i
5 1
0 2
7 3
5 4
3 5
7 6
Updating π
0 -5
0 -7
![Page 50: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/50.jpg)
Successive Shortest path Algorithm
j i ),( ijij rc
2
3 4
5 6
1
(2,2)
(5,1)
(0,6)
(0,4)
(0,5) (0,4)
(4,2)
(0,3) 0 0
4 -3
-2 -5
-2 -7
(8,4)
e(i) π(i) E={5}
D={1,6} k=2, l=1
d(i) i
5 1
0 2
7 3
5 4
3 5
7 6
Updating x,G(x), E,D
0 -5
0 -7
![Page 51: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/51.jpg)
Successive Shortest path Algorithm
j i ),( ijij rc
2
3 4
5 6
1
(2,2)
(5,1)
(0,6)
(0,4)
(0,5) (0,4)
(4,2)
(0,3) 0 0
4 -3
-2 -5
-2 -7
(8,4)
e(i) π(i) E={5}
D={1,6} k=5, l=1
d(i) i
6 1
6 2
2 3
2 4
0 5
0 6
0 -5
0 -7
Finding shortest paths from l to every other node
![Page 52: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/52.jpg)
Successive Shortest path Algorithm
j i ),( ijij rc
2
3 4
5 6
1
(2,2)
(5,1)
(0,6)
(0,4)
(0,5) (0,4)
(4,2)
(0,3) 0 -6
4 -3
-2 -11
-2 -7
(8,4)
e(i) π(i) E={5}
D={1,6} k=5, l=1
d(i) i
6 1
6 2
2 3
2 4
0 5
0 6
0 -7
0 -9
Updating π
![Page 53: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/53.jpg)
Successive Shortest path Algorithm
j i ),( ijij rc
2
3 4
5 6
1
(2,2)
(1,1)
(0,6)
(0,4)
(0,3) (7,4)
(0,2)
(0,3) 0 -6
2 -3
0 -11
-2 -7
(6,4)
e(i) π(i) E={5}
D={6} k=5, l=1
d(i) i
6 1
6 2
2 3
2 4
0 5
0 6
0 -7
0 -9
Updating x,G(x), E,D
(0,2)
![Page 54: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/54.jpg)
Successive Shortest path Algorithm
j i ),( ijij rc
2
3 4
5 6
1
(2,2)
(1,1)
(0,6)
(0,4)
(0,3) (7,4)
(0,2)
(0,3) 0 -6
2 -3
0 -11
-2 -9
(6,4)
e(i) π(i) E={5}
D={6} k=5, l=6
d(i) i
6 1
1 2
0 3
0 4
0 5
0 6
0 -7
0 -9
(0,2)
Finding shortest paths from l to every other node
![Page 55: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/55.jpg)
Successive Shortest path Algorithm
j i ),( ijij rc
2
3 4
5 6
1
(2,2)
(1,1)
(0,6)
(0,4)
(0,3) (7,4)
(0,2)
(0,3) 0 -7
2 -3
0 -17
-2 -9
(6,4)
e(i) π(i) E={5}
D={6} k=5, l=6
d(i) i
6 1
1 2
0 3
0 4
0 5
0 6
0 -7
0 -9
(0,2)
Updating π
![Page 56: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/56.jpg)
Successive Shortest path Algorithm
j i ),( ijij rc
2
3 4
5 6
1
(2,2)
(0,1)
(0,6)
(0,2)
(0,3) (8,4)
(6,2)
(5,3) 0 -7
0 -3
0 -17
0 -9
(0,4)
e(i) π(i) E={}
D={} k=5, l=6
d(i) i
6 1
1 2
0 3
0 4
0 5
0 6
0 -7
0 -9
(0,2)
Updating x,G(x), E,D
(0,2)
![Page 57: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/57.jpg)
Successive Shortest path Algorithm
j i ),( ijij uc
2
3 4
5 6
1
(2,2)
(0,1)
(0,6)
(4,4)
(2,5) (3,4)
(2,2)
(5,3) 3
4
-5
-2
(6,4)
b(i)
3
2
2
2
2
![Page 58: Minimum Cost Flow: Basic Algorithms - Yazdcs.yazd.ac.ir/hasheminezhad/STSCF13N6.pdf · 2014. 5. 25. · Reduced Cost Optimality Conditions • Theorem 9.3 (Reduced Cost Optimality](https://reader033.vdocuments.us/reader033/viewer/2022060100/60afab129da17a732a7cb81e/html5/thumbnails/58.jpg)
Successive Shortest path Algorithm
costs reduced theand EG(x), x,update 4.6
} }in arcan is j)(i, :{r),{e(k),-e(lmin 4.5
d- 4.4
l node k to node frompath shortest a denote pLet 4.3
c costs reduced therespect to
with G(x)in nodesother all k to node
from d(j) distancespath shortest determine4.2
Dl node a and Ek node aselect 1.4
do E while4
}0)(:{},0)(:{E sets theintialize3
allfor 2
0,0 1
ij
ij
p
ieiDiei
Nib(i)e(i)
x
)),,(( nCnmnUSO