Skip to content

Commit

Permalink
Added IPC 2006 trucks instances.
Browse files Browse the repository at this point in the history
  • Loading branch information
pluehne committed Jul 27, 2017
1 parent 140fb49 commit 3403584
Show file tree
Hide file tree
Showing 360 changed files with 15,184,290 additions and 1 deletion.
15 changes: 14 additions & 1 deletion ipc-2006/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,17 @@
| [TPP](domains/tpp-preferences-simple-grounded-preferences) | preferences (simple) | PDDL (grounded preferences) |
| [TPP](domains/tpp-preferences-qualitative) | preferences (qualitative) | PDDL |
| [TPP](domains/tpp-preferences-complex) | preferences (complex) | PDDL |
| [trucks](domains/trucks-propositional) | propositional | PDDL |
| [trucks](domains/trucks-propositional-strips) | propositional | STRIPS |
| [trucks](domains/trucks-time) | time | PDDL |
| [trucks](domains/trucks-time-strips) | time | STRIPS |
| [trucks](domains/trucks-time-constraints) | time, constraints | PDDL |
| [trucks](domains/trucks-time-constraints-timed-initial-literals) | time, constraints | PDDL (timed initial literals) |
| [trucks](domains/trucks-preferences-simple) | preferences (simple) | PDDL |
| [trucks](domains/trucks-preferences-simple-grounded) | preferences (simple) | PDDL (grounded) |
| [trucks](domains/trucks-preferences-simple-grounded-preferences) | preferences (simple) | PDDL (grounded preferences) |
| [trucks](domains/trucks-preferences-qualitative) | preferences (qualitative) | PDDL |
| [trucks](domains/trucks-preferences-complex) | preferences (complex) | PDDL |

## Sources

Expand All @@ -51,7 +62,9 @@

## Additional Notes

In some cases, semantically identical, **grounded versions** of the domain descriptions were provided.
In some cases, semantically identical, **grounded formulations** of the domain descriptions were provided.

For the *trucks* domain, a semantically identical formulation with **timed initial literals** instead of *within* constraints.

## Modifications

Expand Down
40 changes: 40 additions & 0 deletions ipc-2006/domains/trucks-preferences-complex/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Trucks (Preferences (Complex))

## Domain Description

Essentially, this is a logistics domain about moving packages between locations by trucks under certain constraints.
The loading space of each truck is organized by areas:
A package can be (un)loaded onto an area of a truck only if the areas between the area under consideration and the truck door are free.
Moreover, some packages must be delivered within some deadlines.
In this domain, it is important to find good quality plans.
However, for many test problems, even finding one plan could be a rather difficult task.

## Authors

Yannis Dimopoulos, 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 |
55 changes: 55 additions & 0 deletions ipc-2006/domains/trucks-preferences-complex/domain.pddl
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
; IPC5 Domain: Trucks ComplexPreferences
; Authors: Yannis Dimopoulos, Alfonso Gerevini and Alessandro Saetti

(define (domain Trucks-ComplexPreferences)
(:requirements :typing :adl :durative-actions :fluents :constraints :preferences)
(:types truckarea location locatable - object
truck package - locatable)

(:predicates (at ?x - locatable ?l - location)
(in ?p - package ?t - truck ?a - truckarea)
(connected ?x ?y - location)
(free ?a - truckarea ?t - truck)
(delivered ?p - package ?l - location)
(closer ?a1 - truckarea ?a2 - truckarea))

(:functions (drive-time ?from ?to - location))

(:durative-action load
:parameters (?p - package ?t - truck ?a1 - truckarea ?l - location)
:duration (= ?duration 1)
:condition (and (at start (at ?p ?l)) (at start (free ?a1 ?t))
(at start (forall (?a2 - truckarea)
(imply (closer ?a2 ?a1) (free ?a2 ?t))))
(over all (at ?t ?l))
(over all (forall (?a2 - truckarea)
(imply (closer ?a2 ?a1) (free ?a2 ?t)))))
:effect (and (at start (not (at ?p ?l))) (at start (not (free ?a1 ?t)))
(at end (in ?p ?t ?a1))))

(:durative-action unload
:parameters (?p - package ?t - truck ?a1 - truckarea ?l - location)
:duration (= ?duration 1)
:condition (and (at start (in ?p ?t ?a1))
(at start (forall (?a2 - truckarea)
(imply (closer ?a2 ?a1) (free ?a2 ?t))))
(over all (at ?t ?l))
(over all (forall (?a2 - truckarea)
(imply (closer ?a2 ?a1) (free ?a2 ?t)))))
:effect (and (at start (not (in ?p ?t ?a1))) (at end (free ?a1 ?t))
(at end (at ?p ?l))))

(:durative-action drive
:parameters (?t - truck ?from ?to - location)
:duration (= ?duration (drive-time ?from ?to))
:condition (and (at start (at ?t ?from)) (over all (connected ?from ?to)))
:effect (and (at start (not (at ?t ?from))) (at end (at ?t ?to))))

(:durative-action deliver
:parameters (?p - package ?l - location)
:duration (= ?duration 1)
:condition (and (at start (at ?p ?l)) (over all (at ?p ?l)))
:effect (and (at end (not (at ?p ?l))) (at end (delivered ?p ?l))))

)

Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
(define (problem truck-1)
(:domain Trucks-ComplexPreferences)
(:objects
truck1 - truck
package1 - package
package2 - package
package3 - package
l1 - location
l2 - location
l3 - location
a1 - truckarea
a2 - truckarea)

(:init
(at truck1 l2)
(free a1 truck1)
(free a2 truck1)
(closer a1 a2)
(at package1 l3)
(at package2 l3)
(at package3 l1)
(connected l1 l2)
(connected l1 l3)
(connected l2 l1)
(connected l2 l3)
(connected l3 l1)
(connected l3 l2)
(= (drive-time l1 l2) 406.3)
(= (drive-time l1 l3) 73.1)
(= (drive-time l2 l1) 406.3)
(= (drive-time l2 l3) 356.8)
(= (drive-time l3 l1) 73.1)
(= (drive-time l3 l2) 356.8))

(:goal (and
(delivered package1 l1)
(delivered package2 l2)
(delivered package3 l2)))

(:constraints (and

(forall (?p - package ?t - truck)
(preference p1A (always (forall (?a - truckarea) (imply (in ?p ?t ?a) (closer ?a a2))))))

(preference p1B (sometime-before (delivered package2 l2)
(delivered package1 l1)))

(preference p4A (within 919.7 (delivered package1 l1)))
(preference p4B (within 919.7 (delivered package2 l2)))
(preference p4C (within 1813.7 (delivered package3 l2)))

(forall (?p - package)
(preference p2A (at-most-once (exists (?t - truck ?a - truckarea)
(in ?p ?t ?a)))))))

(:metric minimize (+ (* 1 (is-violated p1A))
(* 1 (is-violated p1B))
(* 2 (is-violated p2A))
(* 4 (is-violated p4A))
(* 4 (is-violated p4B))
(* 4 (is-violated p4C))))

)
133 changes: 133 additions & 0 deletions ipc-2006/domains/trucks-preferences-complex/instances/instance-10.pddl
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
(define (problem truck-10)
(:domain Trucks-ComplexPreferences)
(:objects
truck1 - truck
package1 - package
package2 - package
package3 - package
package4 - package
package5 - package
package6 - package
package7 - package
package8 - package
package9 - package
package10 - package
package11 - package
package12 - package
l1 - location
l2 - location
l3 - location
l4 - location
a1 - truckarea
a2 - truckarea
a3 - truckarea)

(:init
(at truck1 l1)
(free a1 truck1)
(free a2 truck1)
(free a3 truck1)
(closer a1 a2)
(closer a1 a3)
(closer a2 a3)
(at package1 l1)
(at package2 l1)
(at package3 l1)
(at package4 l4)
(at package5 l4)
(at package6 l4)
(at package7 l4)
(at package8 l4)
(at package9 l4)
(at package10 l1)
(at package11 l1)
(at package12 l1)
(connected l1 l2)
(connected l1 l3)
(connected l1 l4)
(connected l2 l1)
(connected l2 l3)
(connected l2 l4)
(connected l3 l1)
(connected l3 l2)
(connected l3 l4)
(connected l4 l1)
(connected l4 l2)
(connected l4 l3)
(= (drive-time l1 l2) 819.0)
(= (drive-time l1 l3) 677.6)
(= (drive-time l1 l4) 83.7)
(= (drive-time l2 l1) 819.0)
(= (drive-time l2 l3) 163.8)
(= (drive-time l2 l4) 741.3)
(= (drive-time l3 l1) 677.6)
(= (drive-time l3 l2) 163.8)
(= (drive-time l3 l4) 604.3)
(= (drive-time l4 l1) 83.7)
(= (drive-time l4 l2) 741.3)
(= (drive-time l4 l3) 604.3))

(:goal (and
(delivered package1 l2)
(delivered package2 l4)
(delivered package3 l3)
(delivered package4 l3)
(delivered package5 l3)
(delivered package6 l2)
(delivered package7 l1)
(delivered package8 l1)
(delivered package9 l3)
(delivered package10 l4)
(delivered package11 l2)
(delivered package12 l2)))

(:constraints (and

(forall (?p - package ?t - truck)
(preference p1A (always (forall (?a - truckarea) (imply (in ?p ?t ?a) (closer ?a a2))))))
(forall (?p - package ?t - truck)
(preference p1B (always (forall (?a - truckarea) (imply (in ?p ?t ?a) (closer ?a a3))))))

(preference p2A (sometime-before (delivered package5 l3)
(delivered package4 l3)))
(preference p2B (sometime-before (delivered package6 l2)
(delivered package5 l3)))
(preference p2C (sometime-before (delivered package9 l3)
(delivered package8 l1)))
(preference p2D (sometime-before (delivered package12 l2)
(delivered package11 l2)))

(preference p5A (within 2381.1 (delivered package1 l2)))
(preference p5B (within 2381.1 (delivered package2 l4)))
(preference p5C (within 2381.1 (delivered package3 l3)))
(preference p5D (within 3890.7 (delivered package4 l3)))
(preference p5E (within 3890.7 (delivered package5 l3)))
(preference p5F (within 3890.7 (delivered package6 l2)))
(preference p5G (within 5543.5 (delivered package8 l1)))
(preference p5H (within 5543.5 (delivered package9 l3)))
(preference p5I (within 7196.3 (delivered package10 l4)))
(preference p5J (within 7196.3 (delivered package11 l2)))

(forall (?p - package)
(preference p3A (at-most-once (exists (?t - truck ?a - truckarea)
(in ?p ?t ?a)))))))

(:metric minimize (+ (* 1 (is-violated p1A))
(* 1 (is-violated p1B))
(* 2 (is-violated p2A))
(* 2 (is-violated p2B))
(* 2 (is-violated p2C))
(* 2 (is-violated p2D))
(* 3 (is-violated p3A))
(* 5 (is-violated p5A))
(* 5 (is-violated p5B))
(* 5 (is-violated p5C))
(* 5 (is-violated p5D))
(* 5 (is-violated p5E))
(* 5 (is-violated p5F))
(* 5 (is-violated p5G))
(* 5 (is-violated p5H))
(* 5 (is-violated p5I))
(* 5 (is-violated p5J))))

)
Loading

0 comments on commit 3403584

Please sign in to comment.