Solve an assignment problem online

Fill in the cost matrix of an assignment problem and click on 'Solve'. The optimal assignment will be determined and a step by step explanation of the hungarian algorithm will be given.

Fill in the cost matrix (random cost matrix):

Size: 3x3 4x4 5x5 6x6 7x7 8x8 9x9 10x10

Don't show the steps of the Hungarian algorithm
Maximize the total cost

This is the original cost matrix:

28498570
93599634
28157781
12239564

Negate all values

Because the objective is to maximize the total cost we negate all elements:

-28-49-85-70
-93-59-96-34
-28-15-77-81
-12-23-95-64

Make the matrix nonnegative

The cost matrix contains negative elements, we add 96 to each entry to make the cost matrix nonnegative:

68471126
337062
68811915
8473132

Subtract row minima

We subtract the row minimum from each row:

5736015(-11)
337062
536640(-15)
8372031(-1)

Subtract column minima

We subtract the column minimum from each column:

540015
01062
503040
8036031
(-3)(-36)

Cover all zeros with a minimum number of lines

There are 4 lines required to cover all zeros:

540015  x
01062  x
503040  x
8036031  x

The optimal assignment

Because there are 4 lines required, the zeros cover an optimal assignment:

540015
01062
503040
8036031

This corresponds to the following optimal assignment in the original cost matrix:

28498570
93599634
28157781
12239564

The optimal value equals 318.