1 / 73

Multi commodity  flows

Multi commodity  flows. Idan Maor Tel Aviv University. interdiction. G=(N,A) is a directed graph capacity for every i,j V: If (i,j)  A then = 0 . k pairs of distinguished vertices, (s1, t1),…(sk, tk). the cost of sending 1 unit of commodity k over ( i ,j).

halona
Download Presentation

Multi commodity  flows

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multi commodity flows Idan Maor Tel Aviv University

  2. interdiction • G=(N,A) is a directed graph • capacity for every i,j V: If (i,j)  A then = 0 . • k pairs of distinguished vertices, (s1, t1),…(sk, tk). • the cost of sending 1 unit of commodity k over (i,j). • the flow of commodity k over (i,j).

  3. example (, ,) (5,-1,4) (7,-2,-4) (10,0,0) (10,-6,-3) (4,0,0) (7,-4,-2) (5,4,-1)

  4. example (, ,) | (7,-2,-4) (10,0,0) (10,-6,-3) (4,0,0) (7,-4,-2) (5,4,-1)

  5. example (, ,) | (7,-2,-4) (10,0,0) (10,-6,-3) (4,0,0) (7,-4,-2) |

  6. example (, ,) | | | | (3,0,0) (4,0,0) (3,-6,-3) (7,-4,-2) |

  7. example (, ,) | | | | | | | | (4,-4,-2) |

  8. example (, ,) (5,-1,4) | | | (7,-2,-4) | (10,-6,-3) (10,0,0) (4,0,0) | | | (7,-4,-2) (5,4,-1) | =(5*-1)+(7*-2)+(7*-6)+(7*0)+ (5*-1)+(3*-2)+(3*-3)+(3*0)+(3*0)=-85

  9. Some observations • If there is only one commodity the problem is min-cost max flow. • We can not use the simple reduction to min cost max flow by adding a super source and a super sink . • the flow can be fractional, Even if the cost and capacities are integers. • If there is a demand that the flow will be integer, then the problem is NP –Complete. • Even for unit capacities, and 2 commodities.

  10. Some observations • We can not use the simple reduction to min cost max flow by adding a super source and a super sink, even if the all the costs are the same. • The solution is 0. (∞,-1,-1) (∞,-1,-1)

  11. Some observations • The solution is - ∞. (∞,-1) (∞,0) (∞,0) (∞,0) (∞,0) (∞,-1)

  12. the flow can be fractional, Even if the cost and capacities are integers • Unit Capacity. • Cost is -1

  13. the flow can be fractional, Even if the cost and capacities are integers • Unit Capacity. • Cost is -1. • Option 1: 1 unit flow From s1 to t1. Result -4.

  14. the flow can be fractional, Even if the cost and capacities are integers • Unit Capacity. • Cost is -1. • Option 2: 1 unit flow From s2 to t2. Result -4.

  15. the flow can be fractional, Even if the cost and capacities are integers • Unit Capacity. • Cost is -1. • Option 3: 1 unit flow From s3 to t3. Result -4.

  16. the flow can be fractional, Even if the cost and capacities are integers • Unit Capacity. • Cost is -1. • Option 4: 1/2 unit flow From s1 to t1 From s2 to t2 From s3 to t3 Result -6.

  17. Assumptions • Homogeneous goods, Each unit of flow of commodity k over (i,j) consume one unit of capacity. • No congestion, there is no interaction between the goods meaning the cost is linear in the flow. • Indivisible goods, flow can be fractional.

  18. Formal definition • Min • Subject to : • (i,j) ϵA • (i,j) ϵA

  19. Solution approaches • Good news : We can solve the problem using linear programming. • Bad News: up to date, there is no other way to solve the problem precisely without using linear programming. • All the approaches will be based on linear programming.

  20. Solution approaches • Price-directive decomposition. • This approach will remove the bundle constraints( (i,j) ϵA), and by that we decompose the problem to K separated min-cost flow problems. • Instead of the constraints this approach “charge“ some price from each commodity for using the arc.

  21. Solution approaches • Resource-directive decomposition. • This approach will be based, that every optimal solution for the problem will result by flow on each arc. • So we can consider the problem as a resource allocation problem, we will allocate a capacity for each arc and commodity. • The problem decompose to K separated min-cost flow problems. • This approach start with initial capacity's, and the improve them iteratively.

  22. Optimality conditions • Since the multi commodity flow problem is a linear programming problem we can use the linear programming optimality conditions. • The linear programming problem has two constraints: • A bundle constraint for every arc. (i,j) ϵA. • A mass balance constraint for every node. • The dual linear has two types of variables: • A price on each arc. • A node potential (i) for each node and commodity.

  23. Optimality conditions Using the dual variables the Reduce cost for the problem • =+(i)+(j). • - is the arc price, it provide linkage between the different reduced costs. • (i)- then i node potential for commodity k.

  24. Optimality conditions The dual linear program is :

  25. Multi commodity flow complementary slackness conditions • Using the dual theorem of linear programming, We get that : • The commodity flow optimal if and only if, there exists node potentials (i), and non negataive arc prices such that:

  26. Multi commodity flow complementary slackness conditions • The arc prices are the linkage between the different commodity's, if some arc is not saturated then can be equal to 0.

  27. Partial dualization • If are optimal flow and are optimal arc prices for the multi commodity problem then for each commodity k, are also the optimal solution for the following incapacitatedmin cost flow problem :

  28. Partial dualization • In the min cost flow problem a solution x* is an optimal solution if and only if there exitsa set of node potentials π, such the reduced costs and flow values satisfy :

  29. Partial dualization • =+(i)+(j). 1) • The correctness is due to the fact that and are optimal.

  30. Partial dualization • =+(i)+(j). 2) • The correctness is due to the fact that and are optimal.

  31. Partial dualization • =+(i)+(j). 3) • The correctness is due to the fact that and are optimal.

  32. Partial dualization • The property of partial dualization, give us a an approach for solving the problem. • We first find optimal arc prices and then attempt to find the optimal node potentials and flows by solving the single-commodity minimum cost flow problems. • This approach is the Price-directive decomposition.

  33. Lagrangian Relaxation • The multi commodity flow problem: • Subject to :

  34. Lagrangian Relaxation • In order to apply the Lagrangian Relaxation on the multi commodity flow problem , we associate non negative multipliers and create the Lagrangian sub problem: • Orequivalently: • Subject to :

  35. Lagrangian Relaxation • Since the sub problem is defined for a given multipliers, the term is constant and we can formulate the sub problem as : • The resulting objective function has a cost of associated with every flow variable . • Since the constraints contains only one flow variable per commodity, we can decompose the problem to K min cost flow problems.

  36. Lagrangian Relaxation procedure • Solve the min cost flow problem for each of the commodity's, for a fixed lagrangian multiplier, with cost • Update the multipliers in the following way: • the optimal solution of the min cost flow problem of the last iteration. • Max(0, α)

  37. Lagrangian Relaxation procedure • The scalar is the step size, and it specifies how far we move from the current solution. • Notice that the arc prices change the following way: • if the total flow we use is greater then the capacity, we raise the arc price. • Otherwise we lower the arc price(but keep it non negative).

  38. Lagrangian Relaxation procedure • Advantages: • Using this procedure lets us exploit the underlying network flow structure. • The updating of the lagrange multipliers is simple. • We can use it partly, for getting a good base for the simplex algorithm. • Disadvantages: • In order to ensure that the method converge, we need to take small step sizes, and as result it does not converge fast. • Since the method is dual based then even if we find the optimal multipliers , is does not promise us that the flow variables are optimal.

  39. Column generation approach In order to simplify the problem, in this part will add a new assumptions: • Each commodity k has a single source and single sink , and a flow requirement . • There are no negative cycles in the network. • Since there are no negative cycles, there exits an optimal solution such that the flow on each cycle is zero.

  40. Reformulation with Path Flows • - the collection of all paths from to , in the network. • f(p) – the flow on path pϵ • (p) - an arc path indicator variable, that is (p)=1, if arc (i,j)ϵp and (p)=0 otherwise. • (p)- the cost of unit flow on path pϵ.

  41. formulation with Path Flows • Let notice that : (p)=(p) = • We can write each flow variable as decomposition of path flow: =. • So we can represent the objective function in the terms of path flows: = []= .

  42. formulation with Path Flows • The path flow linear program:

  43. formulation with Path Flows • The path flow formulation has one constraint per arc : • The path flow formulation has one constraint for each commodity: • The path flow can have an exponential number of variables, since there is a variable for each path in the graph.

  44. Arc formulation Vs Path formulation The exponential number of variables are not a pitfall for this approach, since the linear pogromming structure promise us that there exits an optimal solution with at most m+ K paths . there is no need to represents all the columns (paths), all the time we can use lazy approach and generate only when nodded.

  45. Optimality conditions • We will use the linear programming problem optimality conditions. • the path flow formulation has one bundle constraint for each arc, the dual linear program will have The arc price . • the path flow formulation has one demand constraint for each commodity, the dual linear program will have for each commodity. • Using the dual variables we can define the reduce cost for the path flow formulation as : =+

  46. Path flow complementary slackness conditions • The commodity path flow f(p) optimal if and only if, there exists commodity prices and arc prices such that:

  47. Path flow complementary slackness conditions • The condition: Just state that if we don’t use the total capacity of some arc, then the arc price can be zero. • From ,we can understand that every path p in the basis satisfies =0. Since • So we get every path p in the basis :

  48. Path flow complementary slackness conditions From , we get that : • is the shortest path from node to with respect to the modified costs . • in the optimal solution every path p that carries a flow from node to must be the shortest path with respect to the modified costs. • With this result we can decompose the multi commodity problem to independent shortest path problems.

  49. High level description ofthe simplex algorithm • Select a basis B that defines a bfs(basic feasible solution). • Calculate the objective function value of this bfs. • If there exits a variable that is not in the basis and can lower the objective function value • then chose it, and increase it until a variable that is the base reach to zero. • Stop and return the solution.

  50. Some observations aboutthe simplex algorithm • The simplex method maintains a basis B at each iteration. • Using the basis B it defines a set of multipliers π(in our case they are and ), such that πB = (matrix notion). • The method define the simplex multipliers so the reduce cost of the basic variables will be equal to zero(=- πB). • It’s easy to see that we don’t require information about variables that are not in the base in order to calculate the multipliers.

More Related