Setting CP parameters
How to set a parameter value by adding script statements to the model.
The preferred way to set CP parameters is from the IDE settings editor. However, it is sometimes convenient to set a parameter value by adding script statements to the model.
The IBM ILOG Script syntax to change a CP parameter is:
cp.param.paramName = “paramvalue”
For example:
cp.param.DefaultInferenceLevel = “Low”
or (from the model timetabling.mod
):
var p = cp.param;
p.logPeriod = 10000;
p.searchType = "DepthFirst";
p.timeLimit = 600;
See Constraint programming options in Parameters and settings in OPL for a detailed description of each parameter.
Parameter | Possible Values | Default Value |
---|---|---|
AllDiffInferenceLevel | Default, Low, Basic, Medium, Extended | Default |
AllMinDistanceInferenceLevel | Default, Low, Basic, Medium, Extended | Default |
BranchLimit | 2100000000 | |
ChoicePointLimit | 2100000000 | |
ConstraintAggregation | On/Off | On |
CountInferenceLevel | Default, Low, Basic, Medium, Extended | Default |
CumulFunctionInferenceLevel | Low, Basic, Medium, Extended | Basic |
DefaultInferenceLevel | Low, Basic, Medium, Extended | Basic |
ElementInferenceLevel | Default, Low, Basic, Medium, Extended | Default |
FailLimit | 2100000000 | |
IntervalSequenceInferenceLevel | Low, Basic, Medium, Extended | Basic |
LogPeriod | 1000 | |
LogVerbosity | Quiet, Terse, Normal, Verbose | Normal |
MultiPointNumberOfSearchPoints | 30 | |
NoOverlapInferenceLevel | Low, Basic, Medium, Extended | Basic |
OptimalityTolerance | 1e-15 | |
PrecedenceInferenceLevel | Low, Basic, Medium, Extended | Basic |
PropagationLog | Quiet, Terse, Normal, Verbose | Quiet |
RandomSeed | 0 | |
RelativeOptimalityTolerance | 0 | |
RestartFailLimit | 100 | |
RestartGrowthFactor | 1.05 | |
SearchType | DepthFirst, Restart, MultiPoint, Auto | Auto |
SolutionLimit | 2100000000 | |
StateFunctionInferenceLevel | Low, Basic, Medium, Extended | Basic |
TimeLimit | Infinity (number in seconds) | |
Workers | Auto (as many workers as there are CPUs available) |