-
Notifications
You must be signed in to change notification settings - Fork 57
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
185 changed files
with
692,126 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# Storage (Preferences (Complex)) | ||
|
||
## Domain Description | ||
|
||
*Storage* is a planning domain involving spatial reasoning. | ||
Basically, the domain is about moving a certain number of crates from some containers to some depots by hoists. | ||
Inside a depot, each hoist can move according to a specified spatial map connecting different areas of the depot. | ||
The test problems for this domain involve different numbers of depots, hoists, crates, containers, and depot areas. | ||
At the beginning of each problem file, we give the spatial map of the depot areas. | ||
While in this domain, it is important to generate plans of good quality, for many test problems, even finding any solution can be quite hard for domain-independent planners. | ||
|
||
## Authors | ||
|
||
Alfonso Gerevini and Alessandro Saetti | ||
|
||
## Original File Names | ||
|
||
| file | original name | | ||
|------------------|---------------| | ||
| domain.pddl | domain.pddl | | ||
| instance-1.pddl | p01.pddl | | ||
| instance-2.pddl | p02.pddl | | ||
| instance-3.pddl | p03.pddl | | ||
| instance-4.pddl | p04.pddl | | ||
| instance-5.pddl | p05.pddl | | ||
| instance-6.pddl | p06.pddl | | ||
| instance-7.pddl | p07.pddl | | ||
| instance-8.pddl | p08.pddl | | ||
| instance-9.pddl | p09.pddl | | ||
| instance-10.pddl | p10.pddl | | ||
| instance-11.pddl | p11.pddl | | ||
| instance-12.pddl | p12.pddl | | ||
| instance-13.pddl | p13.pddl | | ||
| instance-14.pddl | p14.pddl | | ||
| instance-15.pddl | p15.pddl | | ||
| instance-16.pddl | p16.pddl | | ||
| instance-17.pddl | p17.pddl | | ||
| instance-18.pddl | p18.pddl | | ||
| instance-19.pddl | p19.pddl | | ||
| instance-20.pddl | p20.pddl | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
; IPC5 Domain: Storage ComplexPreferences | ||
; Authors: Alfonso Gerevini and Alessandro Saetti | ||
|
||
(define (domain Storage-TimePreferences) | ||
(:requirements :typing :adl :durative-actions :preferences :constraints) | ||
(:types hoist surface place area - object | ||
container depot - place | ||
storearea transitarea - area | ||
area crate - surface) | ||
|
||
(:predicates (clear ?s - storearea) | ||
(in ?x - (either storearea crate) ?p - place) | ||
(available ?h - hoist) | ||
(lifting ?h - hoist ?c - crate) | ||
(at ?h - hoist ?a - area) | ||
(on ?c - crate ?s - storearea) | ||
(connected ?a1 ?a2 - area) | ||
(compatible ?c1 ?c2 - crate)) | ||
|
||
(:durative-action lift | ||
:parameters (?h - hoist ?c - crate ?a1 - storearea ?a2 - area ?p - place) | ||
:duration (= ?duration 2) | ||
:condition (and (at start (available ?h)) (at start (on ?c ?a1)) | ||
(over all (connected ?a1 ?a2)) (over all (at ?h ?a2)) | ||
(over all (in ?a1 ?p))) | ||
:effect (and (at start (not (in ?c ?p))) (at start (not (available ?h))) | ||
(at start (lifting ?h ?c)) (at start (not (on ?c ?a1))) | ||
(at end (clear ?a1)))) | ||
|
||
(:durative-action drop | ||
:parameters (?h - hoist ?c - crate ?a1 - storearea ?a2 - area ?p - place) | ||
:duration (= ?duration 2) | ||
:condition (and (at start (clear ?a1)) (over all (lifting ?h ?c)) | ||
(over all (connected ?a1 ?a2)) (over all (at ?h ?a2)) | ||
(over all (in ?a1 ?p))) | ||
:effect (and (at start (not (clear ?a1))) (at end (not (lifting ?h ?c))) | ||
(at end (available ?h)) (at end (on ?c ?a1)) | ||
(at end (in ?c ?p)))) | ||
|
||
(:durative-action move | ||
:parameters (?h - hoist ?from ?to - storearea) | ||
:duration (= ?duration 1) | ||
:condition (and (at start (at ?h ?from)) (at start (clear ?to)) | ||
(over all (connected ?from ?to))) | ||
:effect (and (at start (not (at ?h ?from))) (at start (not (clear ?to))) | ||
(at start (clear ?from)) (at end (at ?h ?to)))) | ||
|
||
(:durative-action go-out | ||
:parameters (?h - hoist ?from - storearea ?to - transitarea) | ||
:duration (= ?duration 1) | ||
:condition (and (at start (at ?h ?from)) (over all (connected ?from ?to))) | ||
:effect (and (at start (not (at ?h ?from))) (at start (clear ?from)) | ||
(at end (at ?h ?to)))) | ||
|
||
(:durative-action go-in | ||
:parameters (?h - hoist ?from - transitarea ?to - storearea) | ||
:duration (= ?duration 1) | ||
:condition (and (at start (at ?h ?from)) (at start (clear ?to)) | ||
(over all (connected ?from ?to))) | ||
:effect (and (at start (not (at ?h ?from))) (at start (not (clear ?to))) | ||
(at end (at ?h ?to)))) | ||
) | ||
|
||
|
78 changes: 78 additions & 0 deletions
78
ipc-2006/domains/storage-preferences-complex/instances/instance-1.pddl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
; Map of the Depots: | ||
; *0=1*1 | ||
;------- | ||
; 0: depot0 area | ||
; 1: depot1 area | ||
; *: Depot access point | ||
; =: Transit area | ||
|
||
(define (problem storage-1) | ||
(:domain Storage-TimePreferences) | ||
(:objects | ||
depot0-1-1 depot0-1-2 depot1-1-1 depot1-1-2 depot1-1-3 container-0-0 - storearea | ||
hoist0 - hoist | ||
crate0 - crate | ||
container0 - container | ||
depot0 depot1 - depot | ||
loadarea transit0 - transitarea) | ||
|
||
(:init | ||
(connected depot0-1-1 depot0-1-2) | ||
(connected depot0-1-2 depot0-1-1) | ||
(connected depot1-1-1 depot1-1-2) | ||
(connected depot1-1-2 depot1-1-3) | ||
(connected depot1-1-2 depot1-1-1) | ||
(connected depot1-1-3 depot1-1-2) | ||
(connected transit0 depot0-1-2) | ||
(connected transit0 depot1-1-1) | ||
(in depot0-1-1 depot0) | ||
(in depot0-1-2 depot0) | ||
(in depot1-1-1 depot1) | ||
(in depot1-1-2 depot1) | ||
(in depot1-1-3 depot1) | ||
(on crate0 container-0-0) | ||
(in crate0 container0) | ||
(in container-0-0 container0) | ||
(connected loadarea container-0-0) | ||
(connected container-0-0 loadarea) | ||
(connected depot0-1-1 loadarea) | ||
(connected loadarea depot0-1-1) | ||
(connected depot1-1-2 loadarea) | ||
(connected loadarea depot1-1-2) | ||
(clear depot0-1-1) | ||
(clear depot0-1-2) | ||
(clear depot1-1-1) | ||
(clear depot1-1-3) | ||
(at hoist0 depot1-1-2) | ||
(available hoist0)) | ||
|
||
(:goal (and | ||
(preference p2A (clear depot0-1-1)) | ||
(preference p2B (clear depot1-1-2)) | ||
|
||
(forall (?c - crate) | ||
(preference p6A (exists (?d - depot) (and (in ?c ?d) (not (= ?d depot1)))))))) | ||
|
||
(:constraints (and | ||
|
||
(forall (?c - crate) | ||
(preference p3A (at-most-once (exists (?h - hoist) (lifting ?h ?c))))) | ||
|
||
(forall (?h - hoist) | ||
(preference p4A (sometime (exists (?c - crate) (lifting ?h ?c))))) | ||
|
||
(forall (?c - crate) | ||
(preference p4B (within 30 (exists (?d - depot) (in ?c ?d))))) | ||
|
||
(forall (?h - hoist) | ||
(preference p3B (always-within 3.5 (at ?h loadarea) | ||
(exists (?a - storearea ?d - depot) (and (at ?h ?a) (in ?a ?d)))))))) | ||
|
||
(:metric minimize (+ (* 2 (is-violated p2A)) | ||
(* 2 (is-violated p2B)) | ||
(* 3 (is-violated p3A)) | ||
(* 3 (is-violated p3B)) | ||
(* 4 (is-violated p4A)) | ||
(* 4 (is-violated p4B)) | ||
(* 6 (is-violated p6A)))) | ||
) |
Oops, something went wrong.