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):

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

This is the original cost matrix:

 57 72 55 80 41 26 6 25 23 31 30 73 35 48 53 96

Subtract row minima

We subtract the row minimum from each row:

 2 17 0 25 (-55) 35 20 0 19 (-6) 0 8 7 50 (-23) 0 13 18 61 (-35)

Subtract column minima

We subtract the column minimum from each column:

 2 9 0 6 35 12 0 0 0 0 7 31 0 5 18 42 (-8) (-19)

Cover all zeros with a minimum number of lines

There are 4 lines required to cover all zeros:

 2 9 0 6 x 35 12 0 0 x 0 0 7 31 x 0 5 18 42 x

The optimal assignment

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

 2 9 0 6 35 12 0 0 0 0 7 31 0 5 18 42

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

 57 72 55 80 41 26 6 25 23 31 30 73 35 48 53 96

The optimal value equals 146.