The OPTNET Procedure

Functional Summary

Table 2.2 summarizes the statements and options available with PROC OPTNET.

Table 2.2: Functional Summary

Description

Option

PROC OPTNET Options

Input

Specifies the link data set (as an adjacency matrix)

DATA_ADJ_MATRIX=

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 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_ADJ_MATRIX_VAR

Specifies the data set variable names for adjacency matrix

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 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=

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=

CONCOMP Options

Specifies the algorithm to use for connected components

ALGORITHM=

Specifies the log level for connected components

LOGLEVEL=

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=

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 (Experimental)

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=

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=

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 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

INTTOL=

Specifies the frequency of printing the branch-and-bound node log

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 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=


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

Table 2.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

CLIQUE

X

 

X

   

X

CONCOMP

           

ALGORITHM=

           

DFS

X

 

X

X

 

X

UF

X

 

X

 

X

X

CYCLE

X

 

X

X

 

X

LINEAR_ASSIGNMENT

X

X

 

X

 

X

MINCOSTFLOW

X

   

X

X

X

MINCUT

X

 

X

   

X

MINSPANTREE

X

 

X

 

X

X

SHORTPATH

X

 

X

X

 

X

TRANSITIVE_CLOSURE

X

 

X

X

 

X

TSP

X

 

X

   

X


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

Table 2.4: Output Options by Statement

Statement

OUT_NODES

OUT_LINKS

Algorithm Statement Options

BICONCOMP

X

X

 

CLIQUE

X

 

OUT=

CONCOMP

X

   

CYCLE

   

OUT=

LINEAR_ASSIGNMENT

   

OUT=

MINCOSTFLOW

 

X

 

MINCUT

X

 

OUT=

MINSPANTREE

   

OUT=

SHORTPATH

   

OUT_PATHS=, OUT_WEIGHTS=

TRANSITIVE_CLOSURE

   

OUT=

TSP

X

 

OUT=