The OPTGRAPH Procedure

Numeric Limitations

Extremely large or extremely small numerical values might cause computational difficulties for some of the algorithms in PROC OPTGRAPH. For this reason, each algorithm restricts the magnitude of the data values to a particular threshold number. If the user data values exceed this threshold, PROC OPTGRAPH issues an error message. The value of the threshold limit is different for each algorithm and depends on the operating environment. The threshold limits are listed in Table 1.54, where M is defined as the largest absolute value representable in your operating environment.

Table 1.54: Threshold Limits by Statement

 

Matrix

Graph Links

Graph Nodes

Statement

 

weight

weight2

lower

upper

weight

weight2

CENTRALITY

             

AUTH= , EIGEN= , HUB=

 

1e20

         

BETWEEN= , CLOSE=

 

$\sqrt {M}$

$\sqrt {M}$

       

INFLUENCE=

 

$\sqrt {M}$

     

$\sqrt {M}$

 

COMMUNITY

 

$\sqrt {M}$

         

CYCLE

 

$\sqrt {M}$

     

$\sqrt {M}$

 

EIGENVECTOR

1e20

1e20

         

LINEAR_ASSIGNMENT

$\sqrt {M}$

$\sqrt {M}$

         

MINCOSTFLOW

 

1e15

 

1e15

1e15

1e15

1e15

MINCUT

 

$\sqrt {M}$

         

MINSPANTREE

 

$\sqrt {M}$

         

REACH

         

$\sqrt {M}$

 

SHORTPATH

 

$\sqrt {M}$

$\sqrt {M}$

       

SUMMARY

             

DIAMETER_APPROX= , SHORTPATH=

 

$\sqrt {M}$

         

TSP

 

1e20

         


To obtain these limits, use the SAS function constant. For example, the following DATA step assigns $\sqrt {M}$ to a variable x and prints that value to the log:

data _null_;
   x = constant('SQRTBIG');
   put x=;
run;

Missing Values

For most of the algorithms in PROC OPTGRAPH, there is no valid interpretation for a missing value. If the user data contain a missing value, PROC OPTGRAPH issues an error message. One exception is for the minimum-cost network flow solver when you are setting the link or node bounds. In this case, a missing value is interpreted as the default bound value, as described in the section Minimum-Cost Network Flow. Another exception is the linear assignment problem when you are using the matrix input format. A missing value in this case defines an invalid assignment between a row and a column of the matrix. An example of this is shown in the section Linear Assignment (Matching).

Negative Link Weights

For certain algorithms in PROC OPTGRAPH, a negative link weight is not allowed. The following algorithms issue an error message if a negative link weight is provided:

Zero Link Weights

For the community detection algorithm, a zero-valued link weight is not allowed. If a zero-valued link weight is provided, the community detection algorithm issues an error message.