Package-level declarations

Types

Link copied to clipboard
class AggregateTransportResponse @JvmOverloads constructor(parent: ModelElement, baseName: String = parent.name)

Aggregate transport statistics across multiple TransportDelay instances: amount-in-transit (time-weighted), transit time (per-shipment average), and number of shipments.

Link copied to clipboard
abstract class DemandCarrierAbstract @JvmOverloads constructor(parent: ModelElement, name: String? = null) : ModelElement, DemandCarrierIfc

Abstract base for DemandCarrierIfc implementations that need to schedule events. Extends ModelElement so subclasses can use KSL's EventAction pattern.

Link copied to clipboard
open class DemandLoadBuilder @JvmOverloads constructor(val supplyChainModel: SupplyChainModel, parent: ModelElement = supplyChainModel, name: String? = null, itemTypes: Collection<ItemType> = emptyList()) : ModelElement

Holds incoming demands in a queue and packages them into SupplyChainModel.DemandLoads. Automatic load formation is driven by loadFormingOption; the ALWAYS default forms a single-demand load per arriving demand.

Link copied to clipboard

Notification hook fired by DemandLoadBuilder each time a new SupplyChainModel.DemandLoad is placed on its outgoing load queue.

Link copied to clipboard

Strategy hook called by DemandLoadBuilder when its default DemandLoadBuilder.LoadFormingOption is RULE. Implementations decide when and how to drain the demand queue into a SupplyChainModel.DemandLoad.

Link copied to clipboard
open class NetworkDemandCarrierByTime @JvmOverloads constructor(parent: ModelElement, name: String? = null) : DemandCarrierAbstract

Demand carrier that maps each (supplier, customer) edge to its own TransportDelay. Aggregate statistics across every edge are collected by an internal AggregateTransportResponse.

Link copied to clipboard
class NoCarrierOptionException(message: String = "NoCarrierOptionException", cause: Throwable? = null) : RuntimeException

Thrown when no carrier option is available for transporting a demand.

Link copied to clipboard

Stateless DemandCarrierIfc that immediately ships and delivers the demand — no simulated time passes. Also implements DemandStateChangeListener so it can be attached to a demand as a post-fill auto-shipping hook (matches Java's DemandListenerFilledIfc role on the original class).

Link copied to clipboard

Stateless OrderCarrierIfc that immediately ships and delivers the order — no simulated time passes.

Link copied to clipboard
open class TimeBasedDemandCarrier @JvmOverloads constructor(parent: ModelElement, name: String? = null) : DemandCarrierAbstract

Demand carrier that delays each shipment by a per-DemandSenderIfc random transport time. Senders without a configured time are either rejected with NoCarrierOptionException or, if immediateTransportFlag is true, shipped and delivered immediately (zero simulated time).

Link copied to clipboard
open class TimeBasedLoadCarrier @JvmOverloads constructor(val supplyChainModel: SupplyChainModel, parent: ModelElement = supplyChainModel, name: String? = null) : TimeBasedDemandCarrier

Demand carrier that buffers per-destination demands in DemandLoadBuilders and ships them as SupplyChainModel.DemandLoads. Inherits per-destination random transport times from TimeBasedDemandCarrier; load formation strategy is delegated to the builders.

Link copied to clipboard
open class TimeBasedNetworkDemandCarrier @JvmOverloads constructor(parent: ModelElement, name: String? = null) : DemandCarrierAbstract

Demand carrier that maps each (filler, sender) edge to its own transport-time distribution. A single demand filler can serve many senders; a sender can be served by multiple fillers — but each (filler, sender) pair has at most one configured time.

Link copied to clipboard
open class TimeBasedOrderCarrier @JvmOverloads constructor(parent: ModelElement, name: String? = null) : ModelElement, OrderCarrierIfc

Order carrier that delays each shipment by a per-OrderSenderIfc random transport time. Senders without a configured time are either rejected with NoCarrierOptionException or, if immediateTransportFlag is true, shipped and delivered immediately (zero simulated time).

Demand carrier that delays each shipment by a transport time keyed on both the demand's DemandSenderIfc and its ItemType. Senders (or sender/type pairs) without a configured time are either rejected with NoCarrierOptionException or, if immediateTransportFlag is true, shipped and delivered immediately (zero simulated time).

Link copied to clipboard
open class TransportDelay @JvmOverloads constructor(parent: ModelElement, transportTime: RVariableIfc = ConstantRV.ZERO, name: String? = null) : ModelElement

Models a transport delay: when startDelay is called for a demand, the demand is placed in SHIPPED, a delay is scheduled, and at the end of the delay the demand is placed in DELIVERED. Per-shipment statistics — transit time, amount in transit, number of shipments — are collected automatically.