Differences between revisions 1 and 9 (spanning 8 versions)
Revision 1 as of 2011-11-16 14:02:34
Size: 4686
Editor: MalteHelmert
Comment:
Revision 9 as of 2021-02-08 12:24:42
Size: 4632
Editor: JendrikSeipp
Comment: Describe IPC 2018 FDSS planners.
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
This page describes how to run any of the planners based on Fast Downward that participated in IPC 2011. Before reading this page, it is strongly recommended that you familiarize yourself with the information on ObtainingAndRunningFastDownward and PlannerUsage. This page describes how to run any of the planner configurations based on Fast Downward that participated in IPCs 2011 and 2018. Before reading this page, it is strongly recommended that you familiarize yourself with the information on ObtainingAndRunningFastDownward and PlannerUsage.
Line 31: Line 32:
/!\ '''Note on running LAMA:''' As of 2011, LAMA has been merged back into the Fast Downward codebase. "LAMA 2011", the version of LAMA that participated in IPC 2011, is Fast Downward with a particular set of command-line arguments. Since LAMA 2011 greatly outperformed LAMA 2008 in the competition, we strongly encourage you to use the current Fast Downward code when evaluating your planner against LAMA.


== IPC 2018 Fast Downward Stone Soup planners ==

The two portfolios use the same configurations but the cost-bounded version stops after finding the first plan that's cheaper than the given cost bound.

 * satisficing track: {{{./fast-downward.py --alias seq-sat-fdss-2018 --overall-time-limit 30m ../benchmarks/depot/p01.pddl}}}
 * cost-bounded track: {{{./fast-downward.py --portfolio-single-plan --portfolio-bound=20 --alias seq-sat-fdss-2018 --overall-time-limit 30m ../benchmarks/depot/p01.pddl}}}

Line 33: Line 45:
For the most part, you can run them like any other planner configuration, but some of them are a bit special:

 * LAMA 2011 actually corresponds to two different parameter settings, depending on whether the input task uses unit-cost actions only or general action costs.
 * The portfolio planners run several planner configurations in sequence, with a bit of magic to set appropriate time limits (in both satisficing and optimizing configurations) and quality bounds (in satisficing configurations).

The necessary logic is contained in the {{{src/search/downward}}} script, which should be straight-forward enough to understand (even though the inner workings of this are a bit of a Rube Goldberg device).

To simplify running an IPC configuration, all the necessary command-line settings are contained in the {{{src/search/downward}}} script. Run the search component with
The {{{src/fast-downward.py}}} script provides short aliases for the IPC configurations.
To run e.g. the LAMA-2011 configuration on the first gripper task run
Line 43: Line 49:
./downward ipc seq-XXX < output ./fast-downward.py --alias seq-sat-lama-2011 misc/tests/benchmarks/gripper/prob01.pddl
Line 46: Line 52:
and the correct parameter settings will automatically be set. For
{{{seq-XXX}}}, su
bstitute {{{seq-sat-lama-2011}}}, {{{seq-opt-bjolp}}}, {{{seq-opt-fdss-1}}}, etc.
If you are interested in the actual parameter settings, look inside the {{{downward}}} script.
and the correct parameter settings will automatically be set. To see all available aliases run

{{{
./
fast-downward.py --show-aliases
}}}

If you are interested in the actual parameter settings, look inside the {{{src/driver/aliases.py}}} module.
Line 56: Line 66:
== Convenience planner script ==

For the IPC configurations, you can also run all three parts of the planner with a single script, called {{{src/plan-ipc}}}. Run this as

{{{
./plan-ipc seq-XXX DOMAIN_FILE PROBLEM_FILE PLAN_FILE
}}}
Line 68: Line 70:
 * the snapshot used at IPC 2011
 * the most current version of the {{{default}}} branch of the repository
 * the snapshot used at IPC 2011 ([[attachment:ipc-2011-submission.tar.gz]])
 * the most current version of the {{{main}}} branch of the repository
Line 75: Line 77:
In case you are sure you want the IPC 2011 version of the planner, you can get it by updating to the branch {{{ipc-2011-fixes}}} in the repository. This is identical to the code that was run at IPC 2011 except that it uses 32-bit mode rather than 64-bit mode. For an explanation of which of these two modes you want and how to set it, please check the PlannerUsage page. The tarball linked above is identical to the code that was run at IPC 2011 except that it uses 32-bit mode rather than 64-bit mode. For an explanation of which of these two modes you want and how to set it, please check the PlannerUsage page.

Back to the HomePage.

IPC planners

This page describes how to run any of the planner configurations based on Fast Downward that participated in IPCs 2011 and 2018. Before reading this page, it is strongly recommended that you familiarize yourself with the information on ObtainingAndRunningFastDownward and PlannerUsage.

What is the relationship between "Fast Downward" and the IPC 2011 planners based on Fast Downward?

All the following planners from IPC 2011 (called "IPC configurations" in the following) used exactly the same code, a snapshot from the Fast Downward repository. They only differ in command-line options for the search component of the planner.

  • satisficing track:
    • Fast Downward Autotune 1, satisficing version (seq-sat-fd-autotune-1)

    • Fast Downward Autotune 2, satisficing version (seq-sat-fd-autotune-2)

    • *Fast Downward Stone Soup 1, satisficing version (seq-sat-fdss-1)

    • *Fast Downward Stone Soup 2, satisficing version (seq-sat-fdss-2)

    • LAMA 2011 (seq-sat-lama-2011)

  • optimization track:
    • BJOLP (seq-opt-bjolp)

    • Fast Downward Autotune, optimizing version (seq-opt-fd-autotune)

    • *Fast Downward Stone Soup 1, optimizing version (seq-opt-fdss-1)

    • *Fast Downward Stone Soup 2, optimizing version (seq-opt-fdss-2)

    • LM-Cut (seq-opt-lmcut)

    • *Merge and Shrink (seq-opt-merge-and-shrink)

    • Selective Max (seq-opt-selmax)

The planners marked with a star (*) are portfolio configurations, which are a bit special because they use hard-coded time limits. See below.

/!\ Note on running LAMA: As of 2011, LAMA has been merged back into the Fast Downward codebase. "LAMA 2011", the version of LAMA that participated in IPC 2011, is Fast Downward with a particular set of command-line arguments. Since LAMA 2011 greatly outperformed LAMA 2008 in the competition, we strongly encourage you to use the current Fast Downward code when evaluating your planner against LAMA.

IPC 2018 Fast Downward Stone Soup planners

The two portfolios use the same configurations but the cost-bounded version stops after finding the first plan that's cheaper than the given cost bound.

  • satisficing track: ./fast-downward.py --alias seq-sat-fdss-2018 --overall-time-limit 30m ../benchmarks/depot/p01.pddl

  • cost-bounded track: ./fast-downward.py --portfolio-single-plan --portfolio-bound=20 --alias seq-sat-fdss-2018 --overall-time-limit 30m ../benchmarks/depot/p01.pddl

How do I run an IPC configuration?

The src/fast-downward.py script provides short aliases for the IPC configurations. To run e.g. the LAMA-2011 configuration on the first gripper task run

./fast-downward.py --alias seq-sat-lama-2011 misc/tests/benchmarks/gripper/prob01.pddl

and the correct parameter settings will automatically be set. To see all available aliases run

./fast-downward.py --show-aliases

If you are interested in the actual parameter settings, look inside the src/driver/aliases.py module.

Using time limits other than 30 minutes

The portfolio configurations are intimately tied to the competition time limit of 30 minutes. If you use a different time limit, you cannot use these planner configurations out of the box.

Please also note that all planner configurations have an internal time limit of 5 minutes for the invariant synthesis part of the translator. This is generous for all but very few planning tasks, but still it makes sense to adapt this value if you're running the overall planner with a different overall timeout from the usual 30 minutes, especially if it is a signficantly lower time limit.

Which code version should I use?

The two main options are

We usually recommend using the newest code from the repository since we tend to fix bugs every now and then (but of course, we also introduce new ones...). If you do a proper experiment and performance in some domain looks worse than what you'd expect from our papers or the IPC results, we're very happy to be notified since this may be an indication that we introduced a bug.

The tarball linked above is identical to the code that was run at IPC 2011 except that it uses 32-bit mode rather than 64-bit mode. For an explanation of which of these two modes you want and how to set it, please check the PlannerUsage page.

FastDownward: IpcPlanners (last edited 2023-10-12 12:17:07 by SilvanSievers)