tpaviot / ProcessScheduler

A Python package for automatic and optimized resource scheduling
https://processscheduler.github.io/
GNU General Public License v3.0
59 stars 19 forks source link

Resource priority #145

Open ffalcolini opened 5 months ago

ffalcolini commented 5 months ago

Is it possible to set a priority for resource allocation? For example: for task 1 first assign resource R1; if R1 is not available then assign R2; if not even R2 is available, then R3

Best regards and thank you for this wonderful project

tpaviot commented 5 months ago

@ffalcolini it's not possible so far. I have to think about how it could be achieved, certainly running a kind of optimization to minimize/maximize an objective based on these priorities.

ffalcolini commented 5 months ago

Thank you for your reply, you are really kind. Actually my use case is even more complicated. Tasks should be assigned based on the resource's experience on the specific task: those who have already done the task many times should be assigned first; otherwise, a resource with less experience could also be chosen (there are very clear rules that would allow two classes of resource to be identified for each task: with a lot of experience and with less experience).
Perhaps you could use a metric to measure the experience of the resource with respect to the task and then look for solutions to maximize the overall experience with optimization. A bit like what has already been done for the cost and productivity of the resource. But in this case there would be an additional complication: the metric would have to change depending on the task.
Congratulations again for the project.
Any of your suggestions to resolve my case are valuable and much appreciated. Best regards