Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

6

Assignment Problem
________________________________________________________________________

An assignment problem is a special class of linear programming problems. The objective


of an assignment problem is to determine the optimal assignment of given tasks to a set
of workers which they can perform with varying efficiency, in terms of time taken, cost,
amount of sales etc. Thus, if there are n tasks to perform and an equal number of persons
who can do them, in varying times which are known, the algorithm seeks to assign the
jobs to persons in such a manner that each person gets one job and the total time in which
all jobs can be done is the minimum. The algorithm works in varied situations wherein
pairings are sought to be made. Assignment problems can be solved by
(i)
completely enumerating all possibilities and choosing the best one; or
(ii)
drafting and solving the problem as a linear (integer) programming
problem; or
(iii) drafting and solving the problem as a transportation problem.
(iv)
Hungarian assignment method (HAM).
The first three methods are inefficient to use and we discuss here Hungarian assignment
method, which was developed by an operations researcher from Hungary. For a typical
minimisation assignment problem that requires assignment of n jobs to n workers, one to
each one, the HAM works as follows:
Step 1: Obtain zeros. The first step is to obtain zeros in every row and column of the
given matrix. For this, subtract the least value in every row from each element of the row.
Call the resulting table as Reduced-Cost Table 1. For every column of the Reduced-Cost
Table 1, subtract the minimum value in every column from each value of the column.
The resulting table is called Reduced-Cost Table 2. This table would have at least one
zero in every row and column.
Step 2: Cover all zeros with minimum number of horizontal or vertical (but not diagonal)
lines. Now consider how many lines cover all zeros. Remember that the number of lines
covering all zeros can never be more than n (since all vertical or all horizontal lines in
any case can cover all zeros). If the number of lines is equal to n, then assignments can be
made as given in step 3. However, if the number of lines to cover all zeros is smaller than
this, then the Reduced-Cost Table is revised making following changes.
Select the least uncovered (by a line) value and
(i)
subtract it from every uncovered value in the table, and
(ii)
add it to every value lying at the intersection of lines.
Obtain the revised Reduced-Cost Table and again draw the minimum number of lines
covering all zeros. If the number is less than n, then repeat the process again. This has to
be repeated unless the number of lines is equal to n.

Step 3: To make the assignments, select any row or any column which has only one zero.
Make assignment by placing a square around the zero. To illustrate, if a single zero is
found in the third row of the table in the second column, then the third worker be
assigned the second job (when workers are shown row-wise and the jobs column- wise).
After this, cross out the zeros, if any, in the corresponding column if a row was selected
and in the row if a column was chosen. Repeat this process by focussing on the remaining
rows/columns until all assignments are made. Now, tabulate the assignments made and
add up the cost elements of such assignments. It would yield the total cost, which is the
minimum.
In the course of making assignments, we may sometimes land in a situation where no
row or column left has a single zero and all rows and columns have multiple zeros. In
such a case, the zeros are selected arbitrarily, assignments made and zeros in the row and
column selected in each case be crossed out. This is such a way that all assignments are
made. Existence of multiple zeros has the effect of resulting in multiple optimal solutions
to the problem.
Unbalanced Problems
If an assignment problem has equal number of jobs and
workers, it is called balanced problem, while if the two do not match, the problem is
unbalanced. An unbalanced problem is balanced in the first instance by introducing as
many dummy jobs or workers accordingly whether workers or jobs are more, as will
make them equal. The cost elements for the dummy workers/jobs would be taken to be
zero. The problem is then solved in the manner discussed earlier. The workers getting
jobs would in fact not given any job, while any jobs assigned to dummy workers will
remain unassigned.
Prohibited Assignments If a worker cannot perform a particular job or he is not be
assigned a particular job, then such an assignment is called prohibited assignment. M,
which is a very large value, replaces the cost element for each prohibited assignment. The
problem is then solved as usual. The prohibited assignments will continue to be shown by
M, with no changes in them in row as well as column reductions.
Maximisation Assignment Problems Sometimes, an assignment problem calls for
assigning people to different areas where they can give the maximum benefit. For
example, sales expected from different salesmen in various sales zones may be given.
The problem may be to assign each one of them in such a manner that the total sales may
be maximised. A maximisation type of problem is first converted to an equivalent
minimisation problem by subtracting each value of the given matrix from a constant
value, which is usually taken to be the largest of the given values. The resulting matrix is
termed as Opportunity Loss Matrix and is then solved as any minimisation problem.
If a maximisation problem is unbalanced, it is first balanced by adding dummy
worker(s)/job(s) with zero elements. Any prohibited assignments are shown by M before
converting the problem into minimisation equivalent.

You might also like