The OPTGRAPH Procedure

Functional Summary

Table 1.2 summarizes the statements and options available with PROC OPTGRAPH.

Table 1.2: Functional Summary

Description

Option

PROC OPTGRAPH Options

Input

Specifies the link data set

DATA_LINKS=

Specifies the matrix data set

DATA_MATRIX=

Specifies the node data set

DATA_NODES=

Specifies the node subset data set

DATA_NODES_SUB=

Output

Specifies the link output data set

OUT_LINKS=

Specifies the node output data set

OUT_NODES=

Options

Specifies the subgraph filter level

FILTER_SUBGRAPH=

Specifies the graph direction

GRAPH_DIRECTION=

Specifies the internal graph format

GRAPH_INTERNAL_FORMAT=

Includes self links

INCLUDE_SELFLINK

Specifies the overall log level

LOGLEVEL=

Specifies whether time units are in CPU time or real time

TIMETYPE=

Data Input Statements

DATA_LINKS_VAR Options

Specifies the data set variable name for the from nodes

FROM=

Specifies the data set variable name for the link flow lower bounds

LOWER=

Specifies the data set variable name for the to nodes

TO=

Specifies the data set variable name for the link flow upper bounds

UPPER=

Specifies the data set variable name for the link weights

WEIGHT=

DATA_MATRIX_VAR

Specifies the data set variable names for the matrix

DATA_NODES_VAR Options

Specifies the data set variable name for cluster identifiers

CLUSTER=

Specifies the data set variable name for the nodes

NODE=

Specifies the data set variable name for node weights

WEIGHT=

Specifies the data set variable name for auxiliary node weights

WEIGHT2=

Algorithm Statements

BICONCOMP Option

Specifies the log level for biconnected components

LOGLEVEL=

CENTRALITY Options

Calculates authority centrality and specifies the type to process

AUTH=

Calculates betweenness centrality and specifies the type to process

BETWEEN=

Specifies whether to normalize the betweenness calculation

BETWEEN_NORM=

Decomposes the calculations for centrality by cluster (or subgraph)

BY_CLUSTER

Calculates closeness centrality and specifies the type to process

CLOSE=

Specifies the accounting method for no paths in closeness

CLOSE_NOPATH=

Calculates the node clustering coefficients

CLUSTERING_COEF

Calculates degree centrality and specifies the type to process

DEGREE=

Calculates eigenvector centrality and specifies the type to process

EIGEN=

Specifies the algorithm to use for eigenvector calculation

EIGEN_ALGORITHM=

Specifies the maximum number of iterations for eigenvector calculation

EIGEN_MAXITER=

Calculates hub centrality and specifies the type to process

HUB=

Calculates influence centrality and specifies the type to process

INFLUENCE=

Specifies the iteration log frequency (nodes)

LOGFREQNODE=

Specifies the iteration log frequency (seconds)

LOGFREQTIME=

Specifies the log level for centrality

LOGLEVEL=

Specifies the subgraph node size to run separately

SUBSIZESWITCH=

Specifies the data set variable to use for weight2 in centrality

WEIGHT2=

CLIQUE Options

Specifies the log level for clique calculations

LOGLEVEL=

Specifies the maximum number of cliques to return during clique calculations

MAXCLIQUES=

Specifies the maximum amount of time to spend calculating cliques

MAXTIME=

Specifies the output data set for cliques

OUT=

COMMUNITY Options

Specifies the community detection algorithm

ALGORITHM=

Specifies the percentage of small-weight links to be removed

LINK_REMOVAL_RATIO=

Specifies the log level for community detection

LOGLEVEL=

Specifies the maximum number of iterations for community detection

MAXITER=

Specifies the output data set for between-community links

OUT_COMM_LINKS=

Specifies the output data set for community summary table

OUT_COMMUNITY=

Specifies the output data set for community level summary table

OUT_LEVEL=

Specifies the output data set for community overlap table

OUT_OVERLAP=

Specifies the random factor in the parallel label propagation algorithm

RANDOM_FACTOR=

Specifies the random seed for the parallel label propagation algorithm

RANDOM_SEED=

Applies the recursive option to break large communities

RECURSIVE

Specifies the resolution list for community detection

RESOLUTION_LIST=

Specifies the modularity tolerance value for community detection

TOLERANCE=

CONCOMP Options

Specifies the algorithm to use for connected components

ALGORITHM=

Specifies the log level for connected components

LOGLEVEL=

CORE Options

Specifies the type of core to process

LINKS=

Specifies the log level for the core algorithm

LOGLEVEL=

Specifies the maximum amount of time to spend in the core algorithm

MAXTIME=

CYCLE Options

Specifies the log level for the cycle algorithm

LOGLEVEL=

Specifies the maximum number of cycles to return during cycle calculations

MAXCYCLES=

Specifies the maximum length for the cycles found

MAXLENGTH=

Specifies the maximum link weight for the cycles found

MAXLINKWEIGHT=

Specifies the maximum node weight for the cycles found

MAXNODEWEIGHT=

Specifies the maximum amount of time to spend calculating cycles

MAXTIME=

Specifies the minimum length for the cycles found

MINLENGTH=

Specifies the minimum link weight for the cycles found

MINLINKWEIGHT=

Specifies the minimum node weight for the cycles found

MINNODEWEIGHT=

Specifies the mode for the cycle calculations

MODE=

Specifies the output data set for cycles

OUT=

EIGENVECTOR Options

Specifies the algebraic type of eigenvalues to calculate

EIGENVALUES=

Specifies the log level for eigenvector calculations

LOGLEVEL=

Specifies the maximum number of iterations for eigenvector calculation

MAXITER=

Specifies the number of eigenvectors to calculate

NEIGEN=

Specifies the output data set for one or more eigenvectors

OUT=

LINEAR_ASSIGNMENT Options

Specifies the data set variable names for the linear assignment identifiers

ID=( )

Specifies the log level for the linear assignment algorithm

LOGLEVEL=

Specifies the output data set for linear assignment

OUT=

Specifies the data set variable names for costs (or weights)

WEIGHT=( )

MINCOSTFLOW Options

Specifies the iteration log frequency

LOGFREQ=

Specifies the log level for the minimum-cost network flow algorithm

LOGLEVEL=

Specifies the maximum amount of time to spend calculating the optimal flow

MAXTIME=

MINCUT Options

Specifies the log level for the minimum-cut algorithm

LOGLEVEL=

Specifies the maximum number of cuts to return from the algorithm

MAXNUMCUTS=

Specifies the maximum weight of the cuts to return from the algorithm

MAXWEIGHT=

Specifies the output data set for minimum cut

OUT=

MINSPANTREE Options

Specifies the log level for the minimum spanning tree algorithm

LOGLEVEL=

Specifies the output data set for minimum spanning tree

OUT=

REACH Options

Decomposes the calculations for reach by cluster (or subgraph)

BY_CLUSTER

Calculates the directed reach counts

DIGRAPH

Treats each node as a source in reach calculations

EACH_SOURCE

Ignores the source node in reach counts

IGNORE_SELF

Specifies the maximum number of links to allow in the reach calculations

MAXREACH=

Specifies the iteration log frequency (seconds)

LOGFREQTIME=

Specifies the log level for reach calculations

LOGLEVEL=

Specifies the output data set for reach counts

OUT_COUNTS=

Specifies the output data set for reach counts (limit=1)

OUT_COUNTS1=

Specifies the output data set for reach counts (limit=2)

OUT_COUNTS2=

Specifies the output data set for reach links

OUT_LINKS=

Specifies the output data set for reach nodes

OUT_NODES=

SHORTPATH Options

Specifies the iteration log frequency (nodes)

LOGFREQ=

Specifies the log level for shortest paths

LOGLEVEL=

Specifies the output data set for shortest paths

OUT_PATHS=

Specifies the output data set for shortest path summaries

OUT_WEIGHTS=

Specifies the type of output for shortest paths results

PATHS=

Specifies the sink node for shortest paths calculations

SINK=

Specifies the source node for shortest paths calculations

SOURCE=

Specifies whether to use weights in calculating shortest paths

USEWEIGHT=

Specifies the data set variable name for the auxiliary link weights

WEIGHT2=

SUMMARY Options

Calculates information about biconnected components

BICONCOMP

Decomposes the calculations for summary by cluster (or subgraph)

BY_CLUSTER

Calculates information about connected components

CONCOMP

Calculates the approximate diameter and chooses the weight type

DIAMETER_APPROX=

Specifies the iteration log frequency (nodes)

LOGFREQNODE=

Specifies the iteration log frequency (seconds)

LOGFREQTIME=

Specifies the log level for summary calculations

LOGLEVEL=

Specifies the output data set for summary results

OUT=

Calculates information about shortest paths and chooses the weight type

SHORTPATH=

Specifies the subgraph node size to run separately

SUBSIZESWITCH=

TRANSITIVE_CLOSURE Options

Specifies the log level for transitive closure

LOGLEVEL=

Specifies the output data set for transitive closure results

OUT=

TSP Options

Specifies the stopping criterion based on the absolute objective gap

ABSOBJGAP=

Specifies the level of conflict search

CONFLICTSEARCH=

Specifies the cutoff value for branch-and-bound node removal

CUTOFF=

Specifies the overall cut strategy level

CUTSTRATEGY=

Emphasizes feasibility or optimality

EMPHASIS=

Specifies the initial and primal heuristics level

HEURISTICS=

Specifies the maximum allowed difference between an integer variable’s value and an integer

LOGFREQ=

Specifies the log level for the traveling salesman algorithm

LOGLEVEL=

Specifies the maximum number of branch-and-bound nodes to be processed

MAXNODES=

Specifies the maximum number of solutions to be found

MAXSOLS=

Specifies the maximum amount of time to spend in the algorithm

MAXTIME=

Specifies whether to use a mixed integer linear programming solver

MILP=

Specifies the branch-and-bound node selection strategy

NODESEL=

Specifies the output data set for traveling salesman

OUT=

Specifies the probing level

PROBE=

Specifies the stopping criterion that is based on relative objective gap

RELOBJGAP=

Specifies the number of simplex iterations to be performed on each variable in the strong branching strategy

STRONGITER=

Specifies the number of candidates for the strong branching strategy

STRONGLEN=

Specifies the stopping criterion based on the target objective value

TARGET=

Specifies the rule for selecting branching variable

VARSEL=


For more information about the options available for the PERFORMANCE statement, see the section PERFORMANCE Statement.

Table 1.3 lists the valid input formats, GRAPH_DIRECTION= values, and GRAPH_INTERNAL_FORMAT= values for each statement in the OPTGRAPH procedure.

Table 1.3: Supported Input Formats and Graph Types by Statement

 

Input Format

DIRECTION

INTERNAL_FORMAT

Statement

Graph

Matrix

UNDIRECTED

DIRECTED

THIN

FULL

BICONCOMP

X

 

X

   

X

CENTRALITY

           

AUTH= , HUB=

X

   

X

 

X

EIGEN=

X

 

X

   

X

BETWEEN= , CLOSE= ,

X

 

X

X

 

X

CLUSTERING_COEF ,

           

DEGREE= ,

           

INFLUENCE= ,

           

CENTRALITY / BY_CLUSTER

           

AUTH= , HUB=

X

   

X

X

X

EIGEN=

X

 

X

X

X

X

BETWEEN= , CLOSE=

X

 

X

X

X

X

CLUSTERING_COEF ,

           

DEGREE= ,

           

INFLUENCE= ,

           

CLIQUE

X

 

X

   

X

COMMUNITY

           

ALGORITHM=

           

LOUVAIN, LABEL_PROP

X

 

X

 

X

X

PARALLEL_LABEL_PROP

X

 

X

X

X

X

CONCOMP

           

ALGORITHM=

           

DFS

X

 

X

X

 

X

UNION_FIND

X

 

X

 

X

X

CORE

X

 

X

X

 

X

CYCLE

X

 

X

X

 

X

EIGENVECTOR

X

X

X

   

X

LINEAR_ASSIGNMENT

X

X

 

X

 

X

MINCOSTFLOW

X

   

X

X

X

MINCUT

X

 

X

   

X

MINSPANTREE

X

 

X

 

X

X

REACH

X

 

X

X

 

X

REACH / BY_CLUSTER

X

 

X

X

X

X

SHORTPATH

X

 

X

X

 

X

SUMMARY

X

 

X

X

 

X

SUMMARY / BY_CLUSTER

X

 

X

X

X

X

TRANSITIVE_CLOSURE

X

 

X

X

 

X

TSP

X

 

X

X

 

X


Table 1.4 indicates for each algorithm statement in the OPTGRAPH procedure which output data set options you can specify and whether the algorithm populates the data sets specified in the OUT_NODES= and OUT_LINKS= options in the PROC OPTGRAPH statement.

Table 1.4: Output Options by Statement

Statement

OUT_NODES

OUT_LINKS

Algorithm Statement Options

BICONCOMP

X

X

 

CENTRALITY

     

AUTH=, CLOSE=,

X

   

CLUSTERING_COEF,

     

DEGREE=, EIGEN=, HUB=,

     

INFLUENCE=

     

BETWEEN=

X

X

 

CLIQUE

   

OUT=

COMMUNITY

     

ALGORITHM=

     

LOUVAIN, LABEL_PROP,

X

 

OUT_COMM_LINKS= ,

PARALLEL_LABEL_PROP

   

OUT_COMMUNITY= ,

     

OUT_LEVEL= ,

     

OUT_OVERLAP=

CONCOMP

X

   

CORE

X

   

CYCLE

   

OUT=

EIGENVECTOR

   

OUT=

LINEAR_ASSIGNMENT

   

OUT=

MINCOSTFLOW

 

X

 

MINCUT

X

 

OUT=

MINSPANTREE

   

OUT=

REACH

   

OUT_COUNTS= , OUT_LINKS= ,

     

OUT_NODES=

BY_CLUSTER

   

OUT_COUNTS= , OUT_NODES=

BY_CLUSTER and EACH_SOURCE

   

OUT_COUNTS1= ,

     

OUT_COUNTS2=

SHORTPATH

   

OUT_PATHS= , OUT_WEIGHTS=

SUMMARY

X

 

OUT=

TRANSITIVE_CLOSURE

   

OUT=

TSP

X

 

OUT=