This subsection describes the input data sets that are specified by the PROBLEMS= and OPTIONVALUES= options and the output
data set that is specified by the TUNEROUT= option.
When you specify OPTIONMODE=NONE, you can specify the PRIMALOUT= and DUALOUT= options in the PROC OPTMILP statement to output
primal and dual solutions of all the problems listed in the PROBLEMS= data set. All primal or dual solutions are appended
to the PRIMALOUT= or DUALOUT= data set, respectively. An additional variable, _PROBLEM_, is created for each data set; this
variable stores problem names.
Variables in the PROBLEMS= Data Set
The PROBLEMS= data set contains the following variables:
-
NAME
-
specifies a list of names of MPS-format data sets. Each data set contains a MILP problem to be used in option tuning. The
format of each name must be libref.filename
. If no libref is specified, the tuner searches for the file in WORK
.
-
OBJSENSE
-
specifies whether the objective sense for a tuning problem is MIN or MAX. The values of this variable provide or overwrite
the objective sense for the corresponding SAS data set. This variable is optional.
Variables in the OPTIONVALUES= Data Set
The OPTIONVALUES= data set contains the following variables:
-
INITIAL
-
specifies an initial value for each option to be tuned. This variable is optional. If this variable is missing, the tuner
uses the default value of the option as the initial value. If the default value of the option is not in the list specified
by the VALUES variable, the tuner uses the first entry in the VALUES list for that option.
-
OPTION
-
specifies a list of control options to be tuned by solving the problems specified in the PROBLEMS= data set.
-
VALUES
-
specifies a comma-delimited list of values for each control option that the tuner can use to generate configurations. If you
do not specify a list of values for an option, the tuner uses all valid values of that option. This variable is optional.
If you do not provide discrete values, such as (1, 2, 3, 100), for the options that have unlimited number of possible values,
then those options are not tuned. An exception is the STRONGITER= option, where the default tuning values are (–1, 100, 10000,
2147483647).
Variables in the TUNEROUT= Data Set
The TUNEROUT= data set contains the following variables:
-
OBJSENSE
-
specifies the objective sense used for each tuning problem. The value is either MIN or MAX.
-
PROBLEM
-
specifies a list of data set names. Each named data set contains one of the problems that are used by the tuner.
-
RANK
-
specifies the rank of each option configuration, based on the criteria specified by the GOAL=
option. The row that has a rank value of 0 contains the solution information of either the initial values that you provide
or the solver default values for the options. When a solution status is not optimal, feasible, or bounded, a penalty is applied
to the solution time in the ranking. If you want to put other factors (such as the relative gap) into the ranking, then you
can define your own rules by using the solution information in this data set.
The tuner’s ranking is based on solver’s running time, which has nondeterministic nature, so the tuning results may vary among
different runs.
-
Option Configurations
-
name each variable for a tuning option and contain the option value that is used for the current option configuration.
-
Solution Information
-
specifies solution information for each option configuration that the tuner evaluates. This information includes the status,
solution status, objective value, relative gap, absolute gap, nodes, and solution time. For more information about these terms,
see the section Macro Variable _OROPTMILP_. When the tuner’s time limit is reached, any unfinished runs will have the solution status TUNER_TIME_LIM.