Assignment Problem
Assignment Problem
Assignment Problem
There are four methods of solving an assignment problem. They are as follows:
• Enumeration Method
Of these four, the Hungarian
• Simplex Method
method is mostly used in the
• Transportation Method
solution of an assignment
• Hungarian Method
problem.
Hungarian Method:
Although several methods have been developed, Hungarian method has been
popular for solving assignment problems. The basic theorem was proved by
Hungarian mathematics D. Konig in 1916. The Hungarian method is a
combinatorial optimization algorithm that solves the assignment problem in
polynomial time and which anticipated later primal-dual methods. It was
developed and published in 1955 by Harold Kuhn, who gave the name
‘Hungarian Method’ because the algorithm was largely based on the earlier
works of two Hungarian Mathematicians: D. Konid and J. Egervary.
The method gives us an efficient method of finding the optimal solution without
having to make a direct comparison of every solution. It is based on the principle
of reducing the given cost matrix to a matrix of opportunity costs.
Example 1:
The ABC motor works has four machines on which to do four jobs. Each job can
be assigned to only one machine. The cost of each job on each machine is given
in the following table. What are the optimal job assignments to minimize the
total costs? Interpret the result.
Machines Jobs
1 2 3 4
W 3 5 11 4
X 2 1 6 9
Y 8 10 2 7
Z 10 6 1 5
Solution:
Obtain the Column opportunity cost matrix by subtracting the smallest element
of each column from every elements in that column
Machine Jobs
s 1 2 3 4
W 0 2 8 1
X 1 0 5 8
Y 6 8 0 5
Z 9 5 0 4
Column Opportunity Cost Table
Machines Jobs
1 2 3 4
W 0 2 8 1
X 1 0 5 8
Y 6 8 0 5
Z 9 5 0 4
Solution:
Obtain the Column opportunity cost matrix by subtracting the smallest element
of each column from every elements in that column
Machines Jobs
1 2 3 4
W 0 2 8 0
X 1 0 5 7
Y 6 8 0 4
Z 9 5 0 3
Rough Diagonal lines are not allowed
Now, we draw minimum number of lines to cover maximum zeros
Mach Jobs Mach Jobs
ines ines 1 2 3 4
1 2 3 4
W 0 2 8 0 W 0 2 8 0
X 1 0 5 7 X 1 0 5 7
Y 6 8 0 4 Y 6 8 0 4
Z 9 5 0 3 Z 9 5 0 3
(Figure -1 ) (Figure -2 )
Mach Jobs
ines Mach Jobs
1 2 3 4 ines 1 2 3 4
W 0 2 8 0
W 0 2 8 0
X 1 0 5 7
X 1 0 5 7
Y 6 8 0 4
Y 6 8 0 4
Z 9 5 0 3
(Figure -3 ) Z 9 5 0 3
(Figure -4 )
Solution:
Now, we draw minimum number of lines to cover maximum zeros
Machines Jobs
1 2 3 4
W 0 2 8 0
X 1 0 5 7
Y 6 8 0 4
Z 9 5 0 3
Since the minimum number of lines is less than the number of rows, optimal
solution has not been reached. Now it is necessary to prepare the next revised
opportunity cost matrix for improved solution.
Solution:
To develop the revised opportunity cost table (matrix), select least number among
uncovered numbers. Here, ‘1’ is the least number among uncovered number.
Add ‘1’ to the number lying in the intersection of any two lines and subtract
‘1’ from the all uncovered numbers .
Machines Jobs
1 2 3 4
W 0 3 9 0
X 0 0 5 6
Y 5 8 0 3
Z 8 5 0 2
Solution:
Now, we draw minimum number of lines to cover maximum zeros
Machines Jobs
1 2 3 4
W 0 3 9 0
X 0 0 5 6
Y 5 8 0 3
Z 8 5 0 2
Rough
Machi Jobs Machi Jobs
nes nes
1 2 3 4 1 2 3 4
W 0 3 9 0 W 0 3 9 0
X 0 0 5 6 X 0 0 5 6
Y 5 8 0 3 Y 5 8 0 3
Z 8 5 0 2 Z 8 5 0 2
(Figure -1 ) (Figure -2 )
W 0 3 9 0 W 0 3 9 0
X 0 0 5 6 X 0 0 5 6
Y 5 8 0 3 Y 5 8 0 3
Z 8 5 0 2 Z 8 5 0 2
(Figure -3 ) (Figure -4 )
Rough
Machi Jobs Machi Jobs
nes nes
1 2 3 4 1 2 3 4
W 0 3 9 0 W 0 3 9 0
X 0 0 5 6 X 0 0 5 6
Y 5 8 0 3 Y 5 8 0 3
Z 8 5 0 2 Z 8 5 0 2
(Figure -1 ) (Figure -2 )
W 0 3 9 0 W 0 3 9 0
X 0 0 5 6 X 0 0 5 6
Y 5 8 0 3 Y 5 8 0 3
Z 8 5 0 2 Z 8 5 0 2
(Figure -3 ) (Figure -4 )
Rough
Machi Jobs Machi Jobs
nes nes
1 2 3 4 1 2 3 4
W 0 3 9 0 W 0 3 9 0
X 0 0 5 6 X 0 0 5 6
Y 5 8 0 3 Y 5 8 0 3
Z 8 5 0 2 Z 8 5 0 2
(Figure -1 ) (Figure -2 )
W 0 3 9 0 W 0 3 9 0
X 0 0 5 6 X 0 0 5 6
Y 5 8 0 3 Y 5 8 0 3
Z 8 5 0 2 Z 8 5 0 2
(Figure -3 ) (Figure -4 )
Solution:
Now, we draw minimum number of lines to cover maximum zeros
Machines Jobs
1 2 3 4
W 0 3 9 0
X 0 0 5 6
Y 5 8 0 3
Z 8 5 0 2
Since the number of minimum number of lines is less than the number of rows,
optimal solution has not been reached. Now it is necessary to prepare the next
revised opportunity cost matrix for improved solution.
Solution:
Now, we draw minimum number of lines to cover maximum zeros
Machines Jobs
1 2 3 4
W 0 3 9 0
X 0 0 5 6
Y 5 8 0 3
Z 8 5 0 2
To develop the revised opportunity cost table (matrix), select least number among
uncovered numbers. Here, ‘2’ is the least number among uncovered number.
Add ‘2’ to the number lying in the intersection of any two lines and subtract ‘2’
from the all uncovered numbers .
Solution:
To develop the revised opportunity cost table (matrix), select least number among
uncovered numbers. Here, ‘2’ is the least number among uncovered number.
Add ‘2’ to the number lying in the intersection of any two lines and subtract ‘2’
from the all uncovered numbers .
Machines Jobs
1 2 3 4
W 0 3 9 0
X 0 0 5 6
Y 5 8 0 3
Z 8 5 0 2
Solution:
To develop the revised opportunity cost table (matrix), select least number among
uncovered numbers. Here, ‘2’ is the least number among uncovered number.
Add ‘2’ to the number lying in the intersection of any two lines and subtract
‘2’ from the all uncovered numbers .
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 5 6
Y 5 8 0 3
Z 8 5 0 2
Solution:
To develop the revised opportunity cost table (matrix), select least number among
uncovered numbers. Here, ‘2’ is the least number among uncovered number.
Add ‘2’ to the number lying in the intersection of any two lines and subtract ‘2’
from the all uncovered numbers .
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 7 6
Y 5 8 0 3
Z 8 5 0 2
Solution:
To develop the revised opportunity cost table (matrix), select least number among
uncovered numbers. Here, ‘2’ is the least number among uncovered number.
Add ‘2’ to the number lying in the intersection of any two lines and subtract ‘2’
from the all uncovered numbers .
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 7 6
Y 3 8 0 3
Z 8 5 0 2
Solution:
To develop the revised opportunity cost table (matrix), select least number among
uncovered numbers. Here, ‘2’ is the least number among uncovered number.
Add ‘2’ to the number lying in the intersection of any two lines and subtract
‘2’ from the all uncovered numbers .
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 7 6
Y 3 8 0 3
Z 6 5 0 2
Solution:
To develop the revised opportunity cost table (matrix), select least number among
uncovered numbers. Here, ‘2’ is the least number among uncovered number.
Add ‘2’ to the number lying in the intersection of any two lines and subtract ‘2’
from the all uncovered numbers .
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 7 6
Y 3 6 0 3
Z 6 5 0 2
Solution:
To develop the revised opportunity cost table (matrix), select least number among
uncovered numbers. Here, ‘2’ is the least number among uncovered number.
Add ‘2’ to the number lying in the intersection of any two lines and subtract ‘2’
from the all uncovered numbers .
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 7 6
Y 3 6 0 3
Z 6 3 0 2
Solution:
To develop the revised opportunity cost table (matrix), select least number among
uncovered numbers. Here, ‘2’ is the least number among uncovered number.
Add ‘2’ to the number lying in the intersection of any two lines and subtract ‘2’
from the all uncovered numbers .
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 7 6
Y 3 6 0 1
Z 6 3 0 2
Solution:
To develop the revised opportunity cost table (matrix), select least number among
uncovered numbers. Here, ‘2’ is the least number among uncovered number.
Add ‘2’ to the number lying in the intersection of any two lines and subtract ‘2’
from the all uncovered numbers .
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 7 6
Y 3 6 0 1
Z 6 3 0 0
Solution:
To develop the revised opportunity cost table (matrix), select least number among
uncovered numbers. Here, ‘2’ is the least number among uncovered number.
Add ‘2’ to the number lying in the intersection of any two lines and subtract ‘2’
from the all uncovered numbers .
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 7 6
Y 3 6 0 1
Z 6 3 0 0
Solution:
Now, we draw minimum number of lines to cover maximum zeros
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 7 6
Y 3 6 0 1
Z 6 3 0 0
Solution:
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 7 6
Y 3 6 0 1
Z 6 3 0 0
Since the number of minimum number of lines is equal to the number of rows,
optimal solution has been reached. Now it is not necessary to prepare the
next revised opportunity cost matrix for improved solution.
Solution:
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 7 6
Y 3 6 0 1
Z 6 3 0 0
1. The first step is to select a row or column in which there is only one zero.
2. After selecting a row ( or column) which has only one zero, the assignment is
made by using square box to the cell having zero.
3. Cross out () all zeros lying in the corresponding column if previously row
was selected . Cross out () all zeros lying in the corresponding rows if
previously column was selected.
4. Repeat the same process.
Solution:
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 7 6
Y 3 6 0 1
Z 6 3 0 0
1. The first step is to select a row or column in which there is only one zero.
2. After selecting a row ( or column) which has only one zero, the assignment is
made by using square box to the cell having zero.
3. Cross out () all zeros lying in the corresponding column if previously row
was selected . Cross out () all zeros lying in the corresponding rows if
previously column was selected.
4. Repeat the same process.
Solution:
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 7 6
Y 3 6 0 1
Z 6 3 0 0
1. The first step is to select a row or column in which there is only one zero.
2. After selecting a row ( or column) which has only one zero, the assignment is
made by using square box to the cell having zero.
3. Cross out () all zeros lying in the corresponding column if previously row
was selected . Cross out () all zeros lying in the corresponding rows if
previously column was selected.
4. Repeat the same process.
Solution:
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 7 6
Y 3 6 0 1
Z 6 3 ×0 0
1. The first step is to select a row or column in which there is only one zero.
2. After selecting a row ( or column) which has only one zero, the assignment is
made by using square box to the cell having zero.
3. Cross out () all zeros lying in the corresponding column if previously row
was selected . Cross out () all zeros lying in the corresponding rows if
previously column was selected.
4. Repeat the same process.
Solution:
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 7 6
Y 3 6 0 1
Z 6 3 ×0 0
1. The first step is to select a row or column in which there is only one zero.
2. After selecting a row ( or column) which has only one zero, the assignment is
made by using square box to the cell having zero.
3. Cross out () all zeros lying in the corresponding column if previously row
was selected . Cross out () all zeros lying in the corresponding rows if
previously column was selected.
4. Repeat the same process.
Solution:
Machines Jobs
1 2 3 4
W 0 3 11 0
X 0 0 7 6
Y 3 6 0 1
Z 6 3 ×0 0
1. The first step is to select a row or column in which there is only one zero.
2. After selecting a row ( or column) which has only one zero, the assignment is
made by using square box to the cell having zero.
3. Cross out () all zeros lying in the corresponding column if previously row
was selected . Cross out () all zeros lying in the corresponding rows if
previously column was selected.
4. Repeat the same process.
Solution:
Machines Jobs
1 2 3 4
W 0 3 11 ×0
X 0 0 7 6
Y 3 6 0 1
Z 6 3 ×0 0
1. The first step is to select a row or column in which there is only one zero.
2. After selecting a row ( or column) which has only one zero, the assignment is
made by using square box to the cell having zero.
3. Cross out () all zeros lying in the corresponding column if previously row
was selected . Cross out () all zeros lying in the corresponding rows if
previously column was selected.
4. Repeat the same process.
Solution:
Machines Jobs
1 2 3 4
W 0 3 11 ×0
X 0 0 7 6
Y 3 6 0 1
Z 6 3 ×0 0
1. The first step is to select a row or column in which there is only one zero.
2. After selecting a row ( or column) which has only one zero, the assignment is
made by using square box to the cell having zero.
3. Cross out () all zeros lying in the corresponding column if previously row
was selected . Cross out () all zeros lying in the corresponding rows if
previously column was selected.
4. Repeat the same process.
Solution:
Machines Jobs
1 2 3 4
W 0 3 11 ×0
X 0 0 7 6
Y 3 6 0 1
Z 6 3 ×0 0
1. The first step is to select a row or column in which there is only one zero.
2. After selecting a row ( or column) which has only one zero, the assignment is
made by using square box to the cell having zero.
3. Cross out () all zeros lying in the corresponding column if previously row
was selected . Cross out () all zeros lying in the corresponding rows if
previously column was selected.
4. Repeat the same process.
Solution:
Machines Jobs
1 2 3 4
W 0 3 11 ×0
X ×0 0 7 6
Y 3 6 0 1
Z 6 3 ×0 0
1. The first step is to select a row or column in which there is only one zero.
2. After selecting a row ( or column) which has only one zero, the assignment is
made by using square box to the cell having zero.
3. Cross out () all zeros lying in the corresponding column if previously row
was selected . Cross out () all zeros lying in the corresponding rows if
previously column was selected.
4. Repeat the same process.
Solution:
Machines Jobs
1 2 3 4
W 0 3 11 ×0
X ×0 0 7 6
Y 3 6 0 1
Z 6 3 ×0 0
1. The first step is to select a row or column in which there is only one zero.
2. After selecting a row ( or column) which has only one zero, the assignment is
made by using square box to the cell having zero.
3. Cross out () all zeros lying in the corresponding column if previously row
was selected . Cross out () all zeros lying in the corresponding rows if
previously column was selected.
4. Repeat the same process.
Solution:
Machines Jobs
1 2 3 4
W 0 3 11 ×0
X ×0 0 7 6
Y 3 6 0 1
Z 6 3 ×0 0
1. The first step is to select a row or column in which there is only one zero.
2. After selecting a row ( or column) which has only one zero, the assignment is
made by using square box to the cell having zero.
3. Cross out () all zeros lying in the corresponding column if previously row
was selected . Cross out () all zeros lying in the corresponding rows if
previously column was selected.
4. Repeat the same process.
Solution: Machine Jobs
s 1 2 3 4
×0
W
X
×00 3
0
11
7 6
Z
Y
6
3 6
3
×00 1
0
Question
Machine W is assigned Job 1 = Rs.3
Machine X is assigned Job 2 = Re. 1
Machine Y is assigned Job 3 = Rs. 2
Machine Z is assigned Job 4 = Rs. 5
Interpretation : Using the tools Hugarian Matrix Method of the optimization technique,
we came to the conclusion that to minimize the cost, Machine W is assigned Job 1 which
cost Rs.3, Machine X is assigned Job 2 which cost Re. 1, Machine Y is assigned Job 3
which cost Rs. 2 and Machine Z is assigned Job 4 which cost Rs. 5. The total optimal cost
to assign four jobs to four machines is Rs. 11
Practice Question (Balanced Assignment Problem)
Shop has received an order for six jobs, each of which requires processing on a
lathe. The shop has six lathes of different levels of speed. The following table
describes the time it would take (in hours) to process any of these jobs on any of
the machines:
Job Machine
1 2 3 4 5 6
A 7 6 2 8 5 5
B 6 8 4 5 4 6
C 9 9 8 12 10 6
D 1 3 1 2 1 1
E 16 18 10 14 19 12
F 12 14 12 18 20 24
Whenever the cost matrix of an assignment problem is not a square matrix, that is,
whenever the number of sources is not equal to the number of destinations, the
assignment problem is called an unbalanced assignment problem. In such
problems, dummy rows ( or dummy columns) are added in the matrix so as to
complete it to form a square matrix.
For example:
Job Machine
W X Y Z
A 15 21 25 29
B 5 10 14 16
C 7 12 16 19
For example:
Job Machine
W X Y Z
A 15 21 25 29
B 5 10 14 16
C 7 12 16 19
Here, Number of rows and columns are not equal, the problem is called
unbalanced assignment problem. Since number of rows are less than
number of columns, to make it balance assignment problem we have to
introduce dummy row having each element zero cost.
Job Machine
W X Y Z
A 15 21 25 29
B 5 10 14 16
C 7 12 16 19
Dummy Row 0 0 0 0
Practice Questions (Unbalanced Assignment Problem ):
There are four machines on which to do three jobs. The cost (in Rs.) of each job on
each machine is given in the following table:
Job Machine
W X Y Z
A 18 24 28 32
B 8 13 17 19
C 10 15 19 22
Assign the jobs to each machine in order to minimize the costs. [Ans : Rs. 50]
Maximization of Assignment Problem:
In some situations, the assignment problem may call for maximization of profit,
revenue, etc as the objective. Such problems may be solved by converting the
maximization problem into minimization in the following way:
Choose the largest of all payoff values in the given matrix and then each one of
the values in the matrix is subtracted from that maximum payoff value. If we
subtract each value from the largest value of maximization matrix, then the
obtained matrix is called regret matrix or loss matrix. After constructing
regret matrix, we follow the same procedure to achieve optimal solution as in
minimization matrix.
Maximization of Assignment Problem:
Salesman District
1 2 3 4
A 92 90 94 91
B 84 88 96 82
C 90 90 93 86
D 78 94 89 84
In order to solve maximization AP, the given table should be converted into regret
table by subtracting each value from maximum value. Here the maximum value is
96.
Salesman District
1 2 3 4
A 96-92 = ? 96- 90 =? 96- 94=? 96- 91=?
B 96-84 =? 96- 88 =? 96- 96=? 96- 82=?
C 96- 90 = ? 96- 90=? 96- 93=? 96- 86=?
D 96-78 = ? 96- 94=? 96- 89=? 96- 84=?
Practice Question (Maximization of Assignment Problem)
Kathmandu Maha-Nagar Palika is putting up bids for four used vehicles. The
Maha-nagar Palika allows individuals to make bids on all four vehicles but will
accept only one bid per individual. Four individuals have made the following bids
(in thousand Rs.)
Which bid should be awarded in order to yield the Maha-Nagar Palika the
maximum total sales revenue? What will be the total revenue? Intepret the result.
[Ans : Rs. 4300 Thousand]