NetworkESCostCalculator

class NetworkESCostCalculator @JvmOverloads constructor(parent: ModelElement, networkCarrier: TimeBasedNetworkDemandCarrier, esFiller: DemandFillerIfc, destinations: List<DemandSenderIfc>, params: CostParams, name: String? = null) : ModelElement, CostCalculator(source)

NetworkTimeBased-strategy variant of ESCostCalculator: observes a shared TimeBasedNetworkDemandCarrier and produces CostLine.ESLoading, summing shipments across every ES → node edge.

The shared network carrier is one ModelElement covering every edge in the network; the calculator reads getNumberOfDemandShipments(esFiller, destination) for each ES destination and prices the sum at esLoadingCost.

Tier: NodeTier.ES.

Parameters

parent

the ModelElement parent

networkCarrier

the shared network carrier (the ES routes its outbound through this carrier under NetworkTimeBased)

esFiller

the ES itself — used as the "filler" key in the carrier's per-edge counter map

destinations

every node currently attached to the ES

params

cost-rate parameters

Constructors

Link copied to clipboard
constructor(parent: ModelElement, networkCarrier: TimeBasedNetworkDemandCarrier, esFiller: DemandFillerIfc, destinations: List<DemandSenderIfc>, params: CostParams, name: String? = null)

Properties

Link copied to clipboard
open override val lineResponses: Map<CostLine, ResponseCIfc>

The line-item Responses this calculator produces, keyed by CostLine. A calculator may produce a Response for every line its source can express; values for unproduced lines are absent from the map rather than zero.

Link copied to clipboard
open override val source: ModelElement

The single source ModelElement this calculator observes.

Link copied to clipboard
open override val tier: NodeTier

Tier this calculator's source belongs to. Used by CostFormulation.byTierResponse to partition rollups across IHP / CD / ES. A calculator that attributes to multiple tiers (rare) returns null and is excluded from per-tier rollups.