Arc
Declaration and Attributes
Arc attributes
Arcs are used to represent the possible flows between nodes in a network. From these flows, balancing constraints can be generated by AIMMS for every node in the network. The possible attributes of an arc are given in this table.
Attribute |
Value-type |
See also page |
---|---|---|
|
index-domain |
|
|
range |
|
|
constant-expression |
|
|
node-reference |
|
|
expression |
|
|
node-reference |
|
|
expression |
|
|
expression |
|
|
unit-valued expression |
|
|
expression |
|
|
expression |
|
|
expression |
|
|
|
The Property attribute, The Property attribute, Properties of variables |
|
||
|
||
|
string |
|
|
comment string |
Arcs are like variables
Arcs play the role of variables in a network problem, but have some
extra attributes compared to ordinary variables, namely the From
,
To
, FromMultiplier
, ToMultiplier
, and Cost
attributes.
Arcs do not have a Definition
attribute because they are implicitly
defined by the From
and To
attributes.
The From
and To
attributes
For each arc, the From
attribute is used to specify the starting
node, and the To
attribute to specify the end node. The value of
both attributes must be a reference to a declared node.
The Multiplier
attributes
With the FromMultiplier
and ToMultiplier
attributes you can
specify whether the flow along an arc has a gain or loss factor. Their
value must be an expression defined over some or all of the indices of
the index domain of the arc. The result of the expression must be
positive. If you do not specify a Multiplier
attribute, AIMMS
assumes a default of one. Network problems with non unit-valued
Multiplier
s are called generalized networks.
FromMultiplier
and ToMultiplier
The FromMultiplier
is the conversion factor of the flow at the
source node, while the ToMultiplier
is the conversion factor at the
destination node. Having both multipliers offers you the freedom to
specify the network in its most natural way.
The Cost
attribute
You can use the Cost
attribute to specify the cost associated with
the transport of one unit of flow across the arc. Its value is used in
the computation of the special variable FlowCost
, which is the
accumulated cost over all arcs. In the computation of the FlowCost
variable the component of an arc is computed as the product of the unit
cost and the level value of the flow.
Graphically illustrated
In the presence of FromMultiplier
and ToMultipliers
, the drawing
in Fig. 11 illustrates
the level value of the flow,
its associated cost component in the predefined
FlowCost
variable, andthe flows as they enter into the flow balances at the source and destination nodes (denoted by SBF and DBF, respectively).
Semi-continuous arcs
You can only use the SemiContinuous
property for arcs if you use an
LP solver to find the solution. If you use the pure network solver
integrated in AIMMS, AIMMS will issue an error message.
Example
Using the declaration of nodes from the previous section, an example of a valid arc declaration is given by
Arc Transport {
IndexDomain : (i,j,p) | Distance(i,j);
Range : nonnegative;
From : DepotStockSupplyNode(i,p);
To : CustomerDemandNode(j,p);
Cost : UnitTransportCost(i,j);
}
Note that this arc declaration declares flows between nodes i
and
j
for multiple products p
.