After reading this article you will learn about:- 1. Meaning of Assignment Problem 2. Definition of Assignment Problem 3. Mathematical Formulation 4. Hungarian Method 5. Variations.

Meaning of Assignment Problem:

An assignment problem is a particular case of transportation problem where the objective is to assign a number of resources to an equal number of activities so as to minimise total cost or maximize total profit of allocation.

The problem of assignment arises because available resources such as men, machines etc. have varying degrees of efficiency for performing different activities, therefore, cost, profit or loss of performing the different activities is different.

Thus, the problem is “How should the assignments be made so as to optimize the given objective”. Some of the problem where the assignment technique may be useful are assignment of workers to machines, salesman to different sales areas.

Definition of Assignment Problem:


Suppose there are n jobs to be performed and n persons are available for doing these jobs. Assume that each person can do each job at a term, though with varying degree of efficiency, let cij be the cost if the i-th person is assigned to the j-th job. The problem is to find an assignment (which job should be assigned to which person one on-one basis) So that the total cost of performing all jobs is minimum, problem of this kind are known as assignment problem.

The assignment problem can be stated in the form of n x n cost matrix C real members as given in the following table:

Mathematical Formulation of the Assignment Problem:

Hungarian Method for Solving Assignment Problem:

The Hungarian method of assignment provides us with an efficient method of finding the optimal solution without having to make a-direct comparison of every solution. It works on the principle of reducing the given cost matrix to a matrix of opportunity costs.


Opportunity cost show the relative penalties associated with assigning resources to an activity as opposed to making the best or least cost assignment. If we can reduce the cost matrix to the extent of having at least one zero in each row and column, it will be possible to make optimal assignment.

The Hungarian method can be summarized in the following steps:

Step 1: Develop the Cost Table from the given Problem:


If the no of rows are not equal to the no of columns and vice versa, a dummy row or dummy column must be added. The assignment cost for dummy cells are always zero.

Step 2:  Find the Opportunity Cost Table:

(a) Locate the smallest element in each row of the given cost table and then subtract that from each element of that row, and

(b) In the reduced matrix obtained from 2 (a) locate the smallest element in each column and then subtract that from each element. Each row and column now have at least one zero value.


Step 3: Make Assignment in the Opportunity Cost Matrix:

The procedure of making assignment is as follows:

(a) Examine rows successively until a row with exactly one unmarked zero is obtained. Make an assignment single zero by making a square around it.

(b) For each zero value that becomes assigned, eliminate (Strike off) all other zeros in the same row and/ or column


(c) Repeat step 3 (a) and 3 (b) for each column also with exactly single zero value all that has not been assigned.

(d) If a row and/or column has two or more unmarked zeros and one cannot be chosen by inspection, then choose the assigned zero cell arbitrarily.

(e) Continue this process until all zeros in row column are either enclosed (Assigned) or struck off (x)

Step 4: Optimality Criterion:

If the member of assigned cells is equal to the numbers of rows column then it is optimal solution. The total cost associated with this solution is obtained by adding original cost figures in the occupied cells.

If a zero cell was chosen arbitrarily in step (3), there exists an alternative optimal solution. But if no optimal solution is found, then go to step (5).

Step 5: Revise the Opportunity Cost Table:

Draw a set of horizontal and vertical lines to cover all the zeros in the revised cost table obtained from step (3), by using the following procedure:

(a) For each row in which no assignment was made, mark a tick (√)

(b) Examine the marked rows. If any zero occurs in those columns, tick the respective rows that contain those assigned zeros.

(c) Repeat this process until no more rows or columns can be marked.

(d) Draw a straight line through each marked column and each unmarked row.

If a no of lines drawn is equal to the no of (or columns) the current solution is the optimal solution, otherwise go to step 6.

Step 6: Develop the New Revised Opportunity Cost Table:

(a) From among the cells not covered by any line, choose the smallest element, call this value K

(b) Subtract K from every element in the cell not covered by line.

(c) Add K to very element in the cell covered by the two lines, i.e., intersection of two lines.

(d) Elements in cells covered by one line remain unchanged.

Step 7:  Repeat Step 3 to 6 Unlit an Optimal Solution is Obtained:

The flow chart of steps in the Hungarian method for solving an assignment problem is shown in following figures:


1. In a computer centre after studying carefully the three expert programmes, the head of computer centre, estimates the computer time in minutes required by the experts for the application programmes as follows:

Assign the programmers to the programmes in such a way that the total computer time is minimum.


The Hungarian method is used to obtain an optimal solution.

Step (1) & (2):

The minimum time element in row 1, 2 and 3 is 80, 80 and 110. resp. Subtract these elements from all elements in this respective row.

The reduced time matrix is shown in following table (1) Table 1:

In reduced Table (1) the minimum time element in columns A, B, and C is 0,10 and 0 resp, subtract these elements from all elements in this resp. column to get the reduced time matrix as shown in Table 2.

Step 3 (a):

Examine all the rows starting from first one- until a row containing only single zero element is located, Here, rows 1 and 3 have only one zero in the cells (1, C) and (3,A) resp, we assigned these zeros. All zeros in the assigned column are crossed off as shown in table 3.

(b) We now examine each column starting from A in table 3, There is one zero in column B in the cell (2, B). Assign this cell as shown in table 4.

(c) Since the no of Assignments (= 3) equal the no of rows (= 3), the optimal solution is obtained.

The pattern of assignment among programmers and programmes with their respective line (in minutes) is given below.

Example 2:

A department has five employees with five jobs to be performed. The time in hours) each men will take to perform each job is given in the effectiveness matrix.

How should the jobs be allocated one per employee so as to minimize the total man- hours?


Step (1) & (2) Applying step (2) of the algorithm, we get the reduced opportunity time matrix as shown in Table (1).

In reduced table (1) the minimum time element in column I,II,III, IV, and V is 0,0,0,0,0 resp, subtracting these from the elements of the resp. column we get same reduced matrix.

Step 3 (a):

We examine all the row starting from A one-by-one until a row containing only single zero element is located. Here rows A, B and E have only one zero element in the cells (A, II), (B, I) and (E, IV), Assignment is made in these cells. All zeros in the assigned columns are now crossed off as shown in table 2.

(b) We now examine each column starting from column. 1. There is one zero in column III, cell (C, III) Assignment is made in this cell. Thus cell (C, V) is Crossed off. All zeros in the table now are either assigned or crossed off as shown in Table 2.

The solution is not optimal because only four assignments are made.

Step 4:

Cover the zeros with minimum numbers of lines (= 4) as explained below.

(a) Mark (√) row D since it has no assignment then.

(b) Mark (√) columns I and IV since row D has zero element in these columns.

(c) Mark (√) rows B & E since column 1 and (IV) have an assignment in rows B and E resp.

(d) Since no other rows or columns can be marked draw straight lines through the unmarked rows A & C and the marked columns I and IV as shown in Table 3.

Step 5:

Develop the new revised table by selecting the smallest element among all uncovered elements by the lines in table 3 viz., 2. subtract K = 2 from uncovered elements including itself and add it to elements 5,10,8 and 0 in cells (A, 1), (A,IV), (C, 1)< and (E,IV) resp. which lie at the intersection of two lines. Another’s revised table so obtained is shown in table 4.

Step 7:

Repeat step (3) to (5) to find a new solution. The new assignment is shown in Table 5.

Since the no. of assignment (= 5) equals the no of rows (or columns), the solution is optimal.

The pattern of assignments among jobs and employees with their respective time (in hour) is given below:

Variations of the Assignment Problems:

Unbalanced Assignment Problem:

Any assignment problem is said to be unbalanced if the cost matrix is not a square matrix, i.e. the no of rows and the no of columns are not equal. To make it balanced we add a dummy row or dummy column with all the entries is zero.

Example 3:

There are four jobs to be assigned to the machines. Only one job could be assigned to one machine are given in following matrix.

Find an optimum assignment of jobs to the machines to minimize the total processing time and also find for which machine no job is assigned. What is the total processing time to complete all the jobs.


Since the cost matrix is not a square matrix the problem is unbalanced. We add a dummy job 5 with corresponding entries zero. Modified matrix.

Step 1 & 2:

We subtract the smallest element from all the elements in the respective row and column.

Step 3 & 4:

Now we give the zero assignment in our usual manners & get the following matrix.

But the solution is not optimal because only four assignments are made

Step 5:

In this step we draw minimum no. of lines to cover all zeros.

The no of lines to cover all zeros = 4 < the order of matrix. We form the 2nd modified matrix by subtracting the smallest uncovered element (i) from the remaining uncovered elements and add to the element at the point of intersection of lines.

Step 6:

Again Repeat step (3) & (4) and find following matrix.

Here total no of assignment (= 5) which is equal to no of rows or no of columns. Then this is optimal solution.

The pattern of assignment is given below:

For machines E no job is assigned, optimum (minimum)

Cost = 10 + 3 + 6 + 1

= Rs.20

Example 4:

(Airline Crew Assignment).

An airline, that operates seven days a week, has a time table shown below, crews must have a minimum layover of 6 hours between flights. Obtain the pairing of flights that minimizes layover time away from home. For any given pairing the crew will 1 be based at the city that results in the smaller layover.


Let us first construct the table for the possible layovers between flights, when crews are based at Delhi. The time difference between flight I and 101 is 24 hrs. i.e., 1,440 minutes, whereas minimum layover required is 6 hours or 360 minutes.

When crew is based at Delhi, the layover table will be as follows:

Similarly we now construct layover table for crews based at Calcutta.

As per the given constraint, minimum layover time is now given in the table below.

The figures circled indicate layover for crew based at Calcutta, whereas not circled figures are for Delhi based crew.

Step 1:

Subtracting the smallest element of each row from every element of the corresponding row, we get the following:

Step 2:

Subtracting column minima from all the elements of the column.

Step 3:

Making assignment on zero elements because in given situation optimal assignment is not possible then we draw minimum no of horizontal or vertical lines to cover all zeros then we get 3 lines as given below.

We get 3 lines since this no is not equal to the no of row/columns the solution is not optimal proceed to step (4).

Step 4:

Identify the smallest uncovered element and subtracting it from all uncovered elements, with addition to the elements at points of intersection, the matrix will be revised as follows (Min. element = 60).

Step 5:

(Repeat step 3) Drawing horizontal vertical lines to cover all zeros, we get.

No. of lines are now equal to no of rows columns (i.e.4) Hence, the solution is optimal, Proceed to step (6)

Step 6:

Making assignment on zero elements.