The Constraint Programming Solver (Experimental)

General Options

You can specify the following general options.

FINDALLSOLNS
ALLSOLNS
FINDALL

attempts to find all possible solutions to the CSP.

MAXSOLNS=number

specifies the number of solution attempts to be generated for the CSP. By default, MAXSOLNS=1.

MAXTIME=number

specifies the maximum time to spend calculating results. The type of time (either CPU time or real time) is determined by the value of the TIMETYPE= option. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.

NOPREPROCESS

suppresses any preprocessing that would usually be performed for the problem.

OBJTOL=number

specifies the tolerance of the objective value. By default, OBJTOL=1.

PREPROCESS

permits any preprocessing that would usually be performed for the problem.

SHOWPROGRESS

prints a message to the log whenever a solution is found.

TIMETYPE=number | string

specifies whether to use CPU time or real time for the MAXTIME= option. Table 6.2 describes the valid values of the TIMETYPE= option.

Table 6.2: Values for TIMETYPE= Option

number

string

Description

0

CPU

Specifies units of CPU time

1

REAL

Specifies units of real time


By default, TIMETYPE=REAL if the CLP solver is invoked in a PROC OPTMODEL COFOR loop; otherwise, the default is TIMETYPE=CPU.

VARASSIGN=string

specifies the variable assignment strategy. Currently, only one variable assignment strategy is supported: the MIN strategy selects the minimum value from the domain of the selected variable.

VARSELECT=string

specifies the variable selection strategy. Both static and dynamic strategies are available. Table 6.3 describes the valid values of the VARSELECT= option.

Table 6.3: Values for VARSELECT= Option

string

Description

FIFO

Uses the first-in, first-out ordering of the variables as encountered by the procedure

MAXCS

Selects the variable that has the maximum number of constraints

MAXC

Selects the variable that has the largest number of active constraints

MINR

Selects the variable that has the smallest range (that is, the minimum value of the upper bound minus the lower bound)

MINRMAXC

Selects the variable that has the smallest range, breaking ties by selecting one that has the largest number of active constraints


FIFO and MAXCS are static strategies. MAXC, MINR and MINRMAXC are dynamic strategies. The dynamic strategies embody the "fail-first principle" (FFP) of Haralick and Elliott (1980), which suggests that "To succeed, try first where you are most likely to fail." By default, VARSELECT=MINR.