Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define
- (domain mealPlanningPantry)
- (:requirements
- :negative-preconditions :conditional-effects :equality :typing
- :fluents :durative-actions :derived-predicates
- :disjunctive-preconditions :timed-initial-literals
- ;; :negative-preconditions :conditional-effects :equality :typing
- ;; :fluents :durative-actions :disjunctive-preconditions
- )
- (:types
- agent instance product supplier type storageLocation unit - object
- )
- (:predicates
- (instanceFn ?product - product ?instance - instance)
- (consumed ?instance - instance)
- (notConsumed ?instance - instance)
- (consumedByAgent ?instance - instance ?agent - agent)
- (isReplete ?agent - agent)
- (storageLocation ?instance - instance ?storageLocation - storageLocation)
- (owns_is ?instance - instance ?supplier - supplier)
- (owns_ia ?instance - instance ?agent - agent)
- ;; (atLocation_asu ?agent - agent - ?supplier - supplier)
- ;; (atLocation_ast ?agent - agent - ?storageLocation - storageLocation)
- )
- (:functions
- (nfact ?type - type ?unit - unit ?product - product)
- (intake ?type - type ?unit - unit ?agent - agent)
- (costs ?product - product ?supplier - supplier)
- (funds ?agent - agent)
- (actions)
- )
- ;; DURATIVE ACTIONS
- (:durative-action purchase
- :parameters (?agent - agent ?product - product ?instance - instance ?supplier - supplier)
- :duration (= ?duration 0.1)
- :condition (and
- (at start (owns_is ?instance ?supplier))
- (at start (not (owns_ia ?instance ?agent)))
- (at start (instanceFn ?product ?instance))
- )
- :effect (and
- (at end (not (owns_is ?instance ?supplier)))
- (at end (owns_ia ?instance ?agent))
- (at end (decrease (funds ?agent) (costs ?product ?supplier)))
- )
- )
- (:durative-action consume
- :parameters (?agent - agent ?product - product ?instance - instance ?supplier - supplier)
- :duration (= ?duration 0.1)
- :condition (and
- ;; (at start (not (isReplete ?agent)))
- (at start (owns_ia ?instance ?agent))
- (at start (notConsumed ?instance))
- (at start (instanceFn ?product ?instance))
- )
- :effect (and
- (at end (consumed ?instance))
- (at end (not (notConsumed ?instance)))
- (at end (consumedByAgent ?instance ?agent))
- (at end (increase (intake total_fat grams ?agent) (nfact total_fat grams ?product)))
- (at end (increase (intake saturated_fat grams ?agent) (nfact saturated_fat grams ?product)))
- (at end (increase (intake cholesterol milligrams ?agent) (nfact cholesterol milligrams ?product)))
- (at end (increase (intake sodium milligrams ?agent) (nfact sodium milligrams ?product)))
- (at end (increase (intake total_carbohydrate grams ?agent) (nfact total_carbohydrate grams ?product)))
- (at end (increase (intake dietary_fiber grams ?agent) (nfact dietary_fiber grams ?product)))
- (at end (increase (intake calories calories_u ?agent) (nfact calories calories_u ?product)))
- (at end (assign (actions) (+ (actions) 1)))
- )
- )
- (:durative-action replete
- :parameters (?agent - agent)
- :duration (= ?duration 0.1)
- :condition (and
- ;; daily values mode
- ;; <= fat 65g
- (at end (<= (intake total_fat grams ?agent) 65.0))
- ;; <= saturated fat 20g
- (at end (<= (intake saturated_fat grams ?agent) 20.0))
- ;; <= cholesterol 300mg
- (at end (<= (intake cholesterol milligrams ?agent) 300.0))
- ;; <= sodium 2400mg
- (at end (<= (intake sodium milligrams ?agent) 2400.0))
- ;; <= carboydrate 300g
- (at end (<= (intake total_carbohydrate grams ?agent) 300.0))
- ;; >= dietary fiber 25g
- (at end (>= (intake dietary_fiber grams ?agent) 25.0))
- (at start (>= (intake calories calories_u ?agent) 1850.0))
- (at end (<= (intake calories calories_u ?agent) 2150.0))
- ;; survival mode
- ;; savings mode
- ;; ;; health mode
- ;; (at start (>= (intake calories calories_u ?agent) 1500.0))
- ;; (at end (<= (intake calories calories_u ?agent) 1900.0))
- ;; (at end (<= (intake sodium milligrams ?agent) 2400.0))
- ;; (at end (>= (funds ?agent) 0.0))
- )
- :effect (and
- (at end (isReplete ?agent))
- )
- )
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement