Presentation is loading. Please wait.

Presentation is loading. Please wait.

The minimum cost flow problem. Solving the minimum cost flow problem.

Similar presentations


Presentation on theme: "The minimum cost flow problem. Solving the minimum cost flow problem."— Presentation transcript:

1 The minimum cost flow problem

2 Solving the minimum cost flow problem

3 Simplifying assumptions Network is connected (as an undirected graph). – We can consider each connected component separately. Network is uncapacitated (no arc constraints). – We can transform any network to an equivalent uncapacitated network. – Alternatively: The network simplex algorithm can be extended to handle upper and lower bounds. The network has no 2-cycles – Only simplifies the exposition. The algorithm works also with 2-cycles.

4 LP formulation Minimize Subject to Following the book we negate both sides of equality constraints – this is done to change the sign of the dual variables.

5 LP formulation and the dual Minimize Subject to Primal: Dual: Maximize Subject to

6 Introducing dual slack variables Minimize Subject to Primal: Dual: Maximize Subject to

7 Complementary slackness

8 Primal and dual network simplex Both algorithms work with both a primal and a dual solution. The (primal) network simplex algorithm is used when we have a feasible primal solution. The dual network simplex algorithm is used when we have a feasible dual solution.

9 Spanning trees and bases

10 The primal solution T Start at the leaves of T working towards root, assign flow to satisfy balance constraints. T – The edges in T are basic variables. T Assign flow 0 to edges not in T. T – The edges not in T are non-basic variables.

11 The dual solution

12 Understanding dual solution

13 Minimize Subject to Primal: Dual: Maximize Subject to

14 Observation

15 (Primal) network simplex algorithm

16 Updating the dual solution T Removing leaving arc splits T into two trees. Updating dual variables: – If entering arc point to root-containing tree then increase all dual variables in non-root-containing tree by old dual slack of entering arc. – Otherwise, decrease all dual variables in non-root- containing tree by old dual slack of entering arc.

17 Updating the dual solution Updating dual slack variables: Subtract old dual slack of entering arc to arcs bridging in same direction as entering arc, and add old dual slack of entering arc to arcs bridging in the opposite direction of entering arc.

18 The dual network simplex algorithm

19 Finding the entering arc T Removing leaving arc splits T into two trees. Consider all arcs that bridge the two trees in opposite direction as leaving arc. When such an arc enters the basis all these gets decreased by the dual slack of the chosen arc. Hence we must select one with minimum dual slack.

20 Initialization We can use the dual network simplex algorithm to find the first feasible solution for the (primal) network simplex algorithm. Temporarily set all costs to 0. Then the the dual solution is automatically feasible. Running the dual network simplex algorithm results in a feasible primal solution (i.e. a feasible flow). We can then revert to the original costs and proceed with the (primal) network simplex algorithm.

21 Termination As with the normal simplex algorithm we may have degenerate pivot operations and cycling. We can apply the usual anti-cycling rules. We can still have stalling: long sequences of pivot operations that do not improve the solutions. Specialized pivot operations exists that prevent stalling as well.

22 Complexity In practice the general simplex algorithm very efficient. In practice the network simplex algorithm is much faster than the general simplex algorithm. In worst case the network simplex algorithm can still make exponentially many pivot operations.


Download ppt "The minimum cost flow problem. Solving the minimum cost flow problem."

Similar presentations


Ads by Google