GreedyPlanSolver
extends AbstractPathSolver
in package
implements
PlanSolverInterface
FinalYes
Plans one timeless movement path/allocation with greedy semantics.
Table of Contents
Interfaces
- PlanSolverInterface
- Computes one timeless movement plan from a planning request.
Methods
- plan() : MovementPlan
- Build one timeless movement plan from a plan request.
- availableEdgesForStep() : array<string, MovementEdge, quantity: int|float}>
- greedyPath() : QuantityState}|null
- Find the next complete timeless path in greedy policy order.
- walkPath() : QuantityState}|null
Methods
plan()
Build one timeless movement plan from a plan request.
public
plan(PlanRequest $request) : MovementPlan
Parameters
- $request : PlanRequest
Attributes
- #[Override]
Return values
MovementPlanavailableEdgesForStep()
protected
availableEdgesForStep(FlowStep $step, array<int, MovementEdge> $edges, QuantityState $inventory, int|float $quantity, array<string, string> $params) : array<string, MovementEdge, quantity: int|float}>
Parameters
- $step : FlowStep
- $edges : array<int, MovementEdge>
- $inventory : QuantityState
- $quantity : int|float
- $params : array<string, string>
Attributes
- #[Override]
Return values
array<string, MovementEdge, quantity: int|float}>greedyPath()
Find the next complete timeless path in greedy policy order.
private
greedyPath(QuantityState $inventory, array<int, MovementEdge>}> $stepEdges, int|float $quantity, Slot $target, array<string, string> $params) : QuantityState}|null
Parameters
- $inventory : QuantityState
- $stepEdges : array<int, MovementEdge>}>
- $quantity : int|float
- $target : Slot
- $params : array<string, string>
Return values
QuantityState}|nullwalkPath()
private
walkPath(QuantityState $inventory, array<int, MovementEdge>}> $stepEdges, int $stepIndex, int|float $quantity, Slot $target, array<string, string> $params, Slot|null $currentSlot, array<int, MovementEdge}> $path) : QuantityState}|null
Parameters
- $inventory : QuantityState
- $stepEdges : array<int, MovementEdge>}>
- $stepIndex : int
- $quantity : int|float
- $target : Slot
- $params : array<string, string>
- $currentSlot : Slot|null
- $path : array<int, MovementEdge}>