Originally posted by: SystemAdmin
Hello,
It is hard to say without knowledge of your model what exactly is the problem. However quite sure that what you experience is a long "ping-pong" propagation between multiple constraints.
Here are two guesses what may help you. You may try each one separately or both together.
Tip 1: Use reasonable scheduling horizon When you declare an interval variable, it pays of to limit maximum end time because the default one is too big. In OPL, instead:
dvar interval foo;
do:
dvar interval foo in 0..1000;
where 1000 is some reasonable number (you may also compute it from the input data).
Tip 2: Increase PrecedenceInferenceLevel parameter By increasing value of this parameter to "Medium" or "Extended", you can force CP Optimizer to use more powerful algorithms to propagate precedences. They take more time, however they can detect fail sooner (especially if there is a propagation cycle) and this way they can save considerable number of time. In OPL, you can change this parameter the following way:
execute
{ cp.PrecedenceInferenceLevel =
"Extended";
}
If the tips above do not help you, please let us know some more details about your problem.
Best regards, Petr
#CPOptimizer#DecisionOptimization