Chapter Contents |
Previous |
Next |
The NETFLOW Procedure |
Description | Statement | Option |
Input Data Set Options | ||
arcs input data set | NETFLOW | ARCDATA= |
nodes input data set | NETFLOW | NODEDATA= |
constraint input data set | NETFLOW | CONDATA= |
Output Data Set Options | ||
unconstrained primal solution data set | NETFLOW | ARCOUT= |
unconstrained dual solution data set | NETFLOW | NODEOUT= |
constrained primal solution data set | NETFLOW | CONOUT= |
constrained dual solution data set | NETFLOW | DUALOUT= |
Options for Networks | ||
default arc cost | NETFLOW | DEFCOST= |
default arc capacity | NETFLOW | DEFCAPACITY= |
default arc lower flow bound | NETFLOW | DEFMINFLOW= |
network's only supply node | NETFLOW | SOURCE= |
SOURCE's supply capability | NETFLOW | SUPPLY= |
network's only demand node | NETFLOW | SINK= |
SINK's demand | NETFLOW | DEMAND= |
excess supply or demand is conveyed through network | NETFLOW | THRUNET |
find maximal flow between SOURCE and SINK | NETFLOW | MAXFLOW |
cost of bypass arc when solving MAXFLOW problem | NETFLOW | BYPASSDIV= |
find shortest path from SOURCE to SINK | NETFLOW | SHORTPATH |
Miscellaneous Options | ||
infinity value | NETFLOW | INFINITY= |
do constraint row and/or nonarc variable column coefficient scaling, or neither | NETFLOW | SCALE= |
maximization instead of minimization | NETFLOW | MAXIMIZE |
use warm start solution | NETFLOW | WARM |
all-artificial starting solution | NETFLOW | ALLART |
Data Set Read Options | ||
CONDATA has sparse data format | NETFLOW | SPARSECONDATA |
default constraint type | NETFLOW | DEFCONTYPE= |
special COLUMN variable value | NETFLOW | TYPEOBS= |
special COLUMN variable value | NETFLOW | RHSOBS= |
is used to interpret arc and nonarc variable names in the CONDATA | NETFLOW | NAMECTRL= |
no new nonarc variables | NETFLOW | SAME_NONARC_DATA |
no nonarc data in the ARCDATA | NETFLOW | ARCS_ONLY_ARCDATA |
data for an arc found in only one obs of ARCDATA | NETFLOW | ARC_SINGLE_OBS |
data for an constraint found in only one obs of CONDATA | NETFLOW | CON_SINGLE_OBS |
data for a coefficient found once in CONDATA | NETFLOW | NON_REPLIC= |
data is grouped, exploited during data read | NETFLOW | GROUPED= |
Problem Size (approx.) Options | ||
number of nodes | NETFLOW | NNODES= |
number of arcs | NETFLOW | NARCS= |
number of nonarc variables | NETFLOW | NNAS= |
number of coefficients | NETFLOW | NCOEFS= |
number of constraints | NETFLOW | NCONS= |
Memory Control Options | ||
issue memory usage messages to SASLOG | NETFLOW | MEMREP |
number of bytes to use for main memory | NETFLOW | BYTES= |
proportion of memory used by frequently accessed arrays | NETFLOW | COREFACTOR= |
memory allocated for LU factors | NETFLOW | DWIA= |
linked list for updated column | NETFLOW | SPARSEP2 |
use 2-dimensional array instead of LU factor for basis matrix | NETFLOW | INVD_2D |
maximum bytes for a single array | NETFLOW | MAXARRAYBYTES= |
Interior Point algorithm Options | ||
use Interior Point algorithm | NETFLOW | INTPOINT |
... _XXXXX_ .... bbb bbb aaa ccc cccis a candidate for the GROUPED= option. Similar values are grouped together. When PROC NETFLOW is reading the ith observation, either the value of the _XXXXX_ variable is the same as the (i-1)th (that is, the previous observation's) _XXXXX_ value, or it is a new _XXXXX_ value not seen in any previous observation. This also means that if the ith _XXXXX_ value is different from the (i-1)th _XXXXX_ value, the value of the (i-1)th _XXXXX_ variable will not be seen in any observations i, i+1, ... .
data arcdata; input _from_ $ _to_ $ _name $ ; datalines; from to1 . from to2 arc2 TAIL TO3 . ; data densecon; input from_to1 from_to2 arc2 tail_to3; datalines; 2 3 5 ; proc netflow arcdata=arcdata condata=densecon; run;The SAS System does not uppercase character string values. PROC NETFLOW never uppercases node names, so the arcs in observations 1, 2, and 3 in the preceeding ARCDATA= data set have the default names "from_to1", "from_to2", and "TAIL_TO3", respectively. When the dense format of the CONDATA= data set is used, PROC NETFLOW does uppercase values of the NAME list variable, so the name of the arc in the second observation of the ARCDATA= data set is "ARC2". Thus, the second arc has two names; it's default "from_to2" and the other that was specified "ARC2".
input from_to1 from_to2 arc2 tail_to3;as really being
INPUT FROM_TO1 FROM_TO2 ARC2 TAIL_TO3;The SAS variables named "FROM_TO1" and "FROM_TO2" are not associated with any of the arcs in the preceeding ARCDATA= data set. The values "FROM_TO1" and "FROM_TO2" are different from all of the arc names "from_to1", "from_to2", "TAIL_TO3", and "ARC2". "FROM_TO1" and "FROM_TO2" could end up being the names of two nonarc variables. It is sometimes useful to specify PRINT NONARCS; before commencing optimization to ensure that the model is correct (has the right set of nonarc variables).
proc netflow options arcdata=arc0 nodedata=node0 condata=con0 /* this data set has nonarc variable */ /* objective function coefficient data */ future1 arcout=arc1 nodeout=node1; run; data arc2; reset arc1; /* this data set has nonarc variable obs */ if _cost_<50.0 then _cost_=_cost_*1.25; /* some objective coefficients of nonarc */ /* variable might be changed */ proc netflow options warm arcdata=arc2 nodedata=node1 condata=con0 same_nonarc_data /* This data set has old nonarc variable */ /* obj, fn. coefficients. same_nonarc_data */ /* indicates that the "new" coefs in the */ /* arcdata=arc2 are to be used. */ RUN;
Chapter Contents |
Previous |
Next |
Top |
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.