SlotFlow API Documentation

EarliestArrivalSolver extends AbstractPathSolver
in package
implements ScheduleSolverInterface

FinalYes

Plans the earliest-arriving schedule that satisfies a requested quantity.

Table of Contents

Interfaces

ScheduleSolverInterface
Computes one planned movement schedule from a planning request.

Methods

schedule()  : MovementSchedule
Build one earliest-arrival movement schedule from a schedule request.
candidateSourceSlots()  : array<int, Slot, quantity: int|float}>
Return source slots from the first step that currently have positive available quantity.
earliestPath()  : TimedMovementEdge}>, quantity: int|float}|null
Find the earliest complete timed path from one source through the ordered flow steps.

Methods

candidateSourceSlots()

Return source slots from the first step that currently have positive available quantity.

private candidateSourceSlots(array<int, MovementEdge$edges, QuantityState $state, int|float $requestedQuantity) : array<int, Slot, quantity: int|float}>
Parameters
$edges : array<int, MovementEdge>
$state : QuantityState
$requestedQuantity : int|float
Return values
array<int, Slot, quantity: int|float}>

earliestPath()

Find the earliest complete timed path from one source through the ordered flow steps.

private earliestPath(TimedSlotSpace $timedSpace, TimedSlot $start, int|float $startingQuantity, QuantityState $startingState, array<int, MovementEdge>}$stepEdges, Slot $target, array<string, string> $params) : TimedMovementEdge}>, quantity: int|float}|null
Parameters
$timedSpace : TimedSlotSpace
$start : TimedSlot
$startingQuantity : int|float
$startingState : QuantityState
$stepEdges : array<int, MovementEdge>}>
$target : Slot
$params : array<string, string>
Tags
psalm-type

TCandidate = array{ slot: TimedSlot, path: list<array{step: FlowStep, edge: TimedMovementEdge}>, quantity: int|float, inventory: QuantityState }

Return values
TimedMovementEdge}>, quantity: int|float}|null

        
On this page

Search results