Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
The NETFLOW Procedure

PRINT Statement

PRINT options / qualifiers ;

The options available with the PRINT statement of PROC NETFLOW are summarized by purpose in Table 4.19.

Table 4.19: Functional Summary, PRINT statement: PROC NETFLOW

Description Statement Option
PRINT statement options 
display everythingPRINTPROBLEM
display arc informationPRINTARCS
display nonarc variable informationPRINTNONARCS
display variables informationPRINTVARIABLES
display constraint informationPRINTCONSTRAINTS
display information for some arcsPRINTSOME_ARCS
display information for some nonarc variablesPRINTSOME_NONARCS
display information for some variablesPRINTSOME_VARIABLES
display information for some constraintsPRINTSOME_CONS
display information for some constraints associated with some arcsPRINTCON_ARCS
display information for some constraints associated with some nonarc variablesPRINTCON_NONARCS
display information for some constraints associated with some variablesPRINTCON_VARIABLES
   
PRINT statement qualifiers 
produce a short reportPRINT/ SHORT
produce a long reportPRINT/ LONG
only arcs (nonarc variables) with zero flow (value)PRINT/ ZERO
only arcs (nonarc variables) with nonzero flow (value)PRINT/ NONZERO
only for basicsPRINT/ BASIC
only nonbasicsPRINT/ NONBASIC
   

The PRINT statement enables you to examine parts or all of the problem. You can limit the amount of information displayed when a PRINT statement is processed by specifying PRINT statement options. The name of the PRINT option indicates what part of the problem is to be examined. If no options are specified, or PRINT PROBLEM is specified, information about the entire problem is produced. The amount of displayed information can be limited further by following any PRINT statement options with a slash character (/) and one or more of the qualifiers SHORT or LONG, ZERO or NONZERO, BASIC or NONBASIC.

Some of the PRINT statement options require you to specify a list of some type of entity, thereby enabling you to indicate what entities are of interest. The entities of interest are the ones you want to display. These entities might be tail node names, head node names, nonarc variable names, or constraint names. The entity list is made up of one or more of the following constructs. Each construct can add none, one, or more entities to the set of entities to be displayed.

The following options can appear in the PRINT statement.

Following a slash (/), the qualifiers SHORT or LONG, ZERO or NONZERO, BASIC or NONBASIC can appear in any PRINT statement. These qualifiers are described below.

The default qualifiers are BASIC, NONBASIC, ZERO, NONZERO, and LONG.

Displaying Information On All Constraints

In the oil refinery problem, if you had entered
print constraints;
after the RUN statement, the following in Figure 4.9 would have been produced:

Oil Industry Example
Setting Up Condata = Cond1 For Proc Netflow

NETFLOW PROCEDURE

_N_ _CON_ _type_ _rhs_ _name_ _from_ _to_ _cost_ _capac_ _lo_ _SUPPLY_ _DEMAND_ _FLOW_ _COEF_ _FCOST_ _RCOST_ _STATUS_
1 _OBS1_ GE -15 m_e_ref1 middle east refinery 1 63 95 20 100 . 80 -2 5040 . KEY_ARC BASIC
2 _OBS1_ GE -15 thruput1 refinery 1 r1 200 175 50 . . 145 1 29000 . KEY_ARC BASIC
3 _OBS2_ GE -15 m_e_ref2 middle east refinery 2 81 80 10 100 . 20 -2 1620 . NONKEY ARC BASIC
4 _OBS2_ GE -15 thruput2 refinery 2 r2 220 100 35 . . 35 1 7700 29 LOWERBD NONBASIC
5 _OBS3_ EQ 0 thruput1 refinery 1 r1 200 175 50 . . 145 -3 29000 . KEY_ARC BASIC
6 _OBS3_ EQ 0 r1_gas r1 ref1 gas 0 140 0 . . 108.75 4 0 . KEY_ARC BASIC
7 _OBS4_ EQ 0 thruput2 refinery 2 r2 220 100 35 . . 35 -3 7700 29 LOWERBD NONBASIC
8 _OBS4_ EQ 0 r2_gas r2 ref2 gas 0 100 0 . . 26.25 4 0 . KEY_ARC BASIC

Figure 4.9: print constraints

Displaying Information About Selected Arcs

In the oil refinery problem, if you had entered
print some_arcs(refin:,_all_)/short;
after the RUN statement, the following in Figure 4.10 would have been produced:

NETFLOW PROCEDURE

_N_ _from_ _to_ _cost_ _capac_ _lo_ _name_ _FLOW_
1 refinery 1 r1 200 175 50 thruput1 145
2 refinery 2 r2 220 100 35 thruput2 35

Figure 4.10: print some_arcs

Displaying Information About Selected Constraints

In the oil refinery problem, if you had entered
print some_cons(_obs3_-_obs4_)/nonzero short;
after the RUN statement, the following in Figure 4.11 would have been produced.

NETFLOW PROCEDURE

_N_ _CON_ _type_ _rhs_ _name_ _from_ _to_ _cost_ _capac_ _lo_ _FLOW_ _COEF_
1 _OBS3_ EQ 0 thruput1 refinery 1 r1 200 175 50 145 -3
2 _OBS3_ EQ 0 r1_gas r1 ref1 gas 0 140 0 108.75 4
3 _OBS4_ EQ 0 thruput2 refinery 2 r2 220 100 35 35 -3
4 _OBS4_ EQ 0 r2_gas r2 ref2 gas 0 100 0 26.25 4

Figure 4.11: print some_cons

If you had entered

print con_arcs(_all_,r1 r2,_all_)/short;
after the RUN statement, the following in Figure 4.12 would have been produced. Constraint information about arcs directed from selected tail nodes are displayed.

NETFLOW PROCEDURE

_N_ _CON_ _type_ _rhs_ _name_ _from_ _to_ _cost_ _capac_ _lo_ _FLOW_ _COEF_
1 _OBS3_ EQ 0 r1_gas r1 ref1 gas 0 140 0 108.75 4
2 _OBS4_ EQ 0 r2_gas r2 ref2 gas 0 100 0 26.25 4

Figure 4.12: print con_arcs

Cautions

This subsection has two parts; the first part is applicable if you are running Version 7 or later of the SAS System, and the second part is applicable if you are running Version 6. You can get Version 7 to "act" like Version 6 by specifying
options validvarname=v6;

For Version 7, PROC NETFLOW strictly respects case sensitivity. The PRINT statements of PROC NETFLOW that require lists of entities will work properly only if the entities have the same case as in the input data sets. Entities that contain blanks must be enclosed in single or double quotes. For example

print some_arcs (_all_,"Ref1 Gas");

In this example, a head node of an arc in the model is "Ref1 Gas" (without the quotes). If you omit the quotes, PROC NETFLOW issues a message on the SAS log:

WARNING: The node Ref1 in the list of head nodes in the PRINT
         SOME_ARCS or PRINT CON_ARCS is not a node in the
         problem. This statement will be ignored.

If you had specified

print some_arcs (_all_,"ref1 Gas");
(note the small r), you would have been warned
WARNING: The node ref1 Gas in the list of head nodes in the PRINT
         SOME_ARCS or PRINT CON_ARCS is not a node in the
         problem. This statement will be ignored.

If you are running Version 6 or Version 7 and you have specified

options validvarname=v6;
when information is parsed to procedures, the SAS System converts the text that makes up statements into uppercase. The PRINT statements of PROC NETFLOW that require lists of entities will work properly only if the entities are uppercase in the input data sets. If you do not want this uppercasing to occur, you must enclose the entity in single or double quotes.
print some_arcs('lowercase tail','lowercase head');
print some_cons('factory07'-'factory12');
print some_cons('_factory07_'-'_factory12_');
print some_nonarcs("CO2 content":);

Entities that contain blanks must be enclosed in single or double quotes.

Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
Top
Top

Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.