Originally posted by: PhilippeLaborie
There is no document describing in detail the search strategies of CP Optimizer. One of the reason is that we are continously improving them. Nevertheless, there are a number of articles and slide decks that describe to a certain extent some of the main ingredients of the automatic search. I give a list below.
For problems with integer variables :
Impact-based search :
P. Refalo : Impact-based search strategies for constraint programming. In: Proc. CP 2004. pp. 557-571. (2004).
Constraint propagation :
P. Shaw : A Constraint for Bin Packing, In : Proc. CP-2004, pp648-662. (2004).
For scheduling problems involving interval variables :
Self-Adapting Large Neighborhood Search :
P. Laborie, D. Godard : Self-adapting large neighborhood search: Application to single-mode scheduling problems. In: Proc. MISTA-2007. pp. 276-284. (2007).
Temporal Linear Relaxation :
P. Laborie and J. Rogerie : Temporal Linear Relaxation in IBM ILOG CP Optimizer. Journal of Scheduling. (2014).
Constraint propagation :
P. Laborie, J. Rogerie : Reasoning with conditional time-intervals. In: Proc. FLAIRS-2008. pp. 555-560. (2008). Slides: http://www.slideshare.net/PhilippeLaborie/reasoning-with-conditional-timeintervals
P. Vilim : Max Energy Filtering Algorithm for Discrete Cumulative Resources. In : Proc. CPAIOR-2009. (2009).
P. Vilim : Edge Finding Filtering Algorithm for Discrete Cumulative Resources in O(kn log n). In : Proc CP-2009. (2009).
There is also a (very) high-level description of the different search types in the documentation. Look for instance in :
CP Optimizer>CP Optimizer User's Manual>Tuning the CP Optimizer search>Using alternative search types
#DecisionOptimization#OPLusingCPOptimizer