MultiSplitLink Node

General Description

The MultiSplitLink node is an extension of PiecewiseLink that includes additional slots to connect from.

Conceptually this node looks like the following internally,

         / -->-- X0 -->-- \
A -->-- Xo -->-- X1 -->-- Xi -->-- C
         \ -->-- X2 -->-- /
                 |
                 Bo -->-- Bi --> D

An additional sublink in the PiecewiseLink (i.e. X2 above) and nodes (i.e. Bo and Bi) in this class are added for each extra slot.

Finally a mechanism is provided to (optionally) fix the ratio between the last non-split sublink (i.e. X1) and each of the extra sublinks (i.e. X2). This mechanism uses AggregatedNode internally. API Reference.

Notes: Users must be careful when using the factor mechanism. Factors use the last non-split sublink (i.e. X1 but not X0). If this link is constrained with a maximum or minimum flow, or if it there is another unconstrained link (i.e. if X0 is unconstrained) then ratios across this whole node may not be enforced as expected.

Primary Attributes

Name
Description
Required

allocation penalty

The cost per unit flow via the node

Optional

max_flow

The maximum flow constraint on the node

Optional

extra_slots

Number of additional slots (and sublinks) to provide. Must be greater than zero.

Optional

slot_names

The names by which to refer to the slots during connection to other nodes. Length must be one more than the number of extra_slots. The first item refers to the PiecewiseLink connection with the following items for each extra slot.

Optional

factors

If given, the length must be equal to one more than the number of extra_slots. Each item is the proportion of total flow to pass through the additional sublinks. If no factor is required for a particular sublink then use None for its items. Factors are normalised prior to use in the solver.

Optional

Examples

coming soon...

Last updated