'Minimize maximum time to complete tasks in parallel

Suppose there are n tasks to complete and k parallel processors that can complete the task. Each processor can only run 1 task at a time and each processor takes a different amount of time to complete each task (we can represent the time it takes for each processor to complete each task in an n X k matrix)

What's the optimal algorithm to allocate the n tasks to the k processors to minimize the total time to complete all tasks?

Very similar to this problem: Algorithm to find the most efficient way to distribute non-identical work tasks between workers

But with non-identical workers!

Thanks.



Solution 1:[1]

Ok after some more searching I learned this is integer linear programming problem.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 John