FreePathFleet

open class FreePathFleet @JvmOverloads constructor(parent: ModelElement, spatialModel: SpatialModel, places: List<LocationIfc> = spatialModel.namedLocations, assignmentPolicy: AssignmentPolicyIfc = NearestVehiclePolicy(), name: String? = null) : FleetSystem(source)

A fleet of self-directing vehicles on a free path, and the dispatcher that tasks them.

The binding that made the point of the whole seam: a dispatcher, tours, stops, lines, multi-load consolidation, batteries and breakdowns, over a spatial model instead of a guide path, with no change to any of them. A vehicle here travels directly between two places at its own speed and never waits for another vehicle, which is exactly what a free-path model assumes -- and the difference between that assumption and a guide path's blocking is what a comparison between the two measures.

Places are the spatial model's named locations. A DistancesModel names them; so does any model whose namedLocations are populated. Whether a vehicle's position is live while it travels is the spatial model's business too: one that can interpolate answers where the vehicle is now, and one that cannot answers where it set out from until it arrives.

Parameters

spatialModel

the layout the places belong to and whose metric measures between them

places

the named places a vehicle can be sent to. Defaults to the model's own named locations, which a DistancesModel maintains and a plane does not

Constructors

Link copied to clipboard
constructor(parent: ModelElement, spatialModel: SpatialModel, places: List<LocationIfc> = spatialModel.namedLocations, assignmentPolicy: AssignmentPolicyIfc = NearestVehiclePolicy(), name: String? = null)

Properties

Link copied to clipboard
open override val space: FleetSpaceIfc

The layout this fleet works over: named places, distances between them, and reachability.

Functions

Link copied to clipboard
open override fun toString(): String

Includes the model name, the id, the model element name, the parent name, and parent id