The NETFLOW Procedure


Macro Variable _ORNETFL

The NETFLOW procedure creates and initializes a SAS macro variable called _ORNETFL. After exiting the procedure, you can use %put &_ORNETFL; to view details about the optimization.

When the network simplex method is used, the value of _ORNETFL consists of the following parts:

  • ERROR_STATUS, indicating the existence or absence of any errors

  • OPT_STATUS, the stage of the optimization, or what solution has been found

Ideally, at the end of a PROC NETFLOW run in which the network simplex method is used, _ORNETFL has the following value:

   ERROR_STATUS=OK OPT_STATUS=OPTIMAL OBJECTIVE=x
   SOLUTION=OPTIMAL

At the end of a PROC NETFLOW run in which the interior point algorithm is used, _ORNETFL should have the following value:

   ERROR_STATUS=OK SOLUTION=OPTIMAL OBJECTIVE=x
   ITERATIONS=x ITERATING_TIME=x SOLUTION_TIME=x

Nontrailing blank characters that are unnecessary are removed. If the preprocessor detects that a problem with a network component is infeasible, and you specify that the interior point algorithm should be used, _ORNETFL has the following value:

  ERROR_STATUS=OK SOLUTION=INFEASIBLE
  ITERATIONS=0 ITERATING_TIME=0 SOLUTION_TIME=0

The same value is assigned to the _ORNETFL macro variable if the preprocessor detects that an LP problem is infeasible.

Table 5.6 lists alternate values for the _ORNETFL value parts.

Table 5.6: PROC NETFLOW _ORNETFL Macro Values

Keyword

Value

Meaning

ERROR_STATUS

OK

No errors

 

MEMORY

Memory request failed

 

IO

Input/output error

 

DATA

Error in the data

 

BUG

Error with PROC NETFLOW

 

SEMANTIC

Semantic error

 

SYNTAX

Syntax error

 

UNKNOWN

Unknown error

OPT_STATUS

START

No optimization has been done

 

STAGE_1

Performing stage 1 optimization

 

UNCON_OPT

Reached unconstrained optimum,
but there are side constraints

 

STAGE_2

Performing stage 2 optimization

 

OPTIMAL

Reached the optimum

OBJECTIVE

objective

Total cost or profit

MINFLOW

minflow

If MAXFLOW and MAXIMIZE are specified at the same time

MAXFLOW

maxflow

If MAXFLOW is specified

SHORTEST_PATH

shortpath

If SHORTPATH is specified

LONGEST_PATH

longpath

If SHORTPATH and MAXIMIZE are specified at the same time

SOLUTION

NONOPTIMAL

More optimization is required

 

STAGE_2_REQUIRED

Reached unconstrained optimum,
stage 2 optimization is required

 

OPTIMAL

Have determined the optimum

 

INFEASIBLE

Infeasible; no solution exists

 

UNRESOLVED_OPTIMALITY_OR_FEASIBILITY

The optimization process stops
before optimality or infeasibility
can be proven.

 

MAXITERB_OPTION_STOPPED_OPTIMIZATION

The interior point algorithm stops after performing maximal
number of iterations specified by
the MAXITERB= option