'Assigning tasks to workers of different skill level

Suppose we have a stream of nonidentical tasks that flow in and a set of nonidentical workers to handle them.

To simplify, let's say there are K types of tasks and N workers.

Each worker will take a different amount of time to handle each of the K types of tasks (we can represent the time it takes in a N x K matrix, which is assumed to be known).

Given the distribution of task inflow (say Poisson with some parameter and each task is equally likely to be one of the K tasks), what's an algorithm that will minimize the average wait time of the tasks?

Thanks



Sources

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

Source: Stack Overflow

Solution Source