|
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
ccc
is 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.