Added example files for the move-shuttle process segment, as well as the complete set of files for the CIIRC case study.

This commit is contained in:
Bernhard Wally 2020-05-01 16:05:08 +02:00
parent 7e661d6e24
commit 0af5bc7479
No known key found for this signature in database
GPG key ID: B964A924DD678803
8 changed files with 2380 additions and 2 deletions

View file

@ -1,2 +1,17 @@
Contribution to T-ASE
=======
# Leveraging Iterative Plan Refinement for Reactive Smart Manufacturing Systems
This repository contains supplemental resources for the T-ASE paper "Leveraging Iterative Plan Refinement for Reactive Smart Manufacturing Systems". Specifically, it provides detailed information about the mapping from IEC 62264 to PDDL:
* A small example with model fragments to [show how PDDL actions are created from IEC 62264 process segments](#creating-pddl-actions-from-iec-62264-process-segments).
* A [complete set of IEC 62264 input models](#iec-62264-models).
* A [complete set of PDDL output files](#pddl-files).
## Creating PDDL actions from IEC 62264 process segments
Excerpts from an IEC 62264 model that are relevant to generate a PDDL action from an IEC 62264 process segment. The example files are provided in the sub-folder [move-shuttle](move-shuttle).
## IEC 62264 Models
Full IEC 62264 model of the production system, as it is used in the paper, for the test-run with *one* product to be manufactured. The core IEC 62264 model that is used to generate the PDDL domain description as well as most parts of the PDDL problem file is provided in [iec62264/CIIRC-Testbed-TASE-1.iec62264](iec62264/CIIRC-Testbed-TASE-1.iec62264). The IEC 62264 model that describes the envisioned goal state of the production system and is used to generate the goal clause of the PDDL problem file is given in [iec62264/CIIRC-Testbed-TASE-Goal-1.iec62264](iec62264/CIIRC-Testbed-TASE-Goal-1.iec62264).
## PDDL Files
The generated PDDL files are provided in sub-folder [pddl](pddl). The [domain](pddl/domain-CIIRC-Testbed-TASE-1.pddl) file is used together with the [problem](pddl/problem-CIIRC-Testbed-TASE-1.pddl) description to compute a [plan](pddl/plan-CIIRC-Testbed-TASE-1.pddl). The plan file itself is already a computed artifact returned from the PDDL solver, which in this use case was [FastDownward](http://www.fast-downward.org/). The following call can be used to re-create the plan file (potentially with a different sequence of actions).
```
fast-downward.py --plan-file plan-CIIRC-Testbed-TASE-1.pddl domain-CIIRC-Testbed-TASE.pddl problem-CIIRC-Testbed-TASE-1.pddl --evaluator h1=ff --search eager_greedy([g,goalcount,cg,h1],[h1])
```

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<iec62264:Iec62264Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:iec62264="platform:/plugin/IEC62264/model/iec62264.ecore" name="CIIRC-Testbed-TASE-Goal" version="1.0.0">
<materialModel>
<materialClasses id="Pickable"/>
<materialClasses id="Baseplate" assemblyRelationship="TRANSIENT"/>
<materialClasses id="TruckComponent"/>
<materialClasses id="Chassis"/>
<materialClasses id="Cabin"/>
<materialClasses id="Body"/>
<materialClasses id="Truck"/>
<materialDefinitions materialClasses="//@materialModel/@materialClasses.0 //@materialModel/@materialClasses.3 //@materialModel/@materialClasses.2" id="Chassis-Black"/>
<materialDefinitions materialClasses="//@materialModel/@materialClasses.0 //@materialModel/@materialClasses.3 //@materialModel/@materialClasses.2" id="Chassis-White"/>
<materialDefinitions materialClasses="//@materialModel/@materialClasses.0 //@materialModel/@materialClasses.4 //@materialModel/@materialClasses.2" id="Cabin-Blue"/>
<materialDefinitions materialClasses="//@materialModel/@materialClasses.0 //@materialModel/@materialClasses.4 //@materialModel/@materialClasses.2" id="Cabin-Silver"/>
<materialDefinitions materialClasses="//@materialModel/@materialClasses.0 //@materialModel/@materialClasses.4 //@materialModel/@materialClasses.2" id="Cabin-Transparent"/>
<materialDefinitions materialClasses="//@materialModel/@materialClasses.0 //@materialModel/@materialClasses.4 //@materialModel/@materialClasses.2" id="Cabin-White"/>
<materialDefinitions materialClasses="//@materialModel/@materialClasses.0 //@materialModel/@materialClasses.4 //@materialModel/@materialClasses.2" id="Cabin-Yellow"/>
<materialDefinitions materialClasses="//@materialModel/@materialClasses.0 //@materialModel/@materialClasses.5 //@materialModel/@materialClasses.2" id="Body-Tank-Black"/>
<materialDefinitions materialClasses="//@materialModel/@materialClasses.0 //@materialModel/@materialClasses.5 //@materialModel/@materialClasses.2" id="Body-Tank-Silver"/>
<materialDefinitions materialClasses="//@materialModel/@materialClasses.0 //@materialModel/@materialClasses.5 //@materialModel/@materialClasses.2" id="Body-OpenTop-Blue"/>
<materialDefinitions materialClasses="//@materialModel/@materialClasses.0 //@materialModel/@materialClasses.5 //@materialModel/@materialClasses.2" id="Body-Dumper-Silver"/>
<materialDefinitions materialClasses="//@materialModel/@materialClasses.0 //@materialModel/@materialClasses.5 //@materialModel/@materialClasses.2" id="Body-Dumper-Yellow"/>
<materialDefinitions materialClasses="//@materialModel/@materialClasses.0 //@materialModel/@materialClasses.5 //@materialModel/@materialClasses.2" id="Body-StakeBed-White"/>
<materialDefinitions materialClasses="//@materialModel/@materialClasses.1 //@materialModel/@materialClasses.2" id="TruckBaseplate"/>
<materialDefinitions assembledFromDefinitions="//@materialModel/@materialDefinitions.0 //@materialModel/@materialDefinitions.6 //@materialModel/@materialDefinitions.9" materialClasses="//@materialModel/@materialClasses.6" id="OpenTop-Black-Yellow-Blue"/>
<materialDefinitions assembledFromDefinitions="//@materialModel/@materialDefinitions.0 //@materialModel/@materialDefinitions.2 //@materialModel/@materialDefinitions.8" materialClasses="//@materialModel/@materialClasses.6" id="Tank-Black-Blue-Silver"/>
<materialDefinitions assembledFromDefinitions="//@materialModel/@materialDefinitions.1 //@materialModel/@materialDefinitions.4 //@materialModel/@materialDefinitions.11" materialClasses="//@materialModel/@materialClasses.6" id="Dumper-White-Transparent-Yellow"/>
<materialDefinitions assembledFromDefinitions="//@materialModel/@materialDefinitions.12 //@materialModel/@materialDefinitions.5 //@materialModel/@materialDefinitions.1" materialClasses="//@materialModel/@materialClasses.6" id="StakeBed-White-White-White"/>
<materialDefinitions assembledFromDefinitions="//@materialModel/@materialDefinitions.0 //@materialModel/@materialDefinitions.5 //@materialModel/@materialDefinitions.7" materialClasses="//@materialModel/@materialClasses.6" id="Tank-Black-White-Black"/>
<materialDefinitions assembledFromDefinitions="//@materialModel/@materialDefinitions.1 //@materialModel/@materialDefinitions.3 //@materialModel/@materialDefinitions.10" materialClasses="//@materialModel/@materialClasses.6" id="Dumper-White-Silver-Silver"/>
<materialDefinitions assembledFromDefinitions="//@materialModel/@materialDefinitions.0 //@materialModel/@materialDefinitions.2 //@materialModel/@materialDefinitions.12" materialClasses="//@materialModel/@materialClasses.6" id="StakeBed-Black-Blue-White"/>
<materialLots materialDefinition="//@materialModel/@materialDefinitions.0" id="Chassis-Black-1"/>
<materialLots materialDefinition="//@materialModel/@materialDefinitions.6" id="Cabin-Yellow-1"/>
<materialLots materialDefinition="//@materialModel/@materialDefinitions.9" id="Body-OpenTop-Blue-1"/>
<materialLots assembledFromLots="//@materialModel/@materialLots.2 //@materialModel/@materialLots.1 //@materialModel/@materialLots.0" materialDefinition="//@materialModel/@materialDefinitions.14" id="OpenTop-Black-Yellow-Blue-1"/>
<materialLots materialDefinition="//@materialModel/@materialDefinitions.13" id="TruckBaseplate-Table-10"/>
</materialModel>
<resourceRelationshipNetworkModel>
<resourceRelationshipNetworks id="Material-Locations">
<connections type="//@resourceRelationshipNetworkModel/@resourceNetworkConnectionTypes.0" id="OpenTop-mounted-on-Table-10">
<from id="Opentop-Black-Yellow-Blue-1" materialLot="//@materialModel/@materialLots.3"/>
<to materialLot="//@materialModel/@materialLots.4" id="LegoBaseplate-Table-10"/>
</connections>
</resourceRelationshipNetworks>
<resourceNetworkConnectionTypes id="Material-Mounted" type="Material-Mounted"/>
</resourceRelationshipNetworkModel>
</iec62264:Iec62264Model>

View file

@ -0,0 +1,29 @@
<!-- Equipment classes required by process segment "MoveShuttle" -->
<equipmentClasses id="Shuttle">
<properties id="originId"/>
</equipmentClasses>
<equipmentClasses id="PositioningUnit">
<properties id="originId"/>
<properties id="locked"/>
<properties id="occupied" description="pddl:implicit"/>
</equipmentClasses>
<equipmentClasses id="TransportationNode" description="pddl:implicit">
<properties id="occupied" description="pddl:implicit"/>
</equipmentClasses>
<!-- Process segment "MoveShuttle" -->
<processSegments id="MoveShuttle" operationsType="INVENTORY" duration="10" durationUnitOfMeasure="SEC">
<processSegmentParameters id="movement" value="true"/>
<equipmentSegmentSpecifications use="shuttle" equipmentClasses="//@equipmentModel/@equipmentClasses.0"/>
<equipmentSegmentSpecifications use="from" equipmentClasses="//@equipmentModel/@equipmentClasses.1 //@equipmentModel/@equipmentClasses.2">
<properties id="locked" description="pddl:pre pddl:start" value="false" equipmentClassProperty="//@equipmentModel/@equipmentClasses.1/@properties.1"/>
<properties id="occupiedBefore" description="pddl:pre pddl:start" value="true" equipmentClassProperty="//@equipmentModel/@equipmentClasses.2/@properties.0"/>
<properties id="occupiedAfter" description="pddl:post pddl:start" value="false" equipmentClassProperty="//@equipmentModel/@equipmentClasses.2/@properties.0"/>
</equipmentSegmentSpecifications>
<equipmentSegmentSpecifications use="to" equipmentClasses="//@equipmentModel/@equipmentClasses.1 //@equipmentModel/@equipmentClasses.2">
<properties id="locked" description="pddl:pre pddl:end" value="false" equipmentClassProperty="//@equipmentModel/@equipmentClasses.1/@properties.1"/>
<properties id="occupiedBefore" description="pddl:pre pddl:end" value="false" equipmentClassProperty="//@equipmentModel/@equipmentClasses.2/@properties.0"/>
<properties id="occupiedAfter" description="pddl:post pddl:end" value="true" equipmentClassProperty="//@equipmentModel/@equipmentClasses.2/@properties.0"/>
</equipmentSegmentSpecifications>
</processSegments>

View file

@ -0,0 +1,58 @@
(: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)
)
)

View file

@ -0,0 +1,316 @@
(define (domain CIIRC-Testbed-TASE)
(:requirements :action-costs :typing :negative-preconditions :disjunctive-preconditions :equality)
(:types PersonnelClass Person EquipmentClass Equipment MaterialClass MaterialDefinition MaterialLot)
(:constants
PC_MaintenanceEngineer - PersonnelClass
EC_Shuttle - EquipmentClass
EC_Robot - EquipmentClass
EC_BaseplateCarrier - EquipmentClass
EC_PositioningUnit - EquipmentClass
EC_TransportationNode - EquipmentClass
MC_Body - MaterialClass
MC_Truck - MaterialClass
MC_Pickable - MaterialClass
MC_Baseplate - MaterialClass
MC_TruckComponent - MaterialClass
MC_Chassis - MaterialClass
MC_Cabin - MaterialClass
MD_StakeBed-White-White-White - MaterialDefinition
MD_Cabin-Silver - MaterialDefinition
MD_StakeBed-Black-Blue-White - MaterialDefinition
MD_Body-Dumper-Yellow - MaterialDefinition
MD_Dumper-White-Transparent-Yellow - MaterialDefinition
MD_Tank-Black-White-Black - MaterialDefinition
MD_Body-OpenTop-Blue - MaterialDefinition
MD_TruckBaseplate - MaterialDefinition
MD_Chassis-Black - MaterialDefinition
MD_Cabin-Yellow - MaterialDefinition
MD_Body-Tank-Black - MaterialDefinition
MD_Cabin-Blue - MaterialDefinition
MD_OpenTop-Black-Yellow-Blue - MaterialDefinition
MD_Dumper-White-Silver-Silver - MaterialDefinition
MD_Body-Dumper-Silver - MaterialDefinition
MD_Chassis-White - MaterialDefinition
MD_Cabin-Transparent - MaterialDefinition
MD_Body-StakeBed-White - MaterialDefinition
MD_Tank-Black-Blue-Silver - MaterialDefinition
MD_Cabin-White - MaterialDefinition
MD_Body-Tank-Silver - MaterialDefinition
EC_Table - EquipmentClass
)
(:predicates
(PersonClassed ?P - Person ?C - PersonnelClass)
(EquipmentClassed ?E - Equipment ?C - EquipmentClass)
(MaterialClassed ?D - MaterialDefinition ?C - MaterialClass)
(MaterialDefined ?L - MaterialLot ?D - MaterialDefinition)
(MaterialLotClassed ?L - MaterialLot ?C - MaterialClass)
(RobotOccupied ?E - Equipment)
(TransportationNodeOccupied ?E - Equipment)
(PositioningUnitLocked ?E - Equipment)
(RobotEnabled ?E - Equipment)
(TransportationNodeConnection ?F ?T - Equipment)
(EquipmentLocation ?E ?R - Equipment)
(ReachesTo ?R ?E - Equipment)
(MaterialLocation ?M - MaterialLot ?E - Equipment)
(MaterialRaw ?M - MaterialLot)
(DefinitionMountable ?M ?B - MaterialDefinition)
(ClassMountable ?M ?B - MaterialClass)
(Mounted ?M ?B - MaterialLot)
(MaterialLotAssembly ?W ?P - MaterialLot)
(MaterialDefinitionAssembly ?W ?P - MaterialDefinition)
)
(:functions
(total-cost)
(shuttle-time ?FROM ?TO - Equipment)
)
(:action LockPositioningUnit
:parameters (?E - Equipment)
:precondition
(and
(EquipmentClassed ?E EC_PositioningUnit)
(not (PositioningUnitLocked ?E))
)
:effect
(and
(increase (total-cost) 1)
(PositioningUnitLocked ?E)
)
)
(:action UnlockPositioningUnit
:parameters (?E - Equipment)
:precondition
(and
(EquipmentClassed ?E EC_PositioningUnit)
(PositioningUnitLocked ?E)
)
:effect
(and
(increase (total-cost) 1)
(not (PositioningUnitLocked ?E))
)
)
(: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)
)
)
(:action Pick
:parameters (?ROBOT ?CARRIER - Equipment ?PICKABLE ?BASEPLATE - MaterialLot ?SUBCARRIER - Equipment)
:precondition
(and
(EquipmentClassed ?ROBOT EC_Robot)
(not (RobotOccupied ?ROBOT))
(RobotEnabled ?ROBOT)
(EquipmentClassed ?CARRIER EC_BaseplateCarrier)
(MaterialLotClassed ?PICKABLE MC_Pickable)
(MaterialLotClassed ?BASEPLATE MC_Baseplate)
(MaterialRaw ?PICKABLE)
(MaterialLocation ?BASEPLATE ?CARRIER)
(Mounted ?PICKABLE ?BASEPLATE)
(not (MaterialLocation ?PICKABLE ?ROBOT))
(imply (EquipmentClassed ?CARRIER EC_Table)
(and
(ReachesTo ?ROBOT ?CARRIER)
(= ?CARRIER ?SUBCARRIER)
)
)
(imply (EquipmentClassed ?CARRIER EC_Shuttle)
(and
(EquipmentClassed ?SUBCARRIER EC_PositioningUnit)
(EquipmentLocation ?CARRIER ?SUBCARRIER)
(ReachesTo ?ROBOT ?SUBCARRIER)
(PositioningUnitLocked ?SUBCARRIER)
)
)
)
:effect
(and
(RobotOccupied ?ROBOT)
(increase (total-cost) 5)
(not (Mounted ?PICKABLE ?BASEPLATE))
(MaterialLocation ?PICKABLE ?ROBOT)
)
)
(:action Place
:parameters (?ROBOT ?CARRIER - Equipment ?PICKABLE ?BASEPLATE - MaterialLot ?SUBCARRIER - Equipment)
:precondition
(and
(EquipmentClassed ?ROBOT EC_Robot)
(RobotOccupied ?ROBOT)
(RobotEnabled ?ROBOT)
(EquipmentClassed ?CARRIER EC_BaseplateCarrier)
(MaterialLotClassed ?PICKABLE MC_Pickable)
(MaterialLotClassed ?BASEPLATE MC_Baseplate)
(MaterialRaw ?PICKABLE)
(MaterialLocation ?BASEPLATE ?CARRIER)
(not (Mounted ?PICKABLE ?BASEPLATE))
(MaterialLocation ?PICKABLE ?ROBOT)
(imply (EquipmentClassed ?CARRIER EC_Table)
(and
(ReachesTo ?ROBOT ?CARRIER)
(= ?CARRIER ?SUBCARRIER)
)
)
(imply (EquipmentClassed ?CARRIER EC_Shuttle)
(and
(EquipmentClassed ?SUBCARRIER EC_PositioningUnit)
(EquipmentLocation ?CARRIER ?SUBCARRIER)
(ReachesTo ?ROBOT ?SUBCARRIER)
(PositioningUnitLocked ?SUBCARRIER)
)
)
)
:effect
(and
(not (RobotOccupied ?ROBOT))
(increase (total-cost) 5)
(Mounted ?PICKABLE ?BASEPLATE)
(not (MaterialLocation ?PICKABLE ?ROBOT))
)
)
(:action Assemble
:parameters (?ROBOT ?CARRIER - Equipment ?PICKABLE ?BASE ?ASSEMBLY ?BASEPLATE - MaterialLot ?SUBCARRIER - Equipment)
:precondition
(and
(EquipmentClassed ?ROBOT EC_Robot)
(RobotOccupied ?ROBOT)
(RobotEnabled ?ROBOT)
(EquipmentClassed ?CARRIER EC_BaseplateCarrier)
(MaterialLotClassed ?PICKABLE MC_Pickable)
(MaterialLotClassed ?BASE MC_TruckComponent)
(MaterialLotClassed ?ASSEMBLY MC_Truck)
(MaterialLotClassed ?BASEPLATE MC_Baseplate)
(MaterialRaw ?PICKABLE)
(MaterialLocation ?BASEPLATE ?CARRIER)
(Mounted ?BASE ?BASEPLATE)
(or
(exists ( ?AMD - MaterialDefinition ?PMD - MaterialDefinition ?BMD - MaterialDefinition)
(and
(MaterialDefined ?ASSEMBLY ?AMD)
(MaterialDefined ?PICKABLE ?PMD)
(MaterialDefined ?BASE ?BMD)
(MaterialDefinitionAssembly ?AMD ?PMD)
(MaterialDefinitionAssembly ?AMD ?BMD)
(DefinitionMountable ?PMD ?BMD)
)
)
(exists ( ?PMC - MaterialClass ?BMC - MaterialClass ?AMD - MaterialDefinition ?PMD - MaterialDefinition ?BMD - MaterialDefinition)
(and
(MaterialDefined ?ASSEMBLY ?AMD)
(MaterialDefined ?PICKABLE ?PMD)
(MaterialDefined ?BASE ?BMD)
(MaterialClassed ?BMD ?BMC)
(MaterialClassed ?PMD ?PMC)
(MaterialDefinitionAssembly ?AMD ?PMD)
(MaterialDefinitionAssembly ?AMD ?BMD)
(ClassMountable ?PMC ?BMC)
)
)
)
(not (exists (?A - MaterialLot)
(and
(not (= ?A ?ASSEMBLY)
)
(MaterialLotAssembly ?A ?BASE)
)
)
)
(not (exists (?BP - MaterialLot)
(and
(not (= ?BP ?BASEPLATE)
)
(Mounted ?ASSEMBLY ?BP)
)
)
)
(not (Mounted ?PICKABLE ?BASEPLATE))
(MaterialLocation ?PICKABLE ?ROBOT)
(imply (EquipmentClassed ?CARRIER EC_Table)
(and
(ReachesTo ?ROBOT ?CARRIER)
(= ?CARRIER ?SUBCARRIER)
)
)
(imply (EquipmentClassed ?CARRIER EC_Shuttle)
(and
(EquipmentClassed ?SUBCARRIER EC_PositioningUnit)
(EquipmentLocation ?CARRIER ?SUBCARRIER)
(ReachesTo ?ROBOT ?SUBCARRIER)
(PositioningUnitLocked ?SUBCARRIER)
)
)
)
:effect
(and
(not (RobotOccupied ?ROBOT))
(increase (total-cost) 5)
(Mounted ?PICKABLE ?BASE)
(not (MaterialRaw ?PICKABLE))
(not (MaterialRaw ?BASE))
(MaterialLotAssembly ?ASSEMBLY ?PICKABLE)
(MaterialLotAssembly ?ASSEMBLY ?BASE)
(Mounted ?ASSEMBLY ?BASEPLATE)
(MaterialLocation ?ASSEMBLY ?CARRIER)
(MaterialLocation ?PICKABLE ?CARRIER)
(not (MaterialLocation ?PICKABLE ?ROBOT))
)
)
(:action RepairRobot
:parameters (?ENGINEER - Person ?ROBOT - Equipment)
:precondition
(and
(PersonClassed ?ENGINEER PC_MaintenanceEngineer)
(EquipmentClassed ?ROBOT EC_Robot)
(not (RobotEnabled ?ROBOT))
)
:effect
(and
(RobotEnabled ?ROBOT)
(increase (total-cost) 99)
)
)
)

View file

@ -0,0 +1,26 @@
(pick e_robot-2 e_table-2 ml_body-opentop-blue-1 ml_truckbaseplate-table-2 e_table-2)
(moveshuttle e_shuttle-1 e_positioningunit-io-1 e_positioningunit-machiningcenter-1)
(pick e_robot-3 e_table-3 ml_chassis-black-1 ml_truckbaseplate-table-3 e_table-3)
(pick e_robot-1 e_table-1 ml_cabin-yellow-1 ml_truckbaseplate-table-1 e_table-1)
(lockpositioningunit e_positioningunit-machiningcenter-1)
(place e_robot-1 e_shuttle-1 ml_cabin-yellow-1 ml_truckbaseplate-shuttle-1 e_positioningunit-machiningcenter-1)
(pick e_robot-10 e_shuttle-1 ml_cabin-yellow-1 ml_truckbaseplate-shuttle-1 e_positioningunit-machiningcenter-1)
(moveshuttle e_shuttle-2 e_positioningunit-io-2 e_positioningunit-machiningcenter-3)
(lockpositioningunit e_positioningunit-machiningcenter-3)
(place e_robot-3 e_shuttle-2 ml_chassis-black-1 ml_truckbaseplate-shuttle-2 e_positioningunit-machiningcenter-3)
(unlockpositioningunit e_positioningunit-machiningcenter-3)
(moveshuttle e_shuttle-2 e_positioningunit-machiningcenter-3 e_positioningunit-machiningcenter-2)
(lockpositioningunit e_positioningunit-machiningcenter-2)
(pick e_robot-1 e_shuttle-2 ml_chassis-black-1 ml_truckbaseplate-shuttle-2 e_positioningunit-machiningcenter-2)
(place e_robot-1 e_shuttle-1 ml_chassis-black-1 ml_truckbaseplate-shuttle-1 e_positioningunit-machiningcenter-1)
(place e_robot-2 e_shuttle-2 ml_body-opentop-blue-1 ml_truckbaseplate-shuttle-2 e_positioningunit-machiningcenter-2)
(pick e_robot-1 e_shuttle-2 ml_body-opentop-blue-1 ml_truckbaseplate-shuttle-2 e_positioningunit-machiningcenter-2)
(place e_robot-10 e_shuttle-1 ml_cabin-yellow-1 ml_truckbaseplate-shuttle-1 e_positioningunit-machiningcenter-1)
(pick e_robot-10 e_shuttle-1 ml_chassis-black-1 ml_truckbaseplate-shuttle-1 e_positioningunit-machiningcenter-1)
(place e_robot-10 e_table-10 ml_chassis-black-1 ml_truckbaseplate-table-10 e_table-10)
(pick e_robot-10 e_shuttle-1 ml_cabin-yellow-1 ml_truckbaseplate-shuttle-1 e_positioningunit-machiningcenter-1)
(assemble e_robot-10 e_table-10 ml_cabin-yellow-1 ml_chassis-black-1 ml_opentop-black-yellow-blue-1 ml_truckbaseplate-table-10 e_table-10)
(place e_robot-1 e_shuttle-1 ml_body-opentop-blue-1 ml_truckbaseplate-shuttle-1 e_positioningunit-machiningcenter-1)
(pick e_robot-10 e_shuttle-1 ml_body-opentop-blue-1 ml_truckbaseplate-shuttle-1 e_positioningunit-machiningcenter-1)
(assemble e_robot-10 e_table-10 ml_body-opentop-blue-1 ml_chassis-black-1 ml_opentop-black-yellow-blue-1 ml_truckbaseplate-table-10 e_table-10)
; cost = 198 (general cost)

View file

@ -0,0 +1,295 @@
(define (problem CIIRC-Testbed-TASE-1)
(:domain CIIRC-Testbed-TASE)
(:objects
P_MaintenanceEngineer-1 - Person
E_PositioningUnit-MachiningCenter-3 - Equipment
E_Shuttle-3 - Equipment
E_Table-2 - Equipment
E_PositioningUnit-MachiningCenter-2 - Equipment
E_PositioningUnit-Buffer - Equipment
E_Shuttle-2 - Equipment
E_PositioningUnit-IO-1 - Equipment
E_Robot-1 - Equipment
E_Robot-10 - Equipment
E_Table-10 - Equipment
E_Table-1 - Equipment
E_Shuttle-1 - Equipment
E_Table-3 - Equipment
E_Robot-3 - Equipment
E_PositioningUnit-MachiningCenter-1 - Equipment
E_PositioningUnit-IO-2 - Equipment
E_Robot-2 - Equipment
ML_TruckBaseplate-Table-2 - MaterialLot
ML_TruckBaseplate-Shuttle-2 - MaterialLot
ML_Cabin-Yellow-1 - MaterialLot
ML_Body-OpenTop-Blue-1 - MaterialLot
ML_TruckBaseplate-Table-1 - MaterialLot
ML_TruckBaseplate-Shuttle-1 - MaterialLot
ML_TruckBaseplate-Table-10 - MaterialLot
ML_Chassis-Black-1 - MaterialLot
ML_OpenTop-Black-Yellow-Blue-1 - MaterialLot
ML_TruckBaseplate-Table-3 - MaterialLot
ML_TruckBaseplate-Shuttle-3 - MaterialLot
)
(:init
(= (total-cost) 0)
(MaterialClassed MD_StakeBed-White-White-White MC_Truck)
(MaterialDefinitionAssembly MD_StakeBed-White-White-White MD_Body-StakeBed-White)
(MaterialDefinitionAssembly MD_StakeBed-White-White-White MD_Cabin-White)
(MaterialDefinitionAssembly MD_StakeBed-White-White-White MD_Chassis-White)
(MaterialClassed MD_Cabin-Silver MC_Pickable)
(MaterialClassed MD_Cabin-Silver MC_TruckComponent)
(MaterialClassed MD_Cabin-Silver MC_Cabin)
(MaterialClassed MD_StakeBed-Black-Blue-White MC_Truck)
(MaterialDefinitionAssembly MD_StakeBed-Black-Blue-White MD_Chassis-Black)
(MaterialDefinitionAssembly MD_StakeBed-Black-Blue-White MD_Cabin-Blue)
(MaterialDefinitionAssembly MD_StakeBed-Black-Blue-White MD_Body-StakeBed-White)
(MaterialClassed MD_Body-Dumper-Yellow MC_Pickable)
(MaterialClassed MD_Body-Dumper-Yellow MC_TruckComponent)
(MaterialClassed MD_Body-Dumper-Yellow MC_Body)
(MaterialClassed MD_Dumper-White-Transparent-Yellow MC_Truck)
(MaterialDefinitionAssembly MD_Dumper-White-Transparent-Yellow MD_Chassis-White)
(MaterialDefinitionAssembly MD_Dumper-White-Transparent-Yellow MD_Cabin-Transparent)
(MaterialDefinitionAssembly MD_Dumper-White-Transparent-Yellow MD_Body-Dumper-Yellow)
(MaterialClassed MD_Tank-Black-White-Black MC_Truck)
(MaterialDefinitionAssembly MD_Tank-Black-White-Black MD_Chassis-Black)
(MaterialDefinitionAssembly MD_Tank-Black-White-Black MD_Cabin-White)
(MaterialDefinitionAssembly MD_Tank-Black-White-Black MD_Body-Tank-Black)
(MaterialClassed MD_Body-OpenTop-Blue MC_Pickable)
(MaterialClassed MD_Body-OpenTop-Blue MC_TruckComponent)
(MaterialClassed MD_Body-OpenTop-Blue MC_Body)
(MaterialClassed MD_TruckBaseplate MC_Baseplate)
(MaterialClassed MD_TruckBaseplate MC_TruckComponent)
(MaterialClassed MD_Chassis-Black MC_Pickable)
(MaterialClassed MD_Chassis-Black MC_TruckComponent)
(MaterialClassed MD_Chassis-Black MC_Chassis)
(MaterialClassed MD_Cabin-Yellow MC_Pickable)
(MaterialClassed MD_Cabin-Yellow MC_TruckComponent)
(MaterialClassed MD_Cabin-Yellow MC_Cabin)
(MaterialClassed MD_Body-Tank-Black MC_Pickable)
(MaterialClassed MD_Body-Tank-Black MC_TruckComponent)
(MaterialClassed MD_Body-Tank-Black MC_Body)
(MaterialClassed MD_Cabin-Blue MC_Pickable)
(MaterialClassed MD_Cabin-Blue MC_TruckComponent)
(MaterialClassed MD_Cabin-Blue MC_Cabin)
(MaterialClassed MD_OpenTop-Black-Yellow-Blue MC_Truck)
(MaterialDefinitionAssembly MD_OpenTop-Black-Yellow-Blue MD_Chassis-Black)
(MaterialDefinitionAssembly MD_OpenTop-Black-Yellow-Blue MD_Cabin-Yellow)
(MaterialDefinitionAssembly MD_OpenTop-Black-Yellow-Blue MD_Body-OpenTop-Blue)
(MaterialClassed MD_Dumper-White-Silver-Silver MC_Truck)
(MaterialDefinitionAssembly MD_Dumper-White-Silver-Silver MD_Chassis-White)
(MaterialDefinitionAssembly MD_Dumper-White-Silver-Silver MD_Cabin-Silver)
(MaterialDefinitionAssembly MD_Dumper-White-Silver-Silver MD_Body-Dumper-Silver)
(MaterialClassed MD_Body-Dumper-Silver MC_Pickable)
(MaterialClassed MD_Body-Dumper-Silver MC_TruckComponent)
(MaterialClassed MD_Body-Dumper-Silver MC_Body)
(MaterialClassed MD_Chassis-White MC_Pickable)
(MaterialClassed MD_Chassis-White MC_TruckComponent)
(MaterialClassed MD_Chassis-White MC_Chassis)
(MaterialClassed MD_Cabin-Transparent MC_Pickable)
(MaterialClassed MD_Cabin-Transparent MC_TruckComponent)
(MaterialClassed MD_Cabin-Transparent MC_Cabin)
(MaterialClassed MD_Body-StakeBed-White MC_Pickable)
(MaterialClassed MD_Body-StakeBed-White MC_TruckComponent)
(MaterialClassed MD_Body-StakeBed-White MC_Body)
(MaterialClassed MD_Tank-Black-Blue-Silver MC_Truck)
(MaterialDefinitionAssembly MD_Tank-Black-Blue-Silver MD_Chassis-Black)
(MaterialDefinitionAssembly MD_Tank-Black-Blue-Silver MD_Cabin-Blue)
(MaterialDefinitionAssembly MD_Tank-Black-Blue-Silver MD_Body-Tank-Silver)
(MaterialClassed MD_Cabin-White MC_Pickable)
(MaterialClassed MD_Cabin-White MC_TruckComponent)
(MaterialClassed MD_Cabin-White MC_Cabin)
(MaterialClassed MD_Body-Tank-Silver MC_Pickable)
(MaterialClassed MD_Body-Tank-Silver MC_TruckComponent)
(MaterialClassed MD_Body-Tank-Silver MC_Body)
(PersonClassed P_MaintenanceEngineer-1 PC_MaintenanceEngineer)
(EquipmentClassed E_PositioningUnit-MachiningCenter-3 EC_PositioningUnit)
(EquipmentClassed E_PositioningUnit-MachiningCenter-3 EC_TransportationNode)
(EquipmentClassed E_Shuttle-3 EC_Shuttle)
(EquipmentClassed E_Shuttle-3 EC_BaseplateCarrier)
(EquipmentClassed E_Table-2 EC_Table)
(EquipmentClassed E_Table-2 EC_BaseplateCarrier)
(EquipmentClassed E_PositioningUnit-MachiningCenter-2 EC_PositioningUnit)
(EquipmentClassed E_PositioningUnit-MachiningCenter-2 EC_TransportationNode)
(EquipmentClassed E_PositioningUnit-Buffer EC_PositioningUnit)
(EquipmentClassed E_PositioningUnit-Buffer EC_TransportationNode)
(EquipmentClassed E_Shuttle-2 EC_Shuttle)
(EquipmentClassed E_Shuttle-2 EC_BaseplateCarrier)
(EquipmentClassed E_PositioningUnit-IO-1 EC_PositioningUnit)
(EquipmentClassed E_PositioningUnit-IO-1 EC_TransportationNode)
(EquipmentClassed E_Robot-1 EC_Robot)
(EquipmentClassed E_Robot-10 EC_Robot)
(EquipmentClassed E_Table-10 EC_Table)
(EquipmentClassed E_Table-10 EC_BaseplateCarrier)
(EquipmentClassed E_Table-1 EC_Table)
(EquipmentClassed E_Table-1 EC_BaseplateCarrier)
(EquipmentClassed E_Shuttle-1 EC_Shuttle)
(EquipmentClassed E_Shuttle-1 EC_BaseplateCarrier)
(EquipmentClassed E_Table-3 EC_Table)
(EquipmentClassed E_Table-3 EC_BaseplateCarrier)
(EquipmentClassed E_Robot-3 EC_Robot)
(EquipmentClassed E_PositioningUnit-MachiningCenter-1 EC_PositioningUnit)
(EquipmentClassed E_PositioningUnit-MachiningCenter-1 EC_TransportationNode)
(EquipmentClassed E_PositioningUnit-IO-2 EC_PositioningUnit)
(EquipmentClassed E_PositioningUnit-IO-2 EC_TransportationNode)
(EquipmentClassed E_Robot-2 EC_Robot)
(MaterialDefined ML_TruckBaseplate-Table-2 MD_TruckBaseplate)
(MaterialRaw ML_TruckBaseplate-Table-2)
(MaterialLotClassed ML_TruckBaseplate-Table-2 MC_Baseplate)
(MaterialLotClassed ML_TruckBaseplate-Table-2 MC_TruckComponent)
(MaterialDefined ML_TruckBaseplate-Shuttle-2 MD_TruckBaseplate)
(MaterialRaw ML_TruckBaseplate-Shuttle-2)
(MaterialLotClassed ML_TruckBaseplate-Shuttle-2 MC_Baseplate)
(MaterialLotClassed ML_TruckBaseplate-Shuttle-2 MC_TruckComponent)
(MaterialDefined ML_Cabin-Yellow-1 MD_Cabin-Yellow)
(MaterialRaw ML_Cabin-Yellow-1)
(MaterialLotClassed ML_Cabin-Yellow-1 MC_Pickable)
(MaterialLotClassed ML_Cabin-Yellow-1 MC_TruckComponent)
(MaterialLotClassed ML_Cabin-Yellow-1 MC_Cabin)
(MaterialDefined ML_Body-OpenTop-Blue-1 MD_Body-OpenTop-Blue)
(MaterialRaw ML_Body-OpenTop-Blue-1)
(MaterialLotClassed ML_Body-OpenTop-Blue-1 MC_Pickable)
(MaterialLotClassed ML_Body-OpenTop-Blue-1 MC_TruckComponent)
(MaterialLotClassed ML_Body-OpenTop-Blue-1 MC_Body)
(MaterialDefined ML_TruckBaseplate-Table-1 MD_TruckBaseplate)
(MaterialRaw ML_TruckBaseplate-Table-1)
(MaterialLotClassed ML_TruckBaseplate-Table-1 MC_Baseplate)
(MaterialLotClassed ML_TruckBaseplate-Table-1 MC_TruckComponent)
(MaterialDefined ML_TruckBaseplate-Shuttle-1 MD_TruckBaseplate)
(MaterialRaw ML_TruckBaseplate-Shuttle-1)
(MaterialLotClassed ML_TruckBaseplate-Shuttle-1 MC_Baseplate)
(MaterialLotClassed ML_TruckBaseplate-Shuttle-1 MC_TruckComponent)
(MaterialDefined ML_TruckBaseplate-Table-10 MD_TruckBaseplate)
(MaterialRaw ML_TruckBaseplate-Table-10)
(MaterialLotClassed ML_TruckBaseplate-Table-10 MC_Baseplate)
(MaterialLotClassed ML_TruckBaseplate-Table-10 MC_TruckComponent)
(MaterialDefined ML_Chassis-Black-1 MD_Chassis-Black)
(MaterialRaw ML_Chassis-Black-1)
(MaterialLotClassed ML_Chassis-Black-1 MC_Pickable)
(MaterialLotClassed ML_Chassis-Black-1 MC_TruckComponent)
(MaterialLotClassed ML_Chassis-Black-1 MC_Chassis)
(MaterialDefined ML_OpenTop-Black-Yellow-Blue-1 MD_OpenTop-Black-Yellow-Blue)
(MaterialRaw ML_OpenTop-Black-Yellow-Blue-1)
(MaterialLotClassed ML_OpenTop-Black-Yellow-Blue-1 MC_Truck)
(MaterialDefined ML_TruckBaseplate-Table-3 MD_TruckBaseplate)
(MaterialRaw ML_TruckBaseplate-Table-3)
(MaterialLotClassed ML_TruckBaseplate-Table-3 MC_Baseplate)
(MaterialLotClassed ML_TruckBaseplate-Table-3 MC_TruckComponent)
(MaterialDefined ML_TruckBaseplate-Shuttle-3 MD_TruckBaseplate)
(MaterialRaw ML_TruckBaseplate-Shuttle-3)
(MaterialLotClassed ML_TruckBaseplate-Shuttle-3 MC_Baseplate)
(MaterialLotClassed ML_TruckBaseplate-Shuttle-3 MC_TruckComponent)
(TransportationNodeOccupied E_PositioningUnit-Buffer)
(TransportationNodeOccupied E_PositioningUnit-IO-1)
(TransportationNodeOccupied E_PositioningUnit-IO-2)
(RobotEnabled E_Robot-1)
(RobotEnabled E_Robot-10)
(RobotEnabled E_Robot-3)
(RobotEnabled E_Robot-2)
(ClassMountable MC_Cabin MC_Chassis)
(ClassMountable MC_Body MC_Chassis)
(ClassMountable MC_Cabin MC_Baseplate)
(ClassMountable MC_Body MC_Baseplate)
(ClassMountable MC_Chassis MC_Baseplate)
(ReachesTo E_Robot-1 E_Table-1)
(ReachesTo E_Robot-1 E_PositioningUnit-MachiningCenter-1)
(ReachesTo E_Robot-1 E_PositioningUnit-MachiningCenter-2)
(ReachesTo E_Robot-2 E_Table-2)
(ReachesTo E_Robot-2 E_PositioningUnit-MachiningCenter-2)
(ReachesTo E_Robot-2 E_PositioningUnit-MachiningCenter-3)
(ReachesTo E_Robot-3 E_Table-3)
(ReachesTo E_Robot-3 E_PositioningUnit-MachiningCenter-3)
(ReachesTo E_Robot-10 E_Table-10)
(ReachesTo E_Robot-10 E_PositioningUnit-MachiningCenter-1)
(MaterialLocation ML_TruckBaseplate-Table-1 E_Table-1)
(MaterialLocation ML_TruckBaseplate-Table-2 E_Table-2)
(MaterialLocation ML_TruckBaseplate-Table-3 E_Table-3)
(MaterialLocation ML_TruckBaseplate-Table-10 E_Table-10)
(MaterialLocation ML_TruckBaseplate-Shuttle-1 E_Shuttle-1)
(MaterialLocation ML_TruckBaseplate-Shuttle-2 E_Shuttle-2)
(MaterialLocation ML_TruckBaseplate-Shuttle-3 E_Shuttle-3)
(Mounted ML_Chassis-Black-1 ML_TruckBaseplate-Table-3)
(Mounted ML_Body-OpenTop-Blue-1 ML_TruckBaseplate-Table-2)
(Mounted ML_Cabin-Yellow-1 ML_TruckBaseplate-Table-1)
(TransportationNodeConnection E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-MachiningCenter-2)
(= (shuttle-time E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-MachiningCenter-2) 25)
(TransportationNodeConnection E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-MachiningCenter-1)
(= (shuttle-time E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-MachiningCenter-1) 30)
(TransportationNodeConnection E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-Buffer)
(= (shuttle-time E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-Buffer) 54)
(TransportationNodeConnection E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-IO-1)
(= (shuttle-time E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-IO-1) 78)
(TransportationNodeConnection E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-IO-2)
(= (shuttle-time E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-IO-2) 37)
(TransportationNodeConnection E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-MachiningCenter-3)
(= (shuttle-time E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-MachiningCenter-3) 25)
(TransportationNodeConnection E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-MachiningCenter-1)
(= (shuttle-time E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-MachiningCenter-1) 35)
(TransportationNodeConnection E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-Buffer)
(= (shuttle-time E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-Buffer) 59)
(TransportationNodeConnection E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-IO-1)
(= (shuttle-time E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-IO-1) 83)
(TransportationNodeConnection E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-IO-2)
(= (shuttle-time E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-IO-2) 42)
(TransportationNodeConnection E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-MachiningCenter-3)
(= (shuttle-time E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-MachiningCenter-3) 28)
(TransportationNodeConnection E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-MachiningCenter-2)
(= (shuttle-time E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-MachiningCenter-2) 33)
(TransportationNodeConnection E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-Buffer)
(= (shuttle-time E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-Buffer) 62)
(TransportationNodeConnection E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-IO-1)
(= (shuttle-time E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-IO-1) 86)
(TransportationNodeConnection E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-IO-2)
(= (shuttle-time E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-IO-2) 45)
(TransportationNodeConnection E_PositioningUnit-Buffer E_PositioningUnit-MachiningCenter-3)
(= (shuttle-time E_PositioningUnit-Buffer E_PositioningUnit-MachiningCenter-3) 30)
(TransportationNodeConnection E_PositioningUnit-Buffer E_PositioningUnit-MachiningCenter-2)
(= (shuttle-time E_PositioningUnit-Buffer E_PositioningUnit-MachiningCenter-2) 35)
(TransportationNodeConnection E_PositioningUnit-Buffer E_PositioningUnit-MachiningCenter-1)
(= (shuttle-time E_PositioningUnit-Buffer E_PositioningUnit-MachiningCenter-1) 40)
(TransportationNodeConnection E_PositioningUnit-Buffer E_PositioningUnit-IO-1)
(= (shuttle-time E_PositioningUnit-Buffer E_PositioningUnit-IO-1) 26)
(TransportationNodeConnection E_PositioningUnit-Buffer E_PositioningUnit-IO-2)
(= (shuttle-time E_PositioningUnit-Buffer E_PositioningUnit-IO-2) 47)
(TransportationNodeConnection E_PositioningUnit-IO-1 E_PositioningUnit-MachiningCenter-3)
(= (shuttle-time E_PositioningUnit-IO-1 E_PositioningUnit-MachiningCenter-3) 18)
(TransportationNodeConnection E_PositioningUnit-IO-1 E_PositioningUnit-MachiningCenter-2)
(= (shuttle-time E_PositioningUnit-IO-1 E_PositioningUnit-MachiningCenter-2) 23)
(TransportationNodeConnection E_PositioningUnit-IO-1 E_PositioningUnit-MachiningCenter-1)
(= (shuttle-time E_PositioningUnit-IO-1 E_PositioningUnit-MachiningCenter-1) 28)
(TransportationNodeConnection E_PositioningUnit-IO-1 E_PositioningUnit-Buffer)
(= (shuttle-time E_PositioningUnit-IO-1 E_PositioningUnit-Buffer) 52)
(TransportationNodeConnection E_PositioningUnit-IO-1 E_PositioningUnit-IO-2)
(= (shuttle-time E_PositioningUnit-IO-1 E_PositioningUnit-IO-2) 36)
(TransportationNodeConnection E_PositioningUnit-IO-2 E_PositioningUnit-MachiningCenter-3)
(= (shuttle-time E_PositioningUnit-IO-2 E_PositioningUnit-MachiningCenter-3) 51)
(TransportationNodeConnection E_PositioningUnit-IO-2 E_PositioningUnit-MachiningCenter-2)
(= (shuttle-time E_PositioningUnit-IO-2 E_PositioningUnit-MachiningCenter-2) 56)
(TransportationNodeConnection E_PositioningUnit-IO-2 E_PositioningUnit-MachiningCenter-1)
(= (shuttle-time E_PositioningUnit-IO-2 E_PositioningUnit-MachiningCenter-1) 61)
(TransportationNodeConnection E_PositioningUnit-IO-2 E_PositioningUnit-Buffer)
(= (shuttle-time E_PositioningUnit-IO-2 E_PositioningUnit-Buffer) 22)
(TransportationNodeConnection E_PositioningUnit-IO-2 E_PositioningUnit-IO-1)
(= (shuttle-time E_PositioningUnit-IO-2 E_PositioningUnit-IO-1) 47)
(EquipmentLocation E_Shuttle-2 E_PositioningUnit-IO-2)
(TransportationNodeOccupied E_PositioningUnit-IO-2)
(EquipmentLocation E_Shuttle-3 E_PositioningUnit-Buffer)
(TransportationNodeOccupied E_PositioningUnit-Buffer)
(EquipmentLocation E_Shuttle-1 E_PositioningUnit-IO-1)
(TransportationNodeOccupied E_PositioningUnit-IO-1)
)
(:goal
(and
(Mounted ML_OpenTop-Black-Yellow-Blue-1 ML_TruckBaseplate-Table-10)
(MaterialLotAssembly ML_OpenTop-Black-Yellow-Blue-1 ML_Body-OpenTop-Blue-1)
(MaterialLotAssembly ML_OpenTop-Black-Yellow-Blue-1 ML_Cabin-Yellow-1)
(MaterialLotAssembly ML_OpenTop-Black-Yellow-Blue-1 ML_Chassis-Black-1)
)
)
(:metric minimize (total-cost))
)