Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Solution of The Assignment Problem

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

The Assignment Problem

The assignment problem can be considered as a special


case of the transportation problem
Example
We consider an example where four jobs (J1, J2, J3, and J4) need to be
executed by four workers (W1, W2, W3, and W4), one job per worker.
The matrix below shows the cost of assigning a certain worker to a
certain job. The objective is to minimize the total cost of the assignment.

J1 J2 J3 J4

W1 82 83 69 92

W2 77 37 49 92

W3 11 69 5 86

W4 8 9 98 23

Solution of the assignment problem


The Hungarian Algorithm:
Step 1: Subtract row minimum.
Step 2: Subtract column minimum.
Step 3: Cover all zeros with a minimum number of lines.
Step 4: Create additional zeros.
Step 5: Cover all zeros with a minimum number of lines.
Step 6: Find the optimal assignment.
Below we will use the Hungarian algorithm to solve the above example.

1
Step 1: Subtract row minimum. We start with subtracting the row
minimum from each row. The smallest element in the first row is, for
example, 69. Therefore, we subtract 69 from each element in the first row.
The resulting matrix is:
J1 J2 J3 J4 Row
min.

W1 13 14 0 23 (-69)

W2 40 0 12 55 (-37)

W3 6 64 0 81 (-5)

W4 0 1 90 15 (-8)

Step 2: Subtract column minimum. Similarly, we subtract the


minimum from each column, giving the following matrix:
J1 J2 J3 J4

W1 13 14 0 8

W2 40 0 12 40

W3 6 64 0 66

W4 0 1 90 0

Column 0 0 0 (-15)
min.

2
Step 3: Cover all zeros with a minimum number of lines

We will now determine the minimum number of lines (horizontal or


vertical) that are required to cover all zeros in the matrix. All zeros can be
covered using 3 lines:

J1 J2 J3 J4

W1 13 14 0 8

W2 40 0 12 40 x

W3 6 64 0 66

W4 0 1 90 0 x

Because the number of lines required (3) is lower than the size of
the matrix (n=4), we continue with Step 4.
Step 4: Create additional zeros
First, we find that the smallest uncovered number is 6. We subtract
this number from all uncovered elements and add it to all elements
that are covered twice. This results in the following matrix:

3
J1 J2 J3 J4

W1 7 8 0 2

W2 40 0 18 40

W3 0 58 0 60

W4 0 1 96 0

Now we return to Step 3.


Step 3: Cover all zeros with a minimum number of lines
Again, we determine the minimum number of lines required to
cover all zeros in the matrix. Now there are 4 lines required:
J1 J2 J3 J4

W1 7 8 0 2 x

W2 40 0 18 40 x

W3 0 58 0 60 x

W4 0 1 96 0 x

Because the number of lines required (4) equals the size of the
matrix (n=4), an optimal assignment exists among the zeros in the
matrix. Therefore, the algorithm stops.

4
The optimal assignment

The following zeros cover an optimal assignment:


J1 J2 J3 J4

W1 7 8 0 2

W2 40 0 18 40

W3 0 58 0 60

W4 0 1 96 0

This corresponds to the following optimal assignment in the original cost


matrix:
J1 J2 J3 J4

W1 82 83 69 92

W2 77 37 49 92

W3 11 69 5 86

W4 8 9 98 23

Thus, worker 1 should perform job 3, worker 2 job 2, worker 3 job 1, and
worker 4 should perform job 4. The total cost of this optimal assignment
is to 69 + 37 + 11 + 23 = 140.

You might also like