NO FRAMES

CPXtuneparam

public int CPXtuneparam(CPXENVptr env, CPXLPptr lp, int intcnt, const int * intnum, const int * intval, int dblcnt, const int * dblnum, const double * dblval, int strcnt, const int * strnum, char ** strval, int * tunestat_p)
Definition file: cplex.h

The routine CPXtuneparam tunes the parameters of the environment for improved optimizer performance on the specified problem object. Tuning is carried out by making a number of trial runs with a variety parameter settings. Parameters and associated values which should not be changed by the tuning process (known as the fixed parameters), can be specified as arguments.

After CPXtuneparam has finished, the environment will contain the combined fixed and tuned parameter settings which the user can query or write to a file. The problem object will not have a solution.

The parameter CPX_PARAM_TUNINGREPEAT specifies how many problem variations for CPLEX to try while tuning. Using a number of variations can give more robust results when tuning is applied to a single problem. Note that the tuning evaluation measure is meaningful only when CPX_PARAM_TUNINGREPEAT is larger than one.

All callbacks, except the tuning informational callback, will be ignored. Tuning will monitor the value set by CPXsetterminate and terminate when this value is set.

A few of the parameter settings in the environment control the tuning process. They are specified in the table; other parameter settings in the environment are ignored.

ParameterUse
CPX_PARAM_TILIMLimits the total time spent tuning
CPX_PARAM_TUNINGTILIMLimits the time of each trial run
CPX_PARAM_TUNINGMEASUREControls the tuning evaluation measure
CPX_PARAM_TUNINGREPEATSets the number of repeated problem variations
CPX_PARAM_TUNINGDISPLAYControls the level of the tuning display
CPX_PARAM_SCRINDControls screen output

The value tunestat is 0 (zero) when tuning has completed and nonzero when it has not yet completed. The two nonzero statuses are CPX_TUNE_ABORT, which will be set when the terminate value passed to CPXsetterminate is set, and CPX_TUNE_TILIM, which will be set when the time limit specified by CPX_PARAM_TILIM is reached. Tuning will set any parameters which have been tuned so far even when tuning has not completed for the problem as a whole.

Parameters:

env

A pointer to the CPLEX environment, as returned by CPXopenCPLEX.

lp

A pointer to a CPLEX problem object as returned by CPXcreateprob.

intcnt

An integer that specifies the number of integer parameters to be fixed during tuning. This specifies the length of the arrays intnum and intval.

intnum

An array containing the parameter numbers (unique identifiers) of the integer parameters which remain fixed. May be NULL if intcnt is 0 (zero).

intval

An array containing the values for the parameters listed in intnum. May be NULL if intcnt is 0 (zero).

dblcnt

An integer that specifies the number of double parameters to be fixed during tuning. This specifies the length of the arrays dblnum and dblval.

dblnum

An array containing the parameter numbers (unique identifiers) of the double parameters which remain fixed. May be NULL if dblcnt is 0 (zero).

dblval

An array containing the values for the parameters listed in dblnum. May be NULL if dblcnt is 0 (zero).

strcnt

An integer that specifies the number of string parameters to be fixed during tuning. This specifies the length of the arrays strnum and strval.

strnum

An array containing the parameter numbers (unique identifiers) of the integer parameters which remain fixed. May be NULL if strcnt is 0 (zero).

strval

An array containing the values for the parameters listed in strnum. May be NULL if strcnt is 0 (zero).

tunestat_p

A pointer to an integer to receive the tuning status.

Returns:

The routine returns zero if successful and nonzero if an error occurs.