DefaultMultiEchelonCostFormulation

constructor(network: MultiEchelonNetwork, params: CostParams = CostParams(), name: String? = null, paramsResolver: (NetworkNodeIfc?) -> CostParams?? = null)(source)

Parameters

network

the network whose calculators this formulation manages. Used as the ModelElement parent so KSL's tree walk includes this formulation in the network's replicationEnded lifecycle (children-first ordering guarantees calculator Responses are populated before this formulation's rollup runs).

params

parameter bundle for the line-item calculators

name

optional ModelElement name

paramsResolver

optional per-node parameter override. When non-null, it is consulted for the CostParams each calculator should use, keyed by the calculator's owning node (the inventory's / backlog's / builder's holder, an outbound edge's supplier, an inbound edge's customer; null for the external supplier's own outbound). Return the node's override, or null to fall back to the live network-level bundle (the construction-time params as adjusted by the rate controls). When the resolver itself is null (the default), every calculator uses the live network-level bundle — the uniform-cost behaviour. Passed as a constructor parameter (not an overridable method) so it is available while the init block builds calculators, avoiding the open-call-from-constructor initialization-order trap. Resolution happens at each replication end, so rate changes made between replications take effect.