Transports
- Last UpdatedAug 11, 2025
- 17 minute read
This page is available only if you have a valid Spiral Network license.
For more information about checking for installed licenses, see the Configure your Licenses topic. Contact AVEVA support (spiral.support@aveva.com) for information about obtaining new licenses.
In the Transports page you can define and manage the links along which material is transported between the nodes of your model, as well as the modes through which it is transported. You can also organize transport links into groups, and manage shipments of material.
Manage transport modes

The Transport Modes tab of the Transports page shows the available methods for transporting material around the network. Transport modes may be one of four types: road, rail, ship or pipe. While a mode represents a method of transportation, the actual details of the transports themselves are configured as transport links.
Follow these step to add a transport mode:
-
Do either of the following:
-
Click Add Transport Mode in the Transport Modes group of the Home ribbon tab.
-
Right-click anywhere in the table and choose Add Transport Mode from the context menu.
A new row is added to the table.
-
-
Make sure that the check box in the Active column is selected if you want the transport mode to be active within the optimization.
-
Enter a Name for the transport mode. Double click in the cell and type the new name.
-
Choose the Modality used to transport material. You can choose among Ship, Rail, Road and Pipe.
-
Enter the Parcel amount size and choose the unit of measure. A parcel is the smallest amount of material you can send via the transport mode. For example, this could correspond to the amount of material to fill a ship or a truck. If a parcel size is defined, the amount of material sent via the transport mode is always a multiple of the parcel size.
-
Enter the Price per unit of weight/volume and distance of shipping material via the transport mode. When a price per distance is entered, the price is only applied if a transport link associated with this mode has an entered distance.
-
Optionally, enter a Description for the transport mode.
To delete one or more transport modes, select the corresponding rows in the table and do either of the following:
-
Click Delete Transport Mode in the Transport Modes group of the Home ribbon tab.
-
Right-click on the selected transport modes and choose Delete Transport Mode from the context menu.
Manage transport links

The Transport Links tab of the Transports page defines the links between nodes in the network. Without a transport link it is not possible to transfer a material between two locations.
Transport links must be defined for all connections:
-
Feedstocks can only be added at supply nodes, while a plant requires feedstocks. Therefore there must be a transport link between a site's supply node and its plant node.
-
Grades can only be sold at demand nodes, while a plant must dispose of all of its products. Therefore there must be at least one transport link between a plant and at least one demand node, and it must be possible to transport all the plant products via these links.
A transport link can carry one or more traded materials.
Tip: Take care if the source or destination node requirements change. For example, imagine there is a transport link between a plant and an export terminal, and this is configured to allow the transport of gasoline. If in the future the terminal can also export diesel, it would be necessary to add this traded material to the transport link.
Follow these steps to add a transport link:
-
Do either of the following:
-
Click Add Transport Link in the Transport Links group of the Home ribbon tab.
-
Right-click anywhere in the table and choose Add Transport Link from the context menu.
A new row is added to the table. Note that you must already have defined at least one transport mode in the Transport Modes tab to be able to add a transport link.
-
-
Make sure that the check box in the Active column is selected if you want the transport link to be active within the optimization.
-
Enter a Name for the transport link. Double click in the cell and type the new name.
-
Choose the Transport Mode for this link.
-
Choose at least one Traded Material that can be moved via this transport link. Click the arrow icon in the cell to show the interface for adding traded materials.
Use the arrow buttons in the interface to add or remove traded materials. The first row in the left-hand table is a filter row, allowing you to filter traded materials by name or other criteria. List all the traded materials in the reference data, rather than just those included in the model, by selecting the Include Traded Materials in Reference Data check box.

-
Optionally, choose a Grade that can be moved via this transport link. If you choose Any, then any grade can be transferred via the link.
-
If you want the inventory to belong to a group, choose it from the Group column. This column may not be visible by default: see Customize the Grid for how to manage columns.
-
Choose the Origin and Destination nodes for the transport link. These must be supply and demand nodes for the transported material.
-
Optionally, in the Availability column band enter the dates between which the transport link is available.
-
Optionally, enter the Distance between the origin and destination nodes. If the associated transport mode has a price, the price per unit amount per unit distance is applied, as well as the cost associated with the transport link (thus two transport prices would be applied if a transport link cost and a transport mode cost were applied).
-
Optionally, in the Duration column band enter the time needed for transporting the material from the origin to the destination.
Select the Enforce check box if you want the duration to be used in the optimization. Clear the check box if you want the optimizer to ignore the duration value. The value is still used to calculate the number of journey days.
Note: If a transport link does not have a duration set, it is assumed that the movement of material takes place in the same period. That is, the movement is instantaneous.
If a transport link has a duration set, the material may start its movement at any point within the period, which may result in material arriving in a subsequent period. If the duration is longer than the period duration, the arrival is forced to be in subsequent periods. For example, if there were seven-day periods, and the duration was eight days, then any material departing in one period would only be able to arrive in subsequent periods.
If the duration is less than the period length, some material may depart and arrive within the period, whilst other material may depart in one period and arrive in later periods. For example, if there were seven-day periods, and the duration was three days, material departing in period 1 may arrive in both periods 1 and 2.
Where the duration is less than the period length and there is a constraint applied, the constraint is applied across the material that arrives in the same period as well as the material in transit at the end of the period. The relative contribution of the constraint is pro-rated with respect to the period duration. For example, if there were seven-day periods, the duration was two days and there was a constraint of 14 tonne/d of material, the arriving material would be constrained to 10 tonne/d (5/7 * 14) and the material in transit to 4 tonne/d (2/7 * 14). -
Optionally, enter a Pricing for the transport link, that is, the cost of moving the material. This field is not active if you have set a distance for the link and the associated transport mode has a price value set.
The pricing of a transport link can be determined by a freight price defined as part of a price set. When the freight price matches the origin, destination and traded material of the transport link, the figure in the Price column is taken from the price set. The figure appears dimmed and a tooltip shows the price set it is taken from.

The freight price to use is determined by matching the location associated with the origin and destination of the transport link.
Tip: You can always override a freight price from a price set by typing a new value in the cell. To restore the price from the price set, delete the override price you have typed.
Tip: You can also manage price sets from the Details page and the Price Sets page.
-
Enter the value of the material held as Inventory in the transport at the end of each period.
-
Optionally, enter a Minimum or Maximum constraint for the amount that can be moved via the transport link. You can deactivate these constraints by clearing the corresponding Active check box.
-
If you have defined a minimum constraint, you can activate the Threshold setting.
Thresholds allow semi-continuous amounts to be declared for certain items.
Thresholds can be activated when these are set with zero or fixed amounts. When an item has a threshold applied, the amount must then be either zero or at least the minimum amount. For example, you could define a threshold on the supply of the crude Agbami of 500 kbbl. The valid solution would be either zero or 500 kbbl or more of the crude. That is, it would be impossible to purchase 254 kbbl of the crude, but 503 kbbl would be feasible.
Note that the Threshold column may not be visible by default: see Customize the Grid below for how to manage columns. You have to add the MIP column band and then the Ratio column to the table.
-
Optionally, define a Transport Size. This allows you to override the transport mode parcel size for a specific transport link. If you do not enter a value, the transport size defaults to the parcel size of the relevant transport mode. If you select the Enforce check box for a transport size, only exact multiples of the transport size value will be used.
Enforcing a transport size introduces integer constraints into the model. This may have an effect on optimization time.
-
You can define an optional utilization factor for the transport link. This acts as a scaling factor for the transport size. For example, if a transport link has a transport size of 100 tonnes, and a utilization factor of 90%, it means that the transport size is reduced to 90 tonnes.
Under the Utilization column band, enter a Value for the utilization factor and choose a unit of measure, either percentage or proportion. You can deactivate the utilization factor by clearing the check box in the Active column.
Utilization factors can be greater than 100%. Use them to define temporary changes to the capacity of your transport links.
-
Optionally, enter a Description for the transport link.
When you optimize the case, the Optimization column band shows the Solution value for the transport link, and the Marginal value for any constraints that were applied.
Two more read-only columns give you more information on the transport links activity:
-
Journeys shows the number of journeys needed to transport the amount of material given by the solution value. This is calculated using the parcel amount or transport size, as modified by the utilization factor if present.
-
Journey Days shows the number of days needed to complete all the journeys. This is calculated via the Duration value of each transport link.
To delete one or more transport links, select the corresponding rows in the table and do either of the following:
-
Click Delete Transport Link in the Transport Links group of the Home ribbon tab.
-
Right-click on the selected transport links and choose Delete Transport Link from the context menu.
Tip: If you get an error when trying to delete a transport link, check whether it is used elsewhere in the model, for example in calculation variables.
Manage transport link groups

The Transport Link Groups tab of the Transport Links page defines the groups that transport links can belong to.
Hierarchy. You can group transport link groups together, thereby creating a hierarchy of groups. In the Group column, you can select a group to act as the parent of any other group. You can also set ratios for groups that are part of another group, just as you set ratios for individual transport links. For example, a group of transport links to Africa and a group of transport links to Europe could themselves be added into groups.
Pro Rata. The check box in the Pro Rata column controls whether to pro rata the constraining amounts. When pro rata is active, the amount is divided across all periods equally (weighted with respect to period duration) so that material transfer is approximately equal in all periods. When pro rata is not active, the amount is aggregated across all time so the constraint is applied, but may all be utilized within a small set of periods. See Optimization across and within Periods for more information.
Member Limit. If this value is set to a number N, then no matter how many transport links are in this group, the optimizer picks the best solution containing at most N of those transport links.
Journey Limit and Journey Day constraints. These are constraints on the total number of journeys and the total number of journey days for the transport links in this group. Set minimum, maximum or fixed constraints as usual. You have to select either the Journeys or the All view in the Grid group of the Home ribbon tab to see these constraint columns.
Cargo Size constraints. These are constraints on the size of a cargo for the transport links in this group. Set minimum, maximum or fixed constraints as usual. You have to select either the Cargo Size or the All view in the Grid group of the Home ribbon tab to see these constraint columns. If you set one or more constraints, after optimization the Cargo Size Results column band shows the solution cargo size and the number of cargoes needed to transport the material along the transport links in the group. Using this feature invokes Mixed Integer Programming, which in some cases can increase the optimization time.
Note: Make sure that any group constraints you define do not conflict with constraints applied on individual transport links in the group, and defined in the Transport Links tab. Conflicting constraints may cause the optimization to fail.
Follow these steps to add and populate a transport link group:
-
Create the group
-
In the Transport Link Groups tab, do either of the following:
-
Click Add Group in the Groups group of the Home ribbon tab.
-
Right-click anywhere on the grid and choose Add Group from the context menu.
-
-
Enter the desired name for the group in the Name column.
-
In the Wgt/Vol column, choose whether the group is weight- or volume-based.
-
-
Add items to the group
-
Go to the Transport Links tab.
-
If you cannot see the Grouping column header, follow these steps:
-
Right-click on a column header and choose Column/Band Chooser from the context menu. The Customize transport links columns window opens.
-
From the Bands tab, drag the Grouping label to the grid header. Move it along the header until two arrow icons appear, then release the mouse button. The Grouping column band is added to the grid.
-
From the Columns tab, drag the Group and Ratio labels to the grid, under the Grouping column band, and release them. The two columns are added to the grid.
-
Close the Customize transport links columns window.
-
-
In the Group column, select the group you created for each transport link you want to add to the group.
-
-
Review and edit the group
In the Grouped Transport Links tab you can see a summary of the transport link groups you have configured, together with the members of each group. You can edit details of group members in this tab, as well as add constraints, but you cannot create new groups, nor add or delete group members.
Manage shipments

In the Shipments tab of the Transports page you can configure shipments of material around the network. Shipments are discrete movements of material that extend transport links by allowing you to configure the exact amount of material to be transported, and port dates for loading and discharge, thus allowing precise control of the movement of materials.
Follow these steps to add a shipment:
-
Do either of the following:
-
Click Add Shipment in the Shipments group of the Home ribbon tab.
-
Right-click anywhere in the table and choose Add Shipment from the context menu.
A new row is added to the table.
-
-
Make sure that the check box in the Active column is selected if you want the shipment to be active within the optimization.
-
Enter a Name for the shipment. Double-click in the cell and type the new name.
-
Choose the Traded Material and the corresponding Grade that are transported via this shipment. If you choose Any, then any traded material and/or grade can be transferred via the shipment. If you choose Any for the traded material, you can only choose Any for the grade as well.
-
Optionally, choose the Transport Link which defines the origin and destination for the shipment. If you do not select a transport link, you can choose the origin and destination nodes explicitly (see next step).
-
If you haven't chosen a transport link, select the Loading and Discharge nodes associated with the shipment, under the Ports column band.
-
Under the Port Dates column band, enter the Loading and Discharge dates and times for the shipment.
-
Enter the Price of transporting a unit of material, and choose the correct unit of measure. This price is added to any implied cost in terms of supplying and processing the material, and so could be thought of as a handling cost or transport cost.
For example, a shipment may transport ethanol, which has a supplied price of 1000 $/tonne. If a shipment price of 10 $/tonne is entered, the total implied cost of the material at its destination node is 1010 $/tonne.
-
Enter the Opening and Closing values of the Inventory of the shipment. If the inventory value is not realized within the optimized timeframe, this value is added to the objective function value to account for the future value of the material.
For example, imagine the final period of the optimisation problem ends on the 12th of March, but a shipment departs on the 10th of March and does not arrive until the 20th of March. As such, the material on the ship costs money to produce and load, but its sale value is not realized, since it does not arrive within the allotted timeframe for optimization. Therefore the final objective function value is reduced by the implied value of this inventory.
To account for the value associated with the inventory, this money can be realized by adding an inventory value. This value is added to the objective function value.
-
Enter the Amount of material in the shipment, and choose the correct unit of measure.
-
Optionally, enter a Description for the shipment.
To delete one or more shipments, select the corresponding rows in the table and do either of the following:
-
Click Delete Shipment in the Shipments group of the Home ribbon tab.
-
Right-click on the selected shipments and choose Delete Shipment from the context menu.
Other tasks
The following are additional tasks you can carry out from the tabs of the Transports page. Some of the ribbon groups described in the following sections are not available from all tabs.
Lock solutions
Solution values can be locked during subsequent runs. This means that a solution value will not change in any subsequent run, even if other input to the run is changed.

Example: The flow of naphtha from a crude could be locked, and in subsequent runs it would not be able to change. Therefore, if a fixed swing cut point was changed and the model re-run, the crude blend would have to change in order to match the fixed flow rate.
Locking a solution value acts in a similar way to fixing the value. The advantage over fixing a value is that the lock can be clearly seen in the user interface, so it is simpler to distinguish true fixed values from those which are temporarily locked.
To lock one or more solution values, select the corresponding rows in the table and do either of the following:
-
Click Lock Solution in the Behaviour group of the Home ribbon tab.
-
Right-click on the table and choose Locking > Lock from the context menu.
To unlock one or more solution values, select them and either click Unlock Solution in the ribbon or choose Locking > Unlock from the context menu.
Customize the grid

Customize the grid from the Grid group of the Home ribbon tab:
-
Click Find to show or hide a text field at the top of the grid to filter the grid contents. Type in the text field to show only the rows with text matching what you have typed. The matching text is highlighted in the grid. See Filters for more details.
-
Click Columns to open a small dialog windows where you can drag column headers to remove columns from the grid. You can then drag the headers back to the grid to restore the columns. See Add and Remove Columns in Manage Columns for more details.
-
Choose a View from the list, or click the cogwheel icon to remove a view or save any changes. See Views for more details.
Show differences with the master case
Whenever a value in the row is different from the value in the parent case within
the model, the unnamed column next to the Active column shows a double arrow icon (
) . Note that this column may not be present in all views.
The Deltas group of the Home ribbon tab lets you further manage these differences:

-
Click the Show button to display a blue triangle icon in the top right corner of every cell whose value overrides the value in the parent case. This allows you to pinpoint the specific cells with overridden values, rather than whole rows.
-
A dark blue triangle means that the value is different from the parent case value.
-
A light blue triangle means that the value is the same as in the parent case, but has been entered manually, so it is still treated as an override. Future changes in the parent case value will not be reflected in the subcase value.

-
-
Click Restore to change the values of the selected cells back to those of the parent case. You can also right click and choose Restore from the context menu.
Tip: To show all the differences between cases within a model, see Compare Cases.
To merge differences across cases, see Update Cases.
Show per-period information

Click the Periods button in the Periods group of the Home ribbon tab to expands each row of the grid to show per-period optimization results.