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.
The following DATA step creates an OPTIONVALUES= data set named optvals that is different from the default set described in the section Default Set of Tuning Options:
data optvals; input option $1-10 values $12-28 initial $30-31; 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. The options for which initial values are not specified (in this case, the HEURISTICS=
option) are tuned with 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=60;
tuner problems=probs optionvalues=optvals optionmode=user
maxtime=120 tunerout=tout;
performance nthreads=4;
run;
title "Tuner Output";
proc print data=tout;
run;
The output is shown in Output 14.2.1.
Output 14.2.1: Multiple Problems with Specified Tuning Options: Output
| 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 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | -1 | 2 | 0 | 2 |
| cutgomory | -1 | -1 | 1 | 1 | 0 | -1 | 1 | -1 | -1 | 2 | 2 |
| heuristics | -1 | 3 | 0 | 3 | -1 | 2 | 2 | 2 | 1 | 2 | 2 |
| Run Time (Mean) | 5.674735 | 5.627049 | 5.704002 | 5.722245 | 5.723145 | 5.731514 | 6.377241 | 6.449139 | 6.46392 | 6.60572 | 6.645542 |
| Run Time (Sum) | 11.388 | 11.28 | 11.419 | 11.466 | 11.466 | 11.48 | 12.762 | 12.901 | 12.932 | 13.213 | 13.292 |
| Num of Failed | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Tuner Output |
| Obs | _RANK_ | _INSTANCE_ | cutclique | cutgomory | heuristics | _STATUS_ | _SOLUTION_STATUS_ | _OBJECTIVE_ | _RELATIVE_GAP_ | _ABSOLUTE_GAP_ | _NODES_ | _SOLUTION_TIME_ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 0 | air04 | 0 | -1 | -1 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.16200 |
| 2 | 0 | air05 | 0 | -1 | -1 | OK | TIME_LIM_SOL | 26849 | 0.037538 | 971.391 | 1 | 5.22600 |
| 3 | 1 | air04 | 0 | -1 | 3 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.02200 |
| 4 | 1 | air05 | 0 | -1 | 3 | OK | TIME_LIM_SOL | 26849 | 0.037538 | 971.391 | 1 | 5.25800 |
| 5 | 2 | air04 | 0 | 1 | 0 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 5.96000 |
| 6 | 2 | air05 | 0 | 1 | 0 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 1 | 5.45900 |
| 7 | 3 | air04 | 0 | 1 | 3 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.08400 |
| 8 | 3 | air05 | 0 | 1 | 3 | OK | TIME_LIM_SOL | 26849 | 0.037538 | 971.391 | 1 | 5.38200 |
| 9 | 4 | air04 | 0 | 0 | -1 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.06900 |
| 10 | 4 | air05 | 0 | 0 | -1 | OK | TIME_LIM_SOL | 26849 | 0.037538 | 971.391 | 1 | 5.39700 |
| 11 | 5 | air04 | 0 | -1 | 2 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.05200 |
| 12 | 5 | air05 | 0 | -1 | 2 | OK | TIME_LIM_SOL | 26849 | 0.037538 | 971.391 | 1 | 5.42800 |
| 13 | 6 | air04 | 0 | -1 | 0 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.05300 |
| 14 | 6 | air05 | 0 | -1 | 0 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 1 | 5.46000 |
| 15 | 7 | air04 | 0 | 1 | 1 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.14700 |
| 16 | 7 | air05 | 0 | 1 | 1 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 1 | 5.38100 |
| 17 | 8 | air04 | 0 | 2 | 0 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.14600 |
| 18 | 8 | air05 | 0 | 2 | 0 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 1 | 5.39800 |
| 19 | 9 | air04 | 0 | 1 | -1 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.09900 |
| 20 | 9 | air05 | 0 | 1 | -1 | OK | TIME_LIM_SOL | 26849 | 0.037538 | 971.391 | 1 | 5.44400 |
| 21 | 10 | air04 | 2 | -1 | 3 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.13100 |
| 22 | 10 | air05 | 2 | -1 | 3 | OK | TIME_LIM_SOL | 26849 | 0.037538 | 971.391 | 0 | 5.42900 |
| 23 | 11 | air04 | 0 | 1 | 2 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.09900 |
| 24 | 11 | air05 | 0 | 1 | 2 | OK | TIME_LIM_SOL | 26849 | 0.037538 | 971.391 | 1 | 5.46000 |
| 25 | 12 | air04 | 0 | 0 | 0 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.08500 |
| 26 | 12 | air05 | 0 | 0 | 0 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 1 | 5.53900 |
| 27 | 13 | air04 | -1 | 2 | -1 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 5.94400 |
| 28 | 13 | air05 | -1 | 2 | -1 | OK | TIME_LIM_SOL | 26849 | 0.034897 | 905.350 | 0 | 5.83400 |
| 29 | 14 | air04 | -1 | -1 | -1 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.03600 |
| 30 | 14 | air05 | -1 | -1 | -1 | OK | TIME_LIM_SOL | 26849 | 0.034897 | 905.350 | 0 | 5.80200 |
| 31 | 15 | air04 | 0 | 0 | 2 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.22300 |
| 32 | 15 | air05 | 0 | 0 | 2 | OK | TIME_LIM_SOL | 26849 | 0.037538 | 971.391 | 1 | 5.63200 |
| 33 | 16 | air04 | -1 | -1 | 0 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.10000 |
| 34 | 16 | air05 | -1 | -1 | 0 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 5.77100 |
| 35 | 17 | air04 | 2 | -1 | 0 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.17700 |
| 36 | 17 | air05 | 2 | -1 | 0 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 5.74000 |
| 37 | 18 | air04 | 2 | 1 | 0 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.06900 |
| 38 | 18 | air05 | 2 | 1 | 0 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 5.86600 |
| 39 | 19 | air04 | 2 | 0 | 1 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.06800 |
| 40 | 19 | air05 | 2 | 0 | 1 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 5.89800 |
| 41 | 20 | air04 | -1 | 1 | 0 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.13100 |
| 42 | 20 | air05 | -1 | 1 | 0 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 5.89700 |
| 43 | 21 | air04 | -1 | 0 | -1 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.16200 |
| 44 | 21 | air05 | -1 | 0 | -1 | OK | TIME_LIM_SOL | 26849 | 0.034404 | 892.994 | 0 | 5.91300 |
| 45 | 22 | air04 | -1 | -1 | 3 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.34900 |
| 46 | 22 | air05 | -1 | -1 | 3 | OK | TIME_LIM_SOL | 26849 | 0.037538 | 971.391 | 0 | 6.22400 |
| 47 | 23 | air04 | 2 | -1 | 2 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 5.56900 |
| 48 | 23 | air05 | 2 | -1 | 2 | OK | TIME_LIM_SOL | 26849 | 0.034172 | 887.157 | 0 | 7.11400 |
| 49 | 24 | air04 | -1 | 2 | 3 | OK | TIME_LIM_SOL | 56426 | 0.016036 | 890.564 | 0 | 5.99000 |
| 50 | 24 | air05 | -1 | 2 | 3 | OK | TIME_LIM_SOL | 26849 | 0.037538 | 971.391 | 0 | 6.63000 |
| 51 | 25 | air04 | 2 | 1 | 2 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.16200 |
| 52 | 25 | air05 | 2 | 1 | 2 | OK | TIME_LIM_SOL | 26849 | 0.034897 | 905.350 | 0 | 6.60000 |
| 53 | 26 | air04 | -1 | -1 | 2 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.58300 |
| 54 | 26 | air05 | -1 | -1 | 2 | OK | TIME_LIM_SOL | 26849 | 0.034897 | 905.350 | 0 | 6.31800 |
| 55 | 27 | air04 | 2 | -1 | 1 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.63000 |
| 56 | 27 | air05 | 2 | -1 | 1 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.30200 |
| 57 | 28 | air04 | 0 | 2 | 2 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.50500 |
| 58 | 28 | air05 | 0 | 2 | 2 | OK | TIME_LIM_SOL | 26849 | 0.037538 | 971.391 | 0 | 6.70800 |
| 59 | 29 | air04 | 2 | 2 | 2 | OK | TIME_LIM_NOSOL | 1.7977E308 | 1.8E308 | 1.7977E308 | 0 | 6.56800 |
| 60 | 29 | air05 | 2 | 2 | 2 | OK | TIME_LIM_SOL | 26849 | 0.034172 | 887.157 | 0 | 6.72400 |