Skip to content

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 than lm_rhw) often finds plans faster and is still possible with the adapt_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#

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
For dependencies and more advanced information (including Windows builds), see the build instructions.

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.

    https://issues.fast-downward.org/issue1057

  • translator: Allow importing pddl_parser without parsing arguments from command line.

    https://issues.fast-downward.org/issue1068

  • 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.

    https://issues.fast-downward.org/issue1059

  • landmarks: All landmark factories are now sensitive to action costs.

    https://issues.fast-downward.org/issue1009

    When using the lmcount heuristic in inadmissible mode (option admissible=false), previously only the lm_rhw landmark factory considered action costs. Now, all landmark factories do. (This was already the case with admissible=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 option transform=adapt_costs(ONE).

  • landmarks: Reduce verbosity of h^m landmarks.

    The lm_hm landmark factory is now less verbose by default. Use  verbosity level verbose or higher to enable the previous output.

  • infrastructure: Update tested OS versions and clang-tidy version.

    https://issues.fast-downward.org/issue1067

    • 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, update zlib version in Windows build.