Fast Downward 22.12#
Fast Downward 22.12 was released on December 15, 2022.
Highlights:
-
We now test more recent versions of Ubuntu Linux (22.04 and 20.04), macOS (11 and 12) and Python (3.8 and 3.10).
-
Most search algorithms are now faster. We fixed a performance problem related to state pruning, which also affected search configurations that did not explicitly select a pruning method.
-
All landmark factories now respect action costs. Previously, this was only the case when using admissible landmark heuristic or when using the
lm_rhw
landmark factory. Note that ignoring action costs (i.e., the old behaviour for landmark factories other thanlm_rhw
) often finds plans faster and is still possible with theadapt_costs
transformation.
The Apptainer and Docker distributions of the planner include LP support using the SoPlex solver. Thank you to ZIB for their solver and for giving permission to include it in the release. SoPlex is licensed under the ZIB Academic License.
Downloads#
- source tarball: fast-downward-22.12.tar.gz
- Apptainer image: download with
apptainer pull fast-downward.sif docker://aibasel/downward:22.12
- Docker container: aibasel/downward:22.12 on Docker Hub
- Vagrantfile: Vagrantfile for Fast Downward 22.12
For Apptainer, Docker and Vagrant, see "getting started" for instructions on how to run the planner. That page explains how to run the latest release of Fast Downward, so you have to amend the instructions if you want to run an older release.
For the tarball, if you have satisfied all dependencies, the following should build and run the planner with configuration alias lama-first
on PDDL files /path/to/domain.pddl
and /path/to/problem.pddl
on a Linux or macOS system:
tar -xvzf fast-downward-22.12.tar.gz
cd fast-downward-22.12
./build.py
./fast-downward.py --alias lama-first /path/to/domain.pddl /path/to/problem.pddl
Limitations#
For licensing reasons, the binary distributions of Fast Downward have limited support for commercial LP solvers (like CPLEX). The Docker and Apptainer distributions only support SoPlex. The Vagrant version supports SoPlex and/or CPLEX if they are available at provisioning time. See "getting started" for more information.
Referencing Fast Downward 22.12#
If you use this version of Fast Downward in a scientific publication, we encourage you to mention the version number, as in "We ran experiments with Fast Downward 22.12." The canonical reference for citing Fast Downward is the following journal paper:
@Article{helmert-jair2006,
author = "Malte Helmert",
title = "The {Fast} {Downward} Planning System",
journal = "Journal of Artificial Intelligence Research",
year = "2006",
volume = "26",
pages = "191--246"
}
Changes in Fast Downward 22.12#
Details:
-
driver: Planner time is now logged in a consistent format.
Previously, it would sometimes be logged in scientific notation.
-
driver, for developers: Skip
__pycache__
directory when collecting portfolios. -
translator: Allow importing
pddl_parser
without parsing arguments from command line. -
pruning methods: Fix a performance regression caused by spending too much time measuring elapsed time. This is now only done at verbosity level
verbose
or higher. Verbosity level parameter added to all pruning methods.https://issues.fast-downward.org/issue1058
Note that most search algorithms in Fast Downward always use a pruning method (a trivial method pruning nothing is used by default) and were therefore affected by this performance problem.
-
pruning methods, for developers: We cleaned up the internal structure of stubborn set pruning.
-
landmarks: All landmark factories are now sensitive to action costs.
https://issues.fast-downward.org/issue1009
When using the
lmcount
heuristic in inadmissible mode (optionadmissible=false
), previously only thelm_rhw
landmark factory considered action costs. Now, all landmark factories do. (This was already the case withadmissible=true
.) Experiments show that ignoring action costs is often beneficial when we are more interested in planner speed or coverage than plan quality. This can be achieved by using the optiontransform=adapt_costs(ONE)
. -
landmarks: Reduce verbosity of h^m landmarks.
The
lm_hm
landmark factory is now less verbose by default. Use verbosity levelverbose
or higher to enable the previous output. -
infrastructure: Update tested OS versions and clang-tidy version.
-
- The tested Ubuntu versions are now 22.04 and 20.04.
- The tested macOS versions are now macOS 11 and macOS 12.
- The tested Windows version remains Windows 10.
- We now test Python 3.10 (Ubuntu 22.04, macOS 12) and Python 3.8 (Ubuntu 20.04, macOS11, Windows 10).
- We now use clang-tidy-12.
See
README.md
for details. -
infrastructure: Update
delete-artifact
version number in GitHub action, updatezlib
version in Windows build.