# Declaration of Network-Based Mathematical Programs

The `FlowCost`

variable

If your model contains arcs and nodes, the special variable `FlowCost`

can be used in the definition of the objective of your mathematical
program. During the model generation phase, AIMMS will generate an
expression for this variable based on the associated unit cost for each
of the arcs in your mathematical program.

Pure network models

AIMMS will mark your mathematical program as a pure network, if the following conditions are met:

your mathematical program consists of arcs and nodes only,

all arcs are continuous and do not have one of the

`SOS`

or the`SemiContinuous`

properties,the value of the

`Objective`

attribute equals the variable`FlowCost`

, andall

`Multiplier`

attributes assume the default value of one,

For pure network models you can specify `network`

as its `Type`

.

Network versus LP solver

If your mathematical program is a pure network model, AIMMS will pass
the model to a special network solver. If your mathematical program is a
generalized network or a mixed network-LP problem, AIMMS will generate
the constraints associated with the nodes in your network as linear
constraints and use an LP solver to solve the problem. AIMMS will also
use an LP solver if you have specified its type to be `lp`

. You may
assert that your mathematical program is a pure network model by
specifying `network`

as its type.

Example

A pure network model containing the arc and node declarations of the
previous sections, but without the additional term
`ProductImport(d,p)`

in the node `DepotStockSupplyNode(d,p)`

, is
defined by the following declaration.

```
MathematicalProgram ProductFlowDecisionModel {
Objective : FlowCost;
Direction : minimize;
Constraints : AllConstraints;
Variables : AllVariables;
Type : network;
}
```

If the arc `Transport(i,j)`

declared in the previous section is the
only arc, then the variable `FlowCost`

can be represented by the
expression

```
sum [(i,j,p), UnitTransportCost(i,j) * Transport(i,j,p)]
```

Note that the addition of the term `ProductImport(i,p)`

in
`DepotStockSupplyNode(i,p)`

would result in a mixed network/linear
program formulation, which requires an LP solver.