NS3 Flow Dimensional ConstraintFlow Dimensional Constraint
Overview
A flow dimensional constraint is a hard constraint which can be used to encapsulate real-world restrictions which may apply to a node or lane rate. It is typical to use this constraint when a warehouse node has a capacity constraint on the maximum amount of volume which can flow through that particular node. The use case when working with lane rates is to model limitations on the capacity of different lane rates (from a volumetric perspective). This is typical when a spread of lane rates (at varying costs) is made available to the model. In such instances, the model will always prefer the cheapest lane rate. However, there may only be capacity for a limited number of units on such a cheap lane rate before more expensive lane rate is required. This allows the model to more accurately depict the costing of such transactions.
Applicable models
- NS3
ns3-tbfvuwtge2iq
Flow Dimensional Constraint
The flow dimensional constraint uses a specified list of dimensions, coefficients and a minimum/maximum range which is permissible in the model. This concept does not permit breaking the constraint (with a penalty) and should be used when accurate data is available.
Schema definition
message FlowDimensionalConstraint {
repeated string dimensionIds = 1;
repeated float dimensionCoefficients = 2;
required float flowMin = 3;
required float flowMax = 4;
}Fields
- dimensionIds
- A list of dimension identifiers which participate in the constraint.
- dimensionCoefficients
- A list of coefficients for each dimension specified in the
dimensionIdsfield. This can be omitted in which case all coefficients will be assumed to be 1.0. The coefficients are applied to the dimensional quantities in the total constraint equation. - flowMin
- The minimum flow (typically left as zero) that may be used by the associated object (node or lane rate). This can be used to force a minimum flow through a node or on a lane rate, but user-beware, if there is no feasible solution available as a result of this constraint the API will not identify that this constraint is generating infeasibility in the model.
- flowMax
- The maximum flow that may be used by the associated object (node or lane rate). This typically refers to a maximum flow over a node (such as warehouse capacity) or the maximum tonnage that can be assigned to a particular haulier (on a lane rate)
The constrain equation applied is: flowMin <= \sum_{i}{dimension_i * coefficient_i} <= flowMax
Examples
This example illustrates a simple flow dimensional constraint for a warehouse node where a maximum of 1,000 pallets can be shipped to the particular node (as a result of the floor-space capacity of the installation).
dimensionIds: "pallets"
dimensionCoefficients: 1
flowMin: 0
flowMax: 1000