"lazy_greedy(h,preferred=(h),cost_type=S_COST_TYPE,bound=BOUND)"]), # lazy_greedy_add (63, ["--heuristic", "h=add(cost_type=H_COST_TYPE)", "--search", "lazy_greedy(h,preferred=(h),cost_type=S_COST_TYPE,bound=BOUND)"]), ] def build_final_config(successful_args): # this heavily depends on that in CONFIGS only "simple" configurations are used new_args = list(successful_args) for pos, arg in enumerate(successful_args): if arg == "--search": orig_search = successful_args[pos + 1] sub_searches = [] for weight in (5,3,2,1): if orig_search.startswith("lazy"): sub_search = \ "lazy_wastar(h,preferred=(h),w=%d,cost_type=S_COST_TYPE)" % weight else: sub_search = \ "eager(single(sum(g(),weight(h,%d))),preferred=(h),cost_type=S_COST_TYPE)" % weight sub_searches.append(sub_search) sub_search_string = ",".join(sub_searches) new_search = "iterated(%s,bound=BOUND,repeat_last=true,plan_counter=PLANCOUNTER)" % sub_search_string new_args[pos + 1] = new_search break return new_args seq_sat_portfolio.run(configs=CONFIGS, final_config_builder=build_final_config)
"lazy_wastar(h,w=3,preferred=(h),cost_type=S_COST_TYPE,bound=BOUND)"]), # eager_greedy_cea_1 (84, ["--heuristic", "h=cea(cost_type=H_COST_TYPE)", "--search", "eager_greedy(h,preferred=(h),cost_type=S_COST_TYPE,bound=BOUND)"]), # eager_wa3_add_1 (166, ["--heuristic", "h=add(cost_type=H_COST_TYPE)", "--search", "eager(single(sum(g(),weight(h,3))),preferred=(h),cost_type=S_COST_TYPE,bound=BOUND)"]), # eager_wa3_ff_1 (87, ["--heuristic", "h=ff(cost_type=H_COST_TYPE)", "--search", "eager(single(sum(g(),weight(h,3))),preferred=(h),cost_type=S_COST_TYPE,bound=BOUND)"]), # lazy_wa3_cg_1 (73, ["--heuristic", "h=cg(cost_type=H_COST_TYPE)", "--search", "lazy_wastar(h,w=3,preferred=(h),cost_type=S_COST_TYPE,bound=BOUND)"]), # eager_wa3_cg_1 (89, ["--heuristic", "h=cg(cost_type=H_COST_TYPE)", "--search", "eager(single(sum(g(),weight(h,3))),preferred=(h),cost_type=S_COST_TYPE,bound=BOUND)"]), ] FINAL_CONFIG = [ "--heuristic", "h=ff(cost_type=H_COST_TYPE)", "--search", "iterated(eager(single(sum(g(),weight(h,3))),preferred=(h),cost_type=S_COST_TYPE,bound=BOUND),bound=BOUND,repeat_last=true,plan_counter=PLANCOUNTER)"] seq_sat_portfolio.run(configs=CONFIGS, final_config=FINAL_CONFIG, timeout=1800) # TODO: set timeout to 1800
(63, [ "--heuristic", "h=add(cost_type=H_COST_TYPE)", "--search", "lazy_greedy(h,preferred=(h),cost_type=S_COST_TYPE,bound=BOUND)" ]), ] def build_final_config(successful_args): # this heavily depends on that in CONFIGS only "simple" configurations are used new_args = list(successful_args) for pos, arg in enumerate(successful_args): if arg == "--search": orig_search = successful_args[pos + 1] sub_searches = [] for weight in (5, 3, 2, 1): if orig_search.startswith("lazy"): sub_search = \ "lazy_wastar(h,preferred=(h),w=%d,cost_type=S_COST_TYPE)" % weight else: sub_search = \ "eager(single(sum(g(),weight(h,%d))),preferred=(h),cost_type=S_COST_TYPE)" % weight sub_searches.append(sub_search) sub_search_string = ",".join(sub_searches) new_search = "iterated(%s,bound=BOUND,repeat_last=true,plan_counter=PLANCOUNTER)" % sub_search_string new_args[pos + 1] = new_search break return new_args seq_sat_portfolio.run(configs=CONFIGS, final_config_builder=build_final_config)