Unbalanced Assignment Problems

Unbalanced Assignment Problems

Unbalanced assignment problems occur when the number of sources (e.g., machines) differs from the number of destinations (e.g., jobs), resulting in a non-square cost matrix. To solve these problems, dummy rows or columns are introduced to balance the matrix. Here's a step-by-step explanation of the process:

1. Problem Formulation

An unbalanced assignment problem involves:

  • More sources than destinations or vice versa.
  • A cost matrix that is not square.

Example Problem: A company has five machines (sources) and four jobs (destinations). The cost matrix is as follows:

Machines/Jobs Job 1 Job 2 Job 3 Job 4
Machine 1 2 3 1 5
Machine 2 4 2 2 3
Machine 3 3 4 5 6
Machine 4 5 1 4 2
Machine 5 2 4 3 3

Here, the matrix is 5x4. To balance it, add a dummy row with zero costs:

Machines/Jobs               Job 1 Job 2 Job 3 Job 4 Dummy
Machine 1 2 3 1 5 0
Machine 2 4 2 2 3 0
Machine 3 3 4 5 6 0
Machine 4 5 1 4 2 0
Machine 5 2 4 3 3 0
Dummy 0 0 0 0 0

2. Row and Column Reduction

  • Row Reduction:
    • Subtract the smallest value in each row from every element in that row.
    • This step ensures that each row has at least one zero.
  • Column Reduction:
    • Subtract the smallest value in each column from every element in that column.
    • This step ensures that each column has at least one zero.

Example Row Reduction: Subtract the smallest value in each row:

Machines/Jobs               Job 1 Job 2 Job 3 Job 4 Dummy
Machine 1 1 2 0 4 0
Machine 2 2 0 0 1 0
Machine 3 0 1 2 3 0
Machine 4 3 0 3 1 0
Machine 5 0 2 1 1 0
Dummy 0 0 0 0 0

Column Reduction: Subtract the smallest value in each column:

Machines/Jobs               Job 1 Job 2 Job 3 Job 4 Dummy
Machine 1 1 2 0 3 0
Machine 2 2 0 0 0 0
Machine 3 0 1 2 2 0
Machine 4 3 0 3 0 0
Machine 5 0 2 1 1 0
Dummy 0 0 0 0 0

3. Optimal Assignment Using the Hungarian Algorithm

  • Cover Zeros:
    • Draw the minimum number of lines (horizontal and vertical) required to cover all zeros in the matrix.
    • If the number of lines equals the number of rows or columns (matrix order), the solution is optimal.
  • Adjust Matrix:
    • If not optimal, find the smallest uncovered element, subtract it from all uncovered elements, and add it to the elements at intersections of lines.
    • Repeat the process until the number of lines drawn equals the matrix order.

Example Final Adjustment:

After adjustments:

Machines/Jobs                Job 1 Job 2 Job 3 Job 4 Dummy
Machine 1 0 1 0 2 0
Machine 2 1 0 0 0 0
Machine 3 0 0 1 1 0
Machine 4 1 0 2 0 0
Machine 5 0 1 0 0 0
Dummy 0 0 0 0 0

Optimal Assignment: The assignments will be made based on the optimal zero locations, considering the dummy row is only used if necessary.

4. Special Cases

  • High Cost Assignments:
    • Assign very high costs to infeasible assignments to avoid them during the reduction steps.

Example with Restrictions:

If Machine M2 cannot be assigned to Area C, and Machine M4 cannot be assigned to Area A, set these costs to a high value and exclude them during the optimization process.

By using these steps, the unbalanced assignment problem can be efficiently solved to achieve the optimal allocation of resources or tasks.