Application Developers

Planning Researchers

(wiki admin)
(edit sidebar)

What is AI Planning and Scheduling? A short introduction

Planning
Planning is the branch of AI concerned with synthesis and analysis of plans, meaning courses of actions that achieve goals. AI planning typically deals with the construction of complex plans from many simple steps. A planning problem (in its classical form) specifies a current state, a desired goal state, and a collection of possible actions. A solution (plan) is a series of actions, each of which makes a small, deterministic change to the current state, such that the end state meets the goal condition.
Domain independence
AI planning aims for generality, meaning that planning systems are not specific to any one domain of application. Instead, the specific knowledge about the domain (such as definitions of the possible actions) is given in a declarative modelling language. The language used by most academic planning systems is the Planning Domain Definition Language (PDDL), but some systems use other modelling languages.
HTN planning
Hierarchical Task Network (HTN) planning is a variation, in which the solution plan is constrained not only to reach the goal, but also in how that is done. HTN domain models specify an initial abstract plan, and the planners task is to refine it into a detailed one.
Scheduling
In contrast to planning, scheduling is typically described as the problem of allocating time and resources to an already fixed set of activities (i.e., a plan). However, real scheduling problems often have elements of choice (optional activities, alternative resources), and real planning problems often have time and resource constraints, so the line between the two problems is not so sharp. Scheduling research is less focused on the construction of domain-independent systems using a declarative modelling language, but still aims and generality and reusability of techniques, e.g., in the form of toolboxes such as constraint programming libraries.
Forecasting
Many problems called planning (such as city planning, traffic planning, strategic business planning) are in fact mainly problems of prediction, in which the essential difficulty is working out what will be the consequences if one action is taken (and judging the merits of the action based on that). Such problems are typically not within the competence of AI planning techniques.