Skip to content

Fast Downward 20.06#

Fast Downward 20.06 was released on July 26, 2020.

Highlights:

  • The Singularity and Docker distributions of the planner now include LP support using the SoPlex solver out of the box. Thank you to ZIB for their solver and for giving permission to include it in the release.

  • The Vagrant distribution of the planner now includes LP support using the SoPlex and/or CPLEX solvers out of the box if they are made available when the virtual machine is first provisioned.  See getting started for more information.

  • A long-standing bug in the computation of derived predicates has been fixed. Thanks to everyone who provided bug reports for their help and for their patience!

  • A new and much faster method for computing stubborn sets has been added to the planner.

  • The deprecated merge strategy aliases merge_linear and merge_dfp have been removed.

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-20.06.tar.gz
cd fast-downward-20.06
./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 (CPLEX and Gurobi). The Docker and Singularity 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 20.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 20.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 20.06#

  • Fix crash of --show-aliases option of fast-downward.py.

  • Fix incorrect computation of derived predicates.

    http://issues.fast-downward.org/issue453

    Derived predicates that were only needed in negated form and cyclically depended on other derived predicates could be computed incorrectly.

  • Integrate new pruning method atom_centric_stubborn_sets

    http://issues.fast-downward.org/issue781

    We merged the code for the SoCS 2020 paper "An Atom-Centric Perspective on Stubborn Sets". See PruningMethod for more information.

  • Remove deprecated merge strategy aliases merge_linear and merge_dfp.

    The deprecated merge strategy aliases merge_linear for linear merge strategies and merge_dfp for the DFP merge strategy are no longer available. See MergeStrategy for equivalent command line options to use these merge strategies.

  • For developers: use global logging mechanism for all output.

    http://issues.fast-downward.org/issue963

    All output of the planner is now handled by a global logging mechanism, which prefaces printed lines with time and memory information. For developers, this means that output should no longer be passed to cout but to utils::g_log. Further changes to logging are in the works.

  • For developers: store enum options as enums (not ints) in Options objects.

    http://issues.fast-downward.org/issue962

  • For developers: allow creating Timers in stopped state.

    http://issues.fast-downward.org/issue965