Lec-23 Minimum Cost Flow Problem

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
In this lecture, we will discuss the minimum cost flow problem. The minimum cost flow problem is now described using this numerical example. We consider the network that has five nodes and it has all these arcs as described in this figure. Each of these arcs has an arch weight which represents the cost of transportation or cost of flow associated with this arc. For example, it costs 8 to transport a unit from 1 to 2, while it costs 6 to transport from 1 to 3. In addition, we also have some values associated with these nodes. Here b1 equal to 6 means that 6 units are available in node 1, zero units are available in node 2, 4 units are available in node 3, 5 units are required in node 4, and the requirement is shown by a negative number. Minus 5 indicates that 5 units are required in node 4 and again, minus 5 indicates that 5 units are required in node 5. Nodes 1 and 3 are the supply nodes. Supply nodes have positive quantities that are available. Node 2 is an intermediate node; intermediate node has a zero, which can be seen either as a zero supply or a zero requirement. 4 and 5 are destination nodes and their requirements are given by these negative values. At the moment, we can also observe that this is a balanced problem because total supply is 6 plus 4, that is, 10 and total requirement is 5 plus 5, that is, 10. So, it is a balanced problem. This problem has a set of nodes, some of which are supply points, some of which are destination points, and some of which are intermediate points, also called transshipment points. The problem is to transport a single commodity which are available with 6 and 4 here respectively, to 5 and 5 here, incurring minimum cost of transportation. This problem is quite similar to the transportation problem that we have seen earlier, so let us compare this with a transportation problem. If we compare this with a transportation problem and if we consider, for example, a transportation problem with two supplies and three requirements the similarities are that there are some supply points here. There are two supply points here, there are requirement points here, and there is a cost of transportation. Now, the differences here are: there are transshipment points or intermediate points and transportation problem does not have any of these intermediate points. If there is a point in a transportation problem it is either a supply point or it is a demand point; whereas, in this minimum cost flow problem, we could have transshipment points, which are intermediate points. The other differences we realize is that this is bipartite in nature, in the sense that there are edges that connect this set to this set. But, we do not have edges connecting supply point or edges connecting the demand points; whereas here we observe that there is an edge 1 3, which can supply from 1 to 3 and then, subsequently transport it from 3 to something. Similarly, there is an edge 4 to 5, 4 and 5 are demand points. It means something can go to 4 and after reaching 4, it can be supplied back to 5; whereas, such a thing is not explicitly modeled in a transportation problem. In a transportation problem, we do not have a scenario, where from here, we can transport to this. Then, we go back and transport here; or from here, we can transport to this point and then, we transport to this point. Such a thing is not modeled in a transportation problem, but such a thing is modeled in the minimum cost flow problem. Now, how do we solve this minimum cost flow problem? To do that, let us first, write the primal and the dual associated with the minimum cost flow problem. The minimum cost flow problem will have a primal, which is minimize double sigma Cij Xij, where Xij is the units transported from i to j, Cij Xij is the total cost of transportation. For this supply node 1, we will have X12 plus X13 is equal to b1. For supply node 2, we will have minus X12, that is, what enters 2 and what leaves 2 is plus X24 plus X25 equals zero. As far as 3 is concerned, minus X13 plus X34 plus X35 is equal to b3. As far as 4 is concerned, minus X24 plus X34 minus X45 is equal to b4 or minus 5, as the case may be. For node 5, minus X25 minus X35 minus X45 is equal to b5 or minus 5, as the case may be. So, this is the primal associated with the minimum cost flow problem. Also, realize that Xij is greater than or equal to zero. This is not by definition a 0 1 or kind of an integer programming problem. It is a linear programming problem. But we also know that if the problem is balanced, as in this case, we have 6, 4, minus 5 and minus 5 here. If we add all the left hand sides and all the right hand sides, we get zero equal to zero, indicating a linearly dependent system of equations. We can also show that this particular matrix is unimodular and therefore solving it as a linear programming problem would also give us solutions that are integer values. Let us also write the dual associate with this problem. This formulation has as many constraints as the number of nodes, there are five nodes, there are five constraints. It has as many variables as the number of arcs in this network. The dual, we have to introduce dual variables which are one for each of these constraints. In our case, we will introduce dual variables w1 to w5. There are five nodes, five constrains in the primal, five variables in the dual. The dual objective function will be to maximize sigma wj bj, so, w1 b1 plus w2 b2 plus w3 b3, and so on. Subject to the most important condition that every Xij appears in the i'th constraint as well as in the j�th constraint, with a plus 1 coefficient in the i'th constraint and minus 1 in the j'th constraint. We will have wi minus wj, the objective function value here is Cij. The right hand side value here is Cij. It is a minimization problem, the variables are greater than or equal to type. So, in the maximization problem, we will have less than or equal to Cij. Then, we have wj, unrestricted in sign, because all these are equations. The most important thing here is this particular constraint. This is a very important kind of a constraint that we will have to look at. This is quite similar to that of a transportation problem where we had ui plus vj is less than or equal to Cij. In the minimum cost flow problem, we have this as wi minus wj is less than or equal to Cij. We are also aware from this formulation, that if we add the left hand side and the right hand side vertically, we get zero equal to zero, if it is balanced. Our example is balanced so we get zero equal to zero which means it is a linearly dependent system of equations. This also means that one of the dual variables has to be assigned an arbitrary value and usually, we assign value equal to zero to one of the dual variables. How do we solve this problem? We now explain the solution of this problem by taking a particular feasible solution and then, checking whether that feasible solution is optimal. If not, what do we do to get to the optimal solution? Let us start with a feasible solution where we put X12. Let us start with a feasible solution, where we have X equal to 6 here, X12 is equal to 6, X24 is equal to 6, X34 is equal to 4 and X45 is equal to 5. This feasible solution will assume that we are transporting 6 units from 1 to 2 and then 6 units back from 2 to 4. We transport all the four to this, so 10 units reach node 4. 5 is consumed here, so the balance 5 will go here, which is consumed. The cost associated with this feasible solution will be 6 into 8 48, 5 into 6 30, 78 plus 24 is 102, 102 plus 20 is 122. So, the cost associated with this feasible solution is 122. We need to check whether this feasible solution is optimal. To do that, let us go back and redo this network. We have 1 2 3 4 and 5. Now, here we have b equal to 6, b equal to 0, b equal to 4, b equal to minus 5, b equal to minus 5. Now, these represent the flow. I have X equal to 6, X equal to 6, X equal to 4, and X equal to 5. The costs associated are 8, 5, 6, and 4 respectively. These four arcs represent the basic variables associated with this basic feasible solution. There are five nodes and this basic feasible solution will now have four arcs in the solution. If there are n nodes, then the basic feasible solution will have n minus 1 arcs in the solution. We have n minus one equal to four; there are four arcs in this solution. There are 4 arcs that are kept here. This is also very similar to what we saw in the transportation problem in the first course. If the transportation problem has m supplies and n requirements, we said there will be m plus n minus 1 basic variable in the basic feasible solution. If there are n nodes, we will have n minus 1 variables or n minus 1 arcs in the basic feasible solution. This basic feasible solution is represented here. This represents the solution to the primal, a basic feasible solution to the primal. What we do now is we start defining some dual variables. We first define here, w5 equal to zero. We already said that because of this primal, if the problem is a balanced problem, we have 6 4 minus 5 minus 5. If we add the left hand side and the right hand side vertically, we get zero equal to zero, which represents a linearly dependent system. Only if there are n nodes, we have n minus 1 arcs in the solution and therefore, one of the dual variables has to be given an arbitrary value. In the transportation problem, we are used to define u1 equal to zero; whereas, in the minimum cost flow problem, we start defining w5 is equal to zero. For w5 equal to zero, we go back and do this. We try to find out, use wi minus wj is equal to Cij, wherever Xij is basic, which is nothing but the complementary slackness theorem which is being applied here. Wherever Xij is basic, we now use wi minus wj is equal to Cij. Here, Xij is basic. wi minus wj is equal to Cij. This would give us w4 equal to 4, such that wi minus wj is equal to Cij. w4 takes a value of four, when w5 is defined as zero. So, wi minus wj is equal to Cij. Coming back to this basic, wi minus wj, is equal to Cij, which would give us w3 is equal to 10, wi minus wj is equal to Cij. Again here, Xij is basic so, w2 is found out, such that wi minus wj is equal to Cij, would give us w2 equals 9, such that 9 minus 4 is equal to Cij, which is 5. Please remember, wi minus wj is equal to Cij. So, we would always take the cost coefficient associated with the basic variable. We again, define w1 from this as wi minus wj is equal to Cij, which would give us w1 is equal to 17. We have now evaluated all the dual values by fixing w5 equal to zero, applying complementary slackness conditions here and using the condition wi minus wj is equal to Cij, wherever Xij is basic. Having found out the ws using wi minus wj is less than or equal to Cij, we go back and verify with the non-basic arcs whether the duality constraint is satisfied or alternately, we try to find out wi minus wj minus Cij for all the non-basic arcs. For this non-basic arc, wi minus wj minus Cij, wi is 17, wj is 10, Cij is 6, so wi minus wj minus Cij is 1. So, 17 minus 10 is 7, 7 minus 6 is 1. Now, there is another non-basic arc. 2 5 is a non-basic arc, wi minus wj minus Cij is 9 minus 0 minus 7, gives value equal to 2. There is another non-basic arc, which is 3 5. wi minus wj 10 minus 0 minus Cij, which is 3, so 10 minus 3, you get 7 here. wi minus wj minus Cij would give us 10 minus 3, which is 7. We have computed that there are totally 1 2 3 4 5 6 7 arcs, out of which four arcs are already basic, three arcs are non-basic and then, we have computed the value of wi minus wj minus Cij. We observed that in all the three cases, wi minus wj minus Cij is positive indicating that wi minus wj is actually greater than Cij. So, the present solution which is to the dual, which is given by 0, 4, 10, 9, and 17 is not dual feasible, because for the non-basic arcs, it violates this condition. Therefore, the one which has the maximum value will enter the basis. We have already seen in linear programming theory, that given a primal dual, given a basic feasible solution to the primal, we can always evaluate the dual. Wherever the dual is infeasible, it means that the primal is non-optimal and that particular variable can get into the basics. Out of these three, the one that has the highest value, which happens to be 7 will now enter or get into the basis. We enter this into the basis by giving an allocation theta to this. This gets an allocation theta from here, which means this X equal to 4, will become 4 minus theta and then, this will become 5 minus theta. This is a flow of theta, goes from 3 to 5. Automatically, 4 minus theta will go here and 5 minus theta will go here. So, the best value that theta can take is 4, beyond which, this will become negative. So, the best value that the theta can take is now 4. The allocations changed as this X equal to 4 will go, this X will become 1, 5 minus theta will become 1, and this will become X equal to 4. We have a new solution with 6 flows here. Flow of 6 coming here, 5 goes into this, so 1 flow here. This 4 automatically goes from 3 to 5. The costs associated with this solution will be 6 into 8 48, 6 into 5 30, that is, 78, 78 plus 4 is 82, 82 plus 12, which is 94. There is a saving of 28 and that 28 come from the fact that Cj minus Zj is 7, theta is 4, so 7 into 4 is 28, so 122, reduces from 122 to 94. Now, we check whether this particular allocation is optimal and we do that by once again computing the w values. The solution here is X equal to 6. This is the solution and the costs are 8, 5, 3, and 4. We again start with w5 equal to zero and we use the condition, wi minus wj is equal to Cij. Therefore, w4 will become 4. 4 minus 0 is 4. Cij is 5 here, so, w2 will be equal to 9, 9 minus 4 equal to 5 and here, w1 will be equal to 17, 9 plus 8, that is, 17. So, w3 will be equal to 3, 3 because wi minus wj is equal to Cij. We have now computed the new dual variables associated with this particular basic feasible solution to the primal. We again have to go back and check whether this dual is optimal, which means we have to evaluate wi minus wj minus Cij for all the non-basic variables. We first look at this non-basic set. This non-basic variable 1 3 wi minus wj minus Cij, 17 minus 3 is 14, 14 minus 6 is 8. For this, wi is 3, wj is 4, wi minus wj minus Cij would give us minus 5. 3 minus 4 minus 6 would give us minus 7. wi minus wj minus Cij would give us 3 minus 4, which is minus 1 minus 6, is minus 7. For this non-basic variable, wi minus wj minus Cij will be 2. Out of the three values that we have computed, for wi minus wj minus Cij we find a positive quantity here, we find a negative quantity here, we find a positive quantity here. The positive quantities indicate that the corresponding dual constraint is violated and the most positive one happens to come here and this will be the entering basic variable. The most positive quantity here will be the entering basic variable. We have already seen that infeasibility to the dual is non-optimality to the primal and the constraint that is most violated would give us the highest Cj minus Zj. When it enters it will eventually reduce the cost further for a minimization problem. We enter the variable X13 into the basics and we enter it with value equal to theta. When we have a theta coming here, automatically, 6 will become 6 minus theta and 6 minus theta comes in, 6 minus theta will come out, 1 minus theta will come here. So, this theta will become 4 plus theta and the 5 will be balanced. Out of these, the best value that theta can take is theta equal to 1. When theta equal to 1, we are going to have a flow of 1 here. We will have a flow of 5 here, we will have a flow of 5 here, we will have no flow here, and we will have a flow equal to 5 here. We update that into this matrix, to get X equal to 5 here, we get X equal to 5 here. Here, there is no flow, this will become X equal to 1, and this will become X equal to 5. The costs associated with this will be 8 into 5, that is, 40, 5 into 5, that is, 25, which is 65, 65 plus 6 is 71, 71 plus 15 is 86. I repeat, 8 into 5 is 40 plus 25 is 65, 65 plus 15 is 80, 80 plus 6 is 86. The difference is 8 here and that comes from Cj minus Zj is 8, theta is 1. So, the product of Cj minus Zj and theta, which is 8 will be the gain or improvement. So, 94 has come down to 86. We have to again check whether this particular solution is optimal. In order to do that, we go back and compute this again. I have 1 2 3 4 5 nodes, have a solution X equal to 5, X equal to 1, X equal to 5, and X equal to 5. This is the solution. We again fix w5 equal to zero. We get w3 from wi minus wj equal to Cij. Cij is 3, so you get w3 equal to 3. From here, wi minus wj is equal to Cij. Cij is 6, so you get w1 is equal to 9, 9 minus 3 equal to 6. Therefore w2 is computed such that w1 minus w2 is equal to 8. Thus w2 will be 1, wi minus wj is equal to Cij. So, w2 is equal to 1 and to compute w4, w2 minus w4 is equal to 5. So, w4 is minus 4, w2 minus w4 is equal to 5. So, w4 is equal to minus 4. In this way, we have calculated all the dual variables. We also observed that one of the dual variables has become negative, because we have fixed w5 equal to zero. Another way of looking at it is we can actually fix w5 to a large value, so that it does not become negative. However, it does not matter, because by definition of the dual, wj is unrestricted in sign. Therefore, a negative value for w4 is acceptable. We do not worry about the negative value that is coming in. We go back and check whether this is optimal by looking at all the non-basic arcs. We have a non-basic arc, which is this. wi minus wj minus Cij is minus 4 minus 0 minus 4, which is minus 8. We have another non-basic arc, which is here. wi minus wj minus Cij, that is 1 minus 0 minus 7 is minus 6, and the third one comes here. wi minus wj minus Cij, 3 minus minus 4 is 3 plus 4 7, 7 minus 6 is plus 1. Out of the three values that we computed, there is a minus 6, there is a minus 8, and there is a plus 1. Plus 1 indicates that wi minus wj is actually greater than Cij. Therefore, that variable now has to enter the basis. When this variable enters the basis, we enter this with value equal to theta. Because we have a theta here, this becomes 5 minus theta and because we have a theta that is coming in here, this has to be 5 minus theta. That 5 minus theta plus theta equal to 5 which goes and from here, this will become 5 minus theta, because you have 5 minus theta here, we have 1 plus theta. This will remain as it is, nothing will happen here. This is how the things will get allocated. For example, a theta coming here would mean, this, nothing will happen to this, this will remain as 5. Theta coming here would make this, 5 minus theta. So, that they add together and we get a theta here. This 5 minus theta will force this 5 to 5 minus theta and this will make this 1 plus theta, so that the theta comes into this, this 5 will not get disturbed. The best value that theta can take is theta equal to 5. When theta equal to 5, this becomes zero, this becomes 6, this remains at 5, this becomes theta equal to 5, and this becomes zero. So, the allocations will become, this will be 0, this will also be 0, this will be 6, this will be theta equal to 5, 6 plus 4 is 10, so, this will remain as 5. This is how, the allocations will look like. Again we have to go back. Now the cost associated with this will be 6 into 6 that is 36, 36 plus 30, which is 66, 66 plus 15 is 81. This is the cost associated with this. We need to go back and check whether this is optimal and we do that. We have the solution 6, 5, 5. Right now, we observe that there are three basic variables; whereas, we would like to have a fourth basic variable as well. This represents a degenerate basic feasible solution to this problem. Let us try and proceed, so this would give us w5 equal to zero. From this wi minus wj is equal to 3, so w3 will be 3. This would give us w1 equal to 9, 9 minus 3 is equal to 6. This would give us wi minus wj is equal to Cij. This is X equal to 6, this is C equal to 6, this is cost equal to 3. So, here, cost equal to 6, so wi minus wj is equal to Cij, so this will be minus 3. Then, we need to introduce another dummy arc, so that we are able to get this value of 2. Let us, for the moment, introduce this as the dummy arc. This would give us w2 equal to 1, because this is cost equal to 8. We introduce this dummy arc into the solution with X equal to zero, so that wi minus wj is equal to Cij. In order to check whether this is optimal, we have to now find out the value of wi minus wj minus Cij for all the non-basic arcs. There is a non-basic arc here, so minus 3 minus 0 minus 4 is minus 7. There is a non-basic arc here, 1 minus 0 minus 7 is minus 6 and the third non-basic arc comes from here. We get 1 minus minus 3 is 4, 4 minus 5 is minus 1. Corresponding to the three non-basic arcs, the values are minus 1, minus 6, and minus 7 respectively. This means that this dual is satisfied, so this solution is a dual feasible solution. We have a situation where we have a basic feasible solution to the primal, the corresponding dual solution is feasible and complementary slackness conditions are satisfied. Therefore, this solution is optimal to the given problem. This is a degenerate basic feasible solution, so it is degenerate at the optimum, but with minimum cost equal to 81. The method that we have right now seen here is called the �network simplex method�. It is called the network simplex method, because we do the simplex computations on the network itself. It is very similar to the transportation algorithm with slight differences here and there; particularly when it comes to updating the flow using this theta whereas in the transportation problem, we are much more comfortable identifying the loop and then updating the theta. Network simplex method is a very popular method to solve the minimum cost flow problem. Next, what we see is that having seen the network simplex method, do we also try and observe to see whether there is any other similarity between this and the transportation problem with which we are extremely familiar and comfortable. Let us look at, can we solve this problem as a transportation problem and we try to address this particular issue. In fact, even before we get into solving the transportation problem, we may look at a couple of other issues. Two or three things are required to be looked at. Number one is we solved a balanced problem, now what will happen if the problem is not balanced. This is balanced, because we had 6 plus 4, that is, 10. We have minus 5 minus 5, which is minus 10. If the problem is not balanced, then we do the same thing that we do in transportation. Create either a dummy source or a dummy destination, so that it is balanced and then, create arcs into the dummy destination or from the dummy source to all the other nodes with zero costs. That is a very convenient way of converting an unbalanced problem into a balanced problem and solving this to optimality. The second thing that we should also do is how we can get an initial basic feasible solution to this particular problem. It is quite similar to the transportation, if we see carefully, whatever we have seen as a network simplex algorithm is nothing but the uv method applied to the corresponding transportation problem. In the transportation problem, we assume that we had a starting basic feasible solution, using either the northwest corner rule or the minimum cost method or the Vogel's approximation method. Then, we use the uv method to try and get to the optimal solution. Here, we have the network simplex method. This is very similar to the uv method with which we used. So, one of the ways of trying to get an initial solution is by simply having one dummy arc somewhere and connect all of them into the dummy with a slightly larger value. Then, create a solution where all the flows go into that dummy arc and then, from there, they go to the destination arc. It is like for example, saying I start with another node 6 here. All the flows, I take from this to this, I can take from this to this. Then, I can go from this to this, I can go from this to this, so I would get a basic feasible solution. Both the issues of initialization and balancing can actually be handled this way for the minimum cost flow problem. We get into the next thing to see whether, if there is a transportation equivalent to the minimum cost flow problem? The answer is yes. What we can do is now, we create a five into five transportation problem, 4 0. Let us consider this transportation problem, now nodes 1 and 3 are supply nodes, with values 6 and 4 respectively. Nodes 4 and 5 are demand nodes or destination nodes. So, they have values 5 and 5 respectively. We create a 5 into 5, because there are five nodes in this; diagonal values are all zero. Now 1 to 2 is 8, 1 to 3 is 6, so 1 to 2 is 8, 1 to 3 is 6. Wherever we have an i to j, put the corresponding Cij value. Wherever you do not have an ij, put a big M. Big M in the usual way is large positive and tending to infinity, the same way that we have used big M in transportation and in simplex. That way, we can create this cost matrix to the transportation problem. These values are 6 and 4, which are the supply values; 5 and 5, which are the requirement values. The problem is balanced with total equal to 10. What we do is simply add that 10 to all of them. This becomes 16, 10, 14, and 10. This will become 10, 10, 10, 15, and 15 respectively. We have created the transportation problem and now, we can solve this transportation problem using the standard Vogel's approximation, followed by uv or any other method with which we can solve it. If we do, we will get a solution which is like this. This will be our solution to the transportation problem. We need to interpret this solution and try and get this particular solution. What happens is, ordinarily because we have put zero costs here, diagonal 10 is expected to happen, because we put zero cost here. We have added 10 to every element here and to every element here, so we would expect to have a 10 allocation across the diagonal. But because transshipment happens, which means if you look at this final solution; from one source it goes to one source and then, it goes to the destination. It goes to a destination, so transshipment happens; therefore, we realize it is actually cheaper in terms of total cost to transport less than 10 here. This means that there is some transshipment happening, a diagonal allocation, which is less than 10. This would mean that there is some transshipment that is happening. The solution is straight away given here as X13 equal to 6, X34 equal to 5, and X35equal to 5, which is actually our solution. Because, we have this X13 from one, one supply point to another supply point 6 is moving. Automatically, the diagonal gets reduced by that quantity, you got a 4 here. This would also give us Z equal to 81, which is the same that we got here. The minimum cost flow problem as we have seen can be solved either by the network simplex method or by a transportation problem. This type of transportation problem is called �transshipment problem�. This transshipment problem will always have a square structure, where the number of effective supplies and effective demands will be equal to the sum of the actual supplies and actual demands. In this case, are with equal to the number of nodes in the network. There are five nodes in the network, so it becomes a 5 into 5. There are two supply points and two demand points, but since there are five nodes in the network, we get a 5 into 5 transportation problem, also called the transshipment problem. A diagonal assignment less than the max would mean that there is some kind of a transshipment happening. You are shipping goods from one supply to another supply and from there, it goes to the demand points or from one demand point to another demand point, whichever is optimal to the given problem. While the transshipment structure of solving this problem looks a little more appealing at this point, this is may be because of our familiarity with the transportation problem and the ease of doing it. The network simplex provides a way by which we can actually show all these computations in the figure or in the diagram and then, motivate ourselves to develop an algorithm, which uses exactly the duality property associated with the minimum cost flow problem. This is convenient but this kind of makes the converts the given minimum cost flow problem into a transportation problem and then, uses ideas from transportation problem to solve this. That brings us to the end of our discussion on the minimum cost flow problem and network problems in general, but then we would also like to see something. Over this course, we have seen few network problems we started with the transportation and the assignment problems earlier. We started with transportation assignment, shortest path, max flow, and min cost flow. So we have seen five problems, two of these in the earlier course and three right now, as part of this course. What are the relationships among these particular problems? Let me explain the relationship among all these. Let us look at some kind of a master problem, where we are transporting a single commodity. Let us say, I have a set of supply nodes, I have a set of intermediate nodes, and I have a set of destination nodes. I can have connectivity among the supply nodes, I can have connectivity here, and I may have connectivity here. All these will have supplies, so, b greater than zero. All these are requirements with b less than zero, all these are intermediates with b equal to zero. We call this as set S1, we call this as set S2, and we call this as set S3. There is a Cij associated with this; we may have a capacity restriction also. We may have a Uij associated with this. This problem of trying to minimize the total cost will now become minimum cost capacitated flow problem, if we use the Uij. But the problem that we solved right now did not have Uij, so it becomes minimum cost uncapacitated problem. If we take this particular problem and if Uij equal to infinity, it means there are no capacity restrictions. We also have a structure S2, a null set, which means there are no intermediate nodes and we are not going to allow this kind of transshipment among the supplies, and so on. Then, the problem becomes a transportation problem. If we do not allow transportation within the set S1 and S3, then it becomes a transportation problem. In this special case, if we have cardinality S1 equal to cardinality S2 and if we have all ai equal to bj equal to 1. This means, if there are ai is the supply associated with the i'th node here, bj is the demand associated with the j'th node here. There is no intermediate set, so S2 is a null set. Then, we have a cardinality of S1is equal to cardinality of S3, which means the number of supply points here is equal to the number of demand points here. Then, this problem becomes an assignment problem. Number three is, if we have only one supply point here and we have one destination point here, and a whole set of intermediate points. Case three, when equal to 1, S2 exists, so there are intermediate points, but there is only one supply point and one destination point, and all Uijs equal to infinity, which means that there are no capacities, then this problem becomes a shortest path problem. The minimum cost path that connects this to this, via the intermediate nodes, would give us the corresponding shortest path problem. Then, number four, if S1 equal to S3 equal to 1, there is one source and one destination, with all the costs Cij equal to minus 1 and Uij is not equal to infinity, which means there is a capacity associated with this. Cost is minus 1, there is only one supply point, one destination point, then this problem becomes the max flow problem. Ensure that you observe that the Cij equal to minus 1, would make it minimize minus double sigma Xij, which would make it maximize sigma Xij in a certain form. You would get it closer to the maximum flow problem. If Uijs do not exist, then it becomes a min cost uncapacitated flow problem. If Uijs exists, it becomes a minimum cost capacitated flow problem. These are the various network problems that we have seen and we now show that all these are special cases and versions of the minimum cost capacitated flow problem. Network problems are important from the point of view that number one, all network problems have unimodular structure. Therefore, it is possible to develop special algorithms, which exploit certain conditions and properties of the particular network problem, so that we can solve the network problem much faster than we would do by applying simplex. Because of unimodularity property, even if they are integer programming problems, they can be solved as linear programming problems to yield integer valued solutions. We can always come up with special algorithms, which exploit the special structure of the problem and solve it efficiently. For the transportation, we have seen largely the uv method, which adds up from the other three methods. Here, we had seen the Hungarian method; here, we had seen the Dijkstra's algorithm and its extensions. Here, we have seen the flow augmenting path algorithm, which also related the max flow to the min cut and here, we saw the network simplex algorithm. Network models or network problems provides us with an opportunity to exploit the special structure of each of these network problems and then, come up with very specific algorithms, which will solve each of these network problems. Network problems have extensive applications. Several OR problems can be modeled as equivalent network problems. We have already seen that a single commodity transportation problem is an extremely valuable problem to solve. In today's context, where there is so much emphasis on transportation distribution logistics and supply chain management, the use of the transportation algorithms is actually increasing. Assignment problems are extremely important. Assignment problems help us assign people to machines, machines to jobs, people to jobs, and people to projects or any other form of assignments, operators to machines in a manufacturing context, and so on. It even helps us assign railway locomotives to platforms, rakes to trains physically, the airplanes to the various flights and so on. These have extensive applications, particularly in the transportation industry, the airline industry, the railways industry, and so on. Shortest path problems are well known. Shortest path problems help us to find the least cost route from one place to another. It is used extensively in transportation, people movement, journey from one place to another very special types of problems are formulated as shortest path problems. Some shift allocation problems become shortest path problem, some equipment replacement problems can be modeled as shortest path problems, particularly shortest path problems involving two parameters, such as cost and time. The constraint shortest path problems, successive shortest path problems find extensive use in the transportation airline and other communication industry. Maximum flow problem is quite useful. In fact, we can even solve the assignment, Hungarian the part of it as a max flow problem, the place where we have to draw lines to that cover all the rows in assignment can be looked upon as a max flow problem. Max flow problem can be used in applications such as housing allocations. Minimum cost flow problems are also useful. They have extensive applications in allotting people to machines, jobs particularly, if they have some preferences, and particularly, if people are into different categories and people from these categories have to be allocated to various jobs. Network models have extensive applications and the best part of the network model is the fact that not only they can be solved as LPs to get integer valued solutions, they also have special algorithms with which we can solve them. With this, we end the discussion on the network problems. We will look at the travelling salesman problem in the next lecture.
Info
Channel: nptelhrd
Views: 116,895
Rating: undefined out of 5
Keywords: Minimum, Cost, Flow, Problem
Id: UtSrgTsKUfU
Channel Id: undefined
Length: 58min 32sec (3512 seconds)
Published: Thu Jan 28 2010
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.