The OPTNET Procedure

MINCOSTFLOW Statement

  • MINCOSTFLOW < options >;

  • MCF < options >;

The MINCOSTFLOW statement invokes an algorithm that solves the minimum-cost network flow problem on an input graph.

The minimum-cost network flow problem is described in the section Minimum-Cost Network Flow.

You can specify the following options in the MINCOSTFLOW statement:

LOGFREQ=number

controls the frequency for displaying iteration logs for minimum-cost network flow calculations that use the network simplex algorithm. For graphs that contain one component, this option displays progress every number simplex iterations, and the default is 10,000. For graphs that contain multiple components, when you also specify LOGLEVEL=MODERATE, this option displays progress after processing every number components, and the default is based on the number of components. When you also specify LOGLEVEL=AGGRESSIVE, the simplex iteration log for each component is displayed with frequency number.

The value of number can be any integer greater than or equal to 1. Setting this value too low can hurt performance on large-scale graphs.

LOGLEVEL=number | string

controls the amount of information that is displayed in the SAS log. Table 2.16 describes the valid values for this option.

Table 2.16: Values for LOGLEVEL= Option

number

string

Description

0

NONE

Turns off all algorithm-related messages in the SAS log

1

BASIC

Displays a basic summary of the algorithmic processing

2

MODERATE

Displays a summary of the algorithmic processing including a progress log using the interval that is specified in the LOGFREQ option

3

AGGRESSIVE

Displays a detailed summary of the algorithmic processing including a progress log using the interval that is specified in the LOGFREQ option


The default is the value that is specified in the LOGLEVEL= option in the PROC OPTNET statement (or BASIC if that option is not specified).

MAXTIME=option

specifies the maximum amount of time to spend calculating minimum-cost network flows. The type of time (either CPU time or real time) is determined by the value of the TIMETYPE= option. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.