Skip to content

Fast Downward 24.06.1#

Fast Downward 24.06.1 was released on February 7, 2025.

It is a bugfix release of Fast Downward 24.06, which was released on October 10, 2024. See "Changes in Fast Downward 24.06.1" below for details.

Highlights:

  • We have improved the translator in several dimensions. Key improvements include better error reporting for invalid PDDL, a revised and faster version of the invariant algorithm and full support for negated predicates in the goal.

  • Negated axioms are now computed in the search component, and only in configurations that actually use them. This eliminates a worst-case exponential performance bottleneck in cases where negated axioms are not used. Heuristics that use negated axioms have a new option (axioms=approximate_negative) to avoid this computation at the cost of some heuristic accuracy.

  • There are many improvements to the landmark_sum and landmark_cost_partitioning heuristics. This includes a new theory of landmark progression that fixes a gap in the completeness in search configurations like LAMA and can deal directly with cyclic landmark orders, support for reasonable orders in admissible landmark heuristics, a cleaner definition of preferred operators, deterministic synthesis of reasonable orders, and performance improvements. Please note that the command-line options for landmark heuristics have changed.

  • We added a new set of operator-counting constraints (delete_relaxation_rr_constraints), which implements the delete-relaxation operator-counting constraints by Rankooh and Rintanen. The old delete_relaxation_constraints plugin using the constraints by Imai and Fukunaga has been renamed to delete_relaxation_if_constraints.

  • We added the alias seq-sat-fdss-2023 for the satisficing Fast Downward Stone Soup 2023 portfolio from IPC 2023.

  • For developers: planner component objects (such as heuristics or search algorithms) are now constructed with individual parameters rather than having all parameters encapsulated in an Options object. (We mention this primarily for developers maintaining their own forks, as this change affects more than 200 source files.)

The Apptainer and Docker distributions of the planner include LP support using the SoPlex solver.

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-24.06.1.tar.gz
cd fast-downward-24.06.1
./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 24.06#

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 24.06." 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 24.06#

Details:

Changes in Fast Downward 24.06.1#

  • search algorithms, bug fix: The options for the merge_and_shrink evaluator were considered in the wrong order. For example, the boolean option prune_unreachable_states was interpreted as max_states, so that max_states was set to 0 or 1 based on the boolean flag. This is now fixed.

    If you ran any experiments with merge-and-shrink heuristics with Fast Downward 24.06, please re-run them. Earlier releases are not affected.

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