SAVE Statement

SAVE options ;

The options available with the SAVE statement of PROC NETFLOW are summarized by purpose in the following table.

Table 7.4: Functional Summary, SAVE Statement

Description

Statement

Option

Output Data Set Options:

Unconstrained primal solution data set

SAVE

ARCOUT=

Unconstrained dual solution data set

SAVE

NODEOUT=

Constrained primal solution data set

SAVE

CONOUT=

Constrained dual solution data set

SAVE

DUALOUT=


The SAVE statement can be used to specify output data sets and create observations in these data sets. Use the SAVE statement if no optimization is to be performed before these output data sets are created.

The SAVE statement must be used to save solutions in data sets if there is no more optimization to do. If more optimization is to be performed, after which you want to save the solution, then do one of the following:

  • Submit a RUN statement followed by a SAVE statement.

  • Use the PROC NETFLOW or RESET statement to specify current output data sets. After optimization, output data sets are created and observations are automatically sent to the current output data sets.

Consider the following example:

  proc netflow options; lists;
     reset maxit1=10 maxit2=25
           arcout=arcout0   nodeout=nodeout0
           conout=conout0   dualout=dualout0;
     run;
     /* Stage 1 optimization stops after iteration 10. */
     /* No output data sets are created yet.           */
     save arcout=arcout1 nodeout=nodeout1;
     /* arcout1 and nodeout1 are created.              */
     reset arcout=arcout2 maxit1=999999;
     run;
     /* The stage 1 optimum is reached.                */
     /* Arcout2 and nodeout0 are created.              */
     /* Arcout0 is not created as arcout=arcout2 over- */
     /* rides the arcout=arcout0 specified earlier.    */
     /* Stage 2 optimization stops after 25 iterations */
     /* as MAXIT2=25 was specified.                    */
     save conout=conout1;
     /* Conout1 is created.                            */
     reset maxit2=999999 dualout=null;
     run;
     /* The stage 2 optimum is reached.                */
     /* Conout0 is created.                            */
     /* No dualout is created as the last NETFLOW or   */
     /* reset statements dualout=data set specification*/
     /* was dualout=null.                              */

The data sets specified in the PROC NETFLOW and RESET statements are created when an optimal solution is found. The data sets specified in SAVE statements are created immediately.

The data sets in the preceding example are all distinct, but this need not be the case. The only exception to this is that the ARCOUT= data set and the NODEOUT= data set (or the CONOUT= data set and the DUALOUT= data set) that are being created at the same time must be distinct. Use the SHOW DATASETS statement to examine what data sets are current and when they were created.

The following options can appear in the SAVE statement:

ARCOUT=SAS-data-set  (or AOUT=SAS-data-set)

NODEOUT=SAS-data-set  (or NOUT=SAS-data-set)

CONOUT=SAS-data-set  (or COUT=SAS-data-set)

DUALOUT=SAS-data-set  (or DOUT=SAS-data-set)