2020-T-ASE/move-shuttle/move-shuttle.pddl

59 lines
1.5 KiB
Text
Raw Permalink Normal View History

2020-04-12 22:29:06 +02:00
(:types EquipmentClass Equipment)
(:constants
EC_PositioningUnit - EquipmentClass
EC_TransportationNode - EquipmentClass
EC_Shuttle - EquipmentClass
)
(:predicates
(EquipmentClassed ?E - Equipment ?C - EquipmentClass)
(TransportationNodeOccupied ?E - Equipment)
(PositioningUnitLocked ?E - Equipment)
(TransportationNodeConnection ?F ?T - Equipment)
(EquipmentLocation ?E ?R - Equipment)
)
(:functions
(total-cost)
(shuttle-time ?FROM ?TO - Equipment)
)
(:action MoveShuttle
:parameters (?SHUTTLE ?FROM ?TO - Equipment)
:precondition
(and
(EquipmentClassed ?SHUTTLE EC_Shuttle)
(or
(EquipmentClassed ?FROM EC_PositioningUnit)
(EquipmentClassed ?FROM EC_TransportationNode)
)
(imply (EquipmentClassed ?FROM EC_PositioningUnit)
(not (PositioningUnitLocked ?FROM))
)
(imply (EquipmentClassed ?FROM EC_TransportationNode) (TransportationNodeOccupied ?FROM)
)
(or
(EquipmentClassed ?TO EC_PositioningUnit)
(EquipmentClassed ?TO EC_TransportationNode)
)
(imply (EquipmentClassed ?TO EC_PositioningUnit)
(not (PositioningUnitLocked ?TO))
)
(imply (EquipmentClassed ?TO EC_TransportationNode)
(not (TransportationNodeOccupied ?TO))
)
(TransportationNodeConnection ?FROM ?TO)
(EquipmentLocation ?SHUTTLE ?FROM)
(not (EquipmentLocation ?SHUTTLE ?TO))
)
:effect
(and
(not (TransportationNodeOccupied ?FROM))
(TransportationNodeOccupied ?TO)
(increase (total-cost) (shuttle-time ?FROM ?TO))
(not (EquipmentLocation ?SHUTTLE ?FROM))
(EquipmentLocation ?SHUTTLE ?TO)
)
)