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 16.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 16.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 16.3 shows an example PerformanceInfo table for single-machine mode.

Figure 16.3: Example Tuner Output: PerformanceInfo

The OPTMILP Procedure

Performance Information
Execution Mode Single-Machine
Number of Threads 4



Figure 16.4 shows an example Timing table.

Figure 16.4: Example Tuner Output: Timing

Procedure Task Timing
Task Time
(sec.)
% Time
Data Loading 0.31 0.01%
Data Transfer 0.00 0.00%
Tuner 14.49 0.30%
Solver 4833.80 99.69%
Idle 0.19 0.00%



Figure 16.5 shows an example TunerInfo table.

Figure 16.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 16.6 shows an example TunerResults table.

Figure 16.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 -1 -1 -1 -1 -1
cutgomory -1 0 1 -1 0 2 1 2 -1 2 2
heuristics -1 0 1 1 1 1 3 3 3 2 1
Mean of Run Times 33.74 29.16 29.39 29.41 29.41 29.76 45.34 45.64 46.4 33.43 20.63
Sum of Run Times 67.58 59.49 59.95 59.99 59.98 60.83 92.78 93.34 95.17 67.76 43.36
Percentage Successful 100 100 100 100 100 100 100 100 100 50 0



Figure 16.7 shows an example TunerSummary table.

Figure 16.7: Example Tuner Output: TunerSummary

Tuner Summary
Actual Tuning Time 1213.40
Initial Run Time (geomean) 33.74
Initial Run Time (sum) 67.58
Best Run Time (geomean) 29.16
Best Run Time (sum) 59.50
Number of Improved Configurations 35
Number of Tested Configurations 68