Hi there!
I’m currently working with cuopt for a proof of concept solution.
My client has a lot of task pairs with combinational restrictions.
For example, there is a type of tasks x and a type y where tasks in category x must never be performed by tasks of type y at the same time.
There is no restriction for first completing task pairs of type x and then performing tasks of type y.
To illustrate given task pairs: [x1,x2] [x3,x4] [y1, y2]
This is ok: Depot → x1 → x3 → x2 → x4 → y1 → y2 → Depot
This is not ok: Depot → x1 → y1 → y2 → x2 → x3 → x4
I’m currently using an iterative approach to solve this issue (first plan for type x and then use the remaining time for type y).
However, this seems unoptimal and introduces more bias into to the solution based on which type is solved first.
Using capacities for this problem seems like it could solve my issue, i.e. I would assign a capacity per type of task.
Currently cuopt only supports 3 capacities. Do you have any idea if / when more capacities would be supported?
Or do you have a better way to solve this problem?
Thank you in advance!