58
Minimum Cost Flow: Basic Algorithms

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

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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