In the last lecture we saw the 2 methods to solve
the transportation problem, optimally which were the Stepping stone method and the Modified
distribution method. Now we look at all these aspects of the transportation
problem which is i. The optimality of the MODI method,
ii. Economic interpretation of the dual to the transportation problems,
iii. Comparison among the various starting solution solutions,
iv. How to solve unbalanced problems and v. How to we ensure that we get integer solutions
to the transportation problems. Even if we solve it as a LP, we will look
at all these dimensions 1 after another. First let us look at how the MODI method gives the
optimal solution. To do that, we first write down the dual of the transportation problem. Primal of the transportation problem is to
minimize double sigma Cij Xij. Let us write the primal constraints with specific reference
to the example that we are looking at. There are 3 supply points. When the first supply
point is considered X1 1 + X1 2 + X1 3 + X1 4 less than or equal to a1 is 40. As far as
the second one is considered X2 1 + X2 2 + X2 3 + X2 4 less than or = a2 and third one
is X3 1 + X3 2 + X3 3+ X3 4 is less than or = 50. As far as the requirements are considered,
first requirement point will be X1 1 + X2 1 + X3 1. This is the quantity received from
supply points 1, 2 and 3 respectively. This should be greater than or equal to 20.
X1 2 + X2 2 + X3 2 greater than or equal to 30
X1 3+ X2 3 + X3 3 greater than or equal to 50
X1 4 + X2 4 + X3 4 greater than or equal to 50; we have Xij greater than or equal to 0.
Now because we are solving a balanced transportation problem, all these inequalities now become
equations. We have this entire equal to this and we have sigma ai = sigma bj.Now let us
write the dual to this problem. Now we introduce dual variables u1, u2, u3, corresponding to
the 3 supply points and 4 dual variables v1, v2, v3 and v4 corresponds to the 4 demand
points. So the dual will since the primal is a minimization problem. The dual is the maximization problem and dual
is given by maximize sigma ai ui, 40 u1 + 60y2 + 50y3 + sigma bj vj, 20 vj + 30 v2 vj.
Now we realize that every Xij for example X1 1 is in 2 constraints, corresponding to
u1 and v1. If we take X2 to be 3, it is in 2 constraints corresponding to u2 and v3.
So each Xij appears exactly in 2 constra¬ints so for a corresponding Xij, we will have ui
+ vj is less than or equal to Cij from the objective function.
For example we will have as many dual constraints as a number of primal variables we have 12
primal variables so will have 12 dual constraints which will be u1 + v1 less than or equal C1
1. u1 + v2 less than or equal to C1 2 and so on, we will have 12 constraints corresponding
to the 12 primal decision variables and we will have as many dual variables as the number
of primal constraints. We have 3 dual variables for 3 supply constraints and 4 dual variables
for these four. Now this ui's and vj's are unrestricted
because all the primal constraints are equations. We have already seen that corresponding to
an equation; the dual variable will be unrestricted in sign. So ui's and vj's are unrestricted
in sign. So this is the dual of the transportation problem. Now let us see how this dual helps
us to understand the optimality of the MODI method. Now let us go back and look at the same problem
that we saw in the earlier lecture. We represent the optimal solution here and the corresponding
values of ui and vj as we computed in the last lecture. So if we take this situation
now, we find corresponding to this allocation here, we fix u1 = 0 to get v1 = 4; v2 = 6
would give us u3 = 1 which would give us u3 = 5, from which we get u2 = 1 and we get v4
= 6 and the u's and the v's are put here. What we have done by introducing these u's
and v's is that, we are trying to evaluate the corresponding dual solution. Now these
u's and v's represents the corresponding dual solution, corresponding to the primal solution
given by these variables. The next thing we do here is to calculate Cij - ui + vj and
0 + 5 is = 5, so we get 3 here. We get 2 here. We get 1 here, we get 1 here, we get a 0 here
and we get a 1 here. So we have calculated Cij - ui + vj.
Now let us look at these. These represent the dual variables corresponding to the primal
basic feasible solution which is here, so those are the dual variables ui's and vj's.
Now how do we calculate the dual variables? Wherever the primal Xij is basic, we define
ui vj such that ui + vj = Cij. Because X1 1 is basic, we make sure that u1 + v1 is = C1
1. If we go back to the dual constraint then u1 + v1 should to be less than or equal to
C1 1. So now Xij is basic. We find out ui and vj such that ui + vj = Cij indicating
that the corresponding slack is 0 which means wherever a variable is basic we find u and
v such that the corresponding slack is 0 which means we are satisfying complementary slackness
condition. Complementary slackness condition says that
if a primal X is basic then the corresponding dual slack is 0. We compute the dual variables
in such a way that complimentary slackness conditions are satisfied. Wherever Xij is
basic we have ui + vj = Cij indicating that the slack is 0 satisfying the complimentary
slackness conditions. Wherever Xij is non basic, we try to find out the value of Cij
- ui + vj. For example if we write the dual constraint ui + vj + hij = 0; wherever Xij
is basic we make sure that Xij is 0 because ui + vj = Cij. Wherever Xij is non basic, we try to find
out the value of Cij - ui + vj. For example we write the dual constraint as ui + vj +
hij = 0. Now wherever Xij is basic we make sure that hij is 0 because ui + vj = to 0j.
Wherever Xij is non basic we try to evaluate Cij - ui + vj which means we are trying to
evaluate hij dual slack corresponding to this constraint or we are checking whether that
constraint is feasible. Now all hij's are greater than or equal to 0. It means the ui's
and vj's are such that all the dual constraints are satisfied. If even one hij is negative
it means that particular dual constraint is violated and the dual is infeasible. Dual
infeasibility implies primal optimality. So you enter that variable and proceed towards
the optimal solution. Now when all hij's are greater than or equal to 0 which is the optimum,
it means all dual constraints are satisfied. So your ui's and vj's are such that all the
dual constraints are satisfied. Now ui's and vj's are unrestricted in sign so we need not
worry about some of these taking even negative values. So far we did not encounter a situation
where a ui or a vj took a negative value but you can have situations where these can take
negative values and that is acceptable because your ui's and vj's are unrestricted inside.
In fact that is precisely the reason why we solve a balanced transportation problem.
A balanced transportation problem has equations and therefore we have ui's and vj's unrestricted
in sign. So we need not worry about the sign of the ui's and vj's as we compute that even
if they are unrestricted in sign it does not matter to us. Therefore we are comfortable
solving the balanced problems because we need not worry about ui's and vj's having to take
strictly a non negative value and so on they can take any value. Therefore the moment ui's and vj's are such
that all the hij's are greater than or equal to 0 which means all the dual constraints
are satisfied then corresponding to this primal basic feasible solution, we have identified
a dual solution which is also feasible and the complimentary slackness conditions are
satisfied because wherever Xij is basic we have hij = 0. So we have 3 things we starting
with the basic feasible solution to the primal. We applied the complimentary slackness and
found out the corresponding dual and we verified whether the dual is feasible and if the dual
is feasible it has to be optimal because that is exactly the way the simplex algorithm works.
We start with the basic feasible solution. You apply complimentary slackness and find
out the corresponding dual. When the dual is feasible we have reached the optimal solution
to both primal and dual therefore MODI method is optimal. So based on this discussion the MODI method
is optimal and we have already seen that the stepping stone method is exactly the same
as the MODI method. So whatever we evaluate as a net gain or a net loss, by putting a,
+ 1 in the non basic position, completing the loop and getting the net increase is the
same as finding Cj - Zj or Cij - ui + vj. So when Cij - ui + vj is negative it means
it is profitable to enter into this basis. If we look at it from the MODI point of view,
it is profitable to put something here and then adjust the allocation as we do in the
stepping stone method. So stepping stone method is the same as MODI method as far as the results
are concerned. Therefore both MODI method and the stepping stone methods are optimal.
Now we move to the next part which is the economic interpretation of the dual variable.
Now in the linear programming we gave an economic interpretation of the dual as the marginal
value of the resource of the optimum. Now let us see what kind of an interpretation
we have for these ui's and vj's. Now the Xij represents this 20, which represents the quantity
transported from the first supply point to the first destination point. Now what exactly
are these 0's and 4's? Let us look at the situation the primal of
the transportation problem. If concerned about transporting the 40, 60 and 50 available in
the 3 supply positions to meet the 20, 30, 50 and 50 which are the demands of the 4 demand
points. Now one way of looking at it is if we solve the primal to find out exactly how
much to transport from every i to every j, we get an optimal solution 20, 20, 10, 50,
40, 10 respectively. On the other hand let us look at the problem in a different way. Now there are some supply points and there
are people who have these 40, 50 and 60 as well as people who need these 20, 30, 50 and
50. Rather than directly transporting it, let us assume that a third party position
is interested in buying all these things from the supply points from the suppliers and is
interested in selling these to the demand points. So let us assume that there is a middle
man or a third party person who is willing to buy this 40, 60 and 50 exactly at the supply
points and then he is going to sell these 20, 30, 50, and 50 back to the people who
are interested in buying at the demand points. In such a situation the ui's will represent
the value, the money that the person will be willing to buy and vj's will represent
the amount for which he will be willing to sell it at the destination point or for example
if a middle person is going to buy one from here and sell, for example, to here, then
the difference between buying price and the selling price should be equal to the cost
of transporting which is 6. So the dual variables are interrupted as the marginal worth of the
commodity at the supply points and the marginal worth of the commodities at the destination
point when it comes to buying and selling respectively. Now in it is also obvious that
we were actually not interested in finding the absolute values of the u's and v's but
we are finding out the values of u's and v's by fixing u1 = 0 always. For example if we
had fixed u1 to other number then the u's and the v's will get adjusted and that is
acceptable to us because ui's and vj's are unrestricted in sign. It is also important that we are not interested
in the absolute values. We are only interested in the relative values. For example if this
is going to be a basic variable at the optimum then no matter what price the person is going
to pay and buy here, it is necessary for the person to sell it at 6, if this is rupees
6 more to this person. So that both are able to optimize otherwise if the third party person
is willing to sell for something less than 6 then the person will lose and if the person
is willing to sell for more than 6 then this person will not be ready to buy from this
person. So the competitive market will ensure that this ui + vj will be = Cij where ui and
vj are interpreted suitably as buying and selling respectively. So this is the economic
interpretation of the dual variable. The dual variables can also be unrestricted in the
sign. It does not matter. It is only the relative difference that matters and not the absolute
value. So they can be unrestricted in sign. So some
of them can take positive values, some of them can take negative values as well.
Now let us also look at the third dimension we said there are 2 ways, 2 basic steps in
solving the transportation problem. One is to identify the basic feasible solution and
the second is to get the optimum from the basic feasible solution. So when we identify
the basic feasible solution we looked at 3 methods the North West Corner rule, the minimum
cost method and the Vogel's approximation method. Let us look at some aspects of these. We could
get started using the North West Corner rule or the minimum cost method or the Vogel's
approximation method and we could get the optimal solution using the stepping stone
method or the modified distribution method. When we look at the 3 North West Corner rule
minimum cost and Vogel's, we realize that North West Corner rule is a simplest of that.
All the 3 of them give basic feasible solutions. All the 3 of them will not give the solutions
with the loop because every time when an allocation is made, they allocate the maximum possible
which is the minimum between the supply and the demand. Now among the 3 we realize that
the North West Corner rule is the fastest in terms of implementation it is quicker but
it does not guarantee a solution because it does not use cost information while making
the allocation. Then the minimum cost method is expected to give a value better than the
North West Corner rule because it takes into account the cost while making the allocation
and the Vogel is expected to perform better than the minimum cost because it goes to one
more level of detail in computing the penalty associated with not allocating at the minimum
cost time. In terms of computational requirement, Vogel
takes more time compared to the other two since this method gives the superior starting
basic feasible solution it is expected to take less number of iterations to reach the
optimum. It is also advisable that the starting solution is generated using these methods
because they guarantee basic feasible solutions and they do not get into any loop. It is not
absolutely necessary that we should use any 3. We could start with any arbitrary feasible
solution. We need to check whether it is basic feasible.
We need to look at the number of allocations. If there is already a loop existing we need
to break it and then we need to bring it into m + n - 1. If there is a loop, the loop must
be broken to get a basic feasible solution. In summary, Vogel's approximation is used
normally even though it takes a little longer in terms of computations. It is expected to
give a good quality basic feasible solution from which we can reach the optimum in fewer
iterations. Between the MODI method and the stepping stone method let us look at it aga¬in. Let us look at the same problem and let us
compare what we did when we use the stepping stone and when we use the MODI. Now when we
use the stepping stone, this problem has 6 non basic positions and in the stepping stone
method, we calculated the net gain or loss when putting in each one of these 6 positions.
Each one is involved in computing a loop whereas in the MODI we did not do that. We calculated
ui's and vj's using some properties as and having identified the entering variable we
then computed 1 loop. So for small sized problems where the number of non basic variables are
small, stepping stones could be used, but as the problem becomes larger when there are
more non basic variables. We have actually m into n positions out of which m + n - 1
are basic. So mn - m + n - 1 non basic positions exist. As m and n increase, we realize that this
quantity will become large therefore it is advisable to use the MODI method or the uv
method. Even though the MODI and the stepping stone are essentially the same, they give
the same answer stepping stones computational requirement will be higher as the problem
size increases. Therefore it is advisable to use the modified distribution method to
solve. So in general it is advisable to start with the Vogel's approximation method or the
penalty cost method to get a starting basic feasible solution and then approach the optimality
using the uv or the MODI method. Now let us look at one more dimension which
is how to solve unbalanced transportation. So for when we started the formulation, we
formulated all the supply constraints as less than or equal to constraints. All demand constraints
as greater than or equal to constraints and we formulated an unbalanced problem and then
we put or we added an additional restriction that sigma ai = sigma vj and we convert it
into a balanced problem and solve the balanced problem. Much later when we looked at the
dual we realized that the balanced problem is advantageous because the dual variables
are unrestricted. The unbalanced problem would restrict the ui's and the vj's so we did not
solve the unbalanced problem. If the transportation problem is not balanced
then how do we solve? So we need to find out a way by which we are
able to convert every unbalanced transportation problem into a balanced transportation problem.
We see that through examples now. Now let us look at a transportation problem
given here. Now this problem has 3 supplied points and 4 destination points. The supplies
are 30, 60 and 50 respectively. The requirements are 20, 30, 50 and 50. Now the supplied sum
is 140 where as the requirement is 150. So we clearly have a transportation problem which
is unbalanced. Sigma ai is 140 sigma vj is 150. So we have an unbalanced transportation
problem so what do we do here? Now to make the problem balanced we add another
supply or another row with the 10 here so that we are able to balance this to 150. Now
we have added another row. We have created a 4th row with the balanced quantity of 10
and we have made it 150. Now the cost coefficients remain as they are, but this row that we have
added is called a dummy row. This row does not exist in the problem so it is called a
dummy row and this row is added with a very specific purpose of converting unbalanced
problem into a balanced problem. The cost coefficient corresponding to the dummy is
0. Now we can solve the new, the present balanced transportation problem and get the optimum.
Whatever allocation comes out of these 10 however, will not be allocated at all because
we actually have only 140 so somewhere 10 out of the 150 will not be met. Whichever
of these 4 gets something from these 10; they effectively do not get anything because this
10 does not exist. In an unbalanced problem when the demand is greater than the supply
after we solve a balanced problem, we realize that we cannot entirely meet all the demand
a part of the demand will certainly be unfulfilled. Dummy will act as supply point within a nonexistent
10 and has cost of transportation from the real demand points. We can look at another transportation problem
which is given here. Again we have 3 supplied points and 4 destination points. The 3 supplies
are 40, 60 and 50 respectively. The requirements are 20, 30, 50 and 30 respectively. The total
supply is 150. Total demand is 130. So we have again another kind of an unbalanced transportation
problem. Here total demand is less than the total supply
or the total supply is more than the total demand. We convert it to a balanced problem
by adding a new column or a new demand point, a dummy, with value 20 such that the total
demand now becomes 150. The total demand is = total supply, the dummy has cost = 0 and
whichever supply point (we solved the balanced transportation problem) gives to this 20,
one or more to that extent, that many supplies will not be taken from those supply points.
Now whichever supply points allots to the dummy, finally will have that many units not
supplied at all and in this case since total supply exceeds total demand, we will be able
to meet the entire demand from the existing supply points. Now by definition this dummy
is a nonexistent or a virtual demand point which is created to balance this problem with
a nonexistent 20 demand and a 0 cost of transportation from the real supply points. So this is how we convert every unbalanced
transportation problem into a balanced transportation problem. Every unbalanced problem can be converted
to a balanced problem by either adding a dummy row or a dummy column depending on whichever
is necessary. Always the dummies will have cost equal to
0. If we have a situation where the total supply is greater than the total demand then
we have a dummy column and if the total demand is greater than the total supply, we have
a dummy row. If the total demand is greater than the total supply then in the end we will
have certain amount of demand unmet or unsolved. However this way of converting every unbalanced
problem to a balanced problem is easy for us and we can solve every unbalanced transportation
problem very comfortably using this. We need to look at the last and some other aspects
of the transportation problem. Now there are some aspects to it. First one is this, unless
otherwise stated transportation problem is a minimization problem. For example we analyze
otherwise stated we are always trying to minimize the cost of transportation. This 4 would mean
the unit cost of transporting from this point to this point and objective of the function
is to minimize the total cost of transportation problem. However there could be a situation
where we can have a maximization transportation problem.
The common rule that is followed is to convert the maximization problem into a minimization
problem by multiplying the objective function coefficient with the - 1. So if we were solving
the maximization of objective then we would have all these negatives and then we can straight
away use either the North West Corner or the Vogel's approximation to get the basic feasible
solution. It is a common practice like a linear programming to convert the objective function
in this case to a standard minimization by multiplying with the - 1. We do not try to
modify the rules of minimum cost Vogel's or MODI which is not assigned. The easier thing
to do is to change the objective function into maximization by multiplying with the
- 1. For example we do not keep this as maximization and then go back and read and find the penalties
by saying penalty will be the difference between the second largest and the largest and so
on. We do not do that. We simply multiply the objective function with the - 1, convert
it to a minimization problem and solve as we are using. If a supply point cannot or should not supply
to a demand column then we assign a big M considering a minimization problem. We assign
a big M as a simplex for a minimization objective. Now once again the minimization is large positive
and tends to infinity. M + or - any constant equals to M, so there will not be allocation. For example if we say in the same problem
that we cannot supply from supplier 3 to destination 3 then 8 will be replaced by a big M. Now
the big M as in simplex is large and positive and because it is very large it will not attract
of allocations. We are solving a minimization problem. We could also have different kinds
of situations that have to be modeled. For example if we have an unbalanced problem,
this problem is unbalanced because total supply is 150. Total requirement is 120. We call
this as a demand point 2. This assumes that we need exactly 30 units in the demand point
2. Suppose we say that this person is ready to take any excess (that is also possible)
then we can do another thing. For example we can convert this is unbalanced problem
into a balanced problem by adding another dummy which has 30. This person is also ready
to take the extra 30. It is not necessary that this person should be given 60 but this
person is willing to take 30 or anything more. So what we do is we add another, i.e., a usual
dummy that is added to convert it to a balanced problem.
We add another one called D2 dash that also bids for the extra 30 and now we get 40, 60
and 50 and because this is D2 dash we retain the same cost 6, 8 and 7. This is dummy which
has 0, 0 and 0. Now the other thing we need to make sure is that now this once again becomes
unbalanced because 50, 180 versus 150. So we add another row to balance it with another
30 dummy but we have to make sure that this person gets exactly 30 or more therefore this
will be made as big M. So this person will get 30 out of the 150 that is available and
whatever extra that comes into this person will also be given as additional from this
1. This way we can model other slightly more complex situations in the transportation problem. In a normal transportation problem
we will have something like this where these requirements are formed and these supplies
are formed. But it is also possible to model situation saying that, for example demand
D2 in an unbalanced situation, this person can say I would like to take 30 or more or
up to 50. If the person says I would like to take definitely 30 up to 50 then this 30
will be a column. The remaining will be here and there will be a dummy. Now to ensure that
this person takes exactly 30 this dummy will have to put the big M. So that this 30 comes
from the available supply and anything else that comes into the other dummy this person
will take. So like this it is also possible to model other slightly different or difficult
requirements as a transportation problem and solve it as a resultant balanced transportation
problem. The last aspect that we have to look at is
the integer solutions to transportation. The transportation problem is the linear programming
problem. We have seen the primal. The primal is to minimize Cij Xij greater or equal to
0. This is the lineal programming problem. In all our problems that when we solved we
had integer values for the supply and the demand points, we always had integer values
solutions. We never had a situation where we had fractional values whereas in the linear
programming problems, when you have integer values for your right hand side, one could
get into situations where we could have the Xij's taking non integer or continuous values.
In transportation problem we will not come across that situation.
If the ai's and the bj are all integer values then the Xij's will also be integers. This
is also because of the way we have made the allocations. Essentially in all the 3 North
West Corner minimum cost and Vogel, we allocated integer values, if the supplies and demands
were integers and then we simply added and subtracted integers so we were getting only
integer values. Now there is a slightly different way of looking at these integers. After all
in any linear programming what we are trying to do is we are going to solve something like
this. BXb = small b if this entire thing is written as a vector then this is vector b.
The right hand side is vector b. So we have BXb = small b and you have XB = B inverse
B which is a familiar equation that we have. Now this is an integer value because we have
seen that the supplies and demands are integers. So this is an integer value. Now XB will be
integer, the B inverse is integer. Now B inverse is a cofactor of adjoint B by determinant
B. Now if this B matrix is made up of integers then the adjoint B will be integers because
every cofactor will be an integer adjoint is a transpose of the cofactor. So adjoint
will also be an integer. Now if XB has to be an integer then this determinant B should
be + or - 1. If determinant B is + or - 1 then adjoint B by determinant B will still
be an integer matrix. B inverse will be an integer. B inverse b will be also an integer
because this is an integer. So we have to check whether this B is such that determinant
B is + or - 1. Now if we go back to the transportation and write it in the form AX is = b where A
is the matrix and the b is the vector then this A is made up of 1's and 0's. If you look
at these all 1's and 0s's, the coefficient is either 1 or 0. Now from these coefficients, we can find out
this. A matrix is such that every basis b can be drawn from here, after all this basis
is pulled out from the coefficient matrix A. So every basic basis B that we pull out
from A determinant b is + or - 1 or we can show that this A matrix is unimodular because
this A matrix is unimodular. Every B will have determinant B is = + or - 1 and therefore
XB will be integer values. So XB will be integer values. If ai's and bj's are integers then
XB will be integers. So if the supply and the demand points are integers then every
solution here will be integers. Now going back to the transportation problem, the problem
has m into n variables and m + n constraints like this and we also have in a balanced problem
sigma ai is = sigma bj. So if we take these constraints and simply
add them vertically we will get sigma ai is = bj which is this. Therefore m + n constraints
actually represent a linearly dependant system. Now the transportation problem therefore will
be a degenerate linear programming problem because of this sigma ai is = sigma bj and
because of the linear dependency, we realize that actually we have only m + n - 1 independent
variables for the transportation problem and that is why in this transportation table we
have exactly m + n - 1 basic variables 1, 2, 3, 4, 5 and 6. m + n - 1 is 4 + 3 or 3
+ 4 - 1 which is 6. We should remember that even though the transportation is the linear
programming problem that balanced transportation problem because of these equations and sigma
ai is = sigma bj gives us a linearly dependant system and degenerate linear programming problem
and we will have only m + n - 1 independent variables which will be there at the optimum.
However we do not solve this by the direct application of the simplex. We solve it by an algorithm which is very
similar to the simplex starting with good basic feasible solutions and then moving towards
optimal solution. We solve the balanced problem because of the fact that these equations give
rise to unrestricted ui's and vj's which make it very easy for us to look at this problem
through the MODI method and when we use the MODI method, we do not have to worry about
some of these becoming negative simply because it is fine with us ui's and vj's are unrestricted
in sign. So this is about the integer solutions of the transportation problem. So in general
we have looked at the various aspects of the transportation problem and we have seen 3
important ways to solve the transportation problem to get the basic feasible solution
using the North West Corner rule, minimum cost method or Vogel's approximation method
and we said Vogel's approximation method is more desirable compared to the other 2. We
saw 2 methods to get to the optimal solution the stepping stone method and the MODI method
and we said the MODI is useful for solving large sized problem. We also saw the examples
of how to solve a transportation problem which is degenerate by itself. We later saw that the transportation problem
itself is a degenerate and then we could get into the situation where we have degenerate
transportation problem. The degenerate nature of the LP gives us m + n - 1 = 6; linearly
independent variables but the degenerated transportation problem has one less and we
had 5 allocations which was a degenerate transportation problem and then we looked at these various
aspects of it, including how the MODI method is considered an optimal? We looked at the
economic interpretation of the duals. We made a comparison among the 3 starting solutions
and the 2 optimal seeking solutions. We also looked at the way to convert every unbalanced
problem to a balanced problem and solve and then we also said that if the supply points
and the destination points or the destination requirements are integers then the transportation
problem will give integer valued solutions at the optimum. So we use the special algorithms
to solve the transportation problem because of the very nature of the problem. We could get good starting solutions, good
basic feasible solutions and then move towards the optimum. In the simplex we normally do
not worry about the goodness of the starting basic feasible solution. We were interested
in getting a basic feasible solution and we move towards the optimum because of the special
nature of the transportation problem where good basic feasible solutions can be obtained.
We followed an algorithm which started with a good basic feasible solution with the Vogel's
approximation method and then proceeded towards the optimal solution using the MODI or the
stepping stone method. So transportation problems certainly use special
algorithms compared to the simplex. However we should also one last observation we should
look at is the transportation problem. The algorithm that we saw, particularly the MODI
method does exactly what simplex would do. It starts with the basic feasible solution
like what simplex would do and then the complementary slackness conditions are satisfied. It evaluates
the corresponding dual and if that dual is feasible then it becomes optimum. So the transportation
algorithm is also an example of primal algorithm. Remember that we saw some examples. We saw
what a primal algorithm is and what is dual algorithm is.
A primal algorithm is one which will start with the basic feasible solution after they
establish the basic complimentary slackness, evaluate the corresponding dual and if the
dual is feasible then it will give optimal to both primal and dual which is exactly what
this algorithm does. We evaluated the dual at every stage after satisfying the complimentary
slackness and then when the dual is feasible, which means when all the hij's or Cij - ui
+ vj is greater than or equal to 0 we got the optimum.
So like simplex, a transportation algorithm is also an example of a primal algorithm.
Dual simplex is an example of dual algorithm. So with this we come to end of our treatment
of the transportation problem and then we move into another important problem in linear
programming which is called the assignment problem.
Now we look at the assignment problem. Let us consider the assignment problem using a
small example. The example is as follows. Let us consider a 4/4 problem. Let us assume
that there are 4 jobs. We call j1, j2, j3 and j4 that have to be
performed and let us assume that there are 4 people whom we call 1, 2, 3, and 4 who can
do these jobs. The assumption is every person here can do every one of these jobs. For example
this person can do jobs 1, 2, 3, 4 and so on.
Now what is inside this matrix is the amount or the charge or the cost it takes if this
person does this job. For example this person is going to charge 5 rupees to do this job,
he is going charge 8 rupees to do this job. He is going charge 6 rupees to do j3 and 3
to do j4. Second person would charge 9 rupees to do j1. He might charge 7 rupees for j2
and so on. So basically whatever is inside the matrix is the cost that we or the money
that we have to spend if this person is given this job. Now the assumptions are we want
to give only 1 job to 1 person. 1 person gets 1 job and 1 job goes to 1 person. We do not
want a situation where this person gets jobs j1 and j2 or j1 could go to 2, 3 extra. We
do not want to give 1 job to 1 person. So the problem is allocate or assign the jobs
to people under the condition that 1 job goes to only 1 person and 1 person gets only 1
job and the total cost is minimized. Now such a problem is called the assignment problem.
Now what are the decision variables? Each 1 job goes to 1 person and1 person gets only
1 job. So Xij = 1. If job i goes to person j, now sigma aj sigma
Xij = 1, for every i summed over j. So j1 for every i, i = 1, summed over j means
this job goes to only 1 person. Now this for every job summed over people, now this person
gets only 1 job when i sum it over I, this person gets only 1 job other would mean this
job goes to only 1 person. I want to minimize double sigma Cij Xij which is the total cost
of allocation and my Xij is clearly a (0, 1) variable which means Xij is 1. If job i
goes to person j = 0 otherwise now, Xij does not take any other vale other than 1 or 0.
Now this problem is called the standard assignment problem and it is also a minimization problem
and it is formulated this way. Now let us look at some aspects of the assignment problem.
Now the first aspect of that this problem looks like a transportation problem. The objective
function is similar and the constraints are similar except that I have different numbers
here. I had ai and a bj for transportation problem. Remember the assignment problem is normally
a square matrix they have an equal number of jobs and equal number of people whereas
in a transportation problem we had m supply points and n destination points. So the first
thing is the assignment problem is a special case of a transportation problem where m is
= n. You can always think of this as supplies and this as demands or this as supplies and
this as demands. So you could think of the assignment problem as a special case of a
transportation problem with m = n and with all ai = bj = 1. It is like 1 unit is available
in one of the supply points and that 1 unit is to be transported to each one of the demand
points and what is the cheapest way to do it?
So the assignment problem is a special case of a transportation problem with m = n. Every
one of the supplies ai = bj = 1, so Xij greater than or equal to 0 will become Xij = (0, 1).Now
can we solve the assignment problem as a transportation problem because it is a special case or do
we need other algorithms to solve it? The answer is what happens to the assignments?
Let us take now any feasible solution, it would give, for example, if I give this to
person 1, this to person 2, this to person 3, this to person 4, I get a feasible solution.
It may not be a best solution. It may not be the optimal solution but it is a feasible
solution. X1 1 = 1; X2 2 = 1; X3 3 = 1; X4 4 = 1 is
feasible; X1 2 = 1; X2 4 = 1; X3 3 = 1 and X4 4 = 1
is feasible The point I am trying to convey is every feasible
solution has exactly 4 allocations, 1 per row and 1 per column. So the assignment problem
has if we are looking at n/n. n jobs are available and n people are available. We have n square
variables or n square decision variables we have 2 n constraints n for this and n for
this but the optimum solution or every feasible solution has only n allocations at the optimum
or for every feasible solution which means if we have 2 n constraints then we need 2
n basic variables, out of which there are only n allocations which means out of the
2n basic variables, n basic variables take value 1 at the optimum and there are another
n basic variables, which takes value 0 at the optimum.
So the assignment problem is a very degenerate transportation problem. It is very degenerate
if this were a transportation problem then we would have 2n - 1 allocation because transportation
problem has m + n - 1 allocation. Now out of these 2n - 1 allocation n allocations have
value 1 and the remaining n - 1 allocation has value 0. So it is a very degenerate transportation
problem and any degenerate transportation problem is not very comfortable to solve because
it would have too many intermediate iterations without reducing the objective function. So
we do not solve the assignment problem directly using the transportation algorithm. So we
need special algorithms to solve the assignment problem. Let us also look at some aspects
of solving the assignment problem. Let us look at the first condition. For this,
the first condition would be the Cij's are greater than or equal to 0. It is a very reasonable
assumption to have the Cij's greater than or equal to 0 because if some people are going
to do some jobs, they are going to charge some money. We are not going to have the negative
Cij's. Here when Cij's are greater than or equal to 0, a very simple result would mean
that if I have a feasible solution with Z = 0, then it
is optimal because we have Cij's greater than or equal to 0. If we have a feasible solution
with Z = 0, that solution is an optimal has a very intuitive result because Cij's are
greater than or equal to 0. Now we look at the first row of this. This job has to go
to one of these people. If all of them increase their rate by say 1 rupee and they make it
6, 10, 4 and 7 respectively, the decision will not change because all of them have uniformly
increased by 1 rupee. The solution will not change but the objective
function value alone will change. Similarly if all of them reduce their charge by 1 rupee,
the solution does not change. Only the objective function will change. So what we try to do
is we try to create as many 0's in this matrix because we want a feasible solution with Z
= 0. So we assume that each one can reduce by a certain quantity till the first one becomes
0. The solution does not change and only the objective function value changes. So subtract
the row minimum from every row, so that the solution does not change and the objective
function alone changes. We get this row; subtract the row minimum
which is 3 to get 2, 7, 2, 6, 0 and 3. Here the row minimum is 2. So you get 6, 5, 6,
and 0. Row minimum is 6, 0, 4, 6, and 1. Row minimum is 3, 0, 7, 5 and 3. Now let us go
back and do this for the column minimum. Now once again this person anyway should get a
job. So if this person uniformly increases his rate by 1 rupee, for each one of these
jobs, the solution again will not change and only the values of the objective function
will change. Similarly if this person decreases it by 1 rupee, once again the solution will
not change. So we can do column subtraction. Subtract the column minimum from every column
and try to generate as many 0's as we can. Now already these matrixes has been reduced
to this, so we take this matrix and do the column minimum subtraction this is the only
column which does not have 0. Once again subtract the column minimum to
get 2, 1. So we had 4 here. We had 5 here. We had subtracted the column minimum to get
0, 1, 0 and 6. You get 0, 1, 0 and 6. From this matrix, we have converted into a new
matrix with every row and every column taking 0 values. Whether we solve this or whether
we solve this, the solution will be the same. This has many 0. We try to get a feasible
solution from this matrix with Z = 0 then it will be optimal. We will see how we get
the feasible solution. To get to a feasible solution with 0 costs from this matrix, will
be dealt with later. So right now we have just identified the assignment problem and
we have understood that the feasible solution with Z = 0 is optimal. We have converted this
to a matrix with 0's. We will get the optimal solution for this in the next lecture when
we meet.