From the documentation:
A planning variable that is chained either:
- Directly points to a planning fact, which is called an anchor.
- Points to another planning entity with the same planning variable, which recursively points to an anchor.
Here are some example of valid and invalid chains:
Every initialized planning entity is part of an open-ended chain that begins from an anchor. A valid model means that:
- A chain is never a loop. The tail is always open.
- Every chain always has exactly 1 anchor. The anchor is a problem fact, never a planning entity.
- A chain is never a tree, it is always a line. Every anchor or planning entity has at most 1 trailing planning entity.
- Every initialized planning entity is part of a chain.
- An anchor with no planning entities pointing to it, is also considered a chain.
The optimization algorithms and build-in
MoveFactory's do chain correction to guarantee that the model stays valid:
Stay tuned... Vehicle routing (with capacity limits) demo video coming soon :)