From 56f0091f1e4c679cbd5f9c94fd71ae5643051205 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20L=C3=BChne?= Date: Thu, 18 Aug 2016 15:25:10 +0200 Subject: [PATCH] Added IPC 2002 Depots example instances. --- instances/ipc-2002-depots-strips/domain.pddl | 42 +++++++++++++++++++ .../ipc-2002-depots-strips/problem-01.pddl | 34 +++++++++++++++ .../ipc-2002-depots-strips/problem-02.pddl | 40 ++++++++++++++++++ instances/ipc-2002-depots-strips/solutions | 4 ++ 4 files changed, 120 insertions(+) create mode 100644 instances/ipc-2002-depots-strips/domain.pddl create mode 100644 instances/ipc-2002-depots-strips/problem-01.pddl create mode 100644 instances/ipc-2002-depots-strips/problem-02.pddl create mode 100644 instances/ipc-2002-depots-strips/solutions diff --git a/instances/ipc-2002-depots-strips/domain.pddl b/instances/ipc-2002-depots-strips/domain.pddl new file mode 100644 index 0000000..48969ff --- /dev/null +++ b/instances/ipc-2002-depots-strips/domain.pddl @@ -0,0 +1,42 @@ +(define (domain Depot) +(:requirements :typing) +(:types place locatable - object + depot distributor - place + truck hoist surface - locatable + pallet crate - surface) + +(:predicates (at ?x - locatable ?y - place) + (on ?x - crate ?y - surface) + (in ?x - crate ?y - truck) + (lifting ?x - hoist ?y - crate) + (available ?x - hoist) + (clear ?x - surface)) + +(:action Drive +:parameters (?x - truck ?y - place ?z - place) +:precondition (and (at ?x ?y)) +:effect (and (not (at ?x ?y)) (at ?x ?z))) + +(:action Lift +:parameters (?x - hoist ?y - crate ?z - surface ?p - place) +:precondition (and (at ?x ?p) (available ?x) (at ?y ?p) (on ?y ?z) (clear ?y)) +:effect (and (not (at ?y ?p)) (lifting ?x ?y) (not (clear ?y)) (not (available ?x)) + (clear ?z) (not (on ?y ?z)))) + +(:action Drop +:parameters (?x - hoist ?y - crate ?z - surface ?p - place) +:precondition (and (at ?x ?p) (at ?z ?p) (clear ?z) (lifting ?x ?y)) +:effect (and (available ?x) (not (lifting ?x ?y)) (at ?y ?p) (not (clear ?z)) (clear ?y) + (on ?y ?z))) + +(:action Load +:parameters (?x - hoist ?y - crate ?z - truck ?p - place) +:precondition (and (at ?x ?p) (at ?z ?p) (lifting ?x ?y)) +:effect (and (not (lifting ?x ?y)) (in ?y ?z) (available ?x))) + +(:action Unload +:parameters (?x - hoist ?y - crate ?z - truck ?p - place) +:precondition (and (at ?x ?p) (at ?z ?p) (available ?x) (in ?y ?z)) +:effect (and (not (in ?y ?z)) (not (available ?x)) (lifting ?x ?y))) + +) diff --git a/instances/ipc-2002-depots-strips/problem-01.pddl b/instances/ipc-2002-depots-strips/problem-01.pddl new file mode 100644 index 0000000..168d473 --- /dev/null +++ b/instances/ipc-2002-depots-strips/problem-01.pddl @@ -0,0 +1,34 @@ +(define (problem depotprob1818) (:domain Depot) +(:objects + depot0 - Depot + distributor0 distributor1 - Distributor + truck0 truck1 - Truck + pallet0 pallet1 pallet2 - Pallet + crate0 crate1 - Crate + hoist0 hoist1 hoist2 - Hoist) +(:init + (at pallet0 depot0) + (clear crate1) + (at pallet1 distributor0) + (clear crate0) + (at pallet2 distributor1) + (clear pallet2) + (at truck0 distributor1) + (at truck1 depot0) + (at hoist0 depot0) + (available hoist0) + (at hoist1 distributor0) + (available hoist1) + (at hoist2 distributor1) + (available hoist2) + (at crate0 distributor0) + (on crate0 pallet1) + (at crate1 depot0) + (on crate1 pallet0) +) + +(:goal (and + (on crate0 pallet2) + (on crate1 pallet1) + ) +)) diff --git a/instances/ipc-2002-depots-strips/problem-02.pddl b/instances/ipc-2002-depots-strips/problem-02.pddl new file mode 100644 index 0000000..5551a7a --- /dev/null +++ b/instances/ipc-2002-depots-strips/problem-02.pddl @@ -0,0 +1,40 @@ +(define (problem depotprob7512) (:domain Depot) +(:objects + depot0 - Depot + distributor0 distributor1 - Distributor + truck0 truck1 - Truck + pallet0 pallet1 pallet2 - Pallet + crate0 crate1 crate2 crate3 - Crate + hoist0 hoist1 hoist2 - Hoist) +(:init + (at pallet0 depot0) + (clear crate0) + (at pallet1 distributor0) + (clear crate3) + (at pallet2 distributor1) + (clear crate2) + (at truck0 depot0) + (at truck1 depot0) + (at hoist0 depot0) + (available hoist0) + (at hoist1 distributor0) + (available hoist1) + (at hoist2 distributor1) + (available hoist2) + (at crate0 depot0) + (on crate0 pallet0) + (at crate1 distributor1) + (on crate1 pallet2) + (at crate2 distributor1) + (on crate2 crate1) + (at crate3 distributor0) + (on crate3 pallet1) +) + +(:goal (and + (on crate0 pallet2) + (on crate1 crate3) + (on crate2 pallet0) + (on crate3 pallet1) + ) +)) diff --git a/instances/ipc-2002-depots-strips/solutions b/instances/ipc-2002-depots-strips/solutions new file mode 100644 index 0000000..5e81b7c --- /dev/null +++ b/instances/ipc-2002-depots-strips/solutions @@ -0,0 +1,4 @@ +instance | minimal horizon | #solutions with minimal horizon +============================================================ +problem-01.pddl | 10 | 16 +problem-02.pddl | 15 | 448