The OPTMILP Option Tuner

ODS Tables

The tuner creates several Output Delivery System (ODS) tables by default unless you specify a value other than 1 for the PRINTLEVEL= option in the PROC OPTMILP statement. The names of these tables are listed in Table 15.7. The TunerInfo and TunerSummary tables contain the tuner’s input summary and results summary, respectively. The TunerResults table contains the option values, geometric mean and summation of the solution times, success rate for the initial option configuration, and a selection of best option configurations and worst option configurations.They are sorted according to the success rate and performance measure specified by the GOAL= option. The Config 0 column contains the solution information of either the initial values that you provided or the solver default values for the options.

The Performance Information table is produced by default. It displays information about the execution mode. For single-machine mode, the table displays the number of threads used. For distributed mode, the table displays the grid mode (symmetric or asymmetric), the number of compute nodes, and the number of threads per node.

If you specify the DETAILS option in the PERFORMANCE statement, the procedure also produces a Timing table in which the accumulated elapsed times (absolute and relative) for the main tasks of the procedure are displayed.

You can create output data sets from these tables by specifying the ODS OUTPUT statement. For more information about ODS, see SAS Output Delivery System: User's Guide.

Table 15.7: ODS Tables Produced by the OPTMILP Option Tuner

ODS Table Name

Description

PerformanceInfo

Performance information

Timing

Timing report

TunerInfo

Summary of option tuning input

TunerResults

Option tuning results

TunerSummary

Summary of option tuning results


Figure 15.3 shows an example PerformanceInfo table for single-machine mode.

Figure 15.3: Example Tuner Output: PerformanceInfo

The OPTMILP Procedure

Performance Information
Execution Mode Single-Machine
Number of Threads 4


Figure 15.4 shows an example Timing table.

Figure 15.4: Example Tuner Output: Timing

Procedure Task Timing
Task Time
(sec.)
% Time
Data Loading 0.57 0.01%
Data Transfer 0.00 0.00%
Tuner 1.85 0.04%
Solver 4878.05 99.93%
Idle 0.86 0.02%


Figure 15.5 shows an example TunerInfo table.

Figure 15.5: Example Tuner Output: TunerInfo

Tuner Information
Target Solver MILP
Number of Tuning Options 3
Number of Tuning Instances 2
Tuning Option Set USER
Performance Goal GEOMEAN
Tuner Time Limit 1200
Tuner Configurations Limit 2147483647


Figure 15.6 shows an example TunerResults table.

Figure 15.6: Example Tuner Output: TunerResults

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 1 1 -1 0 0 0 1 1
cutgomory -1 0 1 -1 0 1 0 -1 1 2 0
heuristics -1 1 0 0 0 2 3 3 3 2 2
Mean of Run Times 75.58 72.77 72.99 73.47 74.15 75.32 109.9 110.08 111.53 71.93 47.18
Sum of Run Times 151.18 145.94 146.44 147.44 148.79 150.66 222.8 223.35 226.34 145.92 97.39
Percentage Successful 100 100 100 100 100 100 100 100 100 50 0


Figure 15.7 shows an example TunerSummary table.

Figure 15.7: Example Tuner Output: TunerSummary

Tuner Summary
Actual Tuning Time 1234.04
Initial Run Time (geomean) 75.58
Initial Run Time (sum) 151.18
Best Run Time (geomean) 72.77
Best Run Time (sum) 145.94
Number of Improved Configurations 6
Number of Tested Configurations 28