Package-level declarations

Types

Link copied to clipboard
open class MultiEchelonNetwork @JvmOverloads constructor(val supplyChainModel: SupplyChainModel, name: String? = null, val transportStrategy: TransportStrategy = TransportStrategy.SharedCarrier(), levelResponses: Boolean = false, enableExternalSupplierShipmentFormation: Boolean = false) : ModelElement, AggregateInventoryResponseIfc

Multi-echelon arborescent tree of nodes. Each node has at most one parent (its supplier) and any number of children (its customers). Two node types are supported today and both implement NetworkNodeIfc:

Link copied to clipboard
data class ShipmentFormation(val option: DemandLoadBuilder.LoadFormingOption, val countLimit: Int = 0, val weightLimits: Pair<Double, Double>? = null, val cubeLimits: Pair<Double, Double>? = null)

Per-edge shipment-formation policy passed to a MultiEchelonNetwork attach method. When a non-null ShipmentFormation is supplied, the network installs a DemandLoadBuilder on the supplier node keyed by the customer. Outbound demands flow through the builder and are bundled into loads per the option.

Link copied to clipboard
sealed class TransportStrategy

How a MultiEchelonNetwork wires transport between its external supplier, IHPs, and demand generators. A network picks exactly one variant at construction time; the variant determines how attachIHPToExternalSupplier, attachIHPToSupplier, and attachDemandGeneratorToIHP translate their transportTime parameter into carrier configuration.