The OPTLP Procedure

ODS Tables

PROC OPTLP creates two ODS (Output Delivery System) tables by default unless you specify a value other than 1 for the PRINTLEVEL= option. One table is a summary of the input LP problem. The other is a brief summary of the solution status. PROC OPTLP assigns a name to each table it creates. You can use these names to reference the table when using the ODS to select tables and create output data sets. For more information about ODS, see SAS Output Delivery System: User's Guide.

If you specify a value of 2 for the PRINTLEVEL= option, then a third table, "ProblemStatistics," is produced. This table contains information about the problem data. For more information, see the section "Problem Statistics".

Table 15.2: ODS Tables Produced by PROC OPTLP
ODS Table Name Description PRINTLEVEL=
ProblemSummarySummary of the input LP problem1 (default)
SolutionSummarySummary of the solution status1 (default)
ProblemStatisticsDescription of input problem data2

A typical output of PROC OPTLP is shown in Output 15.2.

The OPTLP Procedure

Problem Summary
Problem Name ADLITTLE
Objective Sense Minimization
Objective Function .Z....
RHS ZZZZ0001
   
Number of Variables 97
Bounded Above 0
Bounded Below 97
Bounded Above and Below 0
Free 0
Fixed 0
   
Number of Constraints 56
LE (<=) 40
EQ (=) 15
GE (>=) 1
Range 0
   
Constraint Coefficients 383



The OPTLP Procedure

Solution Summary
Solver Dual simplex
Objective Function .Z....
Solution Status Optimal
Objective Value 225494.96316
   
Primal Infeasibility 2.273737E-13
Dual Infeasibility 1.85273E-13
Bound Infeasibility 0
   
Iterations 88
Presolve Time 0.00
Solution Time 0.00


Figure 15.2: Typical OPTLP Output

You can create output data sets from these tables by using the ODS OUTPUT statement. This can be useful, for example, when you want to create a report to summarize multiple PROC OPTLP runs. The output data sets corresponding to the preceding output are shown in Output 15.3, where you can also find (at the row following the heading of each data set in display) the variable names that are used in the table definition (template) of each table.

Problem Summary

Obs Label1 cValue1 nValue1
1 Problem Name ADLITTLE .
2 Objective Sense Minimization .
3 Objective Function .Z.... .
4 RHS ZZZZ0001 .
5     .
6 Number of Variables 97 97.000000
7 Bounded Above 0 0
8 Bounded Below 97 97.000000
9 Bounded Above and Below 0 0
10 Free 0 0
11 Fixed 0 0
12     .
13 Number of Constraints 56 56.000000
14 LE (<=) 40 40.000000
15 EQ (=) 15 15.000000
16 GE (>=) 1 1.000000
17 Range 0 0
18     .
19 Constraint Coefficients 383 383.000000



Solution Summary

Obs Label1 cValue1 nValue1
1 Solver Dual simplex .
2 Objective Function .Z.... .
3 Solution Status Optimal .
4 Objective Value 225494.96316 225495
5     .
6 Primal Infeasibility 2.273737E-13 2.273737E-13
7 Dual Infeasibility 1.85273E-13 1.85273E-13
8 Bound Infeasibility 0 0
9     .
10 Iterations 88 88.000000
11 Presolve Time 0.00 0
12 Solution Time 0.00 0


Figure 15.3: ODS Output Data Sets

Problem Statistics

Optimizers can encounter difficulty when solving poorly formulated models. Information about data magnitude provides a simple gauge to determine how well a model is formulated. For example, a model whose constraint matrix contains one very large entry (on the order of 10^9) can cause difficulty when the remaining entries are single-digit numbers. The PRINTLEVEL=2 option in the OPTLP procedure causes the ODS table "ProblemStatistics" to be generated. This table provides basic data magnitude information that enables you to improve the formulation of your models.

The example output in Output 15.4 demonstrates the contents of the ODS table "ProblemStatistics."

The OPTLP Procedure

Problem Statistics
Number of Constraint Matrix Nonzeros 8
Maximum Constraint Matrix Coefficient 3
Minimum Constraint Matrix Coefficient 1
Average Constraint Matrix Coefficient 1.875
   
Number of Objective Nonzeros 3
Maximum Objective Coefficient 4
Minimum Objective Coefficient 2
Average Objective Coefficient 3
   
Number of RHS Nonzeros 3
Maximum RHS 7
Minimum RHS 4
Average RHS 5.3333333333
   
Maximum Number of Nonzeros per Column 3
Minimum Number of Nonzeros per Column 2
Average Number of Nonzeros per Column 2
   
Maximum Number of Nonzeros per Row 3
Minimum Number of Nonzeros per Row 2
Average Number of Nonzeros per Row 2


Figure 15.4: ODS Table ProblemStatistics

The variable names in the ODS table "ProblemStatistics" are Label1, cValue1, and nValue1.

Previous Page | Next Page | Top of Page