There is a newer version of the record available.

Published October 17, 2019 | Version v1
Software Open

Code from the JAIR 2020 paper "Saturated Cost Partitioning for Optimal Classical Planning"

  • 1. University of Basel

Description

The zipfile contains an extended version of the Fast Downward planning system (http://fast-downward.org). The code for saturated cost partitioning can be found in the "src/search/cost_saturation" directory.

Please see http://www.fast-downward.org for instructions on how to compile the planner.

The following configuration computes the hSCPdiv heuristic from the paper:

--search "astar(saturated_cost_partitioning([projections(hillclimbing(max_generated_patterns=200, random_seed=0)), projections(systematic(2)), cartesian()],max_orders=infinity, max_time=1000, diversify=true, random_seed=0, max_optimization_time=100, orders=greedy_orders(random_seed=0)))"

The Scorpion variant uses different timeouts for diversification and optimization, prunes irrelevant operators in a preprocessing step and uses partial order reduction during the A* search:

--search "astar(saturated_cost_partitioning([projections(systematic(2)), projections(hillclimbing(max_time=100, random_seed=0)), cartesian()], max_orders=infinity, max_optimization_time=2, max_time=200, diversify=true, orders=greedy_orders(random_seed=0), random_seed=0), pruning=stubborn_sets_simple(min_required_pruning_ratio=0.2))"

Note that for operator pruning you need to make the h2 preprocessor (https://gitlab.com/atorralba_planners/h2-preprocessor) available on the PATH (e.g., using the name "h2-mutexes") and then pass "--transform-task h2-mutexes" to the fast-downward.py script (in Lab you can use the driver_options argument of add_algorithm for this).

We actively maintain the code at https://github.com/jendrikseipp/scorpion. The GitHub repository also contains a copy of the h² preprocessor.

Files

seipp-et-al-jair2019-code.zip

Files (806.4 kB)

Name Size Download all
md5:4c966c946f4139b0c1e89fb9cecf5c2c
806.4 kB Preview Download