so we're working on a project where the goal is to have a system that automatically defines the optimal solution to the following problem:
Managers can offer tasks to a group of workers, without giving direct assignments. Instead, each worker can "apply" for the task he would like to perform. Therefore, a web application should be created where:
- Managers can offer tasks
- Workers can select tasks with priorities (most preferable task = priority 1 and so on)
- The objective is to give as many workers as possible their highest priority task
- Furthermore, Managers have to manage the workes who fulfill the task, therefore, each manager should be equally utilized to avoid "overloading" of a manager
- The set of possible priorities should be configurable, therefore the mathematical solution should be scalable. (E.g. Admin can allow priorities 1 to 3 or 1 to 5).
The question is. How can i formulate my problem mathematically as a linear program? I have come to the conclusion so far that the objective function would look something like this:
$$P = 1x+2y+3z $$ $$P-> min$$ Where $P$ is the sum of priorities given and $x$ $y$ and $z$ are the respective amounts for priorities 1 2 and 3.
I think minimizing the objective function is the correct way here. Adding more priorities would mean adding more variables, e.g. $P = 1x+2y+3z+4a+5b......$
However, I cannot form my linear constraints, as i cannot identify how my priorities that I identified as my variables can be used in said constraint.
Can someone give me a hint in the right direction? Am I on the right path? Thanks!