ENV = LocalEnvironment(processes=6) CONFIGS = [('lmcut', ['--search', 'astar(lmcut())'])] ATTRIBUTES = [ 'coverage', 'expansions', 'initial_h_value', 'cost', 'hstar_to_h' ] #All with timeout #exp = DownwardExperiment(path=EXPPATH, repo=REPO, environment=ENV, limits={'search_time': 100}) #exp.add_suite(suites.suite_all()) #Only lmcut domains without timeout exp = DownwardExperiment(path=EXPPATH, repo=REPO, environment=ENV) exp.add_suite(suites.suite_lmcut_domains()) for nick, config in CONFIGS: exp.add_config(nick, config) # Make a report containing absolute numbers with h*/h values. report = os.path.join(exp.eval_dir, 'report.html') exp.add_report(HstarToHRatio(attributes=ATTRIBUTES), outfile=report) # "Publish" the results with "cat" for demonstration purposes. exp.add_step(Step('publish-report', subprocess.call, ['cat', report])) # Compress the experiment directory. exp.add_step(Step.zip_exp_dir(exp)) # Parse the commandline and show or run experiment steps. exp()
from downward.reports.MyPlot import ProblemPlotReport EXPPATH = 'PAC_Preprocess_Output_exp_freecell' REPO = os.path.expanduser('~/downward') ENV = LocalEnvironment(processes=6) CONFIGS = [('lmcut', ['--search', 'astar(lmcut())']) ] ATTRIBUTES = ['coverage', 'expansions','initial_h_value','cost','hstar_to_h','statistics','commualtive_hstar_to_h'] exp = DownwardExperiment(path=EXPPATH, repo=REPO, environment=ENV, limits={'search_time': 300}) exp.add_suite({'freecell'}) for nick, config in CONFIGS: exp.add_config(nick, config) # Make a report containing absolute numbers (this is the most common report). file_name_for_report = 'report_' + nick +'.html' report = os.path.join(exp.eval_dir, file_name_for_report) file_name_for_preprocess = os.path.join(exp.eval_dir, 'preprocess') exp.add_report(HstarToHRatioAndStatistics(nick,file_name_for_preprocess,attributes=ATTRIBUTES), outfile=report) # Plot sub_dir = 'plots_' + nick exp.add_step(Step('report-plot-cat', ProblemPlotReport(), exp.eval_dir, os.path.join(exp.eval_dir, sub_dir))) # "Publish" the results with "cat" for demonstration purposes. exp.add_step(Step('publish-report', subprocess.call, ['cat', report]))
#! /usr/bin/env python """ Example downward experiment that runs FF on a single problem. Please adapt EXPPATH and REPO to be the path where the experiment shall be put and the location of your Fast Downward repository. The file planner-ext.py contains an "advanced" version of this basic experiment. """ from downward.experiment import DownwardExperiment from downward.reports.absolute import AbsoluteReport EXPPATH = 'exp-planner' REPO = '/home/jendrik/projects/Downward/downward' exp = DownwardExperiment(EXPPATH, REPO) exp.add_suite('gripper:prob01.pddl') exp.add_config('ff', ['--search', 'lazy(single(ff()))']) exp.add_report(AbsoluteReport()) exp()
REPO = os.path.expanduser('~/downward') ENV = LocalEnvironment(processes=1) ATTRIBUTES = ['coverage'] LIMITS = {'search_time': 100} COMBINATIONS = [(Translator(repo=REPO), Preprocessor(repo=REPO), Planner(repo=REPO))] exp = DownwardExperiment(EXPPATH, repo=REPO, environment=ENV, combinations=COMBINATIONS, limits=LIMITS, cache_dir=standard_exp.CACHE_DIR) exp.set_path_to_python(standard_exp.PYTHON) exp.add_suite('gripper:prob01.pddl') exp.add_suite('zenotravel:pfile1', benchmark_dir=os.path.join(REPO, 'benchmarks')) exp.add_config('iter-hadd', [ '--heuristic', 'hadd=add()', '--search', 'iterated([lazy_greedy([hadd]),lazy_wastar([hadd])],repeat_last=true)']) exp.add_config('ipdb', ["--search", "astar(ipdb())"], timeout=10) # Use original LAMA 2011 configuration exp.add_config('lama11', ['ipc', 'seq-sat-lama-2011', '--plan-file', 'sas_plan']) exp.add_config('fdss-1', ['ipc', 'seq-sat-fdss-1', '--plan-file', 'sas_plan']) exp.add_portfolio(os.path.join(REPO, 'src', 'search', 'downward-seq-opt-fdss-1.py')) # Before we fetch the new results, delete the old ones exp.steps.insert(5, Step('delete-old-results', shutil.rmtree, exp.eval_dir, ignore_errors=True)) # Before we build the experiment, delete the old experiment directory # and the preprocess directory exp.steps.insert(0, Step('delete-exp-dir', shutil.rmtree, exp.path, ignore_errors=True)) exp.steps.insert(0, Step('delete-preprocess-dir', shutil.rmtree, exp.preprocess_exp_path, ignore_errors=True))
EXPPATH = 'exp-planner' REPO = '/home/jendrik/projects/Downward/downward' # combos = [ # (Translator(REPO, rev='WORK'), Preprocessor(REPO, rev=3097), Planner(REPO)), # (Translator(REPO, rev='WORK'), Preprocessor(REPO, rev=3097), Planner(MYOTHER_REPO)), # ] exp = DownwardExperiment( EXPPATH, REPO, # combinations=combos, limits={'search_time': 60}) exp.add_suite(['gripper:prob01.pddl']) exp.add_suite('zenotravel:pfile2') exp.add_config('ff', ['--search', 'lazy(single(ff()))']) exp.add_config('add', ['--search', 'lazy(single(add()))']) exp.add_portfolio( os.path.join(REPO, 'src', 'search', 'downward-seq-sat-fdss-1.py')) exp.add_report(AbsoluteReport('problem'), name='make-report', outfile='report-abs-p.html') def solved(run): return run['coverage'] == 1 exp.add_step( Step('suite', SuiteReport(filter=solved), exp.eval_dir,
COMBINATIONS = [(Translator(repo=REPO), Preprocessor(repo=REPO), Planner(repo=REPO))] exp = DownwardExperiment(EXPPATH, repo=REPO, environment=ENV, combinations=COMBINATIONS, limits=LIMITS, cache_dir=standard_exp.CACHE_DIR) exp.set_path_to_python(standard_exp.PYTHON) exp.add_suite('gripper:prob01.pddl') exp.add_suite('zenotravel:pfile1', benchmark_dir=os.path.join(REPO, 'benchmarks')) exp.add_config('iter-hadd', [ '--heuristic', 'hadd=add()', '--search', 'iterated([lazy_greedy([hadd]),lazy_wastar([hadd])],repeat_last=true)' ]) exp.add_config('ipdb', ["--search", "astar(ipdb())"], timeout=10) # Use original LAMA 2011 configuration exp.add_config('lama11', ['ipc', 'seq-sat-lama-2011', '--plan-file', 'sas_plan']) exp.add_config('fdss-1', ['ipc', 'seq-sat-fdss-1', '--plan-file', 'sas_plan']) exp.add_portfolio( os.path.join(REPO, 'src', 'search', 'downward-seq-opt-fdss-1.py')) # Before we fetch the new results, delete the old ones exp.steps.insert( 5, Step('delete-old-results', shutil.rmtree, exp.eval_dir, ignore_errors=True))