Locate the smallest cost element in each row of the given cost table starting with the first row.
Now, this smallest element is subtracted form each element of that row.
I do minimization and maximization so we get two observations.
Assignment problem is a special type of linear programming problem which deals with the allocation of the various resources to the various activities on one to one basis.
If \(n\) is the size of the problem (i.e., \(n\) = number source nodes = number of destination nodes), we have \(n! The next table always amazes me: An \(n=100\) assignment problem is considered small, but this number \(100! The simplest approach is to add a cut to forbid a previously found solution, and solve again.
If we record optimal solutions of round \(k\) in \(\alpha_ := x^*_\), then this cut can be written as:\[\sum_ \alpha_ x_ \le n-1\] I.e.
we need to solve MIP models of the form\[\bbox[lightcyan,10px,border:3px solid darkblue]\]Note that we no longer can assume we can solve this as an LP as we destroyed the network structure by adding the cuts.
For a problem with say \(k=3\) and \(n=100\) this looks like a perfectly suitable approach.
Now, if the number of marked zeros or the assignments made are equal to number of rows or columns, optimum solution has been achieved. At this stage, draw the minimum number of lines (horizontal and vertical) necessary to cover all zeros in the matrix obtained in step 3, Following procedure is adopted: (i) Tick mark () all rows that do not have any assignment.
There will be exactly single assignment in each or columns without any assignment. (ii) Now tick mark() all these columns that have zero in the tick marked rows.