VRP with team building

Viewed 76

I am using optaplanner with drools score calculation and chained variables.

An additional requirement for my optimization problem is, that some tasks may need more than one worker (e.g., someone has to hold the ladder).

Since this case is not covered by the simple VRP example from the docs, I have to come up with my own implementation (this is were things start to go out of hand :)).

What follows is the description of my idea and a picture of it. My question is, if this kind of chain freezing is possible for OptaPlanner (with multithreading). If yes, where can I find resources for this? If not, what are other possibilities to cover team building processes?

Idea: Two separate workers complete their first tasks. After that, a task requires a team of two. Both suppliers build a team (a team object will inherit from the worker and is also an anchor). As soon as they build a team, they get assigned to blocking tasks (on their initial chains).

Blocking tasks have the same start and duration as the team task. When the team task is completed, the initial chains unfreeze, and the workers continue working on their own again.

!! Not shown in the picture: A team chain needs to be frozen after the team breaks up.

Chained teams

I hope that could explain what I am trying to do.

Best,

David

0 Answers
Related