AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
plan_manager.h
1#ifndef PLAN_MANAGER_H
2#define PLAN_MANAGER_H
3
4#include <string>
5#include <vector>
6
7class OperatorID;
8class TaskProxy;
9
10using Plan = std::vector<OperatorID>;
11
12class PlanManager {
13 std::string plan_filename;
14 int num_previously_generated_plans;
15 bool is_part_of_anytime_portfolio;
16public:
17 PlanManager();
18
19 void set_plan_filename(const std::string &plan_filename);
20 void set_num_previously_generated_plans(int num_previously_generated_plans);
21 void set_is_part_of_anytime_portfolio(bool is_part_of_anytime_portfolio);
22
23 /*
24 Set generates_multiple_plan_files to true if the planner can find more than
25 one plan and should number the plans as FILENAME.1, ..., FILENAME.n.
26 */
27 void save_plan(
28 const Plan &plan, const TaskProxy &task_proxy,
29 bool generates_multiple_plan_files = false);
30};
31
32extern int calculate_plan_cost(const Plan &plan, const TaskProxy &task_proxy);
33
34#endif