Commit d3d9e1dc authored by Markus Klinik's avatar Markus Klinik
Browse files

Planning Versus Scheduling wip

parent 8cd1323e
......@@ -10,11 +10,37 @@ An \emph{instance} of a scheduling problem is a set of concrete tasks and resour
A \emph{scheduler} has the responsibility of finding a schedule given an instance.
\subsection{Planning vs Scheduling}
\subsection{Planning Versus Scheduling}
In the literature on automated planning and scheduling, for example \citet{Ghallab2004}, planning and scheduling are treated as two distinct problems that can be solved in isolation.
Planning takes as input a start state, a set of state transforming actions, and a goal predicate.
The purpose of planning is to chain actions together to transform the start state into a state that satisfies the goal predicate, via a series of intermediate states.
Such a chain of actions is called a \emph{plan}.
Planning is only concerned with the effects of actions on the state, but not with who should execute them and when.
This is the purpose of the scheduler.
The output of the planner is the input of the scheduler.
There are two problems with this division.
The output of state-of-the-art planning algorithms is a \emph{list} of actions, which imposes a total order on the actions.
In most situations in reality however, only some actions of a plan have an inherent ordering constraint.
For some actions the order in which they are executed does not matter.
Scheduling works best if it gets as input a partial order, so that the scheduler has some freedom to rearrange and parallelize tasks.
Planning in which the output is a partial order instead of a total order is called \emph{partial order planning}, and is an active field of research.
For this paper, we assume that a partial order of tasks is given.
There are situations in which the decision \emph{who} executes a task influences \emph{which} other tasks must be executed.
In other words, scheduling can influence planning.
This contradicts the assumption that planning and scheduling can be clearly separated.
This can be the case in situations where a resource has to be prepared in order to be assigned to some task.
Preparation itself is a task.
\subsection{Scheduling for C2}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment