Originally posted by: PhilippeLaborie
I think that for reticle constraints, you need additional state functions that are related to the reticles, not to the machines. So for a given reticle R, you have a state function PositionR whose state represents the required position (machine) of the reticle. An activity act on a machine M requiring reticle R would post a constraint alwaysEqual(PositionR, act, M). And you have a transition distance between the positions.
If a reticle can be used by only one activity at the same time then instead of a state function, you can better use a sequence variable (the type of the interval variables in the sequence would represent the position/machine) together with a noOverlap constraint with a transition distance between positions.
#CPOptimizer#DecisionOptimization