; IPC5 Domain: Openstacks SimplePreference -- fixed number of stacks ; Author: Patrik Haslum ; The problem instances for this domain were adapted from the problem ; collection of the 2005 Constraint Modelling Challenge, organized by ; Barbara Smith & Ian Gent (see http://www.dcs.st-and.ac.uk/~ipg/challenge/). (define (domain openstacks-soft) (:requirements :typing :adl :preferences) (:types order product count) (:predicates (includes ?o - order ?p - product) (waiting ?o - order) (started ?o - order) (shipped ?o - order) (delivered ?o - order ?p - product) (making ?p - product) (made ?p - product) (busy) (stacks-avail ?s - count) (next-count ?s ?ns - count)) (:action start-make-product :parameters (?p - product) :precondition (and (not (made ?p)) (not (busy))) :effect (and (busy) (making ?p)) ) (:action end-make-product :parameters (?p - product) :precondition (making ?p) :effect (and (made ?p) (not (busy)) (not (making ?p))) ) (:action deliver-product :parameters (?p - product ?o - order) :precondition (and (making ?p) (started ?o) (includes ?o ?p)) :effect (delivered ?o ?p) ) (:action start-order :parameters (?o - order ?avail ?new-avail - count) :precondition (and (not (busy)) (waiting ?o) (stacks-avail ?avail) (next-count ?new-avail ?avail)) :effect (and (not (waiting ?o)) (started ?o) (not (stacks-avail ?avail)) (stacks-avail ?new-avail)) ) (:action ship-order :parameters (?o - order ?avail ?new-avail - count) :precondition (and (not (busy)) (started ?o) (stacks-avail ?avail) (next-count ?avail ?new-avail)) :effect (and (not (started ?o)) (shipped ?o) (not (stacks-avail ?avail)) (stacks-avail ?new-avail)) ) )