The Storage Domain ================== "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. Domain Variants =============== This domain has several variants, which altogether involve almost all the new features of PDDL3.0. For this domain, instead of a MetricTime version, we have a Time version (there is no numerical fluent). Storage Propositional --------------------- The domain has five different actions: an action for lifting a crate by a hoist, an action for dropping a crate by a hoist, an action for moving a hoist into a depot, an action for moving a hoist from one area of a depot to another one, and finally an action for moving a hoist outside a depot. Storage Time ------------ This variant is basically the propositional variant where the actions have duration and the plan quality is total-time (plan makespan). Storage SimplePreferences ------------------------- The operators in this domain are the same as those in the Propositional version. The main difference is in the goals. All goals are soft goals (preferences). These preferences concern which depots and depot areas should be used for storing the crates, the desire that only "compatible" crates are stored in the same depot, the desire that the incompatible crates stored in the same depot are located at non-adjacent areas of the depot and, finally, the desire that the hoists are located in depots different from those where we store the crates. Note that there is an equivalent variant, "GroundedPreferences", where the quantified variables appearing in the preferences have been instantiated. This is a sub-directory of the directory containing the SimplePreferences version. Storage QualitativePreferences ------------------------------ The operators in this domain are the same as those in the Propositional version. The differences are in the preferences over the goals and state trajectory constraints. All goals are soft goals similar to some of the soft goals specified for Storage SimplePreferences. The preferences over state constraints concern constraints about the use of the available hoists for moving the crates, and about the order in which crates are stored in the depots. Moreover, we have the preference that in any state crossed by the plan, the adjacent areas in a depot can be occupied only by compatible crates. Storage TimeConstraints ----------------------- The operators in this version are the same as those in the Time version. The problem goals are specified by an "at-end" constraint imposing that all crates are stored in a depot. In the problem files, there are several constraints imposing that a crate can be lifted at most once, ordering constraints about storing certain crates before others, deadlines for storing the crates, and maximum time a hoist can stay outside a depot. In the domain files, there are constraints imposing the safety condition that, in the final state, all hoists are inside a depot; some constraints imposing that every hoist is used; and some constraints imposing that incompatible crates are not stored at adjacent areas of the depot. **PLEASE NOTE THAT** while we tried to generate the constraints in such a way that all problems remain solvable, there is NO GUARANTEE that every problem instance is solvable. Unfortunately, there is no planner that we could use to make this check. Storage ComplexPreferences -------------------------- The operators in this version are the same as those in the Time version. In addition, this version contains many preferences over state trajectory constraints that are similar to those used for the TimeConstraints version.