Running the Planners

Installation

The available planners are all in the directory /planners. The easiest thing to do is use the command module add /home/TDDA23/www-pub/ailabs/planners.mod, which will include this directory in your path. After that, you can run them by just typing the planners name.

Questions, Problems and Bugs

Through the WWW links below you can find out more about the planning systems, but please, do not bother their authors with trivial questions (such as "why doesn't your planner solve my problem?").

Available Planners

There are six planners available, covering a reasonably broad range of approaches.

BlackBox

BlackBox combines the plan graph idea (from Graphplan) with the use of state-of-the-art SAT solvers to extract a plan from the graph representation. It can use several different SAT solvers.
Plan form:
Parallel.
Optimal:
w.r.t. parallel length, but only if a systematic SAT solver is used.
PDDL supported:
Only STRIPS.
To run:
blackbox -o <domain> -f <problem> [-solver <solver> [<solver options>]] [-then <solver> [<solver options>]]*
<solver> is the solver used to search for a plan in the graph representation. It can be graphplan (which does plain regression search), satz (a systematic SAT solver), walksat or relsat (random SAT solvers) or compact. The compact solver is special, in that it's only a simplfier and not a solver. If it's used, another solver has to be specified after (using -then).
Blackbox and each of the solvers have several options. To get a list run blackbox without arguments or blackbox -help -solver <solver>
Examples:
blackbox -o <domain> -f <problem> -solver compact -l -then satz
This combination produces optimal plans and is reasonably efficient.
blackbox -o <domain> -f <problem> -solver compact -l -then relsat -maxbt <M> -trials <N>
This combination is not guaranteed to be optimal. The chances of missing a solution can be decreased by increasing <M> and <N> (the default values are 1000000 and 1, respectively) but this also generally increases runtime. To speed up the planner (at the cost of increasing the chances of missing a solution) decrease <M> and/or <N>.
Homepage:
http://www.cs.washington.edu/homes/kautz/blackbox/

HSP

HSP is a general heuristic search planner. It can do both forward-chaining and regression planning, using both admissible and non-admissible heuristics.
Plan form:
Sequential.
Optimal:
w.r.t. sequential length, but only with certain settings (-a bfs -h h1max -w 1 or -a bfs -d backward -h h2max -w 1).
PDDL supported:
Only STRIPS.
To run:
hsp [-a <algoritm>] [-d <direction>] [-h <heuristic>] [-w <weight>] <problem> <domain>
<algoritm> specifies the search algorithm to use, and can be either bfs (Best First Search) or gbfs (Greedy BFS). Default is bfs.
<direction> specifies the direction of search, and can be either forward or backward. Default is forward.
<heuristic> specifies the heuristic, and can be any of h1plus, h1max, h2plus and h2max (the "max" heuristics are admissible). Default is h1plus.
<weight> is a (decimal) number, greater or equal to 1.0. Using a value greater than 1.0 makes the planner non-optimal (even if BFS and an admissible heuristic is used), but can be more efficient.
For more options, run hsp without arguments.
Examples:
hsp -a bfs -h h1max -w 1 <problem> <domain>
hsp -a bfs -d backward -h h2max -w 1 <problem> <domain>
These combinations produce optimal plans (the second is probably more efficient, in most cases).
hsp -a gbfs -h h1plus <problem> <domain>
This combination is non-optimal, but can be pretty efficient.
Homepage:
http://www.cs.ucla.edu/~bonet/

FF

FF is forward-chaining heuristic search planner. It's, if not the fastest at least one of the few fastest, non-optimal domain-independent planners today.
Plan form:
Sequential.
Optimal:
No.
PDDL supported:
STRIPS, typing (though maybe not subtypes), ADL actions (though not quantified goals).
To run:
ff -o <domain> -f <problem>
For more options, run ff without arguments.
Homepage:
http://www.informatik.uni-freiburg.de/~hoffmann/ff.html

IPP

IPP is a parallel regression planner, a descendant of Graphplan.
Plan form:
Parallel.
Optimal:
Yes, w.r.t. parallel length.
PDDL supported:
STRIPS, typing (not subtypes), ADL actions.
To run:
ipp -o <domain> -f <problem>
For more options, run ipp without arguments.
Homepage:
http://www.informatik.uni-freiburg.de/~koehler/ipp.html

MIPS

MIPS does forward-chaining, breadth-first search and uses an efficient BDD-based representation for sets of states.
Plan form:
Sequential.
Optimal:
Yes.
PDDL supported:
Only STRIPS.
To run:
mips <domain> <problem>
For more options, run mips -h.
Homepage:
http://www.informatik.uni-freiburg.de/~edelkamp/Mips/index.html

STAN

STAN is another Graphplan descendant. It combines the plan graph representation with domain analysis for improved performance.
Plan form:
Parallel.
Optimal:
Maybe. The basic planner is optimal w.r.t. parallel length. Through domain analysis, however, it may recognize the "kind" of domain the problem belongs to, and apply domain-specific strategies which render it non-optimal.
PDDL supported:
Only STRIPS.
To run:
STAN <domain> <problem>
Homepage:
http://www.dur.ac.uk/~dcs0www/research/stanstuff/stanpage.html