The OPTMILP Option Tuner

Example 17.2 Tuning a Defined Set of Options for Multiple Problems

(View the complete code for this example.)

This example demonstrates how to specify a set of tuning options and tune them for multiple problems.

The following DATA step creates a PROBLEMS= data set named probs that contains the list of tuning problems. This data set is the same as in the section Getting Started: The OPTMILP Option Tuner.

data probs;
   input name $1-8;
   datalines;
a.air04
a.air05
;

The following DATA step creates an OPTIONVALUES= data set named optvals that is different from the default set, which is described in the section Default Set of Tuning Options:

data optvals;
   input option $1-10 values $12-28 initial $30-32;
   datalines;
cutclique   -1, 0, 2          -1
cutgomory                      1
heuristics
;

The optvals data set contains a nondefault list of tuning values for the CUTCLIQUE= option in addition to initial values for the CUTCLIQUE= and CUTGOMORY= options. The options for which sets of tuning values are not specified (in this case, the CUTGOMORY= and HEURISTICS= options) are tuned for all available values if the number of values is finite. The options for which initial values are not specified (in this case, the HEURISTICS= option) are tuned by using the default initial value.

The following statements call the OPTMILP option tuner and then print the ODS table TunerResults and the TUNEROUT= data set:

proc optmilp maxtime=300;
   tuner problems=probs  optionvalues=optvals  optionmode=user
         maxtime=1200 tunerout=out;
run;

title "Tuner Output";
proc print data=out(obs=16);
run;

The output is shown in Output 17.2.1.

Output 17.2.1: Multiple Problems with Specified Tuning Options: Output

The OPTMILP Procedure

Tuner Results
 Config 0 Config 1 Config 2 Config 3 Config 4 Config 5 Config 6 Config 7 Config 8 Config 9 Config 10
cutclique-1-1-1-102-12222
cutgomory11-102-12012-1
heuristics-10001200000
Mean of Run Times17.7312.713.1913.814.9615.4422.7123.2123.4423.9424.24
Sum of Run Times35.6726.2527.0928.8930.6130.9146.1447.5747.7948.8149.46
Percentage Successful100100100100100100100100100100100

Tuner Output

ObsRANKPROBLEMOBJSENSEcutcliquecutgomoryheuristicsSTATUSSOLUTION_STATUSOBJECTIVERELATIVE_GAPABSOLUTE_GAPNODESSOLUTION_TIME
10air04MIN-11-1OKOPTIMAL_RGAP56137.0000589103.3068219515.92
20air05MIN-11-1OKOPTIMAL2637400.0000053319.74
31air04MIN-110OKOPTIMAL5613700.0000018116.41
41air05MIN-110OKOPTIMAL2637400.000002419.83
52air04MIN-1-10OKOPTIMAL5613700.0000018116.63
62air05MIN-1-10OKOPTIMAL2637400.0000024110.46
73air04MIN-100OKOPTIMAL5613700.0000028518.71
83air05MIN-100OKOPTIMAL2637400.0000024110.17
94air04MIN021OKOPTIMAL5613700.0000011512.09
104air05MIN021OKOPTIMAL2637400.0000046018.52
115air04MIN2-12OKOPTIMAL5613700.000008014.80
125air05MIN2-12OKOPTIMAL2637400.0000036516.11
136air04MIN212OKOPTIMAL5613700.000008014.64
146air05MIN212OKOPTIMAL2637400.0000036516.30
157air04MIN222OKOPTIMAL5613700.000008014.75
167air05MIN222OKOPTIMAL2637400.0000036516.20


Last updated: October 07, 2022