Originally posted by: SystemAdmin
Hello Andre.
You're right, CP Optimizer automatically adds implicit search phase to fix all variables which are not fixed by the user specified search phase(s). In general, there is no way around this - automatic search always fixes all variables.
If it is possible to remove these "secondary" variables from the model (without removing any important constraint) then you can do the solve in two phases: first you solve the problem with only "primary" variables. Then you create a second model with secondary variables and you use known solution to constraint primary variables. Then (in C++, I don't know about OPL) you can call IloCP::propagate(NULL) to reduce domains of the secondary variables without fixing them.
You can also write your own search (again in C++) which doesn't fix all variables.
Does it help?
Petr
#CPOptimizer#DecisionOptimization