Maximum Flow Problem (Ford and Fulkerson, 1956)

Size: px
Start display at page:

Download "Maximum Flow Problem (Ford and Fulkerson, 1956)"

Transcription

1 Maximum Flow Problem (Ford and Fulkerson, 196) In this problem we find the maximum flow possible in a directed connected network with arc capacities. There is unlimited quantity available in the given source and we wish to maximize the quantity that can be sent to the sink (destination) through the capacitated arcs. Let there be n nodes and m arcs in the network. The formulation of the maximum flow problem is given by Maximize f X ij, f 0. The problem is a Linear Programming problem and can be solved using the Simplex algorithm. It is possible to reduce the number of variables and constraints by substituting for f. This can be used when we solve the maximum flow problem as an LP. This problem usually is solved using flow augmenting path algorithms whose optimality is based on the dual of the given formulation. Hence the given formulation is always used. The above formulation is called node-arc formulation. There is also a path-arc formulation where the flows on all possible paths are defined. In this formulation, X j is the flow in path j. The capacity constraints on the arcs limit the flow. This formulation requires that we enumerate all possible paths, which is difficult as the problem size increases. Illustration 7.10 Consider a network with 6 nodes and 10 arcs given in Figure 7.. The arc capacities are given in brackets: 1-2 (20), 1- (60), 2- (0), 2- (0), 2- (10), - (), -6 (10), - (0), -6 (2) and -6 (0). Find the maximum flow between nodes 1 and 6? Solve using the node arc and path arc formulations?

2 Figure 7. Network for the maximum flow problem The node-arc formulation for the given instance is to Maximize f X 12 + X 1 = f -X 12 + X 2 + X 2 + X 2 = 0 -X 1 -X 2 + X + X 6 = 0 -X 2 -X + X + X 6 = 0 X 6 + X 6 + X 6 = f X X 1 60 X 2 0 X 2 0 X 2 10 X X 6 10 X 0 X 6 2 X 6 0 X ij 0. The optimum solution to the above LP is given by X 12 = 20, X 1 =, X 2 = 20, X =, X 6 = 10, X = 0, X 6 = 2, X 6 = 0 and f = 6. The maximum slow possible is 6 units. Arcs 1-2, -, -6, -, and -6 are full and have been used to maximum capacity. Other arcs have unfilled or remaining capacity. It is to be noted that X ij and f need not be restricted to integer and hence the given problem is a LP.

3 We first enumerate all the paths in the given network. These are , , , , , , , 1---6, There are nine paths and we denote the flow in path j as X j. The objective is to Maximize X 1 + X 2 + X + X + X + X 6 + X 7 + X 8 + X 9 X 1 + X 2 + X + X + X + X 6 20 X 7 + X 8 + X 9 60 X 1 + X 2 + X 0 X + X 6 0 X 10 X 1 + X 2 +X 7 + X 8 X + X 9 10 X 1 + X + X 7 0 X 2 + X 6 + X 8 2 X 1 + X + X X 7 0 X j 0. The objective function maximizes the total flow which is the sum of the flows in each path. There are as many constraints as the number of arcs and the constraints ensure that arc capacities are not violated. The optimum solution is given by X 8 = 1, X 7 = 20, X 9 = 10, X 6 = 10 and X = 10 with total flow = 6. Algorithms considering flows in various paths The path arc formulation requires that we enumerate all the paths and include as many variables as the number of paths. We consider an algorithm where we progressively consider each path and allot the maximum possible flow to the path which is the minimum of the available capacities in the arcs. This algorithm is called the flow augmenting path algorithm. We also consider diverting the flows so as to permit additional flow when a new path is introduced. The flow augmenting path algorithm when implemented by considering the paths in the non decreasing order of arcs in them is called the Shortest augmenting path algorithm (Ahuja et al, 199). This algorithm is optimum and also does not require us to divert the flow when new paths are considered. We explain all the algorithms using an example. Illustration Consider a network with 6 nodes and 10 arcs given in Figure 7.. The arc capacities are given in brackets: 1-2 (20), 1- (60), 2- (0), 2- (0), 2- (10), - (), -6 (10), - (0), -6 (2)

4 and -6 (0). Find the maximum flow between nodes 1 and 6? Solve using the flow augmenting path algorithm and the shortest augmenting path algorithm? The nine paths that we listed are , , , , , , , 1---6, We consider the path The maximum possible flow in this path is 20, which is the capacity of arc 1-2. We allow a flow of 20 and update the flow in the arcs. 1-2 (20), 2- (20), - (20), - (20), -6 (20) and f = We cannot increase the flow using paths 2 to 6 because they involve the arc 1-2 whose capacity is fully used.. We consider the path The available capacities are 1- (60), - (1), - (10), -6 (0). We increase the flow by 10 and f = 0. The flows in the various arcs are 1-2 (20), 2- (20), - (0), - (0), -6 (0), 1- (10).. We consider the path The available capacities are 1- (0), - (), -6 (2). The maximum possible flow is which is the minimum of the capacities. We increase the flow b y and f =. The updated arc flows are 1-2 (20), 2- (20), - (), - (0), -6 (0), 1- (1), -6 ().. We consider the path The available capacities are 1- () and -6 (10). The maximum possible increase is 10 and f =. The updates arc flows are 1-2 (20), 2- (20), - (), - (0), -6 (0), 1- (2), -6 (), - (1) 6. We have exhausted all the paths and the maximum flow possible at this point is. We observe that the maximum flow using the flow augmenting path algorithm is at the moment while the optimum is 6. We now have to divert flows in existing paths and effectively consider additional paths (which we could not consider earlier). 1. We consider the path This appears as an invalid path because the network does not contain an arc -2. We allow this as a valid path when there is existing flow from 2- and there are arc capacities in the other arcs. The available capacities in the arcs are 1- (), -2 (20), which is the flow of 20 from 2-, 2- (10), -6 (20). The additional flow is 10 which is the minimum of the possible flows and f =. We update the flows in the arcs by adding 10 to all arcs. The updated flows in the arcs are 1-2 (20), 2- (10), - (), - (0), -6 (0), 1- (), -6 (), - (1), 2- (10). We observe that the flow in 2- has reduced because we have added 10 in the opposite direction (-2) which is the same as subtracting 10 from the existing flow. This was possible because we considered the opposite arc -2 only when the actual arc 2- has a positive flow. We also observe that in the process we have effectively considered the path (which we could not consider earlier) by diverting flow using

5 2. We next consider the path This also has an arc -2 because the actual arc 2- has a positive flow. The available capacities are 1- (2), -2 (10 which is the flow in 2-), 2- (0), -6 (2). The minimum possible addition is 10 and f = 6. The updated flows are 1-2 (20), - (), - (0), -6 (0), 1- (), -6 (1), - (1), 2- (10), 2- (10). Now there is no flow in 2- (since a flow of 10 has been subtracted).. We now observe that we cannot divert any more flow and conclude that we have reached the optimum. The flow augmenting path algorithm is optimal when we also consider diverting existing flows to accommodate further paths and flows. We apply the shortest augmenting path algorithm for our example. The nine paths are arranged in increasing (or non decreasing) order of the number of arcs in the path. The order is 1--6, , , , 1---6, , , , Consider The available capacities are 1- (60) and -6 (10). The maximum flow possible is 10 and f = 10. We update the flows as 1- (10) and -6 (10). 2. We cannot use since the capacity of -6 is used fully. Consider The available capacities are 1-2 (20), 2- (0), -6 (2). The flow can be increased by 20 and f = 0. The updated flows are 1- (10), 1-2 (20), 2- (20), -6 (20) and -6 (10).. We cannot use because the capacity of 1-2 is used fully. Consider The available capacities are 1- (0), - () and -6 (). The maximum flow permissible is and f =. The updated flows are 1- (1), 1-2 (20), 2- (20), -6 (2), -6 (10), - ().. We cannot use because the capacities of 1-2 and -6 are used fully. We cannot use because the capacity of 1-2 is used fully.. We consider The available capacities are 1- (), - (0), - (0), -6 (0). The maximum permissible flow is 0 and f = 6. The updated flows are 1- (), 1-2 (20), 2- (20), -6 (2), -6 (10), - (), - (0), -6 (0). 6. We cannot increase the flow by considering because capacity of 1-2 is utilized fully. The algorithm terminates giving a maximum flow of 6. The shortest augmenting path algorithm gives the optimum solution. There is no need to consider paths with negative arcs that divert flows. The flow augmenting path algorithm effectively used the same paths that the shortest augmenting path algorithm used when we considered diverting the flows. Because we considered path that diverted flows, we considered more paths while applying the flow augmenting path algorithm. Maximum flows and Minimum cuts (Ford and Fulkerson 1962) A cut or cut set is a set of arcs which when removed from the network, permits no flow from the source and the sink. It also divides the nodes into two sets where the source and sink

6 are in different sets and each of the remaining nodes is in one of the sets. For example, the arcs that leave the source node represent a cut set that has the source in one set and all other vertices in the other set. The capacity of the arcs in the cut set gives an upper bound (or upper estimate) of the maximum flow possible. An important theorem that relates the maximum flow and the cut set is the max-flow min cut theorem that states that the maximum flow is equal to the capacity of the minimum cut set (Ford and Fulkerson, 1962). Illustration Consider the network with 6 nodes and 10 arcs given in Figure 7.. The arc capacities are given in brackets: 1-2 (20), 1- (60), 2- (0), 2- (0), 2- (10), - (), -6 (10), - (0), - 6 (2) and -6 (0). Find the minimal cut set from the optimum solution given by 1- (), 1-2 (20), 2- (20), -6 (2), -6 (10), - (), - (0), -6 (0). From the optimum solution we observe that arcs 1-2, - and -6 with capacities 20, and 10 are consumed fully and removing them gives the total capacity of 6 and separated the network into two parts with no flow possible. The arcs 1-2, - and -6 form the minimum cut set that divide the nodes into two sets {1,} and {2,,, 6}. Minimum cost flow problem (Ahuja et al, 199) In the minimum cost flow problem or transhipment problem, we minimize the total cost of transporting a single item from multiple sources to multiple destinations. This is similar to the transportation problem but with two differences. In this problem some nodes act as source nodes, some nodes act as destination nodes and some act as intermediate nodes (or transit points). In the transportation problem a given node can be only a source or destination. In the minimum cost flow problem, items can be also transported from one source node to another and from one destination node to another. Arcs exist amongst the source nodes and amongst the destination nodes. The transportation problem is bipartite and there are no arcs between source nodes or destination nodes. The formulation of the minimum cost flow problem is as follows: Let X ij be the quantity transported between nodes i and j. Let C ij be the unit transportion cost between nodes i and j. Let b j be the supply at node j (demand is shown as negative supply and transit as zero supply). The objective is to Minimize X ij 0.

7 There can be capacity constraints of the form X ij u ij. In this case the problem is called the capacitated minimum cost flow problem. This problem can also be modelled as a transportation problem with each node becoming a potential source as well as destination. Solving this as a transportation problem is advantageous when we use special algorithms for the transportation problem. Otherwise the LP formulation can be used. Illustration 7.1 Consider the network with 6 nodes and 10 arcs given in Figure 7.6. The node supplies are b 1 = 60, b 2 = 0, b = b = 0, b = -0 and b 6 = -80. The network is given below where the unit transportation costs are shown as arc weights. The arc capacities are given in brackets: 1-2 (0), 1- (60), 2- (0), 2- (0), 2- (10), - (), -6 (10), - (0), -6 (0) and -6 (0). b=0 2 9 b= b= b= b=-80 b=0 Figure 7.6 Network for minimum cost flow problem The formulation is to Minimize 10X X 1 + X 2 + 6X 2 + 9X 2 + 7X + 1X 6 + X + 6X 6 + X 6 X 12 + X 1 = 60 -X 12 + X 2 + X 2 + X 2 = 0 -X 1 X 2 + X + X 6 = 0 -X 2 X + X + X 6 = -0 -X 2 X + X 6 = 0 -X 6 - X 6 - X 6 = -80 X ij 0. The optimum solution to this LP is given by X 1 = 60, X 2 = 0, X = 60, X 6 = 80 with Z = 160.

8 We include the arc capacities in the form of constraints X 12 0; X 1 60; X 2 0; X 2 0; X 2 10; X ; X 6 10; X 0; X 6 0; X 6 0. The optimum solution is X 1 = 60, X 2 = 0, X 2 = 10, X = 0, X 6 = 10, X = 10, X 6 = 0, X 6 = 20 with Z = The capacitated problem understandably has a higher cost. Circulatory flow problem (Bazaara et al, 1990) In this problem, the flow in each arc is constrained by a lower bound as well as an upper bound. The network is such that there is circulatory flow. We wish to minimize the total cost associate with the circulatory flow. The formulation is the same as that of the minimum cost flow problem except that the demand and supply are zero at all nodes and there is an additional lower bound on the flow. We use the same notation for the minimum cost flow problem. The formulation is to Minimize u ij X ij l ij Illustration 7.1 Consider the network with nodes and 8 arcs given in Figure 7.7. The values of C ij, l ij and u ij for the arcs are given in brackets: 1-2 (, 1, 8), -1(, 1, 10), 2- (6,, 12), 2- (, 0, ), 2- (2, 0, 10), - (7, 1, 6), - (8, 2, 12), - (10, 2, 9). 2 2,0,10,1, 1 6,,12,0, 7,1,6 10,2,9,1,10 8,2,12 Figure 7.7 Network for circulatory flow problem The formulation of the circulatory flow problem is to Minimize X X 2 + X 2 + 2X 2 + X 1 + 7X + 10X + 8X

9 subject to X 12 - X 1 = 0 -X 12 + X 2 + X 2 + X 2 = 0 -X 2 - X - X + X 1 = 0 -X 2 + X + X = 0 -X 2 - X + X = 0 X 12 8; X 2 12; X 2 ; X 2 10; X 1 10; X 6; X 9; X 12; X 12 1; X 2 ; X 2 0; X 2 0; X 1 1; X 1; X 2; X 2. The optimum solution to the LP is given by X 12 = 6, X 2 =, X 2 =, X 1 = 6, X = 1, X = 2and X = 2 with Z = 12. Multi commodity Flows (Hu, 196) The multi commodity flow problem addresses the flow of different types of commodities on a given network. We assume that there are K different commodities. Let C ijk represent the unit cost of transporting commodity k in arc i-j. Let u ijk be the capacity of arc i-j for commodity k. Let b lk be the supply of commodity k in node l. The demands are shown as negative supplies. Let U ij be the maximum capacity of arc i-j for all commodities put together. The problem is to Minimize X ijk 0. The above formulation is an LP formulation. Illustration 7. 1 Consider the network with nodes and 8 arcs given in Figure 7.8. There are two commodities. The values of C ij1, C ij2, u ij1, u ij2 and U ij for the arcs i-j are shown in the figure. The five values are given in brackets for arc i-j as follows: 1-2 (,,,2,), 1- (7,,,6,), 2- (6,1,,2,6), 2- (,8,,2,), 2- (6,,,,6), - (2,,,,) - (,,,,) and - (1,1,,1,6). Six units of commodity 1 is available in node 1 and the demands are and in nodes and. Four units of commodity 2 is available in node 2and one unit in node 1 and the demands are 1 and in nodes and. Solve the multi commodity flow formulation?

10 b2= 2 6,,,,6 b1=6 b2=1,,,2,,8,,2, 6,1,,2,6 1 7,,,6, 2,,,, 1,1,,,6 b1=-,,,, b1=- b2=- b2=-1 Figure 7.8 Network for multi commodity flow problem Let X ij1 and X ij2 represent the flow of the two commodities in arc i-j. There are 16 variables. The multi commodity flow formulation is to Minimize X X X 11 + X X 21 + X 22 + X X X 21 + X X 1 + X 2 + X 1 + X 2 + X 1 + X 2 X X 11 = 6 -X X 21 + X 21 + X 21 = 0 -X 11 X 21 + X 1 + X 1 = 0 -X 21 X 1 + X 1 = - -X 2 X X = - X X 12 = 1 -X X 22 + X 22 + X 22 = -X 12 X 22 + X 2 + X 2 = -1 -X 22 X 2 + X 2 = 0 -X 22 X 2 X 2 = - X 121 ; X 122 2: X 11 ; X 12 6; X 21 ; X 22 2; X 21 ; X 22 2; X 21 ; X 22 ; X 1 ; X 2 ; X 1 ; X 2 ; X 1 ; X 2 X X 122 ; X 11 + X 12 ; X 21 + X 22 6; X 21 + X 22 ; X 21 + X 22 6; X 1 + X 2 ; X 1 + X 2 ; X 1 + X 2 6 X ijk 0. The optimum solution to the LP is given by X 121 =, X 122 = 1, X 11 =, X 22 = 2, X 21 =, X 22 =, X 1 =, X 2 = 1 with cost = 76. This solution is given in Figure 7.9

11 b2= 2 X 121 =, X 122 = 1 X 21 = X 22 = b1=6 b2=1 1, X 22 = 2 b1=- b1=- b2=- X 11 = X 1 =, X 2 = 1 b2=-1 Figure 7.9 Solution to multi commodity flow problem Minimum Spanning Trees (MST) Consider a network with n nodes and m arcs. We assume that the network is connected, which means that it is possible to go from every node to every other node on the network by traversing across arcs. Arc j has a weight C j. Any network that has n nodes and exactly n-1 arcs and is connected is called a tree. Given a network with n nodes and m arcs (m > n) such that it is connected, it is possible to create a sub network (whose node set and arc sets are that of the given network and from the given network) that is connected and has all the n nodes and exactly n-1 arcs. Such a tree is called a spanning tree of the given network. The spanning tree with minimum sum of arc weights is called the minimum spanning tree. The binary integer programming formulation of the minimum spanning tree problem is a follows: Let X j = 1 if arc is in the MST; = 0 otherwise. Let V be the set of nodes. The objective is to Minimize subject to

12 ( ) X j = 0, 1 The formulation has a large number of constraints as we will see in the example. This happens because we have to evaluate all the subsets of the node set V. Illustration 7.16 Consider the network given in Figure 7.10 with nodes and eight arcs. The arc weights are given in the network. Find the length of the minimum spanning tree using the formulation? Figure 7.10 Network for Illustration 7.16 The mathematical programming formulation is as follows: Let X j = 1 if arc j is in the MST; = 0 otherwise. We have to label the arcs. This is done as follows: Arc 1-2 is denoted by variable X 1 ; 1- by X 2, 2- by X, 2- by X, 2- by X, - by X 6, - by X 7 and - by X 8. Minimize X 1 + X 2 + X + X + 6X + 8X 6 + X X 8 X 1 + X 2 + X + X + X + X 6 + X 7 + X 8 = X 1 1; X 2 1; X 1; X 1; X 1; X 6 1; X 7 1; X 8 1; X 1 + X 2 + X 2; X 1 + X 2; X 1 + X 2; X 2 + X 6 2; X 2 + X 7 2; X + X + X 6 2; X + X 7 2; X + X 8 2; X 6 + X 7 + X 8 2 X 1 + X 2 + X + X + X 6 ; X 1 + X 2 + X + X, X 1 + X + X + X 8 ; X 2 + X 6 + X 7 + X 8 ; X + X + X + X 6 + X 7 + X 8 X j = 0,1 The second set of constraints are written considering the node sets {1,2}, {1,}, {2,}, {2,}, {2,}, {,}, {,}, {,}, {1,2,}, {1,2,}, {1,2,}, {1,,}, {1,,}, {1,,}, {2,,}, {2,,}, {2,,},

13 {,,}, {1,2,,}, {1,2,,}, {1,2,,}, {1,,,} and {2,,,}. The node set {1,, } gives us only one arc X 8 and there is already a constraint X 8 1 for the node set {,}. The constraint X 8 2 for the node set {1,,} is left out. The optimum solution to the formulation is given by X 1 = X = X = X 7 = 1 with distance = 17. It is also observed that the LP relaxation where all X j 0 also gives us the same solution with X j taking values zero or 1. Algorithms to find the MST The MST formulation is interesting because it has a large number of constraints. If there are n nodes, we have + 1 constraints. In spite of this large number of constraints (that increase exponentially with n) the LP relaxation gives solutions with binary values. Two very popular algorithms exist that find the MST. These are the Prim s algorithm and Kruskal s algorithm: Prim s algorithm (Prim, 197) 1. Find the arc k-l with the smallest weight. Arc i-j is in the MST. Create node set S 1 = {k, l} and node set S 2 = {rest of the nodes} 2. For every node i in S 1 and every node j in S 2 find the arc i-j such that d ij is minimum. Add node j to S 1 and delete j from S 2.. Repeat step 2 such that S 2 = { } or when exactly n-1 arcs have been considered. These arcs form the MST. Kruskal s algorithm (Kruskal, 196) 1. Sort the arcs according to increasing (non decreasing) order of weights. 2. The first arc k-l is in the MST. Create set S 1 = {k,l}.. Consider the next arc k-l in the sorted list.. If inclusion of arc k-l will create a cycle, go to Step.. If one of the nodes is in S 1 add the other node to S 1. If both are not in S 1 add both to S 1. Include the arc into the MST. If both nodes are in S 1 go to step. 6. Repeat steps to till exactly n-1 arcs have been added. These arcs form the MST. Illustration 7.17 Consider the network given in Figure 7.10 with nodes and eight arcs. The arc weights are given in the network. Find the length of the minimum spanning tree using Prim s and Kruskal s algorithms? Prim s algorithm: Arc - has minimum weight. S 1 = {, } and S 2 = {1,2,}. Consider d 1, d 2, d, d 2, d. The minimum distance is for 1- (also for 2- but we consider one of them). S 1 = {1,, } and S 2 = {2, }. Consider d 12, d 2, d 2, d 2, d, d. The minimum distance is for 1-2.

14 S 1 = {1, 2,, } and S 2 = {}. Consider d 2, d and d. The minimum is d 2. Now S 1 = {1, 2,,, }. The algorithm terminates with arcs -, 1-, 1-2 and 2- in the MST. The reader may observe that -, 1-2, 2- and 2- is also an MST with length = 17. Kruskal s algorithm: The sorted list is -, 1-2, 1-, 2-, 2-, 2-, -, -. Consider -. S 1 = {, }. Consider 1-2 and update S 1 = {1, 2,, }. 1- is considered and added because it does not create a cycle. 2- is not considered because adding this arc would create a cycle is added and we have added arcs. The MST has arcs -, 1-2, 1- and 2- with length = 17. Degree constrained MST (Narula and Ho, 1980) A degree constrained MST places a restriction on the number of arcs incident from a vertex. There is an additional constraint restricting the number of arcs in the minimum spanning tree from every vertex to be lesser than or equal to a given constant. This is of the form for all nodes. The formulation can be solved as a binary IP to get the optimum solution. The LP relaxation may result in fractional values for the variables in some instances. The reader may observe that the minimum cost (distance) travelling salesman path problem between a given start node and a given end node can be modelled as a degree constrained minimum spanning tree where the start and end nodes have a degree of 1 and every other node has a degree of 2. Illustration 7.18 Consider the network given in Figure 7.11 with nodes and eight arcs. The arc weights are given in the network. Solve the degree constrained MST problem where the degree of each vertex is not more than 2? Figure 7.11 Network for Illustration 7.18

15 It is customary to first solve the MST using Prim s or Kruskal s algorithm. The solution obtained using Kruskal s algorithm has arcs -, 1-2, 2- and 2- in the MST with length = 17. In the X j notation, we observe that X 1, X, X and X 7 are in the solution. The degree of each vertex represents the number of arcs in the spanning tree that are incident to the vertex. We compute d(1) = 1; d(2) =, d() = 2, d() = 1 and d() = 1. This solution violates the restriction because node 2 has degree of. We add the following constraints X 1 + X 2 2; X 1 + X + X + X 2; X + X 6 + X 7 2; X + X + X 6 2 and X + X 7 + X 8 2. The optimum solution is X 1 = X 2 = X = X 7 = 1 with length = 17. This satisfies the degree constraints. This solution is the other optimum solution to the MST (which also satisfies the degree constraint). If we were to solve the shortest distance between 1 and passing through every other node once and only once the path is with length = 17.

Discrete Optimization 23

Discrete Optimization 23 Discrete Optimization 23 2 Total Unimodularity (TU) and Its Applications In this section we will discuss the total unimodularity theory and its applications to flows in networks. 2.1 Total Unimodularity:

More information

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 17: Combinatorial Problems as Linear Programs III. Instructor: Shaddin Dughmi

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 17: Combinatorial Problems as Linear Programs III. Instructor: Shaddin Dughmi CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 17: Combinatorial Problems as Linear Programs III Instructor: Shaddin Dughmi Announcements Today: Spanning Trees and Flows Flexibility awarded

More information

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini In the name of God Network Flows 6. Lagrangian Relaxation 6.3 Lagrangian Relaxation and Integer Programming Fall 2010 Instructor: Dr. Masoud Yaghini Integer Programming Outline Branch-and-Bound Technique

More information

Review Questions, Final Exam

Review Questions, Final Exam Review Questions, Final Exam A few general questions. What does the Representation Theorem say (in linear programming)? In words, the representation theorem says that any feasible point can be written

More information

UNIVERSITY OF YORK. MSc Examinations 2004 MATHEMATICS Networks. Time Allowed: 3 hours.

UNIVERSITY OF YORK. MSc Examinations 2004 MATHEMATICS Networks. Time Allowed: 3 hours. UNIVERSITY OF YORK MSc Examinations 2004 MATHEMATICS Networks Time Allowed: 3 hours. Answer 4 questions. Standard calculators will be provided but should be unnecessary. 1 Turn over 2 continued on next

More information

Modeling with Integer Programming

Modeling with Integer Programming Modeling with Integer Programg Laura Galli December 18, 2014 We can use 0-1 (binary) variables for a variety of purposes, such as: Modeling yes/no decisions Enforcing disjunctions Enforcing logical conditions

More information

Algorithms: COMP3121/3821/9101/9801

Algorithms: COMP3121/3821/9101/9801 NEW SOUTH WALES Algorithms: COMP32/382/90/980 Aleks Ignjatović School of Computer Science and Engineering University of New South Wales LECTURE 7: MAXIMUM FLOW COMP32/382/90/980 / 24 Flow Networks A flow

More information

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016)

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) The final exam will be on Thursday, May 12, from 8:00 10:00 am, at our regular class location (CSI 2117). It will be closed-book and closed-notes, except

More information

Two Applications of Maximum Flow

Two Applications of Maximum Flow Two Applications of Maximum Flow The Bipartite Matching Problem a bipartite graph as a flow network maximum flow and maximum matching alternating paths perfect matchings 2 Circulation with Demands flows

More information

3.4 Relaxations and bounds

3.4 Relaxations and bounds 3.4 Relaxations and bounds Consider a generic Discrete Optimization problem z = min{c(x) : x X} with an optimal solution x X. In general, the algorithms generate not only a decreasing sequence of upper

More information

Energy minimization via graph-cuts

Energy minimization via graph-cuts Energy minimization via graph-cuts Nikos Komodakis Ecole des Ponts ParisTech, LIGM Traitement de l information et vision artificielle Binary energy minimization We will first consider binary MRFs: Graph

More information

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM EXERCISES Prepared by Natashia Boland 1 and Irina Dumitrescu 2 1 Applications and Modelling 1.1

More information

Combinatorial optimization problems

Combinatorial optimization problems Combinatorial optimization problems Heuristic Algorithms Giovanni Righini University of Milan Department of Computer Science (Crema) Optimization In general an optimization problem can be formulated as:

More information

Travelling Salesman Problem

Travelling Salesman Problem Travelling Salesman Problem Fabio Furini November 10th, 2014 Travelling Salesman Problem 1 Outline 1 Traveling Salesman Problem Separation Travelling Salesman Problem 2 (Asymmetric) Traveling Salesman

More information

Linear and Integer Programming - ideas

Linear and Integer Programming - ideas Linear and Integer Programming - ideas Paweł Zieliński Institute of Mathematics and Computer Science, Wrocław University of Technology, Poland http://www.im.pwr.wroc.pl/ pziel/ Toulouse, France 2012 Literature

More information

Network Flows. CTU FEE Department of control engineering. March 28, 2017

Network Flows. CTU FEE Department of control engineering. March 28, 2017 Network Flows Zdeněk Hanzálek, Přemysl Šůcha hanzalek@fel.cvut.cz CTU FEE Department of control engineering March 28, 2017 Z. Hanzálek (CTU FEE) Network Flows March 28, 2017 1 / 44 Table of contents 1

More information

CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs. Instructor: Shaddin Dughmi

CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs Instructor: Shaddin Dughmi Outline 1 Introduction 2 Shortest Path 3 Algorithms for Single-Source

More information

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs Instructor: Shaddin Dughmi Outline 1 Introduction 2 Shortest Path 3 Algorithms for Single-Source Shortest

More information

Maximum flow problem (part I)

Maximum flow problem (part I) Maximum flow problem (part I) Combinatorial Optimization Giovanni Righini Università degli Studi di Milano Definitions A flow network is a digraph D = (N,A) with two particular nodes s and t acting as

More information

Week 4. (1) 0 f ij u ij.

Week 4. (1) 0 f ij u ij. Week 4 1 Network Flow Chapter 7 of the book is about optimisation problems on networks. Section 7.1 gives a quick introduction to the definitions of graph theory. In fact I hope these are already known

More information

1 Column Generation and the Cutting Stock Problem

1 Column Generation and the Cutting Stock Problem 1 Column Generation and the Cutting Stock Problem In the linear programming approach to the traveling salesman problem we used the cutting plane approach. The cutting plane approach is appropriate when

More information

An example of LP problem: Political Elections

An example of LP problem: Political Elections Linear Programming An example of LP problem: Political Elections Suppose that you are a politician trying to win an election. Your district has three different types of areas: urban, suburban, and rural.

More information

Part 4. Decomposition Algorithms

Part 4. Decomposition Algorithms In the name of God Part 4. 4.4. Column Generation for the Constrained Shortest Path Problem Spring 2010 Instructor: Dr. Masoud Yaghini Constrained Shortest Path Problem Constrained Shortest Path Problem

More information

Friday, September 21, Flows

Friday, September 21, Flows Flows Building evacuation plan people to evacuate from the offices corridors and stairways capacity 10 10 5 50 15 15 15 60 60 50 15 10 60 10 60 15 15 50 For each person determine the path to follow to

More information

The min cost flow problem Course notes for Search and Optimization Spring 2004

The min cost flow problem Course notes for Search and Optimization Spring 2004 The min cost flow problem Course notes for Search and Optimization Spring 2004 Peter Bro Miltersen February 20, 2004 Version 1.3 1 Definition of the min cost flow problem We shall consider a generalization

More information

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)}

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} Preliminaries Graphs G = (V, E), V : set of vertices E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) 1 2 3 5 4 V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} 1 Directed Graph (Digraph)

More information

VIII. NP-completeness

VIII. NP-completeness VIII. NP-completeness 1 / 15 NP-Completeness Overview 1. Introduction 2. P and NP 3. NP-complete (NPC): formal definition 4. How to prove a problem is NPC 5. How to solve a NPC problem: approximate algorithms

More information

Algorithm Design Strategies V

Algorithm Design Strategies V Algorithm Design Strategies V Joaquim Madeira Version 0.0 October 2016 U. Aveiro, October 2016 1 Overview The 0-1 Knapsack Problem Revisited The Fractional Knapsack Problem Greedy Algorithms Example Coin

More information

Introduction to Integer Programming

Introduction to Integer Programming Lecture 3/3/2006 p. /27 Introduction to Integer Programming Leo Liberti LIX, École Polytechnique liberti@lix.polytechnique.fr Lecture 3/3/2006 p. 2/27 Contents IP formulations and examples Total unimodularity

More information

Primal vector is primal infeasible till end. So when primal feasibility attained, the pair becomes opt. & method terminates. 3. Two main steps carried

Primal vector is primal infeasible till end. So when primal feasibility attained, the pair becomes opt. & method terminates. 3. Two main steps carried 4.1 Primal-Dual Algorithms Katta G. Murty, IOE 612 Lecture slides 4 Here we discuss special min cost ow problems on bipartite networks, the assignment and transportation problems. Algorithms based on an

More information

Decision Mathematics D1 Advanced/Advanced Subsidiary. Tuesday 9 June 2015 Morning Time: 1 hour 30 minutes

Decision Mathematics D1 Advanced/Advanced Subsidiary. Tuesday 9 June 2015 Morning Time: 1 hour 30 minutes Paper Reference(s) 6689/01 Edexcel GCE Decision Mathematics D1 Advanced/Advanced Subsidiary Tuesday 9 June 2015 Morning Time: 1 hour 30 minutes Materials required for examination Nil Items included with

More information

Transportation Problem

Transportation Problem Transportation Problem Alireza Ghaffari-Hadigheh Azarbaijan Shahid Madani University (ASMU) hadigheha@azaruniv.edu Spring 2017 Alireza Ghaffari-Hadigheh (ASMU) Transportation Problem Spring 2017 1 / 34

More information

Maximum flow problem

Maximum flow problem Maximum flow problem 7000 Network flows Network Directed graph G = (V, E) Source node s V, sink node t V Edge capacities: cap : E R 0 Flow: f : E R 0 satisfying 1. Flow conservation constraints e:target(e)=v

More information

Decision Mathematics D1

Decision Mathematics D1 Pearson Edexcel GCE Decision Mathematics D1 Advanced/Advanced Subsidiary Friday 16 June 2017 Afternoon Time: 1 hour 30 minutes Paper Reference 6689/01 You must have: D1 Answer Book Candidates may use any

More information

Network Flow Problems Luis Goddyn, Math 408

Network Flow Problems Luis Goddyn, Math 408 Network Flow Problems Luis Goddyn, Math 48 Let D = (V, A) be a directed graph, and let s, t V (D). For S V we write δ + (S) = {u A : u S, S} and δ (S) = {u A : u S, S} for the in-arcs and out-arcs of S

More information

Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths

Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths Matroids Shortest Paths Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths Marc Uetz University of Twente m.uetz@utwente.nl Lecture 2: sheet 1 / 25 Marc Uetz Discrete Optimization Matroids

More information

Minimum cost transportation problem

Minimum cost transportation problem Minimum cost transportation problem Complements of Operations Research Giovanni Righini Università degli Studi di Milano Definitions The minimum cost transportation problem is a special case of the minimum

More information

Multicommodity Flows and Column Generation

Multicommodity Flows and Column Generation Lecture Notes Multicommodity Flows and Column Generation Marc Pfetsch Zuse Institute Berlin pfetsch@zib.de last change: 2/8/2006 Technische Universität Berlin Fakultät II, Institut für Mathematik WS 2006/07

More information

Integer programming: an introduction. Alessandro Astolfi

Integer programming: an introduction. Alessandro Astolfi Integer programming: an introduction Alessandro Astolfi Outline Introduction Examples Methods for solving ILP Optimization on graphs LP problems with integer solutions Summary Introduction Integer programming

More information

Discrete Wiskunde II. Lecture 5: Shortest Paths & Spanning Trees

Discrete Wiskunde II. Lecture 5: Shortest Paths & Spanning Trees , 2009 Lecture 5: Shortest Paths & Spanning Trees University of Twente m.uetz@utwente.nl wwwhome.math.utwente.nl/~uetzm/dw/ Shortest Path Problem "#$%&'%()*%"()$#+,&- Given directed "#$%&'()*+,%+('-*.#/'01234564'.*,'7+"-%/8',&'5"4'84%#3

More information

The min cost flow problem Course notes for Optimization Spring 2007

The min cost flow problem Course notes for Optimization Spring 2007 The min cost flow problem Course notes for Optimization Spring 2007 Peter Bro Miltersen February 7, 2007 Version 3.0 1 Definition of the min cost flow problem We shall consider a generalization of the

More information

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502) Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik Combinatorial Optimization (MA 4502) Dr. Michael Ritter Problem Sheet 1 Homework Problems Exercise

More information

Lecture 8 Network Optimization Algorithms

Lecture 8 Network Optimization Algorithms Advanced Algorithms Floriano Zini Free University of Bozen-Bolzano Faculty of Computer Science Academic Year 2013-2014 Lecture 8 Network Optimization Algorithms 1 21/01/14 Introduction Network models have

More information

IS 709/809: Computational Methods in IS Research Fall Exam Review

IS 709/809: Computational Methods in IS Research Fall Exam Review IS 709/809: Computational Methods in IS Research Fall 2017 Exam Review Nirmalya Roy Department of Information Systems University of Maryland Baltimore County www.umbc.edu Exam When: Tuesday (11/28) 7:10pm

More information

Chapter 7 Network Flow Problems, I

Chapter 7 Network Flow Problems, I Chapter 7 Network Flow Problems, I Network flow problems are the most frequently solved linear programming problems. They include as special cases, the assignment, transportation, maximum flow, and shortest

More information

CSC Design and Analysis of Algorithms. LP Shader Electronics Example

CSC Design and Analysis of Algorithms. LP Shader Electronics Example CSC 80- Design and Analysis of Algorithms Lecture (LP) LP Shader Electronics Example The Shader Electronics Company produces two products:.eclipse, a portable touchscreen digital player; it takes hours

More information

Network Flows. 7. Multicommodity Flows Problems. Fall 2010 Instructor: Dr. Masoud Yaghini

Network Flows. 7. Multicommodity Flows Problems. Fall 2010 Instructor: Dr. Masoud Yaghini In the name of God Network Flows 7. Multicommodity Flows Problems 7.3 Column Generation Approach Fall 2010 Instructor: Dr. Masoud Yaghini Path Flow Formulation Path Flow Formulation Let first reformulate

More information

2.13 Maximum flow with a strictly positive initial feasible flow

2.13 Maximum flow with a strictly positive initial feasible flow ex-.-. Foundations of Operations Research Prof. E. Amaldi. Maximum flow and minimum cut iven the following network with capacities on the arcs find a maximum (feasible) flow from node to node, and determine

More information

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Week Cuts, Branch & Bound, and Lagrangean Relaxation Week 11 1 Integer Linear Programming This week we will discuss solution methods for solving integer linear programming problems. I will skip the part on complexity theory, Section 11.8, although this is

More information

Graphs and Network Flows IE411. Lecture 12. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 12. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 12 Dr. Ted Ralphs IE411 Lecture 12 1 References for Today s Lecture Required reading Sections 21.1 21.2 References AMO Chapter 6 CLRS Sections 26.1 26.2 IE411 Lecture

More information

Lecture 8: Column Generation

Lecture 8: Column Generation Lecture 8: Column Generation (3 units) Outline Cutting stock problem Classical IP formulation Set covering formulation Column generation A dual perspective Vehicle routing problem 1 / 33 Cutting stock

More information

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints.

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints. Section Notes 8 Integer Programming II Applied Math 121 Week of April 5, 2010 Goals for the week understand IP relaxations be able to determine the relative strength of formulations understand the branch

More information

Shortest paths: label setting

Shortest paths: label setting : label setting CE 377K February 19, 2015 REVIEW HW 2 posted, due in 2 weeks Review Basic search algorithm Prim s algorithm Review Algorithm (Assumes that the network is connected.) 1 Arbitrarily choose

More information

Algorithms and Theory of Computation. Lecture 11: Network Flow

Algorithms and Theory of Computation. Lecture 11: Network Flow Algorithms and Theory of Computation Lecture 11: Network Flow Xiaohui Bei MAS 714 September 18, 2018 Nanyang Technological University MAS 714 September 18, 2018 1 / 26 Flow Network A flow network is a

More information

Duality of LPs and Applications

Duality of LPs and Applications Lecture 6 Duality of LPs and Applications Last lecture we introduced duality of linear programs. We saw how to form duals, and proved both the weak and strong duality theorems. In this lecture we will

More information

Running Time. Assumption. All capacities are integers between 1 and C.

Running Time. Assumption. All capacities are integers between 1 and C. Running Time Assumption. All capacities are integers between and. Invariant. Every flow value f(e) and every residual capacities c f (e) remains an integer throughout the algorithm. Theorem. The algorithm

More information

INVERSE SPANNING TREE PROBLEMS: FORMULATIONS AND ALGORITHMS

INVERSE SPANNING TREE PROBLEMS: FORMULATIONS AND ALGORITHMS INVERSE SPANNING TREE PROBLEMS: FORMULATIONS AND ALGORITHMS P. T. Sokkalingam Department of Mathematics Indian Institute of Technology, Kanpur-208 016, INDIA Ravindra K. Ahuja Dept. of Industrial & Management

More information

CSE QM N Network Flows: Transshipment Problem Slide Slide Transshipment Networks The most general pure network is the transshipment network, an extension of the transportation model that permits intermediate

More information

Optimisation and Operations Research

Optimisation and Operations Research Optimisation and Operations Research Lecture 11: Integer Programming Matthew Roughan http://www.maths.adelaide.edu.au/matthew.roughan/ Lecture_notes/OORII/ School of Mathematical

More information

Lecture 5 January 16, 2013

Lecture 5 January 16, 2013 UBC CPSC 536N: Sparse Approximations Winter 2013 Prof. Nick Harvey Lecture 5 January 16, 2013 Scribe: Samira Samadi 1 Combinatorial IPs 1.1 Mathematical programs { min c Linear Program (LP): T x s.t. a

More information

6.046 Recitation 11 Handout

6.046 Recitation 11 Handout 6.046 Recitation 11 Handout May 2, 2008 1 Max Flow as a Linear Program As a reminder, a linear program is a problem that can be written as that of fulfilling an objective function and a set of constraints

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LETURE 28 Network Flow hoosing good augmenting paths apacity scaling algorithm A. Smith /4/2008 A. Smith; based on slides by K. Wayne and S. Raskhodnikova Pre-break: Ford-Fulkerson

More information

3.10 Lagrangian relaxation

3.10 Lagrangian relaxation 3.10 Lagrangian relaxation Consider a generic ILP problem min {c t x : Ax b, Dx d, x Z n } with integer coefficients. Suppose Dx d are the complicating constraints. Often the linear relaxation and the

More information

CMPSCI611: The Matroid Theorem Lecture 5

CMPSCI611: The Matroid Theorem Lecture 5 CMPSCI611: The Matroid Theorem Lecture 5 We first review our definitions: A subset system is a set E together with a set of subsets of E, called I, such that I is closed under inclusion. This means that

More information

6. Linear Programming

6. Linear Programming Linear Programming 6-1 6. Linear Programming Linear Programming LP reduction Duality Max-flow min-cut, Zero-sum game Integer Programming and LP relaxation Maximum Bipartite Matching, Minimum weight vertex

More information

Integrated Network Design and Scheduling Problems with Parallel Identical Machines: Complexity Results and Dispatching Rules

Integrated Network Design and Scheduling Problems with Parallel Identical Machines: Complexity Results and Dispatching Rules Integrated Network Design and Scheduling Problems with Parallel Identical Machines: Complexity Results and Dispatching Rules Sarah G. Nurre 1 and Thomas C. Sharkey 1 1 Department of Industrial and Systems

More information

The maximum flow problem

The maximum flow problem The maximum flow problem A. Agnetis 1 Basic properties Given a network G = (N, A) (having N = n nodes and A = m arcs), and two nodes s (source) and t (sink), the maximum flow problem consists in finding

More information

MATTHIAS GERDTS. COMBINATORIAL OPTIMISATION MSM 3M02b

MATTHIAS GERDTS. COMBINATORIAL OPTIMISATION MSM 3M02b MATTHIAS GERDTS COMBINATORIAL OPTIMISATION MSM M0b Address of the Author: Matthias Gerdts Computational Optimisation Group School of Mathematics University of Birmingham Edgbaston Birmingham B5 TT E-Mail:

More information

Algorithms: Lecture 12. Chalmers University of Technology

Algorithms: Lecture 12. Chalmers University of Technology Algorithms: Lecture 1 Chalmers University of Technology Today s Topics Shortest Paths Network Flow Algorithms Shortest Path in a Graph Shortest Path Problem Shortest path network. Directed graph G = (V,

More information

Tachun Lin 1 Zhili Zhou 2 Krishnaiyan Thulasiraman 1. Oklahoma, USA 2 IBM T. J. Watson Research Center. New York, USA

Tachun Lin 1 Zhili Zhou 2 Krishnaiyan Thulasiraman 1. Oklahoma, USA 2 IBM T. J. Watson Research Center. New York, USA Logical Topology Survivability in IP-over-WDM Networks: Survivable Lightpath Routing for Maximum Logical Topology Capacity and Minimum Spare Capacity Requirements Tachun Lin 1 Zhili Zhou 2 Krishnaiyan

More information

Application 1 - People Allocation in Line Balancing

Application 1 - People Allocation in Line Balancing Chapter 9 Workforce Planning Introduction to Lecture This chapter presents some applications of Operations Research models in workforce planning. Work force planning would be more of a generic application

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LETURE 2 Network Flow Finish bipartite matching apacity-scaling algorithm Adam Smith 0//0 A. Smith; based on slides by E. Demaine,. Leiserson, S. Raskhodnikova, K. Wayne Marriage

More information

Branch-and-Bound. Leo Liberti. LIX, École Polytechnique, France. INF , Lecture p. 1

Branch-and-Bound. Leo Liberti. LIX, École Polytechnique, France. INF , Lecture p. 1 Branch-and-Bound Leo Liberti LIX, École Polytechnique, France INF431 2011, Lecture p. 1 Reminders INF431 2011, Lecture p. 2 Problems Decision problem: a question admitting a YES/NO answer Example HAMILTONIAN

More information

2. A vertex in G is central if its greatest distance from any other vertex is as small as possible. This distance is the radius of G.

2. A vertex in G is central if its greatest distance from any other vertex is as small as possible. This distance is the radius of G. CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh (rezab@stanford.edu) HW#1 Due at the beginning of class Thursday 01/21/16 1. Prove that at least one of G and G is connected. Here, G

More information

TR/01/94 01/02/94 NETWORK PROBLEMS. and Algorithms. Farhad Djannaty. Dr K Darby Dowman

TR/01/94 01/02/94 NETWORK PROBLEMS. and Algorithms. Farhad Djannaty. Dr K Darby Dowman TR/01/94 01/02/94 NETWORK PROBLEMS and Algorithms Farhad Dannaty Dr K Darby Dowman w9253493 Contents 1 Introduction 1 1.1 Definition of a network... 1 1.2 Outline of the structure of the report... 2 2

More information

CS Algorithms and Complexity

CS Algorithms and Complexity CS 50 - Algorithms and Complexity Linear Programming, the Simplex Method, and Hard Problems Sean Anderson 2/15/18 Portland State University Table of contents 1. The Simplex Method 2. The Graph Problem

More information

Part III: Traveling salesman problems

Part III: Traveling salesman problems Transportation Logistics Part III: Traveling salesman problems c R.F. Hartl, S.N. Parragh 1/282 Motivation Motivation Why do we study the TSP? c R.F. Hartl, S.N. Parragh 2/282 Motivation Motivation Why

More information

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 21 Dr. Ted Ralphs IE406 Lecture 21 1 Reading for This Lecture Bertsimas Sections 10.2, 10.3, 11.1, 11.2 IE406 Lecture 21 2 Branch and Bound Branch

More information

Operations Research Lecture 6: Integer Programming

Operations Research Lecture 6: Integer Programming Operations Research Lecture 6: Integer Programming Notes taken by Kaiquan Xu@Business School, Nanjing University May 12th 2016 1 Integer programming (IP) formulations The integer programming (IP) is the

More information

Mathematical Programs Linear Program (LP)

Mathematical Programs Linear Program (LP) Mathematical Programs Linear Program (LP) Integer Program (IP) Can be efficiently solved e.g., by Ellipsoid Method Cannot be efficiently solved Cannot be efficiently solved assuming P NP Combinatorial

More information

Relation of Pure Minimum Cost Flow Model to Linear Programming

Relation of Pure Minimum Cost Flow Model to Linear Programming Appendix A Page 1 Relation of Pure Minimum Cost Flow Model to Linear Programming The Network Model The network pure minimum cost flow model has m nodes. The external flows given by the vector b with m

More information

Integer Programming Part II

Integer Programming Part II Be the first in your neighborhood to master this delightful little algorithm. Integer Programming Part II The Branch and Bound Algorithm learn about fathoming, bounding, branching, pruning, and much more!

More information

Types of Networks. Internet Telephone Cell Highways Rail Electrical Power Water Sewer Gas

Types of Networks. Internet Telephone Cell Highways Rail Electrical Power Water Sewer Gas Flow Networks Network Flows 2 Types of Networks Internet Telephone Cell Highways Rail Electrical Power Water Sewer Gas 3 Maximum Flow Problem How can we maximize the flow in a network from a source or

More information

15-850: Advanced Algorithms CMU, Fall 2018 HW #4 (out October 17, 2018) Due: October 28, 2018

15-850: Advanced Algorithms CMU, Fall 2018 HW #4 (out October 17, 2018) Due: October 28, 2018 15-850: Advanced Algorithms CMU, Fall 2018 HW #4 (out October 17, 2018) Due: October 28, 2018 Usual rules. :) Exercises 1. Lots of Flows. Suppose you wanted to find an approximate solution to the following

More information

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11 Undirected Graphs Undirected graph. G = (V, E) V = nodes. E = edges between pairs of nodes. Captures pairwise relationship between objects. Graph size parameters: n = V, m = E. V = {, 2, 3,,,, 7, 8 } E

More information

CMPSCI 611: Advanced Algorithms

CMPSCI 611: Advanced Algorithms CMPSCI 611: Advanced Algorithms Lecture 12: Network Flow Part II Andrew McGregor Last Compiled: December 14, 2017 1/26 Definitions Input: Directed Graph G = (V, E) Capacities C(u, v) > 0 for (u, v) E and

More information

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs Computational Integer Programming Lecture 2: Modeling and Formulation Dr. Ted Ralphs Computational MILP Lecture 2 1 Reading for This Lecture N&W Sections I.1.1-I.1.6 Wolsey Chapter 1 CCZ Chapter 2 Computational

More information

Introduction to Linear and Combinatorial Optimization (ADM I)

Introduction to Linear and Combinatorial Optimization (ADM I) Introduction to Linear and Combinatorial Optimization (ADM I) Rolf Möhring based on the 20011/12 course by Martin Skutella TU Berlin WS 2013/14 1 General Remarks new flavor of ADM I introduce linear and

More information

10 Max-Flow Min-Cut Flows and Capacitated Graphs 10 MAX-FLOW MIN-CUT

10 Max-Flow Min-Cut Flows and Capacitated Graphs 10 MAX-FLOW MIN-CUT 10 Max-Flow Min-Cut 10.1 Flows and Capacitated Graphs Previously, we considered weighted graphs. In this setting, it was natural to thinking about minimizing the weight of a given path. In fact, we considered

More information

u = 50 u = 30 Generalized Maximum Flow Problem s u = 00 2 u = 00 u = 50 4 = 3=4 u = 00 t capacity u = 20 3 u = 20 = =2 5 u = 00 gain/loss factor Max o

u = 50 u = 30 Generalized Maximum Flow Problem s u = 00 2 u = 00 u = 50 4 = 3=4 u = 00 t capacity u = 20 3 u = 20 = =2 5 u = 00 gain/loss factor Max o Generalized Max Flows Kevin Wayne Cornell University www.orie.cornell.edu/~wayne = 3=4 40 v w 30 advisor: Eva Tardos u = 50 u = 30 Generalized Maximum Flow Problem s u = 00 2 u = 00 u = 50 4 = 3=4 u =

More information

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming Marc Uetz University of Twente m.uetz@utwente.nl Lecture 8: sheet 1 / 32 Marc Uetz Discrete Optimization Outline 1 Intro: The Matching

More information

arxiv: v1 [cs.ds] 26 Feb 2016

arxiv: v1 [cs.ds] 26 Feb 2016 On the computational complexity of minimum-concave-cost flow in a two-dimensional grid Shabbir Ahmed, Qie He, Shi Li, George L. Nemhauser arxiv:1602.08515v1 [cs.ds] 26 Feb 2016 Abstract We study the minimum-concave-cost

More information

Discrete Optimization 2010 Lecture 8 Lagrangian Relaxation / P, N P and co-n P

Discrete Optimization 2010 Lecture 8 Lagrangian Relaxation / P, N P and co-n P Discrete Optimization 2010 Lecture 8 Lagrangian Relaxation / P, N P and co-n P Marc Uetz University of Twente m.uetz@utwente.nl Lecture 8: sheet 1 / 32 Marc Uetz Discrete Optimization Outline 1 Lagrangian

More information

Discrete Optimization in a Nutshell

Discrete Optimization in a Nutshell Discrete Optimization in a Nutshell Integer Optimization Christoph Helmberg : [,] Contents Integer Optimization 2: 2 [2,2] Contents Integer Optimization. Bipartite Matching.2 Integral Polyhedra ( and directed

More information

ACO Comprehensive Exam March 20 and 21, Computability, Complexity and Algorithms

ACO Comprehensive Exam March 20 and 21, Computability, Complexity and Algorithms 1. Computability, Complexity and Algorithms Part a: You are given a graph G = (V,E) with edge weights w(e) > 0 for e E. You are also given a minimum cost spanning tree (MST) T. For one particular edge

More information

Cable Trench Problem

Cable Trench Problem Cable Trench Problem Matthew V Galati Ted K Ralphs Joseph C Hartman magh@lehigh.edu Department of Industrial and Systems Engineering Lehigh University, Bethlehem, PA Cable Trench Problem p.1 Cable Trench

More information

Scheduling unit processing time arc shutdown jobs to maximize network flow over time: complexity results

Scheduling unit processing time arc shutdown jobs to maximize network flow over time: complexity results Scheduling unit processing time arc shutdown jobs to maximize network flow over time: complexity results Natashia Boland Thomas Kalinowski Reena Kapoor Simranjit Kaur Abstract We study the problem of scheduling

More information

Outline. Outline. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Scheduling CPM/PERT Resource Constrained Project Scheduling Model

Outline. Outline. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Scheduling CPM/PERT Resource Constrained Project Scheduling Model Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING Lecture 3 and Mixed Integer Programg Marco Chiarandini 1. Resource Constrained Project Model 2. Mathematical Programg 2 Outline Outline 1. Resource Constrained

More information

Lecture 3. 1 Polynomial-time algorithms for the maximum flow problem

Lecture 3. 1 Polynomial-time algorithms for the maximum flow problem ORIE 633 Network Flows August 30, 2007 Lecturer: David P. Williamson Lecture 3 Scribe: Gema Plaza-Martínez 1 Polynomial-time algorithms for the maximum flow problem 1.1 Introduction Let s turn now to considering

More information

Column Generation. i = 1,, 255;

Column Generation. i = 1,, 255; Column Generation The idea of the column generation can be motivated by the trim-loss problem: We receive an order to cut 50 pieces of.5-meter (pipe) segments, 250 pieces of 2-meter segments, and 200 pieces

More information