Professional Documents
Culture Documents
• Assignment model
– A linear programming model for optimal assignment
of tasks and resources
• Hungarian method
– Method of assigning jobs by one-for-one matching to
identify the lowest cost solution
Assignment Model Approach
PROJECT
PERSON 1 2 3
Brown 8 10 11
Cooper 9 12 7
Table 10.26
Assignment Model Approach
Table 10.27
The Hungarian Method (Flood’s Technique)
Not
Set up cost table for problem Revise opportunity cost table
optimal
in two steps:
Step 1 (a) Subtract the smallest
number not covered by a line
from itself and every other
Find opportunity cost
uncovered number
(a) Subtract smallest number in
(b) add this number at every
each row from every number
intersection of any two lines
in that row, then
(b) subtract smallest number in
each column from every
number in that column Optimal solution at zero
locations. Systematically make
final assignments.
Step 2
(a) Check each row and column
for a unique zero and make the
Test opportunity cost table to first assignment in that row or
see if optimal assignments are column
possible by drawing the
minimum possible lines on (b) Eliminate that row and
columns and/or rows such that Optimal column and search for another
all zeros are covered unique zero. Make that
assignment and proceed in a
like manner.
Figure 10.3
The Hungarian Method (Flood’s Technique)
Brown 8 10 11 Brown 0 2 3
Cooper 9 12 7 Cooper 2 5 0
PROJECT PROJECT
PERSON 1 2 3 PERSON 1 2 3
Adams $5 $8 $0 Adams $5 $6 $0
Brown 0 2 3 Brown 0 0 3
Cooper 2 5 0 Cooper 2 3 0
PROJECT
PERSON 1 2 3
Adams $5 $6 $0
Cooper 2 3 0
◼ This requires only two lines to cover the zeros so the solution is not
optimal
The Hungarian Method (Flood’s Technique)
PROJECT
PERSON 1 2 3
Adams $3 $4 $0
Brown 0 0 5
Cooper 0 1 0
Table 10.32
The Hungarian Method (Flood’s Technique)
PROJECT
PERSON 1 2 3
Adams $3 $4 $0
Cooper 0 1 0
◼ This requires three lines to cover the zeros so the solution is optimal
Making the Final Assignment
Adams to project 3 6
Brown to project 2 10
Cooper to project 1 9
Total cost 25
Making the Final Assignment
1 2 3 1 2 3 1 2 3
Table 10.34
Unbalanced Assignment Problems
Table 10.35
EXAMPLE :
Machines
A B C D Dummy Column
Brown 28 19 23 12 0
Green 16 17 18 18 0
Red 24 16 22 19 0
Job
White 23 11 16 18 0
Jones 21 16 21 16 0
Machines
A B C D D.C.
Brown 28 19 23 12 0
Green 16 17 18 18 0
Job Red 24 16 22 19 0
White 23 11 16 18 0
johns 21 16 21 16 0
Column 16 11 16 12 0
minimum
Employer
A B C D D.C.
Brown 12 8 7 0 0
Green 0 6 2 6 0
Job Red 8 5 6 7 0
White 11 0 0 6 0
johns 21 16 21 16 0
Employer
A B C D D.C.
Brown 12 8 7 0 0
Green 0 6 2 6 0
Job
Red 8 5 6 7 0
White 11 0 0 6 0
Employer
A B C D D.C.
Brown 12 8 7 0 0
Green 0 6 2 6 0
Job
Red 8 5 6 7 0
White 11 0 0 6 0
Employer
A B C D D.C.
Brown 12 8 7 0 0
Green 0 6 2 6 0
Job
Red 8 5 6 7 0
White 11 0 0 6 0
c. Determine the minimum number of lines needed to cover (cross out) all
zeros. (Try to cross out as many zeros as possible when drawing lines.)
d. Since only three lines are needed to cover all zeros, this is not the
optimum.
e. Subtract the smallest uncovered value (In this case, 1) from every
uncovered number, and add it to numbers that are at the intersections of
covering lines. The results are :
Employer
A B C D D.C.
Brown 12 8 7 0 5
Green 0 6 2 6 5
Job
Red 3 0 1 2 0
White 11 0 0 6 5
Employer
A B C D D.C.
Brown 12 8 7 0 5
Green 0 6 2 6 5
Job
Red 3 0 1 2 0
White 11 0 0 6 5
Employer
A B C D D.C.
Brown 12 8 7 0 5
Green 0 6 2 6 5
Job
Red 3 0 1 2 0
White 11 0 0 6 5
g. Make assignments Start with rows and columns with only one
zero Match jobs with machines that have a zero cost:
Employer
A B C D
1 7 3 0 0
2 1 0 5 2
Job
3 0 0 3 0
4 0 3 6 1
Employer
A B C D
1 8 6 2 4
2 6 7 11 10
Job
3 3 5 7 6
4 5 10 12 9
Employer
A B C D
1 7 3 0 0
2 1 0 5 2
Job
3 0 0 3 0
4 0 3 6 1
Table 10.36
Maximization Assignment Problems
ASSIGNMENT EFFICIENCY
Ship 1 to sector D 55
Ship 2 to sector C 80
Ship 4 to sector A 65
Employer
A B C D Raw minimum
1 8 6 2 4 2
2 6 7 11 10 6
Job
3 3 5 7 6 3
4 5 10 12 9 5
Employer
A B C D Raw
min.
1 8 6 2 4 2
2 6 7 11 10 6
Job
3 3 5 7 6 3
4 5 10 12 9 5
Employer
A B C D
1 7 3 0 0
2 1 0 5 2
Job
3 0 0 3 0
4 0 3 6 1
Machine 1 14 5 8 7
Machine 2 2 12 6 5
Machine 3 7 8 3 9
Machine 4 2 4 6 10
Hungarian Algorithm
Machine 1 9 0 3 2
Machine 2 0 10 4 3
Machine 3 4 5 0 6
Machine 4 0 2 4 8
Column Min. 0 0 0 2
How do we find
the minimum
number of lines?!
Example: Step 2
Zero Assignment
Optimal assignment
ASSIGNMENT MODEL
• A special-purpose work requirements to resources. Typical examples
include assigning jobs to machines or workers, territories to
salespeople, and telephone , line repair jobs to repair crews. The
idea is to obtain an optimum matching of tasks and resources.
Commonly used criteria include costs, profits, efficiency, and
performance.
Once the relevant cost information has been acquired and
arranged in tabular form, the basic procedure of the Hungarian
method is:
1. Subtract the smallest number in each row from every number in the
row. Enter the results in a new table,
Employer
A B C D
1 8 6 2 4
2 6 7 11 10
Job
3 3 5 7 6
4 5 10 12 9
56
ASSIGNMENT MODEL
1. Subtract the smallest number in each row from every number in the row.
Enter the results in a new table,
2. Subtract the smallest number in each column of the new table from every
number in the column. Enter the results in another table.
3. Test whether an optimum assignment can be made. This is accomplished by
determining the minimum number of lines needed to cover all zero. If the
number of lines equals the number of rows. an optimum assignment is
possible. In that case, go to step 6, Otherwise go on to step 4. Note that
"cover" means "cross out."
Employer
A B C D
1 8 6 2 4
2 6 7 11 10
Job
3 3 5 7 6
4 5 10 12 9
57
4. If the number of lines is less than the number of rows. modify the table in this
way:
a. Subtract the smallest uncovered number from every uncovered number in
the table.
b. Add the smallest uncovered number to the numbers at intersections of
covering lines.
5. Repeat steps 3 and 4 until an optima! table is obtained.
6. Make the assignments. Begin with rows of columns with only one zero. Match
items that have zeros, using only one match for each row and each column.
Cross out both the row and the column after the match.
58