1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- (define (domain transport-strips)
- (:requirements :typing :action-costs)
-
- (:types location fuellevel locatable - object
- package truck - locatable
- )
-
- (:predicates
- (connected ?l1 ?l2 - location)
- (at ?o - locatable ?l - location)
- (in ?p - package ?t - truck)
- (fuel ?t - truck ?level - fuellevel)
- (fuelcost ?level - fuellevel ?l1 ?l2 - location)
- (sum ?a ?b ?c - fuellevel)
- )
-
- (:functions
- (total-cost) - number)
-
- (:action LOAD
- :parameters
- (?p - package
- ?t - truck
- ?l - location)
- :precondition
- (and (at ?t ?l) (at ?p ?l))
- :effect
- (and (not (at ?p ?l)) (in ?p ?t) (increase (total-cost) 1))
- )
-
- (:action UNLOAD
- :parameters
- (?p - package
- ?t - truck
- ?l - location)
- :precondition
- (and (at ?t ?l) (in ?p ?t))
- :effect
- (and (at ?p ?l) (not (in ?p ?t)) (increase (total-cost) 1))
- )
-
- (:action DRIVE
- :parameters
- (?t - truck
- ?l1 - location
- ?l2 - location
- ?fuelpost - fuellevel
- ?fueldelta - fuellevel
- ?fuelpre - fuellevel)
- :precondition
- (and
- (connected ?l1 ?l2)
- (fuelcost ?fueldelta ?l1 ?l2)
- (fuel ?t ?fuelpre)
- (sum ?fuelpost ?fueldelta ?fuelpre)
- (at ?t ?l1)
- )
- :effect
- (and (not (at ?t ?l1))
- (at ?t ?l2)
- (not (fuel ?t ?fuelpre))
- (fuel ?t ?fuelpost)
- (increase (total-cost) 1))
- )
-
- )
-
-
|