7. Gestión del Proyecto
10.2. Resultados
There are other constraints that appear in practical planning and scheduling problems fre- quently other than time-window and setup time constraints, such as: disjunctive time windows on goal, inclusion of action based on inclusion/exclusion of other actions etc. In this section we briefly describe how these constraints can be modeled in transition-based representation.
5.4.1 Disjunctive goal constraint
The disjunctive goal constraint describe the fact that a goal can be achieved only in one of the possible time windows. In our representation achieving goal is being on the goal state. This constraint can be modeled using state variable state time window constraints as described above. For each possible time windows, we create a copy of the goal state with the corre- sponding time-window constraint, and create extra copies of the actions that either use the state, achieve the state or change the state.
5.4.2 Action exclusion and implication constraints
In many practical planning application it is necessary to express action exclusion and impli- cation constraints. An action exclusion constraint Exclusive(a,b)means that at most of one of actions a andb can be in the plan. This can be modeled with a unary reservoir resource consumed by both actions. An action implication constraint Imply(a,b)means that if action a is included in the plan then actionbmust be included. We can model action implication constraint between a pair of actions by creating a special state variable for each implication.
§5.5 Summary 131
Figure5.4.2describes the state variable for the action implication constraint between actiona
Figure 5.2: Action implication state variable
andb. The bold edges represent the transitions for real action aandb. All other edges rep- resent transitions of dummy actions the we need to create for this special state variable. The “ImplicationStart” state represent the initial state and the “ImplicationDone” state represents the goal state for the state variable. If action a becomes active (that is included in the plan) then the path between the initial and goal state of the state variable must contain the transition of actionb. Note that in normal state variables of a transition supports another transition then it implies a precedence constraint between the transitions. If the precedence constraints holds in this state variable then it would mean thatImply(a,b)can only hold ifa→bholds. To avoid that, for each state variable that represents an implication constraint, the precedence constraints between transitions will be ignored.
5.5
Summary
In this chapter we have described how to model sequence dependent setup times, time-windows (which generalizes the release date and deadline constraints) on domain objects and actions, and constraints (counter and time-windows) on individual states of state variables. These op- erational constraints are very common in problems that lie between planning and scheduling problems. As we have shown above, describing these constraints in our problem description framework is straightforward and intuitive. Compiling these constraints from the model to our transition-based constraint model is also simple, since these constraints translate to a set
of simple temporal and counting constraints. We will describe modeling of a problem that includes many of these operational constraints in the next chapter.
Chapter 6
Case Study
In this chapter we will describe how to model a realistic planning and scheduling problem in our transition-based framework as described in the previous chapters. In this thesis we have proposed a framework for modeling and solving problems that are in between planning and scheduling. There are many realistic problems across different industries that fall into this category. Examples of such problems can be found in space applications, factory production, and supply chain problems in different industries.
In this chapter we choose one such problem and show how to model this problem in our framework. The purpose of this chapter is to show how realistic problems can be intuitively modeled easily in the framework, which then is compiled to a standard CSP.
6.1
Description of the complex satellite domain
Fleets of Earth-observing satellites are used for a variety of purposes: to observe weather, track movements on land and at sea, monitor climate change and volcanic eruptions, and many more. These satellites make observations and send information to the earth via ground stations. For a satellite to perform an observation a sequence of tasks need to be performed: first the satellite needs to turn one of its instrument towards the observation target, then make the observation, and then download the observed data to a ground station located on Earth. There are predefined time windows when a satellite can make an observation or download the data to a ground sta- tion based on the flight path of the satellite. Limited data storage capacity and power onboard each satellite restrict its capacity to make observations.
A simplified version of this type of space-related application problem has been used to cre- ate the well known ’Satellite’ planning domain, used in planning competitions. The problem that we would like to model in our formalism is a more complex version (though, still simpli- fied from the real problem) of the satellite domain as described by David Smith via personal communication. We have chosen the satellite problem because of its familiarity in the AI plan- ning and scheduling community, and have wide range of interesting constraints. We will show that our representation can express most of the complexities in the satellite problem.
The main task of the set of Earth observing satellites is to take pictures of a given set of targets. In general, to take a picture of a target, a satellite performs a sequence of actions: first it turns one of its instruments that is suitable for taking the picture to the target location, then it takes the picture and stores it in its on-board memory. Each picture taken by a satellite needs to be downlinked from on-board memory to a ground station. Similar to the picture-taking action sequence a satellite performs two steps to downlink the stored data: first it turns one of its antennas to the ground station’s location, and then it downlinks the data.
The simple task of taking a picture by a satellite becomes complex when we consider the following factors. During the picture-taking operation, the target must be visible to the satellite instrument. For each satellite, each target is only visible within a set of time windows (when satellite is flying over or near the target). Only a select set of instruments on a satellite can be used for a given target, and depending on which instrument is used it may take a different amount of time to turn the instrument to the target, as each instrument on a satellite has its own turning rate. In general, a satellite can use more than one instrument to take pictures of different targets at the same time (provided they are all visible to the satellite at the same time), but some instruments can’t be used simultaneously due to their design.
Similarly, the downlinking actions are complicated by the following facts. For each satel- lite, each ground station is only visible within a set of time windows. Each ground station operates in a set of predefined frequency bands, and each antenna on a satellite has its own frequency. This means that not every antenna can be used to download data to every ground station. To downlink data, the ground station must be visible and the frequency of the antenna must be compatible with the ground station’s frequencies. Also, each antenna on a satellite has its own data transfer rate which defines the total duration needed to downlink a picture using that antenna. Before a downlink operation can begin, the antenna for the operation must turn to the ground station. Similar to the instruments, the duration of a turning action depends on the turning rate of the antenna.
In addition to the constraints above, there are other operational constraints that must be taken into account by the satellites while performing picture taking or downlink actions. We describe some of these constraints in the following. Both picture-taking and downlinking actions must be preceded by a turning action of either an instrument or antenna. These turning actions produce vibration, and because of that, picture-taking and turning actions can not be performed concurrently. The on-board memory of each satellite is a finite capacity solid state recorder (SSR). One of the main constraints of the SSR is that data can only be read or written on it at any point in time. This means that picture-taking and downlinking actions can’t be performed simultaneously. Each action in this problem domain: turning, downlinking, or picture-taking consumes power. Each satellite has a finite capacity power source that can be only be recharged during predefined time windows when the satellite is in the view of the sun. The satellite problem described above is in the class of problems that are in between plan-