4.4. Summary
In this section, the resource allocation problem was discussed as a Constraint Satisfaction Problem. We presented it as a declaratively specified DCSP problem and translated into a standard CSP problem. We also sub-divided it into simpler classes and investigated solving them with cheaper specialized algorithms leaving out the harder ones for the general DCSP or default planning. The planner to scheduler interaction in RealPlan-MS is seen as policies that have semantics in terms of domains of DCSP variables. In the next section, we discuss the RealPlan-PP model of planner-scheduler interaction. We follow it with how the inserted actions in the scheduled plan are translated to executable sub-plans to generate the final plan.
5. Peer to peer interaction between planner and scheduler Until now, the interaction between the planner and scheduler is essentially unidirectional. The scheduler tries various ways of allocating resources to the causal plan, but when it fails, the decoupled approach is abandoned and the planner goes back to solving the problem from scratch, taking both causal and resource allocation decisions into account. Although this approach does work fine in most scenarios where there is indeed loose coupling between planning and scheduling decisions, it fails in situations where the coupling is tighter. In these latter scenarios, we would like the scheduler to get back to the planner with specific information about the reasons for its failure to allocate resources to the plan. Intuitively, we would expect that such an explanation would be in terms of some specific actions in the causal plan whose presence at their respective places makes resource allocation infeasible. Ideally, we would then like the planner to resume its search, armed with the “explanation” of the failure supplied to it by the scheduler, and come up with a causal plan that avoids that failure. Such a plan will then be sent to the scheduler. Of course, it is quite possible that the scheduler is unable to allocate resources to this new plan too (albeit for a different reason)—in which case the interaction cycle continues, until a schedulable plan is eventually found. Implementation of this style of interaction regime requires several steps:
Explanation generation: The scheduler needs to be modified to provide a compact explanation of its failure to allocate resources.
Translation: The scheduler’s explanation of failure needs to be “translated” into a form that makes sense for the planner’s search space.