Overview
CP Optimizer using constructive search to build a solution along with other heuristics to improve search.
The CP Optimizer search is based on constructive search, which is a search technique that attempts to build a solution by fixing decision variables to values. While the built-in CP Optimizer search is based on this technique, the optimizer also uses other heuristics to improve search.
Four types of search are available in CP Optimizer: “restart”, “depth-first” , “multipoint” and "iterative-diving". With the default search (“auto”), CP Optimizer uses a blend of the above search types that it finds appropriate for the problem being solved, taking into account other parameter settings; however, the type of the search can be changed either to improve performance or to debug a model or a strategy. The search type parameter controls the type of search applied to a problem.
In the C++ API of CP Optimizer, you use
the method IloCP::setParameter to set the
parameter IloCP::SearchType. This parameter
has a default value of IloCP::Restart. Other
values of this parameter are IloCP::DepthFirst and IloCP::MultiPoint.
In the Java™ API of
CP Optimizer, you use the method IloCP.setParameter to
set the parameter IloCP.IntParam.SearchType.
This parameter has a default value of IloCP.ParameterValues.Restart.
Other values of this parameter are IloCP.ParameterValues.DepthFirst and IloCP.ParameterValues.MultiPoint.
Likewise, in the C# API of CP Optimizer,
you use the method CP.SetParameter to set
the parameter CP.IntParam.SearchType. This
parameter has a default value of CP.ParameterValues.Restart.
Other values of this parameter are CP.ParameterValues.DepthFirst and CP.ParameterValues.MultiPoint.