68
Online-2003 Online Constraint Solving: Handling Change and Uncertainty A CP2003 workshop, Kinsale, Co. Cork, Ireland September 29th, 2003 On-line problem solving is a significant issue for many practical applications, where solutions must be executed as the operating environment changes. Many of the application areas have been tackled by constraint based methods, but current constraint solving tools offer little support for on-line problems. Possible enhancements could include rapid reaction to problem changes, prediction of future changes and contingent solutions, time guarantees or exploitation of known time limits. This workshop aims to bring together researchers interested in these topics, to consider how existing techniques can be enhanced, and to explore combinations of different techniques. The workshop will be of interest to those modelling and solving real world problems, to those interested in theoretical issues in constraint solving, and also to members of the Uncertainty in AI and Planning and Scheduling communities. The most recent antecedents of this workshop were the CP2001 workshops OLCP01 (Online combinatorial problem solving and Constraint Programming) and CUW01 (Constraints and Uncertainty). All submissions to the workshop were reviewed by at least two referees. Five papers were selected for full presentation, and are contained in these working notes. The workshop will finish with an open discussion session on particular topics in Online Constraint Solving. We welcome you to the workshop, and look forward to a fruitful discussion. Workshop Organisers Chris Beck Cork Constraint Computation Centre, Ireland Ken Brown Cork Constraint Computation Centre, Ireland GØrard Verfaillie RIA Research Group, LAAS-CNRS, France Program Committee Roman BartÆk Charles University, Czech Republic Amedeo Cesta ISTC-CNR, Italy Markus Fromherz Parc, USA Carmen Gervet IC-PARC, UK Simon de Givry INRA, France Bill Havens Simon Fraser University, Canada Narendra Jussien Ecole de Mines de Nantes, France Ralf Keuthen a.p.solve Limited, UK Ian Miguel University of York, UK David Lesaint BT Exact, France Jon Spragg a.p.solve Limited, UK Thierry Vidal ENIT, France Toby Walsh Cork Constraint Computation Centre, Ireland

Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

Embed Size (px)

Citation preview

Page 1: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

Online-2003

Online Constraint Solving:

Handling Change and Uncertainty

A CP2003 workshop, Kinsale, Co. Cork, Ireland

September 29th, 2003

On-line problem solving is a significant issue for many practical applications, where solutions

must be executed as the operating environment changes. Many of the application areas have

been tackled by constraint based methods, but current constraint solving tools offer little

support for on-line problems. Possible enhancements could include rapid reaction to problem

changes, prediction of future changes and contingent solutions, time guarantees or

exploitation of known time limits.

This workshop aims to bring together researchers interested in these topics, to consider how

existing techniques can be enhanced, and to explore combinations of different techniques. The

workshop will be of interest to those modelling and solving real world problems, to those

interested in theoretical issues in constraint solving, and also to members of the Uncertainty in

AI and Planning and Scheduling communities. The most recent antecedents of this workshop

were the CP2001 workshops OLCP�01 (Online combinatorial problem solving and Constraint

Programming) and CUW�01 (Constraints and Uncertainty).

All submissions to the workshop were reviewed by at least two referees. Five papers were

selected for full presentation, and are contained in these working notes. The workshop will

finish with an open discussion session on particular topics in Online Constraint Solving. We

welcome you to the workshop, and look forward to a fruitful discussion.

Workshop Organisers

Chris Beck Cork Constraint Computation Centre, Ireland

Ken Brown Cork Constraint Computation Centre, Ireland

Gérard Verfaillie RIA Research Group, LAAS-CNRS, France

Program Committee

Roman Barták Charles University, Czech Republic

Amedeo Cesta ISTC-CNR, Italy

Markus Fromherz Parc, USA

Carmen Gervet IC-PARC, UK

Simon de Givry INRA, France

Bill Havens Simon Fraser University, Canada

Narendra Jussien Ecole de Mines de Nantes, France

Ralf Keuthen a.p.solve Limited, UK

Ian Miguel University of York, UK

David Lesaint BT Exact, France

Jon Spragg a.p.solve Limited, UK

Thierry Vidal ENIT, France

Toby Walsh Cork Constraint Computation Centre, Ireland

kb11
1
Page 2: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

Contents

John Bresina, Ari Jonsson, Paul Morris and Kanna Rajan 3

Constraint Maintenance with Preferences and Underlying Flexible Solution

Amedeo Cesta and Riccardo Rasconi 9

Execution Monitoring and Schedule Revision for O-OSCAR: a Preliminary Report

Emmanuel Hebrard, Brahim Hnich and Toby Walsh 24

Super CSPs

Nicola Policella, Stephen F. Smith, Amedeo Cesta and Angelo Oddi 39

Steps toward Computing Flexible Schedules

Francesca Rossi, Brent Venable and Neil Yorke-Smith 54

Preferences and Uncertainty in Simple Temporal Problems

kb11
2
Page 3: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

Constraint Maintenance with Preferences and

Underlying Flexible Solution

John Bresina�

Ari Jonsson�

Paul Morris�

Kanna Rajan�

1. Research Institute For Advanced Computer Science

2. Computational Sciences Division

NASA Ames Research Center, MS 269-1

Moffett Field, CA 94035, U.S.A.

Abstract. This paper describes an aspect of the constraint reasoning mechanism

that is part of a ground planning system slated to be used for the Mars Exploration

Rovers mission, where two rovers are scheduled to land on Mars in 2004.

The planning system combines manual planning software from JPL with an au-

tomatic planning/scheduling system from NASA Ames Research Center, and is

designed to be used in a mixed-initiative mode. Among other things, this means

that after a plan has been produced, the human operator can perform extensive

modifications under the supervision of the automated system. For each modifica-

tion to an activity, the automated system must adjust other activities as needed to

ensure that constraints continue to be satisfied. Thus, the system must accommo-

date change in an interactive setting.

Performance is of critical importance for interactive use. This is achieved by

maintaining an underlying flexible solution to the temporal constraints, while the

system presents a fixed schedule to the user. Adjustments are then a matter of

constraint propagation rather than completely re-solving the problem. However,

this begs the important question of which fixed schedule (among the ones sanc-

tioned by the underlying flexible solution) should be presented to the user. Our

approach uses mutable preferences as a prism through which the user views the

flexible solution.

1 Introduction

The Mars Exploration Rovers (MER) mission is one of NASA’s most ambitious science

missions to date. Two rovers were launched in the summer of 2003 with each rover

carrying instruments to conduct remote and in-situ observations to elucidate the planet’s

past climate, water activity, and habitability.

Science is the primary driver of MER and, as a consequence, making best use of the

scientific instruments, within the available resources, is a crucial aspect of the mission.

In general, every sol (Martian day, about 24 hours and 40 minutes), telemetry from each

rover is received on Earth. Based on the downloaded data, a detailed sequence of com-

mands for the next sol must be constructed, verified, and uplinked to the rover. Thus,

a viable sequence that satisfies the mission goals needs to be formulated within tight

deadlines. To help address this critical need, the MER project has selected MAPGEN

(Mixed-initiative Activity Plan GENerator) as an activity planning tool.

kb11
3
Page 4: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

MAPGEN combines two existing systems, each with a strong heritage: APGEN [6],

the Activity Planning tool from the Jet Propulsion Laboratory and the Europa Plan-

ning/Scheduling system [4, 7] from NASA Ames Research Center. The Mixed-Initiative

aspect means that after an initial plan has been produced, it undergoes a period of

“tweaking” by the human operator. Thus, the system must accommodate change, and

must do so rapidly enough for interactive use. As we will see, this is achieved by ex-

ploiting an underlying flexible solution in Europa so that fast temporal propagation

methods can be used.

Flexible time means that instead of finding a single solution, the Planner preserves

maximum temporal flexibility by maintaining a set of solutions that satisfy the con-

straints. This is represented internally as a Simple Temporal Network [3] (STN). As a

result of propagation in the STN, each activity acquires a refined time window for its

start time.

One advantage of preserving a flexible set of solutions is that the Planner may adapt

to additional constraints by exploiting the flexibility, rather than completely re-solving

the problem. However, this has to be reconciled with APGEN, which expects to see a

fixed time schedule. Also, many tools associated with APGEN, such as those that do

calculations of resource usage, require a fixed schedule of activities. Apart from these

pragmatic considerations, direct presentation of temporal flexibility to a plan GUI in a

way that is not confusing poses significant problems: it is difficult to provide a visual

representation of flexibility and temporal relations between activities in a way that does

not obscure the display.

The approach we take is to present a single solution to the user in the APGEN GUI,

while the Planner maintains the flexible set of solutions as a backup. This raises the

issue of determining which fixed schedule to present to the user. In the remainder of

the paper, we address this as follows. In section 2, we discuss a natural condidate for a

fixed-time schedule, but show that this may violate user preferences. Next, in section 3,

we consider constraints and preferences in more detail, and argue that the complexity

and transitory nature of the preferences makes it impractical to model them explicitly.

The alternative chosen here is to allow the human operator to modify the plan in a

way that incorporates his or her implicit preferences. Then, in section 4 we consider

an update algorithm that respects this approach. To avoid unnecessarily clobbering the

user modifications, the automated system adopts a policy of minimal change (which

may be viewed as a surrogate set of preferences). In section 5, we conclude.

2 Earliest Time Solution

The theory of Simple Temporal Networks guarantees that a solution is obtained by

assigning to each event the earliest time in its time window. This seems like an obvious

candidate for the solution to be presented to APGEN. However, this creates certain

undesirable artifacts.

Consider for example an activity that has a flexible start time and flexible dura-

tion, but the end time is fixed by a constraint. The earliest time solution will cause the

duration to be stretched to its maximum extent, which may not be what the user wants.

kb11
4
Page 5: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

In our application, the durations are generally not flexible. Nevertheless, more sub-

tle forms of this problem can occur, as indicated by the following example. The most

critical time for the solar-powered Mars Rover in terms of energy is often in the early

morning period before the batteries have fully recharged. The CPU is a primary user

of energy, and it is required to be on to enable most of the activities. Thus, one way

of economizing on energy use is to have greater overlap between CPU-using activities.

However, if two overlapping activities are such that the later one is “anchored” in time,

while the earlier one is flexible, then they will tend to be pulled apart by the earliest

time solution, thus increasing the energy demand.

In the above example, the requirement that fixes the time of an activity is an explicit

temporal constraint, and the overlap restriction is a derived preference that may arise

from resource limitations. While the earliest time solution may be acceptable as a gen-

eral default, interactions between constraints and preferences may require departures

from this to satisfy specific user needs.

3 Constraints and Preferences

In this application, there is a variety of constraints and preferences that arise from en-

gineering restrictions and scientific need, many of which may not be recognised until

specific circumstances arise in operation.

The explicit temporal constraints fall into three categories: model constraints, daily

constraints, and expedient constraints. The model constraints encompass definitional

constraints and some flight rules. For example, the decomposition of activities into

sub-activities specifies temporal relations between the parent and its children. Some

activities might be restricted to the day or the night. The daily constraints comprise “on

the fly” temporal relations between elements of scientific observations, depending on

what scientific hypotheses are being investigated. For example, an image may be taken

before using a specific instrument in some circumstances, but not in others. The expedi-

ent constraints are those imposed by the Europa planner to guarantee compliance with

some higher level constraint that cannot be directly expressed in an STN. For example,

a flight rule might specify that two activities are mutually exclusive (such as taking a

picture while the rover is moving). This is really a disjunctive constraint, but the plan-

ner will satisfy it by placing the activities in some arbitrary order. This has important

implications for the tweaking process: the operator may wish to reverse the arbitrary

order selected by the planner.

In general, the temporal constraints cover the gamut of those expressible in an STN,

including absolute upper and lower time bounds, precedences with quantitative modi-

fiers, relative and absolute deadlines, etc.

There are also preferences that arise from varied sources. Some are based on engi-

neering or scientific considerations such as desiring calibrations to be close to measure-

ments, or wanting separate observations to occur in similar lighting conditions. Perhaps

most are derived from the need to solve problems related to resources. In general, the

tweaking process is driven by a desire to fit as much “science” as possible into the plan,

while steering it on a course that avoids running aground on competing resource limita-

tions. The planner has a limited ability to automatically tweak a plan to try to resolve a

kb11
5
Page 6: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

battery energy shortfall, for example by increasing activity overlap (thus reducing cpu

time), but most tweaks are performed by the human operator.

Many of the resource calculations are complex. For example, they may involve ther-

mal modelling performed by legacy software. There are often complex options available

for reducing usage. For example, in imaging, there are several ways of reducing data

volume, such as reducing resolution, or using fewer filters. Choosing between these may

require human-level scientific judgement. This means that many of the preferences have

an ephemeral nature driven by short-term solutions to transient problems.

These considerations rule out formal modelling of most preferences and dictate

the need for a process of informal tweaking by a human operator. The preferences

are implicit in the modifications made during this period. However, the modifications

interact with the hard constraints discussed above. The automated system must prevent

these from being violated. Within this framework, a policy of minimal change provides

a reasonable approach for respecting the implicit preferences.

A dramatic illustration of the need for the minimal change occurs when switching

from a native APGEN mode, where users are free to modify activities at will, unim-

peded by constraints, to the mode where constraints are enforced. To satisfy constraints,

some activities must be moved, but arbitrary reorganization of the plan is undesirable.

4 Accommodating Change

Assume that a plan has been produced, and no preferences have yet been expressed

to modify the solution. Then the initial solution presented is the earliest time one dis-

cussed earlier. During the subsequent tweaking phase, MAPGEN provides a GUI fea-

ture, called constrained move, that allows dragging an activity to a new location. When

the mouse button is released, other activities are also moved to maintain the integrity of

the constraints. For example, the moving activity may “push” other activities ahead of

it because of precedences established by the user or the planner.

This raises an issue with respect to the expedient constraints. Since these arise from

disjunctive constraints that could be satisfied by different arbitrary choices, a mode is

provided in which the expedient constraints are relaxed. This allows moved activities

to pass over intervening activities that would otherwise be pushed ahead because of

expedient constraints. When this relaxed mode is exited, there is a need to re-establish

constraints in a way that minimizes the disturbance to the existing plan. A similar need

arises when passing from the native APGEN mode to the constraint-maintenance mode.

Also, the input files presented to MAPGEN are implicitly in the APGEN mode, and

require a similar assimilation to the constraint-maintenance mode.

In this section, we describe the algorithm that is used to modify the solution pre-

sented to APGEN by the Europa system. In this interactive application, efficiency con-

siderations seem to rule out the seeking of true optimality (even the tractable kind dis-

cussed in [5]). Instead, we have adopted a greedy algorithm that locally minimizes the

amount of change from the existing positions of activities.

It is convenient to use a special set of unary singleton constraints to store the current

positions of the start and end times of activities. Then the algorithm for updating after

a constrained move can be outlined as shown in figure 1.

kb11
6
Page 7: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

1. Save all the current positions in a temporary list.

2. Remove all the current position constraints and repropagate.

3. For each saved position t of timepoint x do

if t is within the STN bounds for x then

add a position constraint setting x to t

else if t < the lower bound for x then

add a position constraint setting x to the lower bound

else if t > the upper bound for x then

add a position constraint setting x to the upper bound

Propagate the effect of the new constraint;

Fig. 1. Constrained Update Algorithm

We see that each step that reinstalls a position constraint tries to minimize the de-

parture from the previous position while maintaining consistency. However, the greedy

nature of the algorithm means that the order in which activities are considered may

affect the outcome. For example, suppose that activity A is constrained to end before

activity B starts. If an APGEN file is loaded where activity A is initially simultaneous

with B, then one of A or B must be moved. Which of these occurs will depend upon the

order in which A and B are considered for the position update in step 3.

The algorithm for updates when exiting a relaxed mode is similar, except that the

relaxed constraints are reimposed after step 2. In the case of expedient constraints, the

arbitrary planner choices for resolving the disjunctions are subject to change to reflect

the saved positions of the timepoints as much as possible.

There are certain situations in which the user needs to ensure that a particular ac-

tivity prevails in the update lottery. For example, after a constrained move, clearly the

activity that is moved should be held to its new position. This is easily done by consid-

ering it first. (The new position is guaranteed to be within the STN bounds because a

visual indication of these bounds is given during the move, and attempts to move the

activity outside that range are ineffective.)

For more general situations, a pinning mechanism is provided that allows the user

to lock specified activities at their current positions. This is achieved by applying ad-

ditional constraints. There is a visual indication of which activities are pinned, and

they can be unpinned on request. (Certain engineering activities, such as generally im-

mutable communication windows, are pinned by default.)

Note that step 2 of the algorithm requires a repropagation of the network after dele-

tion of constraints. In general, propagations of an STN after deletions are more costly

than the simple incremental propagations that occur after additions. However, in the

constrained-move case, the deletions are from a consistent state, which means a so-

lution to the STN is already known. This allows us to exploit a trick from Johnson’s

algorithm [2] so that the��� �����

Dijkstra algorithm can be used to update the flex-

ible set of solutions, rather than the more costly�����

Bellman-Ford (where�

is

the number of nodes and�

the number of edges in the STN). The trick involves using

the known solution to form a new network with non-negative weights that has the same

shortest paths as the original network. This can then be used to guide the propagation

kb11
7
Page 8: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

in the original network. (As it turns out, even a near-solution provides excellent guid-

ance for the propagation, so this technique is also helpful in repropagation following

deletions from an inconsistent state.)

With typical networks not exceeding 1000 nodes, the propagation, using the above

mechanism, appears instantaneous to the interactive operator. (Note that if even greater

speed were needed, elaborate techniques for incrementality after deletions [1] are avail-

able in the literature, but they were not needed in our case.)

When switching from relaxed mode to strict mode (see above), it is possible for

the current set of constraints (including pins) to be inconsistent. If inconsistency is

encountered during the greedy update, the system removes the most recent implicated

activity from the plan, and places it in a temporary storage area called the hopper, where

it can be inspected by the operator, and possibly reinserted into the plan after further

modifications.

5 Closing Remarks

We have discussed an application to assist in ground planning for the MER mission

to Mars, and have focused on accomodating change in the context of an interactive

tweaking session following automatic plan generation. The modifications provide a way

of incorporating implicit preferences in the solution while respecting hard constraints.

Since the mission is still ongoing, this is very much a work in progress. Usability

and performance considerations are paramount, and continuing operational readiness

tests provide feedback that help to refine the system. Hopefully, a period of reflection

following the mission may lead to insights that address these issues at a deeper level.

Acknowledgement: We thank the referees for their useful suggestions.

References

1. R. Cervoni, A. Cesta, and A. Oddi. Managing dynamic temporal constraint networks, in ar-

tificial intelligence planning systems. In Proceedings of the Second International Conference

on Artificial Intelligence Planning Systems (AIPS-94), 1994.

2. T.H. Cormen, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms. MIT press, Cam-

bridge, MA, 1990.

3. R. Dechter, I. Meiri, and J. Pearl. Temporal constraint networks. Artificial Intelligence, 49:61–

95, May 1991.

4. Ari K. Jonsson, Paul H. Morris, Nicola Muscettola, Kanna Rajan, and Benjamin D. Smith.

Planning in interplanetary space: Theory and practice. In Artificial Intelligence Planning

Systems, 2000.

5. L. Khatib, P. Morris, R. Morris, and B. Venable. Tractable pareto optimization of temporal

preferences. In Proceedings of the 18th International Joint Conference on Artificial Intelli-

gence (IJCAI-03), Acupulco, Mexico, 2003. Morgan Kaufmann, San Francisco, CA.

6. Maldague, Ko, Page, and Starbird. Apgen: A multi-mission semi-automated planning tool.

In Proceedings of the 1st International Workshop on Planning and Scheduling for Space,

Oxnard, California, 1997.

7. N. Muscettola, P.P. Nayak, B. Pell, and B.C. Williams. Remote agent: to boldly go where no

AI system has gone before. Artificial Intelligence, 103(1-2):5–48, August 1998.

kb11
8
Page 9: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

Execution Monitoring and Schedule Revision for

O-OSCAR: a Preliminary Report

Amedeo Cesta and Riccardo Rasconi

Planning & Scheduling Team — http://pst.ip.rm.cnr.it

Institute for Cognitive Science and TechnologyNational Research Council of Italy

Viale K. Marx 15, I-00137 Rome, Italy{cesta | rasconi }@ip.rm.cnr.it

Abstract. This paper addresses the problem of maintaining the consis-tency of a pre-defined schedule during its execution in a real or simulatedenvironment. This issue, referred to as Reactive Scheduling Problem, isknown to be inherently difficult due to the usually strict timelines inwhich the revising procedure is called to react. Schedule revision mustbe quick, and sometimes solution quality must come as a secondary pri-ority as the execution of the schedule does not allow for time-intensivecomputations. In this work we present a Schedule Execution Monitorand Control System which seizes upon the O-OSCAR (Object-OrientedSCheduling ARchitecture) scheduling tool, a constraint-based softwarearchitecture for the solution of complex scheduling problems. The coresolving engine of O-OSCAR is represented by the ISES algorithm (Iter-ative Sampling Earliest Solutions), a constraint-based method for thesolution of the RCPSP/Max problem (Resource Constrained ProjectScheduling Problem with Time Windows). We have used the preceedingsoftware architecture as a starting point to develop a Schedule ExecutionMonitor and Control System, capable of reactively maintaining the con-sistency of the schedule in spite of possible unexpected events to occurat schedule execution time. This paper describes this new module andthe current idea of schedule revision also based on the ISES algorithm.

1 Introduction

The problem we are currently studying concerns how to manage a pre-definedschedule while it is being executed in a real or simulated working environment.When we talk about “real” or “simulated”, we mean an environment whichretains some degree of unpredictability. A schedule (or solution) consists of acertain number of activities, possibly aggregated in jobs, each of which requiresome resources in order to be executed.

One key point is the fact that resources are limited in number and capacity.Hence, the need to find a suitable temporal collocation of all the activities suchthat no resource conflict arises. A resource conflict arises every time one or moreactivities attempts to use a resource beyond its available capacity. When such a

kb11
9
Page 10: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

consistent temporal allocation of all the activities is found, the schedule is saidto be feasible.

A further level of complexity is introduced by the fact that activities canin general be temporally constrained, either individually or among one another:for instance, some operation in a schedule might be constrained not to startbefore, or not to finish after, a certain instant; in addition, there might be severalprecedence constraints between any two activities in the schedule: for instance,activity B might not be allowed to start before the end of activity A, and soforth.

The issue of schedule consistency has therefore two aspects: on one side, re-source consistency must be maintained at all times, since it is obviously notpossible to perform operations when the necessary resources are not available; onthe other side, the schedule temporal constraints, i.e. release time constraints,deadline constraints, precedence constraints as well as others, should be keptsatisfied as well, as they constitute an integral part of the schedule specifica-tions. A schedule where all the temporal constraints are satisfied, is said to betemporally consistent.

Another key issue is the quality of the solutions. During schedule execution,we will be faced with the need of revising the actual solution when its consistencyhas been spoiled by an exogenous event; the activities of the schedule must beallocated anew in order to re-gain consistency and in most cases it is of greatimportance to keep the new solution as close as possible to the previous one. Inother words, it is desirable that the impact of an unforeseen event on the solutionbe kept to a minimum. In broad terms, a meaningful quality measure could bedetermined by the level of continuity which we are able to guarantee after therevision of the solutions. Of course, there might be cases where maintaining sucha high level of continuity is not so important (as well as cases where it is simplynot possible!).

One of the major difficulties when working in real environments consists incounteracting the effects that the possible unexpected events may have on theschedule in a timely manner. Schedule revision must be quick, and sometimessolution quality must come as a secondary priority because the execution of theschedule does not allow for time-intensive computations.

There are traditionally two approaches to this problem, the Predictive ap-proach and the Reactive approach [5]. The first one is based on the synthesisof an initially robust schedule, that is, a schedule which is capable to absorb,within a certain limit, the spoiling effects of unexpected disturbances withoutthe need of re-scheduling; the second one, which is the approach we are currentlystudying, tries to maintain consistency by manipulating the schedule every timeit is deemed necessary.

In this work, the occurrence of unexpected events will be simulated by ran-domly changing the actual “world description” by introducing some disturbancestaken from a pre-defined set, in an attempt to realize a life-like scenario. A soft-ware module has been developed specifically to create and inject such distur-bances during the schedule execution, the Contingency Simulator. The main

kb11
10
Page 11: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

goal of the scheduling system will therefore be the one of representing the possi-ble damages, fire the repair action and continously guarantee the executabilityof the schedule.

To this aim, an Execution Monitor has been developed, which is capable torealize a sort of reactive behaviour and conveniently re-adjust the schedule acti-vities by means of the ISES procedure (Iterative Sampling Earliest Solutions)[3], a constraint-based method originally designed to solve the RCPSP/Maxproblem (Resource Constrained Project Scheduling Problem with Time Win-dows).

The Schedule Execution Monitor has been developed as an integration to theO-OSCAR (Object-Oriented SCheduling ARchitecture) tool [2], an existingconstraint-based software architecture for the solution of complex schedulingproblems. The Contingency Simulator is designed as an external module thatbrings the constraint-based representation abilities into play.

The paper is organized as follows: Section 2 gives a brief overview of the O-OSCAR architecture and its main components; Section 3 introduces the problemof generating contingencies and representing them within O-OSCAR constraintmodeling ability, while the Execution Monitor will be described in Section 4.Some conclusions end the paper.

2 The O-OSCAR Software Architecture

In this section we describe the original O-OSCAR scheduling architecture (Fig.1)upon which the Execution Monitor was developed. The whole system initiallyimplemented under MS Windows, is currently being ported to Linux.

The approach used to tackle the scheduling problem is definitely constraint-based. Constraint satisfaction is exploited both as a representation tool as wellas mechanism to guide problem solving. Ancestors of O-OSCAR can be consid-ered for example blackboard based architectures like those described in [11, 9,7]. Similar is also the approach followed in [1]. Distinctive features in O-OSCARare the particular emphasis given to the flexibility of the core contraints repre-sentation, as well as on the central role played by the ISES algorithm [3].

The kernel of the system is the Representation Module. Its task consistsof maintaining the description of the world (Domain Representation) and thedescription of the problem to be solved (Problem Representation).

– Domain Representation: All the relevant features of the world and therules which regulate its dynamic evolution should be described in a symboliclanguage. It is thanks to this basic knowledge that the system is able to offerservices.

– Problem Representation: A description of the goals in terms of desiredstates of the world must be given, and the scheduler will try to reach thespecified goal states starting from the initial one.

O-OSCAR uses a Constraint Satisfaction Problem (CSP) approach [12, 8]as the basic modeling tool for scheduling problems. Therefore, all the informa-tion maintained in the Representation Module must be organized in terms of

kb11
11
Page 12: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

Fig. 1. The O-OSCAR Architecture.

constraints. All the data necessary for the solving process is then stored andkept continously updated in a Constraint Data Base (CDB), which is the corecomponent of any architecture which tackles a CSP. The CDB offers an activeservice which aims at automatically enforcing, whenever possible, the satisfactionof the set of constraints which represent both the domain and the problem. Tobe more specific, it is in charge of the two following aspects:

1. Domain and Problem Representation: The Domain RepresentationLanguage allows the representation of classes of problems as well as thedefinition of the typical contraints related to each class. In the specificcase, O-OSCAR is capable of solving scheduling problems belonging to theRCPSP (Resource Constrained Project Scheduling Problem) class,in particular, the RCPSP variant with Generalized Precedence Relations(RCPSP/Max) [10]. The Problem Representation Language consists of a seton constraints specifying the activities and their constraint requirements asspecified by the RCPSP/max characteristics.

2. Solution Representation and Management: The CSP approach to pro-blem solving is based upon the representation, modification and maintenanceof a solution. The representation of a solution in O-OSCAR is built on topof two specialized Contraint Reasoners, each of them is in charge of aparticular aspect of the domain. Two fundamental pieces of information areto be maintained: the information on the temporal features of the domainand the information about resource availability. The constraint reasoners arecalled to action every time some changes are made to the current solutiondescription.

kb11
12
Page 13: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

The two main domain characteristics that need to be supported in the devel-opment of the Constraint Data Base for the resource constrained schedulingproblems are:

– quantitative temporal constraints allowing specification of both minimumand maximum separation constraints;

– multi-capacity resources, that is, the ability of dealing with resources withcapacity greater than one.

As shown in Fig.1, the Representation Module is endowed with two constraintreasoners which take charge of the two preceeding aspects: the first one, devotedto the temporal constraint management, stores and analyzes the temporal infor-mation making use of a Temporal Network and solving in every respect a SimpleTemporal Problem [6]; the second one stores the resource constraints and rein-forces resource consistency by dynamically maintaining specific data structurescalled Resource Profiles which keep information about the consumption level ofthe available resources.

The features described above are hidden to the external user, who is presenteda higher level interface, the Domain Description Language. This language bringsthe typical objects involved in a schedule to the user in terms of higher levelentities, such as activities, resources, constraints and decisions.

A number of active services can be implemented which seize upon the Rep-resentation Module, the first being the Automated Problem Solving module (theSOLVER, in Fig.1).

This module guides the search for a solution and is based upon the ISES al-gorithm (Iterative Sampling Earliest Solutions) [3]. The module is endowed withtwo main features: (a) an open framework to perform the search for a solution;(b) heuristic knowledge used to guide the search and lower the computationaleffort. ISES is defined as a profile based procedure: it relies on a core greedy al-gorithm which operates on a temporally consistent solution, detects the resourceconflicts using the information stored in the Resource Profiles data structures,and finally attempts to find a new solution that is resource consistent, by im-posing some additional precedence constraints between the activity pairs whichare deemed responsible for the conflicts, thus flattening the resource contentionpeaks below the maximum capacity level. This algorithm is iterated until eithera resource consistent solution is found or a dead-end is encountered. The greedyalgorithm is usually run according to some optimization criteria so to eventuallyobtain multiple, increasingly better solutions. Some degree of randomization isfinally injected in the sampling loop to retain the ability to restart the searchin the event that an unresolvable conflict is encountered, without incurring thecombinatorial overhead of a conventional backtracking search.

A second, very important module which is present in the O-OSCAR archi-tecture is the one which implements a quite complex Graphical User Interfaceaimed at guaranteeing a friendly User-System interaction. The services offeredby this module vary from simple visualization functionalities, to more sophisti-cated ones, allowing for instance the direct manipulation of the solution by theuser. The goal of such a module is to keep the user always aware and in control

kb11
13
Page 14: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

of the evolving situation so to enhance collaboration and a synergetic interactionbetween the intuition capabilities and specific knowledge of human beings on oneside, and the computational power of the automated system on the other.

The constraint-based representation mechanism offers the invaluable advan-tage that additional services can be easily added to the system, relying on thesame representation. This will become even more clear in the next sections wherewe will present the Execution Monitor, a module which closes the loop with thereal world and dispatches the activities for execution. The Execution Monitormodule seizes upon the CSP representation as it implements a reactive approachbased on schedule repair, by continously updating the CDB (representing thecurrent status of the solution), according to the possible sudden variations ofthe schedule at execution time.

3 Simulating and Representing Contingencies

The need to simulate a real working environment led us to develop a particularmodule, that we called the Contingency Simulator (CS). Its only purposeis to re-create the same conditions of uncertainty which typically affect the realworld, in order to test the repair capabilities of the Execution Monitor. As shownin Fig.2, we have added the Contingency Simulator Module as a block externalto the system, with the aim of synthesizing the environment where the schedulewill be put in execution.

Representation

Module

Resolution

Module

(ISES)

Execution

Control

Module

User Interaction

Module

Contingencies

Simulator

Execution

Environment

Server Client

Fig. 2. The O-OSCAR’s structure.

kb11
14
Page 15: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

The basic job of the CS consists of injecting, during the execution of the sched-ule, some kind of unexpected events in the environment at random instants.This generates input for the O-OSCAR Representation Module, which storesthe world representation.

For instance, at a certain point in execution, the CS may “decide” to sud-denly delay an activity, simulating the same kind of incident which could nor-mally occur in everyday’s working life. Such delay comes hardly ever withoutconsequences, especially if the schedule has strict time and resource constraints,as it is often the case. Typical consequences triggered by the delay may be forinstance the introduction in the schedule of:

– temporal inconsistency : the delay may have pushed some activities well be-yond some pre-defined temporal deadlines, and the temporal constraint rea-soner (see section 2) would promptly assess the situation as not consistent;

– resource inconsistency : the delay may have pushed the activity in a timezone where the overall resource requirement exceeds the maximum resourcecapacity, due to the requests of the other activities which operate in thesame interval; as before, the resource constraint reasoner would immediatelyrecognize the conflict.

Three kind of events are currently being simulated by the CS, as they representa realistic set of probable incidents to occur, for instance, in a real workflow.

Delays on the activities. As mentioned above, the Contingency Simulator mayinduce a sudden and unexpected time shift on one activity. This is representedwithin O-OSCAR by inserting a new precedence constraint between a particulartime point (namely, the origin of the temporal network) and the start time of thedelayed activity. It is worth mentioning here, but it will be reprised later, thatthe system is endowed with ad-hoc primitives which allow the dynamic insertionand deletion of a number of temporal constraint in and from the schedule. Thenew insertion is reflected in the insertion of a new constraint between two timepoints at Temporal Network level. Such change is immediately propagated in thenetwork by the proper constraint reasoner. If temporal consistency is not spoiled,we will obtain a new collocation of the activities in the schedule; in the oppositecase, the schedule will be found overconstrained, meaning that the occurred delayhas gone beyond some pre-existing temporal boundaries. As previously stated,resource consistency will then have to be checked as well, and this is when theExecution Monitor revision action may come into play.

Variations on activity durations. Next exogenous event that we have modeledis the change of duration of an activity. This change is represented by substitut-ing the activity with a new one having the same characteristics as for resourcerequirements, but of course different duration (which may not necessarily belarger). As with temporal constraints, proper primitives have been designedwhich allow the dynamic insertion and deletion of schedule activities.

Again, such a change in the schedule triggers a new propagation in the under-lying temporal network to assure that no pre-defined time constraints betweenany two time points are violated by the substitution.

kb11
15
Page 16: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

If the difference ∆T in the activity duration is positive, then resource con-sistency will again have to be checked, exactly as in the previous case; in case∆T should be negative (the activity will last shorter than expected), no resourceconflict may ever arise, yet a revision of the schedule is still recommended so totake profit of possible opportunities, created by the sudden vacancy of resourceusage.

Resource breakdowns. The last event we are going to model is the unexpected lossof some resource. In case of such an occurrence, it is very likely that a resourceconflict may arise, therefore the need of a quick re-schedulation of the activities.Our system can handle multicapacity resources, that is, resources having capacitygreater than one: therefore the CS should be able to simulate also the partialloss of a resource capacity, (temporary or definitive). For example, assuming thepresence of three identical trucks as resources in a schedule (resource type: truck,resource capacity: three), one might want to re-create the loss of just one truck.

O-OSCAR models resource breakdown by the simple insertion of a new ghostactivity with the only aim to add another source of contention in the schedule.The ghost activity will make use of the resources which have to be collapsed,of exactly the capacity that has to be collapsed. In other words, the condemnedresource will be “eaten out” by the ghost activity, obtaining as an overall effect,its partial or total breakdown.

An important issue has to be raised at this point: the ghost activities whichare added by the CS to simulate resource unavailability are activities which donot belong to the schedule and as such, must not participate to any possibleschedule revision process. As we will see in the next section, the ISES procedureis not capable of distinguishing ghost activities from the ordinary ones, so theonly way to exclude the former from being re-scheduled is to “anchor” them,once and for all, to the time interval where they have been placed initially.This is achieved by inserting a so called Fixtime constraint (see section 4)and relating it to the start time of each ghost activity. The Fixtime constraintbasicly imposes a rigid distance between any two time points; any attempt tochange their mutual distance will be forbidden by the time constraint reasoneras it may cause a violation of the Temporal Network consistency. In our specificcase, the Fixtime constraint imposed on a ghost activity simply fixes the distancebetween the time point origin of the Temporal Network and the ghost activitystart time.

As it will be shown in detail in the next section, the expressiveness of theconstraint-based design of O-OSCAR has been fully exploited in the developmentof the CS module. A set of higher level primitives for the insertion/deletion ofconstraints in/from the schedule has been implemented which guarantees richand complete representation capabilities. Based on the versatility of O-OSCAR,these primitives not only permit a dynamic management of all kinds of temporalconstraints on the basis of a few simple parameters to be supplied by the user,but as will be more clear shortly, they add a further degree of expressiveness tothe system by introducing the capability to add or remove new activities on thefly, during schedule execution.

kb11
16
Page 17: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

4 The Execution Monitor

Once an initial solution to a given problem is obtained, the Execution Controlmodule (see Fig.2) is responsible for dispatching the activities of the plan forexecution and detecting the status of both the execution and of the relevantaspects of the world.

As explained in the previous section, the detected information is used toupdate the CDB in order to maintain the world representation perfectly consis-tent with the evolution of the real environment; the main issue is that updatingthe data stored in the Representation Module in accordance to the informa-tion gathered from the environment may introduce some inconsistency in theschedule representation.

We have implemented an Execution Monitor which reacts to these inconsis-tencies as they are detected, namely attempting to take the schedule back to aconsistent state, so as to keeping it executable.

The repair action is performed by exploiting the capabilities of the ISESalgorithm, which is used as a “black box”; in other words, schedule revisions areapproached as a global re-scheduling actions, without focusing on a particulararea of the solution, as realized with different approaches, e.g., [11].

Updating the schedule representation. Our global approach requires some pre-ventive action to be taken before the ISES procedure is fired, in order to havethe necessary control on schedule repair choises. In other words, we can guidethe revision process by preventively constraining the activities, depending on thestrategies we want to realize. A number of primitives have been developed whichmake the dynamic insertion and deletion of temporal constraints possible.

At present time these primitives handle the following constraints:

1. Precedence Constraint: imposes a temporal relationship between twoactivities; in the shown example, activity A2 cannot start before the endof activity A1 [st2 ≥ st1+dur(A1)].This is achieved by imposing a minimum distance between the start times ofthe activities A1 and A2, equal to the duration of A1. In this way, we keepthe two activities relatively separated, so that a temporal shift executed onA1 would immediately induce a shift on A2 as well;

2. Deadline Constraint: imposes a time boundary on the activity end time;the activity cannot end after the deadline dl [et ≤ dl ];This is achieved by imposing a maximum distance between the time pointorigin and the end time of the activity. In this way, we do not force the ac-tivity to end at instant dl , but we certainly ensure that it will not terminatebeyond that point;

3. Release Time Constraint: imposes a time boundary on the activity starttime; the activity cannot start before the release time rt [st ≥ rt ];This is achieved by imposing a minimum distance between the time pointorigin and the start time of the activity. In this way, we do not force theactivity to start at the instant rt , but we certainly ensure that it will notattempt execution before that point;

kb11
17
Page 18: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

4. FixTime Constraint: similar to the previous one, imposes a more rigidconstraint on the activity start time; the activity cannot start neither before,nor after a determined fixed instant ft [st = ft ];This is achieved by imposing a minimum and a maximum distance, mindand maxd respectively, between the time point origin and the start time ofthe activity, with mind = maxd = st . In this way, any attempt to movethe activity away from its determined FixTime instant will be forbidden bythe temporal constraint reasoner.

1 T ←− 02 execSched ←− schedule0

3 while(Schedule NOT executed)4 ENVIRONMENT SENSING

5 if (Unforeseen Events)6 UPDATE REPRESENTATION

7 if (NOT Temporal Consistency)8 EXIT WITH FAILURE

9 else if (NOT Resource Consistency)10 SCHEDULE REVISION

11 if (Conflicts NOT eliminated)12 EXIT WITH FAILURE

13 else

14 T = T+1

Fig. 3. The execution algorithm.

Executing the schedule. The pseudo-code in Fig.3 describes the execution algo-rithm. At the beginning, the time variable T is initialized and so is the variableexecSchedule which refers to the schedule under execution.

At every cycle, the environment is sensed in order to detect any possibledeviation between the expected and the actual situation; if unforeseen eventshave occurred, we update the world representation stored in the CDB, to reflectthe new world status.

Next step consist of checking temporal consistency, as in the CDB updat-ing process we may have added to the representation some temporal constraintswhich are in conflict with the existing ones.

If consistency is lost, the algorithm must terminate with failure, as no repairaction is possible unless some previously imposed constraints are relaxed; if timeconsistency is not spoiled, resource consistency must be checked as well, be-cause the occurrence of the exogenous event may have introduced some resourceconflicts in the schedule, although leaving it temporally consistent.

If no resource conflicts are present, the execution of the schedule may con-tinue; otherwise, a schedule revision must be performed, in the attempt to

kb11
18
Page 19: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

eliminate resource contention. If the schedule revision process succeeds in elimi-nating the conflicts, execution may continue; otherwise the algorithm must exitwith failure.

4.1 Schedule Revision

Let us take a closer look at the way the activities in the schedule are actuallymanipulated during execution and repair. As previuosly stated, the approachused in our Execution Monitor can be considered as global [4, 13] in that therevision procedure accepts the schedule as a whole, tries to solve all the presentsconflicts and returns the solution. In other words, the ISES procedure does notmake any difference between terminated, started or yet-to-start activities, andhas no concept of time. As a consequence, the only chance at our disposal toexert some control over the activities is to do it in a preventive way, that is,before the ISES procedure begins the manipulation of the schedule.

Such control is necessary for at least two reasons: (a) we want to keep thesolutions physically consistent at all times; (b) we want to retain the possibilityto satisfy a set of preferences given by the users.

Let’s go deeper in the subject by focusing on some practical issues arisingduring schedule execution that we have to face in order to obtain meaningfulresults from the revision pocess. We assume the schedule under execution withcurrent execution time = tE .

Physical Consistency. The consistency must be satisfied at all times, becausethe current solution always embodies the description of a real world situation.

There are many ways in which physical consistency may be spoiled as aresult of an inattentive action: for instance, the re-scheduling procedure may tryto re-allocate some activities which have already started execution.

Clearly, this represents an inconsistent situation and must be avoided atall costs. The problem is solved by inserting a new FixTime constraint forevery activity whose start time st = tE . By doing so, we impose a very stricttemporal constraint on the activity start time: all the solutions found by ISESwhich require a temporal shift of the constrained activity, will be rejected.

As another example, the re-scheduling procedure may allocate some activitiesat the left of tE in the temporal axis, which would be equivalent to allocatingoperations in the past. All we have to do in this case is to introduce in theschedule as many Release Time constraints as are the activities whose starttime st is greater or equal than tE . In other words, we constrain all the activitieswhich have not yet started, not to begin execution before the current executiontime. Again, this does not necessarily mean that these activities will be movedby ISES: anyway, should they be re-allocated, they would certainly be positionedat the right of tE .

Preferences Management. As anticipated at the beginning of this paper, SolutionContinuity can be a very important quality measure of the schedule. In manycases it is essential that any revised solution be as close as possible to the last

kb11
19
Page 20: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

consistent solution found by ISES; the closer any two solutions are, the highertheir level of continuity.

It is in fact desirable (and plausible) that despite the possible exogenousevents that may occur during the execution of a schedule, this remains as similaras possible to the initial solution, as it is supposed to be close to the optimal one.Schedule continuity can be controlled by leaving or removing the precedenceconstraints possibly imposed in the last execution of ISES. It is known thatISES resolves the conflicts by inserting a certain number of extra precedenceconstraints between the activities, in order to separate them in the areas ofgreater resource contention; these extra constraints are not part of the originalproblem and are only there to solve a particular resource conflict. In case ISESshould be run one more time, one might decide to remove these constraints,counting on the fact that the conflicts re-introduced by this removal will besolved by the next execution of ISES.

Depending on which decision is taken, (removing or leaving these constraints),it has been observed that the new solution shows respectively a lower or higherlevel of continuity with respect to the old one, obviously due to the different de-gree of liberty retained by the activities in the two cases. The more constrainedthe activities are, the lower the possibility that the new solution differs from theold one. Depending on how important continuity is for the problem at hand, onemay choose which approach to adopt.

There are instances in which an intensive reallocation of the scheduled acti-vities in response to an exogenous event may represent a serious problem; let’sthink of a workflow in a manifacturing environment: its execution may involvea great work spent in team organization and manpower management. In suchcases, the main interest is to preserve solution continuity should something gowrong, so as to minimize the amount of work which would be necessary to re-organize all the employees’ working shifts, not to mention the work to re-organizethe raw materials shipment deadlines.

On the other hand, there are working environments (maybe more auto-mated), where not only the re-allocation of scheduled activities does not rep-resent a problem, but where a major re-allocation of the operations, even ifcaused by an unexpected event, may be considered as an opportunity not to berenounced. In these last cases, solution continuity is not a major concern.

As a last observation, with a proper handling of the temporal constraintsit is also possible to bias the schedule in order to satisfy user’s preferences; forinstance, before schedule revision it could be possible to specify the degree ofmobility of the activities, such as maximum delays, preferred anticipations, andso on.

By exerting this kind of preventive control, it is possible to express preferen-ces on the behaviour of every individual activity before schedule revision, thusobtaining a solution which best suites the user’s desires.

kb11
20
Page 21: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

4.2 Current Status

The actual system has been implemented and tested on a preliminary set ofMulti-Capacity Job Shop Scheduling benchmark problems of the order of 15÷30activities. The obtained results are very encouraging: as contingencies of differentnature and gravity are injected in the execution environment, the system suc-ceeds in quickly working out a new consistent solution. For example, we testedthe system ability to recover from sudden delays of different gravity of one ormore activities, at various stages of execution, as well as from sudden resourcebreakdowns, with partial or total loss of one or more resources, still at variousstages of execution.

At the current stage of development we are focusing our attention on themethodologies (constraint posting strategies, general user service design, etc.)more than on true system performance. Resolution speed will be our next ob-jective: the actual implementation of O-OSCAR presents a number of pointswhere computation can be made faster, depending merely on implementing is-sues. To give an idea of the present performance level, the system succeeds inrescheduling a RCPSP/Max problem with 20 activities and 3 resources in anaverage time of 190 milliseconds, during schedule execution.

It is worth noting that the nature of the reactive scheduling problem entailsthe presence of several parameters, and therefore much attention must be paidin order to synthesize a meaningful benchmark. Among the parameters involvedare the following:

– temporal separation between the current instant of execution and the sensedconflict;

– type of contingency occurred;– number of activities affected;– number of resources affected;– for each resource, the capacity affected.

Each one of the previous variables may trigger a different response from thesystem, and in case of multiple occurrences, their mutual timing will be anothermajor source of performance variability. In general a lot of work is still to bedone, but the building blocks descibed in this paper were a needed preconditionfor actually performing such work.

5 Conclusions

In this paper we have presented the current status of the execution monitoringmodule of the O-OSCAR architecture. The model implements an approach toschedule revision that we call global reaction approach to distinguish it from theone followed for example in [11] that coud be called local reaction approach. Ac-cording to this strategy, we perform the rescheduling of the entire set of activitiesnot executed before the current execution time, including those not affected bythe exogenous event.

kb11
21
Page 22: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

The global approach we have dscribed relies entirely on the solving capa-bilities of the ISES procedure, coupled with the expressive power of a set ofprimitives which extensively exploit O-OSCAR representation features. ISES isused as a black box, and this requires a careful preventive action in order to ex-ert some control on the dynamic evolution of the whole system. This control isexerted by means of a skillful use of the above mentioned primitives, which allowto easily manipulate both the activities of the schedule and the time constraintsinsisting on those activities.

On the opposite, the local reaction methodology seizes on the analysis ofthe occurred conflicts and on the utilization of specialized metrics in order toexecute the most suitable repair action, chosen from a set of pre-defined revisionprocedures, on the most urgent conflict among those waiting to be attended;whatever the chosen repair method and the chosen conflict, the solution revisionwill be not be performed on the entire schedule as with the global approach,but on a limited number of activities, namely, those which are deemed to bethe most seriously involved in the conflict. The previous step is iterated until allpending conflicts are solved (see [11] for further details).

We believe that our system with its core constraint-based architecture and theprimitives at disposal, constitutes a solid framework also for the implementationof a locally reactive scheduling system, as just described. Future developmentsof our work include the realization of such a alternative approach by meansof the existing O-OSCAR building blocks. The idea is to measure the systemresponsiveness of both approaches and their ability to recover from inconsistentstates under different conditions of execution. Among the measures of interest weidentify the schedule makespan at the end of the execution, the schedule globallateness as a weighed average of the individual delays with respect to the initialsolution, and of course an appropriate measure of solution continuity, which canbe initially taken as a meaningful measure of schedule quality.

Acknowledgements

This research is partially supported by ASI (Italian Space Agency) under projectARISCOM (Contract I/R/215/02) and by MIUR (Italian Ministry of Education,University and Research) under project RoboCare (A Multi-Agent System withIntelligent Fixed and Mobile Robotic Components). The authors are part of thePlanning and Scheduling Team [PST] at ISTC-CNR and would like to thank theother members of the team for several technical interactions.

References

1. Beck, J. C., Davenport, A., Davis, E., and Fox, M. S. The ODO Project:toward a unified basis for constraint-directed scheduling. Journal of Scheduling 1

(1998), 89–125.

2. Cesta, A., Cortellessa, G., Oddi, A., Policella, N., and Susi, A. AConstraint-Based Architecture for Flexible Support to Activity Scheduling. In

kb11
22
Page 23: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

Proceedings of 7th Congress of the Italian Association for Artificial Intelligence

(2001).3. Cesta, A., Oddi, A., and Smith, S. F. A Constrained-Based Method for Project

Scheduling with Time Windows. Journal of Heuristics 8, 1 (2002), 109–135.4. Church, L. K., and Uzsoy, R. Analysis of Periodic and Event-Driven Reschedul-

ing Policies in Dynamic Shops. Inter. J. Comp. Integr. Manufact. 5 (1991), 153–163.

5. Davenport, A., and Beck, J. C. A Survey of Techniques for Scheduling withUncertainty. http://www.eil.utoronto.ca/profiles/chris/chris.papers.html.

6. Dechter, R., Meiri, I., and Pearl, J. Temporal Constraint Networks. Artificial

Intelligence 49 (1991), 61–95.7. Le Pape, C. Scheduling as Intelligent Control of Decision-Making and Constraint

Propagation. In Intelligent Scheduling, M. Zweben and S. M. Fox, Eds. MorganKaufmann, 1994.

8. Montanari, U. Networks of Constraints: Fundamental Properties and Applica-tions to Picture Processing. Information Sciences 7 (1974), 95–132.

9. Muscettola, N. HSTS: Integrating planning and scheduling. In Intelligent

Scheduling, M. Zweben and S. M. Fox, Eds. Morgan Kaufmann, 1994.10. Schwindt, C. Generation of Resource Constrained Project Scheduling Problems

with Minimal and Maximal Time Lags. Tech. Rep. WIOR-489, Universitat Karl-sruhe, 1996.

11. Smith, S. F. OPIS: A Methodology and Architecture for Reactive Scheduling. InIntelligent Scheduling, M. Zweben and S. M. Fox, Eds. Morgan Kaufmann, 1994.

12. Tsang, E. Foundations of Constraints Satisfaction. Accademic Press, London,1993.

13. Wu, S. D., Storer, H., and Chang, P. C. One-machine rescheduling heuristicswith efficiency and stability as criteria. Comput. Oper. Res. 20 (1993), 1–14.

kb11
23
Page 24: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

����� ����

��� � � ����� ���� ������ �� ���� ������� ! ��"#$ %&"$ ��'()$%$&�" �*"$ *

+"&,* #&$- ��..*/* �� !0*12*3 % 45 3 %2&'5 $6789:1)::1&*

;<=>?@A>B C%).$ $�.* %"$ #�.)$&�"# DEFG %"4 #)(* '�4*.# DHG % * #�.)I$&�"# 6&$2 #$ �"/ ( �(* $&*# �J #$%3&.&$-1 K" $2&# (%(* 5 6* #$)4- #)(* #�I.)$&�"#5 $2* /*"* %.&L%$&�" �J #)(* '�4*.# $� $2* :�"#$ %&"$ #%$&#J%:$&�"%"4 �($&'&L%$&�" J %'*6� !1 M* *N(.� * $6� 4&O* *"$ %(( �%:2*# $� P"4#)(* #�.)$&�"#1 K" $2* P #$5 6* *J� ').%$* % :�"#$ %&"$ ( �3.*' #� $2%$$2* �".- #�.)$&�"# % * #)(* #�.)$&�"#1 K" $2* #*:�"45 6* &"$ �4):* "�$&�"#�J #)(* :�"#&#$*":- %"4 *"J� :* $2*' 4) &"/ #*% :21 M* %.#� ( �(�#*% 3 %":2 %"4 3�)"4 %./� &$2' J� P"4&"/ $2* '�#$ �3)#$ #�.)$&�"5 &":%#* "� #)(* #�.)$&�"# *N&#$1 C&"%..-5 6* )" *N$*"#&,* *N(* &'*"$# $�:�'(% * $2* 4&O* *"$ %(( �%:2*# %"4 #$)4- $2* 4&Q:).$- �J P"4&"/ #)I(* #�.)$&�"#1 M* #2�6 $2%$ #)(* RS�5 % "*6 #*% :2 %./� &$2' J� P"4&"/ #)(* #�.)$&�"# �)$(* J� '# $2* �$2* $*:2"&T)*#1

U VWXYZ[\]X^ZW

_�� `a b���� � � � �� �� � � ����c���c �c��d�c��� �� �bc��ec���b���� �f ��g h �� c� � � g���� �� ���i �c c� ���j k ���� � � �� l����h �� � j c ���l� �c��l b��� � ���� � �� � �� � � c�f a� ���� �� �� �������c���� c� c� b���� � � m�� lmf a� c��� ���c nc� �� � g�c ����c���c� � �����c� c�c �� �� c� � �� h��� � �b�c ���j �f

o�� �c��c� �� �����c� �� �� � �����b��c � ��c� ����c���c ���h��j ���� ��p � �c g��f q� �h ������ � � �����c� �� � b��b �c� �d c� �rj���c�� g����c �c� �� � b��b �c� �d c� ����c��� s� � d�� nb� � �����tqu� vwx vyx vwzx� b�c�� tqu� v{x� ����� �� b�c�� tqu� v|x� �c����c�� tqu�vwwx� �� �������j tqu� v}x~f a� ����� tqu�� d�� ���c�� � g �� � �� b� rh���� g��l �� �����j ����c����� c���j� c� � �� ��c���j �b ��� �� � � �����������c ���c c� ����c���� � c��� �f a� �������j �� �c����c�� tqu�� �� c� �c� � ���� g ��� ����c���� g���� � �����c c� c� b������ ���j �f ��g h ���c� c� � d� g��l� ��� ��j�����c ��d��c��� ���c c� ��l �� ���j �s fjf c� �c����c�� tqu d� g��l ��� � g �h ��� b �� �c b�������c� �d�� c� h�� � cl � �� c� �c����c�� h���� �~f a� c��� bb � g j � ���e � ���c��� �d ����c��� �����c� �� ��c����� � �� q`� v�x c� ����c���c b��j�r��jf ���� � ���c��� ���g� �� c� �c�c c� �����c� �� �d ����c���� g�c���c�� ���c���� l��g� �j f� S.. %)$2� # % * #)((� $*4 3- $2* �:&*":* C�)"4%$&�" K *.%"41

kb11
24
Page 25: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

�������� �������� �� �� ����� �� � �������� �� ���� �� ��� ���� � �� ������� ���� � � � �������� �� � ����� ������� ��� ����� � � ���� �������� ��� ���� �������� ���� � ����� ��� � ���� ���� ����� � ����� ���� �� � ��������� ��� ����� �� ���� ������ ����� ������ ��� �� ����� ����������� !� � ���� ����� � �� � �������� �������� ���������� �� �� � �� � ������"������ �������� �� ������ � #�� �� �� ������� ��� � �� �� $�� � � � ��������� ���������� �� � � � �� � ���������� ���� �� ������ ���

����� ��� ���� ��������� %&'( ��� ��� ���� �� %)( �� ����� � �� ������������� ����� ������ ���� ��� � �� ������� � �������� �� ����� ��� ���� �� �� �� ������� � ��� � ���� � ����� � �� � ��� ��� ���� �� ��� ���� � � � �� � ������ ��* � �� ��� �� � � ���� �� ����� �� ����� � +� ��� � ���� �� ����� � ��,� ��� ���� �� �� ��� �� �� �-. ������� ���� ��� � ���� � ��� ������ ��� � �� ������ � ��� ����� � �������� ��� � � � ��� � ������ ����� ���� �� �� � ��� ���� �� �� ������ ������ �� ��� ������� �� ������������� ���� �� �� ������ � �/�� � �� ������ �� �� ����� �� - ��� ���� �������� � �� ���� �� �� � � ������ ����� � ���� �� ��� �� � ����� ����� ���� ����� � ��� ���� �� �� ��� � ���� �� ���������� ����� �� ���� ����� ����� �� 0�� � �� ��� ���� �� ��� ��� � ����� � ��� �-. ���� ��� 1����� ��� �� � � � ����" �� ���� �� �� ��� ���� �� �� ���������� ���������������� �� +2�3�,� ! ���4 ���� ���� ���������� ����������� �� �� ��� ���� �� � ���� ���� ��� ��� ���� �� �� ���� ��� ��� �� ��� �� ���� ��� ��� � �� ���� .� � $������ �� ��� ���� �� ��� � �� %)( ��� �� ����$ � ��� �� ���� 2�3�� ���� ��� ��� � ���� � � � �� ��� ���� �� ��� �-. ���� ����� � �� 56789 5:;6<=:>5 ���� � ��� ���� ��������� �� 2�3�� ?�� ���� ���� $������ �� ��� � ��������� +� ����� ', � ��� � �� �� � $������ �� ��� ���� ���� �� �-. ������ � �� ������ � � �� 2�3 ������ � ���� ���� ��������

@ ABCDE AFGBHIFJK

��� ���� �� � � �������� � �� %)( �� � ���� ���� �� � ���� ��� � �� � �� ��� �������� �������� -� +LM N,���� ���� � �� � �-. ���� � �� � ��� � +� ���������� ������� ��, ���� �� ���������� ���� �� ���� �� � ����� �� ���� � ��� � �� ������ � �� � � � �� ��" �� ���� L +� ���� ������ �,� ����� � ��� ���� ����� � ������� �� ���� � �� �� ������ � �� � ���4���� � � �� ��" ������ N +� ���� ������ �,� - � � ���� �� ��� ��O�� �� ��������� ���� � � �� �����$ � �� ��� � �� $�� � ��� ���� � �� �� �� �� �� ����� ������ ��- PQRSP:>8 TQ9=QP;8 �� � ������ ���� ��� � �� ��� ���� �� ��� ���������� .� �� � �� �� � ����� ������ �� � �-. ���� � ��� � �� �������� �� $���� +LM N,���� ���� �� �� ���� ���������� ������ ��� �� ��� ������ �

.� � �� � ��� � �� ��� � ����� � � ����" �� � $������ �� ��� ���� ������ �-. �� ���������� ������������ �� ������ � ��� ��� ��� ��� ���� ������� �� - � �� ����� ��� � U������V �� ���� �� ������� �� ��� � ������ ��� �� � �� � �������� �� ��� ������ ���� � �� � ������� �� ���� �� ������� ��W XYZ[\]Z[X ^_XY `[a[``[b \Y ^X cX]Z]_^`]\de ]f \g[ _]\[`^\h`[

kb11
25
Page 26: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

���� ���� ����� ��� ����� ��� ����� �� �������� �� ��������� ���� ������� ��������� ��� ��������� ��������� ��������� �� !"#$%&"' ( %" ) *+, &! -./ 012!$345 !"#$%&"' &6 %74 #"!! "8 %749)#$4! "8 )% :"!% . 9)5&);#4! &' ( <)' ;4 543)&54= ;> )!!&?'&'? "%745 9)#$4! %"%74!4 9)5&);#4!@ )'= :"=&8>&'? %74 )!!&?':4'% "8 )% :"!% 0 "%745 9)5&);#4!AB ���C�� �� ���������� ������ ���������D� ��� �E����� FG/HIJ����� ����J���� �� F./ 0IJ����� �������� �� F. K G �� H K 0I �� G L H K . L 0�M� ���� ����� �����D �� FN/OIJ����� ��������� �� ��� ���� �� ��� ���� P��D

�� ����� 8)$#% %"#45)'% !"#$%&"'! �� ������C�� �� QNRS T������� �� �BP ���CJ��� �� � F./ 0IJ���������� �� UVJ�������� QWS X� �� ��� ��Y���� �� ���� ����������� �� Z�V �� � F./ 0IJ����� �������� �� ��� UVJ��������� ��� �������������� �� C���D ���������� [\��]�^ �� _4<&=&'? &8 ) *+, 7)! )' F./ 0I2!$345 !"#$%&"' &! `,2<":3#4%4 8"5)'> ab4= .A,5""8 A P� ��� �� �� �� UV� �� ���� ���D����� ������� ��� �� C� ����c�� �����D����� ���� P��� �� �����D � ��������� ����� ������� ��� �������������� ��� ��� �� ��� dFefI F����� �� ���D����� ��� �E�� .I �����C�� C��c�� ���. L 0 ����� ����

P� ���� ������������� �� ���� ��� �� �� C���D Z�V ���� ��� C���D���C��� �� ����� ��� ������� �� �������� �g ��� ��� ���C��� �� � F./ 0IJ������������� M� �������� ��� ������ �� ��� �� ��� ��C���� �� �E������� ���������� �� ��� ��� C��� �h�������D �� ��� ��� ���� i�� �E������������ �� �� ��������� jFk/l I ����� �� ���D ������� CD jFm/eI P����� �E���� ��� ��������� �� ��� �� ������� CD n��� jFm/eI� jFmo/eI� jFm/eoI�� jFmo/eoI ����� mo �� eo �� ��� ��������� ���� ��� m �� e Z����D����� C���D Z�V �� �������� �g ��� ������� ���C��� ��� �� X� ���������D C��c �� . ��C��� �� C� ������� CD �������� ��� . ������������� �������� ����� ������ ���� F�� ��������� ���� �� ���D �� ����D ������I � ����� �D 0 ����� ����

p qrstuvstrwvx yzv{|x}

P�� ������ �c�� �� ���� ����� ������ �� �������� ������� �� ������������� B ����� �������� �� �������� �� ��� �������������� ������� Z�V ������� �E���� �D ����� C����� �� ���� �� ���D ��� �������� P�� ������ �����)8%45 �� �� ����� �������� �� ���� ���� C� ��c��� M� �� �� ������ ����D C��c F���� �� ��� ���I ���� C� �����C�� �� �� �������D ������

~�� �� �������� ��� ��������� Z�V� k/l/� � �N/R/�� k K l � l K �P�� ��������� �� ���� Z�V �� ����� �� i����� N� � ���� � ��� ��C���� �� ������������ �� FN/ NIJ����� ��������� �� FN/OIJ����� ��������� ��� ���� ���C���

P�� �������� �N/ N/ N� �� ��� FN/OIJ����� �������� P�� ����� �� ��� �� k����� ��� ��� N� �� ����� ��� ����� ��� ��� k ��� �� ���������� ���� l

kb11
26
Page 27: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

��������� �� ����� � ��������� �� ����� � ����������� � ��� �� � �� �� � ��� �� � �� �� � ���� � ��� �� � �� �� � ��� �� � �� �� � ���� � ��� �� � �� �� � ��� �� � �� �� � ���� � ��� �� � �� �� � ��� �� � ���� � ��� �� � ��

���� �� ���������� �� ����� � ���������� ��� ������� � ��������� ��� �� ����� � !" ! #$

%&' ( )*+%,-* &*./0*1 234 54 56 &71 284 54 56 %1* -79,/.7&- /7 /0* :17)9*;< =9-7>-79,/.7& 254 54 56 .- &7/ % ?54 5@A-,:*1 -79,/.7& )*+%,-* B0*& C 97-*- ./- D%9,* 5> B*+%&&7/ 1*:%.1 ./ )E +0%&F.&F /0* D%9,* %--.F&;*&/ 7G %/ ;7-/ %&7/0*1 D%1.%)9*>.<*<> /0*1* *H.-/- &7 1*:%.1 -79,/.7& B0*& C )1*%I- )*+%,-* &7&* 7G 234 54 56>284 54 56> 234 34 56> 23484 56> 234 54 36> %&' 234 5486 .- % -79,/.7& /7 7,1 :17)9*;< J&/0* 7/0*1 0%&'> 254 3486 .- % ?54K@A-,:*1 -79,/.7& )*+%,-* B0*& C )1*%I- B* 0%D*/0* 1*:%.1 -79,/.7& 234 3486> B0*& L )1*%I- B* 0%D* /0* 1*:%.1 -79,/.7& 254 5486>%&' B0*& ( )1*%I- B* 0%D* /0* 1*:%.1 -79,/.7& 254 34 36< M* /0*1*G71* 0%D* %/0*71*/.+%9 )%-.- /7 :1*G*1 /0* -79,/.7& 254 3486 /7 254 54 56> /0* G71;*1 )*.&F ;71*N17),-/O 71 N-/%)9*O< P7/* /0%/ %99 %9F71./0;- .&/17',+*' .& /0.- :%:*1 :17D.'*7Q.&* ?/0%/ .-> .& %'D%&+*@ /0* 1*:%.1- %- B*99 %- /0* -79,/.7&< R*&+* S&'.&F %&'%::9E.&F /0* 1*:%.1- 7&9.&* /%I*- +7&-/%&/ /.;*<T0* B%E % F.D*& :17)9*; .- ;7'*99*' .&U,*&+*- /0* -,:*1 -79,/.7&-< V71

.&-/%&+*> +7&-.'*1 /0* *&+7'.&F .& W=T 7G /0.- :17)9*;< J&* B%E /7 *&+7'*/0.- .- /7 %'' % X7797*%& D%1.%)9* YZ G71 *D*1E D%9,* [ /0%/ C +%& /%I*> YZ \]^_` ;*%&- /0%/ C \ [< a& 7,1 +%-*> bYc4Yd4Yef> bgc4gd4gef %&' bhc4hd4hef<R7B*D*1> -,+0 %& *&+7'.&F 0%- &7 ?54K@A-,:*1;7'*9< =&E D%1.%)9* gZ -/%&'.&FG71 %& %--.F&;*&/ 7G g .- .& +7&U.+/ B./0 %/ 9*%-/ 7&* 7/0*1 %--.F&;*&/ 7& Y71 h< i71*7D*1> 7&* gZ ;,-/ )* -*/ /7 ]^_`> -.&+* %&E -79,/.7& F.D*- % D%9,*/7 g< T0*1*G71* /0* D%1.%)9* .& +7&U.+/ B./0 gZ ;,-/ )* -*/ /7 jklm`< aG /0*%--.F&;*&/ 7G /0.- D%1.%)9* .- ;7'.S*'> .<*> U.::*' /7 ]^_`> /0*& %/ 9*%-/ gZ ;,-/)* 1*%--.F&*' /7 jklm`< a&/,./.D*9E> .& %&E *&+7'.&F> /0* 9.I*9.077' 7G S&'.&F %&?k4 n@A-,:*1 -79,/.7& B.99 '*+1*%-* B./0 /0* &,;)*1 7G D%1.%)9*- %&' .&+1*%-* B./0/0* '7;%.& -.o*< i71*7D*1> /0* ;*%&.&F 7G % -,:*1 -79,/.7& '*:*&'- %9-7 7& /0*;7'*9< V71 *H%;:9*> .G % D%1.%)9* .- % +7,&/1E %&' % D%9,* .- % +797,1> /0* 97--7G % F.D*& D%9,* .- *p,.D%9*&/ /7 /0* 97-- 7G /0* F.D*& +797,1< J& /0* 7/0*1 0%&'.G *D*1E :7--.)9* +797,1.&F 7G /0%/ +7,&/1E .- *&+7'*' )E % X779*%& D%1.%)9*> /0*97-- 7G % D%9,* ;*%&- *./0*1 /0%/ /0* +797,1 .- &7B G71).''*& 71 /0%/ /0.- +797,1qrst )* ,-*'< T0* uWv G1%;*B71I F.D*- ;71* G1**'7; /7 +077-* B0%/ D%1.%)9*-%&' D%9,*- -/%&' G71> %&' /0*1*G71* B0%/ )*.&F % -,:*1 -79,/.7& ;*%&-<

w xyz{|}~����{� ���|{��� �{ ������� �~�y| �{�~��{��

J&* :7--.)9* %::17%+0 /7 S&'.&F -,:*1 -79,/.7&- .- /7 %'' G,1/0*1 D%1.%)9*-%&' +7&-/1%.&/- /7 /0* uWv /0%/ B7,9' *9.;.&%/* /07-* -79,/.7&- /0%/ %1* &7/

kb11
27
Page 28: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

����� �������� � � �� � ������� �� ����� �������� ��������� �� �� � !"�#"$��#"�� �%�#��& �"� ������� �� ' ()*+����� ��������, �!� �����$������� ��-./ ��� �� � � � �� ��#" �"�� �& ������� �� �"� �����$������ #����������� � ����� ������� ������� �� �"� ������� -./ � �"� �����!�� ��0��#����1 !��� ��! �"��� �����$������ ������#"�� �� ������� � �! ��1 !"�#" !� #��� �"�2����34�5���� ��6�����������

789 :;;<=>? @=A;BCD<>EF;?

G"� ���� ������#" � � ��1 ����#����� � H����� ����0�� IJ �� ��#" ���� K ����#" ����0�� L � � �� � -./ M������ �"�� ����0�� �� #��������� ���"� �����$�� L N K � �"� -./ O ��& �������!�� ����� P'L N K(Q N R*��������� ��� �"� #�S�#� #����� !"�#" ���0��� �"� �����$�� ' 1 * ��� �"� �!�#���������� ����0��� T����&1 !"����� � �"� ������� -./ �& ����0�� $����$���#���& 0� �� � �%�#��& �� ����1 "��� �%�#��& �U� ����0��� $��� 0� ����������� � ��& -./ ����0�� G"�� $���� ����!� ��& ����� ������� �������1 0�� ����� �� �"�$ �� �� �� �"�! �"����" �"� �����!�� -./,

L N � (��(Q N � ( ��(L V Q W X

G"�� -./ ��������� ��� �"� �����!�� H����� -./ '�� .MG ���0��$*,

IY(IZ([Y([Z \ ])( ^ ' *'IY(IZ* \ ]' ( *^( '[Y([Z* \ ]' ( *^ '�*

'IZ([Z* \ ]')()*( ')( *( ' ()*^ '_*

� ' * �"� H����� ����0��� ����#����� �� �"� ��`���� �����$��� ��� �� �� '�* �%�#��& �!� �� �"� H����� ����0��� $��� 0� ���� ��� ��#" #����������-./ ����0��1 !"��� � '_*1 �"� ��& �������!�� ����� aL N �(Q N �b �� �#����G"� ������� a ( b �� � ����� ������� ������� �� �"� ������� -./1 ��#� ���L �� Q 1 �"� ���� � #� �����#� �"� ���� c�!� ��1 �"�� H����� -./ "��� ������� G"�� �����$������ ���� �� �"������� �� � ��� �"� ����� ���������������

78d effF?g hiEB> j>BF>k<=l >?f m;?lEB>F?El

G"� ��#�� ������#" �������� � � �� ��$��& �����#���� �"� ����0��� G"� ��+������� ����0��� "� � �"� ��$� ��$�� �� �"� ������� ����0���1 �� ��� ��n��!��" �"� ��$� #�������� �� �"� ��$� ���"0���"��� M �� �o��� #������� ������ ������ 0��!�� ��#" ������� ����0�� �� ��� �����#��� G"� �����$�� ���"� ������� ���� �� �"� -./ �� �� �"� �"� �������1 !"��� �"� �����#���� ������ �� �"� ������ ��� ��#" ����0�� p� ����� �� �"� �����$������ �� � -./ q !��"�"�� �#���� �� qVq

kb11
28
Page 29: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

��� ����������� ������������ ��� ������� ��� ���� ����� ����!�� ������"#$ %�� & ' ()*+),- .� � /0+123����� �����!�� �� 456 7��!�.��� 8* ��9 8,$ :� )* !� ����; �#�� �#��� ��� .� �7���� !� <* = >/8*2 �#�� "�� ����!� )*; �#�� !� (<*+),- !� � "� ���!.�� ��!�$?@ ���!"���@; �#��� ��� �A!��� <, ��"# �#�� ()*+<,- !� ������9$ B�� "���!9���#� ������!�C ��.���.�� !�7��7!�C ��� 7��!�.���D

EFGF

EHGH

IF IH IF IH JKLMN OPQRPST UN LVVWXKYZ

?!�"� !� ���!�[�� �#� "�!���!� �.�7�; & ' ()*+),- !� � ����� �����!�� �#!��� ��@��#�� ����� !� ���$ \�� �@ �����"� �#�� 7����� <*+<,+ ]*+ ], 9� ��� ����!"!����!� ��@ ����� �����!�� ��9 #��"� "�� .� �����9$ ^���7�� <* ��9 <, ��� _``_a4bcd��� ef6gbhbai ������� �� )* ��9 ),$ ?�; �� "����� �! ��@ ������ �.��� �A���9!�C����!�� !������!��!��� �� 7�����; ������ �� j��� �#� !���� ��!�� �.��� �#� 7������#�� "�� .� ���9 �� ����!�$ ?�; ��� �� !�����9 �#!�j �� �#� 9� �!� �� �#� 7��!�.����� ��!�� �� 7����� ()+<-; �#� [��� ��� ��� "��������9!�C �� �#� `ke_f gcdk_ /�#!"#!� ���� �� � ����� �����!��2; �#� ��"��9 "��������9!�C �� �#� f_ecbf gcdk_ /�#!"#"�� ����!� �#� ��� ��2$ �� "��� l ml �#� ����� ����!�� �� � n?o l ' pq +>+rs��"# �#�� ��@ 9� �!� .�"� �� !�� ��� "����3���9�"� / !��� �#� 9��.����2; tu.�"� �� tumtu vp()+)-w) = tus$ x#� "������!��� ��� .�!�� �� �������; ��� ��!��()*+<*- ��9 (),+<,- ��� "� ���!.�� !y

z )* ��9 ), ��� "� ���!.�� /�#� �����!�� ��� .� "���!����� �� �#� [��� ���"�2;z )* ��9 <, ��� "� ���!.�� /!� "��� �� .���j !�7��7!�C ),; <, "�� .� � ����!�2;z ), ��9 <* ��� "� ���!.��$x#� ��� 9� �!� r>/q2 ��9 r>/{2 �� 7��!�.�� 8 ��9 | ���p()*+<*-+ ()*+ ]*-+ (<*+)*-+ (<*+ ]*-+ (]*+)*-+ (]*+<*-sp(),+<,-+ (),+ ],-+ (<,+),-+ (<,+ ],-+ (],+),-+ (],+<,-s

��9 �#� ���@ ��� ������9 ����� !� & ' (()*+<*-+ (),+<,--$ x#� �A� ��� .�����#��� �#� "����39� �!� �����������!�� �� �#� n?o C!7�� !� ��"�!�� } /8 ~ | ~�+t/82 ' t/| 2 ' t/�2 ' �0+�+}�2$ \� �#!� ��C ����9 n?o; ��" "���!����"@�!�� ����� cdd �#� ��!�� �#�� ��� !�"���!�����$ x#� ���"��� �� ����� ����!�C �!�#�#� "����39� �!� �����������!�� ��9 �����"!�C � ��"�� "���!����"@ "�� �#�������.� ���� �� �����"!�C � ��"�� ����� "���!����"@$ � ����� �����!�� �� �#� ��!C!���n?o "�� .� �A���"��9 .@ j���!�C ���@ �#� [��� ��� ��� �� �7��@ ��!�$?!�"� �#� "������!�� C���# �� �#!� n?o !� � ����; ��""���!7��@ �����"!�C ��"3

"���!����"@ ��9 ���!C�!�C � 7��!�.�� ���9� �� � �����!�� �!�#��� .�"j���"j3!�C$ x#� ����!.�� �����!��� �� �#!� ��C ����9 n?o ���D ((0+ �-+ (�+ 0-+ (�+}--;((0+ �-+ (�+ 0-+ (}+ �--; ((0+ �-+ (�+}-+ (}+ �-- ��9 ((�+ 0-+ (�+}-+ (}+ �--$ x#� [��� "����3����9� �� (0+ �+ �-; �#� ��"��9 ��9 �#� �#!�9 �� (0+ �+}- ��9 �#� �����# �� (�+ �+}-

kb11
29
Page 30: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

��� ����� ���������� ��

��� ���������� ���������� ����� ��

��� ���������� ���������� ����� ����� ��

��� �� ��� ����� ��

��� ����� ��

��� �������

� ���� � ��� ��� ���� ��� ������

��� ���� !"#$%$&�#'()*+,- +*./0/12.+3 ,--*4/ 5,+617,+685,/29 /2,7+: ,-;*701:</ /=+: ,/ >?@ 1*9212+1 =./,10/A,5-2 /=5B7*5-2</ 2,7-027C )*+,- +*./0/12.+3 +,. ,-/* 52 =/29 1*92D2-*B 2E+02.1 ,-;*701:</ F*7 A.90.; /=B27 /*-=10*./C G2 /:,-- 0.17*9=+2 1:7224,3/ *F 0.+*7B*7,10.; -*+,- +*./0/12.+3 0.1* , /2,7+: ,-;*701:< F*7 /2260.; /=8B27 /*-=10*./C H:2 A7/1 I?@JKL , .,0D2 ,BB7*,+:L ,=;<2.1/ 1:2 17,9010*..,-,7+8+*./0/12.+3 53 , F=71:27 +*.9010*.L ,+:02D0.; , D273 -*4 -2D2- *F A-1270.;CH:2 /2+*.9 I,7+8+*./0/12.+3 *. M NMK ,--*4/ =/ 1* 0.F27 ,-- B*//05-2 -*+,- 0.F*78<,10*.L O=/1 ,/ 0. ,7+8+*./0/12.+3 0. , 72;=-,7 @PQ RSTC U*42D27 1:0/ +*<2/ ,1, :0;: +*<B=1,10*.,- +*/1L 1:*=;: B*-3.*<0,-C H:2 1:079 I/=B27 ?@K ,BB7*,+:;0D2/ -2// 0.F272.+2L 5=1 0/ , ;**9 17,92*V 521422. 1:2 ,<*=.1 *F B7=.0.; ,.9+*<B-2W013C X.F*7<,--3L , +*./0/12.1 +-*/=72 *F , @PQ +*.1,0./ *.-3 B,710,- /*8-=10*./ F*7 , ;0D2. -2D2- *F -*+,--013C U*42D27L 1:2 /01=,10*. 401: /=B27 /*-=10*./0/ , -011-2 501 <*72 170+63 52+,=/2 D,-=2/ 1:,1 9* .*1 ;21 =/29 0. ,.3 -*+,- /=8B27 /*-=10*. +,. /10-- 52 2//2.10,- ,/ , YZ[\]Y ,.9 1:=/ +,..*1 52 /0<B-3 B7=.29CH:7*=;:*=1 1:2 72/1 *F 1:0/ B,B27 42 40-- 72F27 *.-3 1* I^_`K8/=B27 /*-=10*./L,.9 1:=/ 1* I^_`K8/=B27 ,7+8+*./0/12.+3C

��a b 'c!"#$%$&�#'(dXF e 0/ , /=B27 /*-=10*.L 1:2. F*7 2D273 D,70,5-2L ,1 -2,/1 fgh D,-=2/ ,72 +*./0/12.1401: ,-- 1:2 *1:27/ D,-=2/ *F eC @*./2i=2.1-3L 520.; ,7+ +*./0/12.1 \jk l\m]jnjhjop]jnqZfhj khr\]jp 0/ , .2+2//,73 +*.9010*. *F /,10/A,50-013C ?@J +,. 1:2.52 92A.29 ,/ F*--*4/s F*7 , @PQ M t uv _w_xys ?@JIM K z {|IM K } ~� �w_ ��� � ^C G:0-/1 ?@J 0/ =/=,--3 1** 42,6 1* ;0D2 ;**9 72/=-1/L 01 0/ 1:2 5,/0/F*7 ,. ,-;*701:< F*7 1:2 ,//*+0,129 *B10<0�,10*. B7*5-2< I/2+10*. �KC

��� b 'c!"#$%$&�#'( "# � ��M NM :,/ 1:2 0.1272/10.; B7*B2713 *F :,D0.; 2W,+1-3 1:2 /,<2 1*B*-*;3 ,/ 1:2*70;0.,- B7*5-2< M C >*72*D27L 2,+: B,07 ������_������� 0/ 2WB-0+01-3 72B72/2.129L1:272F*72L ,7+ +*./0/12.+3 *. M NM <,62/ ,-- 1:2 B*//05-2 0.F272.+2L 72;,790.;,7+/C H:2 B7**F 1:,1 ?@ *. M NM 0/ 1:2 10;:12/1 A-1270.; 0.17*9=+29 0. 1:0/ B,B27F*--*4/ 0. /2+10*. �C�C ?/ , +*7*--,73L 1722 ,.9 17224091: 5*=.929 17,+1,5-2 +-,//2/*F @PQ/ ,72 ,-/* 17,+1,5-2 F*7 A.90.; I^_`K8/=B27 /*-=10*./L 1:7*=;: +7*//89*<,0.

kb11
30
Page 31: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

�������������� ���� ��� ���� �������� �� ����� �� �� ��� ��������������� �� �������� ��� �� � �� ������ ��� ������� ���� ��� �� ������ ��� ������� ������� ���������

��� � �� !�" �# $%&'( )�"*!* '"+,-� .��������� �� � /� ������ �� �� ����� ��� ���� �� �� �������� ��������� ����� ����� �� ���� ����� ��� ���� �� � ����0������ ���� �� ��� ���������������� 1��� �� ���� ���� �� ��2� ��� ����������2 ��0��������� ������ 34567 ����� 5 �� ��� ������� ������ ��8�� 9� ��������� ������� �� ��������� ����� ���� ���� �������� ��� �� � ��� ����� 4��� �:����� ;�������7 ���� <������ ������ ��� ��� ��2� ��� �� ��� ��8� �� ��� ����0�������� - ����0�������� ;������� �� ��� ��8� �� ��� ���2���� ������ ���� �� �:������� ���������� ��������� ���� ��� ��� ����� ����� 1��� �� ���� �������� 4���� ��7 ��� ����������������� �� ����� ��������� ��� ���� ���� ���= �� ��� ���� �� � ���� ������ ������ 9� ���� �� ��� ��� ������ �� ��� ������� ���� ��� �������� ���� ���������> ��� ?����� ������? 4@A7 ����� ���� ����� ����� ��� ����������� ���� ?������ ������? 4BA7 ����� ������ ����� ��� �������

C - ���� D �� �� ��� ����� ������ �� E �F ��� ��� ����� ������� G ������:���� DH �� ����� ������ �� G ��� I �� ������ ������ �� G ��� ���� 4DJDH7��� 4DJI7 ��� ������� ��� 4DH KL I7�

C - ���� D �� �� ������ ������ �� E �F ��� ��� ����� ������� G ����� �:����DH �� ����� ������ �� G ��� ���� 4DJDH7 �� ��������<�� ��M������ �� ����� ��0��������� ���������� �� � �����2��������� ���

���� � M������2 ��2������� <�� ����� ��� ���=�� �� ������ NOPQR �� RQPSTR ������� ���=��2 ��� ������� �� � ����� ���� �� ���������� ��� ��F����� ����������=�� ������ �� NOPQR �� RQPSTR �� ��;������ <�� �����:��� �� ��=��2 ������������ �� �� �� �������� ���� �� � ����� �� U ��� ���� ������� �� 345V7�-� ��2������ ���� ��������� ��� � ��������� ����� ����� ���� �� ��� ������� ����� ������� ��� ����� ���� �� ������ ��� ����� ������� ������ ������� ��� ������ ������� ������ ���2������ <�� ��� ��� �� ���� ��2 ����� ��0��������� ���� �� ��� ���� �� ���� ��2 � ����� �� �� �� ��������� ��������� ����������2 ��0��������� �� � /� �� ����� �� W�2��� X� Y���� �� ������������ ���� �� ���������� ���� �� ��� ������� �� ��� �������� �����������2���� <�� ����� ������ �� �� ����2��� ������� �� ������ �� ��� ����� ���� ��� ����� ���2� ��� ��� ������ ������ �� ���� ��� ������ �� ������2����� �� ��� ������� W�2��� U ������ �� ��2������ �������2 ����� -. ����� .Z[ E \ G \ ]� <�� M��� W�2��� ����� ��� ������������ �� ��� .Z[� ����� ��������2 W�2��� ����� �������� �� �����������> G L ^ ��� G L _ �� � ������� ������� ������� ��� �� E ��� ] ���� ���� ����� �� �� ����� �������W���������� E L _ ��� ] L ^ �� � ��� ���� ��� ������� �� G ������� ���G L ^ ��� G L _ ���� ��� ��� �� ��� ����� ������� 1��� E L _ ��� ] L ^��� ������� G L U �� ��� ���� ���� ��������2 �� @A4G 7 ��� �� ���� ����2���� ����� ���� W�2��� E �� ����2��� �� U� -� � ������ G L ^ �� �� ���2�� ��������� ���

kb11
31
Page 32: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

�� ������� ��� �� � � ��� ����� ������� ��� � � � �� � � � � � �� �� �������� ��� ����� ��� �� ������� � � � �� ��� ���� � ��� ��� ����� �� ����� ���� �������� !"# $ %

!" # $ %

!"# $ %

&'() *) +,-./ 01, 234567.584.85, 6- .1, 9:;< =3>>?,/ 3.7 78@,5 46A737.,A. 4?6785,< B3C1./D 78@,5 76?8.36A 37 5,D41,> D-.,5 D773CA3AC E F GH

� �� ������� �� �� ��� �� ��� �� �I J K��� �� �� ����� ��� �� �I J ��� �� �� ��� �� ��� ��� I J K��� �� � ������� � ��� ��� � LIM�

NON PQRSTRUVWXY ZTS[RTUVR\]�� ��� ������� �� ��� ����� ^����� �� ��� ��� ��� ���� �_�� � �� ������ �� ���� ���^��� ` �� a���������b ��� ��� c������� �_�� d� ��� �� ef �� ` g` �ef �� `h` � efh �� ����� ef�PQRSTRi j kYRlRY Sm nYURTVopqO rst uvw xyz{tsz|}~ ` � ��� g`� � xy�{}t ����� � ��� �`� � ��������tss� � k�q ��k �` q � ���k q� ������ �� � ` �� ��� efh� ���� �� ��� ���������� ������ �� ` � ����� �_���� � �� �� ��� ��� �� �� ��� �� � ��� � � ��`h` ��� ��� ` �� ���� �� ��� � ������ �� ������� �� � �� ��� � � � ������ �� �� ������ �� ����� �� �� ������ ���� ��� �� ��� �� ���� ��� � �� �� �� ��������� ��������� ����� ��� � �� � ���� �� ������ �������� �� �� �� � ������ �� �� ��� � ���� `h` �� ��� ef�

kjq ���k q � ��k �` q� ������ �� � �� ef� � �� �� ��� �� ��� ` �� ��� �� � ��� � �� ��� ������� `h` � ��� ������ � ����� ���� ��ef ���� ` �� ef� ��� ����� ��� ����� ���� �� ef ���� ���� �� �������� ��� ��� ������ � ����� ��� ��� ��� � ����� ���� ^������ ������ � �� ����� ���� �� ^��� �� ef ���� �� � �� ^�� � � � �� �� � � �����k�q \�[RT ��k q � ���k q� ������ �� � ` �� ��� efh� ���� ������_���� ��� � �� ^��� ��� ��� �� � �� � ��� �� � � � � ���� ��� ������� �� � ���������� ��� ������������ ����� ��� �� �� ���������� �� ` �� ��� ����� ef�

k q \�[RT ��k q �¡ ���k q� �� �������_ ���� �� ]����� ��kNq ��k g` q � \�[RT ��k q� ������ �� � ef� g` �� ���� ��� �� ���

� �� ^��� ��� ����� �_��� ��� � ��� ¢I��£�¤ J ���� g����� ¢I��£�¤ J ��� � g��� �� ��� �� � ¢I��£�¤� ¢£��I�¤ �� ¢I��I�¤ �� ������ ������� ��������� I�^������ �� ��� ����� ��� �� �� � �� I� �� £� ^����� �� ��� ��� �� ��� ��

kb11
32
Page 33: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

�� � � ����� � ���� ����� �� � �� �� ��� �� � ����� ����� �� � ���� �������� ������� � �� ���� ���

��� ���� �� � �� !"#$ ���� �% & '����(���� �� )���� *� +,

-./

./

-./

-

0123 43 567 89:; <9=>6 :6?@: ;67 ABC9?:;9DC;D97 ?E = :BA>F7 GHIJ ;@? K=9B=LF7: =MNO K=FD7: 7=C6J PQQRSTU C?ALBM=;B?M: =97 FBMV7NW X B: YGZ :BMC7 ;67 M7;@?9V B: =9C[C?M:B:;7M; =MN 7K79\ N?A=BM C?M;=BM: O K=FD7:W ]?@7K79J X B: M?; :D>79 YG :BMC7;67 <97\7N K=FD7: BM ;67 :7C?MN <9=>6_ =97 M?; BM :D>79 N?A=BM:J ;67\ 6=K7 ?MF\?M7 :D>>?9;W `M ;67 :7C?MN :;7>J ;67 @6B;7M7N K=9B=LF7: BM ;67 ;6B9N <9=>6_ =97 =F:?97A?K7N E9?A L?;6 97>=B9 =MN :D>79 N?A=BM: :BMC7 ;67\ N?Ma; 6=K7 = :D>>?9; BM =:D>79 N?A=BMW

-./b

cdefcdgfchefchgf

0123i3 567 89:; <9=>6 :6?@: ;67 ABC9?:;9DC;D97 ?E = :BA>F7 GHIJ ;6977 K=9B=LF7: =MNE?D9 K=FD7: 7=C6J PQQRSTU C?ALBM=;B?M: =97 FBMV7NW X B: :D>79 YG :BMC7 ;67 :D>79 N?[A=BM: =97 ?E :Bj7 k ^LF=CV K=FD7:_J =MN ;67 97>=B9 N?A=BM: =97 ?E :Bj7 l ^LF=CV =MN <97\K=FD7:_W 567 :7C?MN <9=>6 :6?@: X mX J @6BC6 B: M?; =9C[C?M:B:;7M;W

no� p!"#$ p#q$rs �tuv$wxsy z��{o ���� �������� ��|����� ��} � �'� �� � ��� ��� ��|������� �� |�'~��'~� �� � ����� ���� �� �� |'��� �������� �� � ������������ � ���� ���� ���� �����|��� ���' � ����� ������ � ��������|�� �� ������ � ��� � ������ �� �'� ���� �����|�� ��� ������� ��� �� |� � '�� ���� �� � ��� �� � ������ ��� | ����� ����� ������ �����|� |'��� �� �� �������� �� � ����� ������� �������'�'������'� ��� | ��|���� �� � ���� ����~� �� �� ���� �� ����� �����|��� &'�� �� �����|�� �� �� ������ �� � ������ ��� ����'� ��������� ������� � � �'��� �� ����� � � '���� ����� |� �� ������ ���~ �� ���� ����� �� �� � � � '���� ������ �������� �� �������� ����� �� ~� �� � ������ �� �� �����|� ������ �� ���� ���������� '�� | ���������� �'��| �� ��������� ����� � �����|� �� ������ � ���� � � ���� � � � |� ~� � �������� ����� �� ����� )�� ��� � �� � � |�'~��'~ �� � ��� �� � ��� �� ������� ��� �� ���� � '�������� �� � ��� ��������� �� |�'~��'~ �� � ��� ��

��� ����� ����� |���� ��

kb11
33
Page 34: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

����� ���� �� �� ����� ��� �� ����� ��� �� ���! "# $��� %&��'!���( �� !) ��(�&%! �� *+, %&��!���(- �� ���! ��(%��� ./01 %�� !�%�! ��'(%��� .201- %! 3��� 4�%& �� �� �!����%& ��(%��� ��! �� 5!�� �%&&# *��� ���� ��6!��� %! �!���� �� �� �!����! ��78��9:;<# $� %&�� %! �!���%���!���� �� �� !�&� ���!�3� �� ������ "#= .&��� >1- %�� �� %&��!���( 3%�?'�!%�?� �� % ���! ��(%�� @��� ��� �! % !�%�! ��(%�� 3��(� ����&��� .&��A1# B�� ��%�- %� ��! *+,C- �� ���������) �� %&�� ��%3&���� �� �� ��(%����� �� %������ %!�%3&�- .����� �� &��� >1# �% ��%3&���� %� �!�!��� !&%���� �� �� ��6!�� 5&�!����# D�@ !-��! �� �@� %&��!���(� %3� - �� �!���� �� %�������� % %&� �� % %!�%3& �� ����!!�� ��&����� ����E� &%� �� �� �%( ��3�!�3&( %� �� % !��&%! %&��!���(#�!%� ��! % !��&%! 3%�?�!%�? %&��!���(- �� ��(%��� �� �� %������ %!�%3&�%! !���� �� �� ����� %&�- ��( ��%������ %&�� %! ���&& �� ���! ��(%��.3�� (%!?� ��&) %� F!�%�!G1 ��! �� %&��!���(� %3� # �% �!� � ��%� %�!�3&( H �� +,C �6 HCH �� +,# D�@ !- ������! �� ��3�!�3&( H I ������3) �� %�����(�� �� J 3) *+,C# H ICH I (%) �% (�! ��%� �� %!�%3&�� J - @�!%� �� ��!!�������� %�����(�� �� HCH &% � ��&) �� %&� ���� ��(%�� �� J .� ���! K1# $�!��! �� �!�!��� �� �� ���������������E� ��&� ��! �� ��(3! �� 3%�?�!%�?� �� �� %&��!���(� ��(�& �# D�@ !-*+,.H LH1 � ! 3%�?�!%�?� @�� %�) ���! %&��!���( ����E�- %�� *+,C%&@%)� 3%�?�!%�?� @�� %�) ���! %&��!���( ���# $�!��! %�) ��&����� �����3) *+,.H LH1 @�&& ���%&&) 3 ����� 3) ���! %&��!���(�- %�� *+,C @�&&5�� %�) ��&����� ����� 3) %����! %&��!���(# �!� ��%� *+,C �� ��!!��%�� *+,.H LH1 �� ��(�&�# D�� %&& ���! %&��!���(� %! ��!!�� %�� ��(�&�#MN�O��P Q� RST UVW XYZ[V \]^ H _ `a[ b[`b Sc bSde`YSVb Sc fg\hiHj_ Sc bekl[T fg\iHj_ Sc fg\iH LHj_ UVm Sc fg\iH hHj UT[ `a[ bUn[ UVm Yb `a[ b[`Sc Udd bel[T bSde`YSVb `S H o^TSSc o *+,C �� ��!!��p ������ ��%� q �� ��� % ���! ��&�����- ��� ��!r���� % %!�%3& J %������ �� s �� q- ���� ��%� tu v w.J1xs yz u- u �%����!�&%� s �� q# $�!��! @�� %&& �� %!�%3&� %! %������- %�� ����- !(%���� �� ��(%��� ��&) �� %&�� ��%� %! %!�'��������� @��� �� ��!!�� ��&�����-w.J1 z {s| %�� ��� q �� ��� !��!�� 3) *+,C#*+,.H LH1 �� ��(�&�p &� q 3 % ���! ��&�����- ��! %�) %!�%3&� Jx} - &�s> 3 �� %&� %������ �� J �� q- %�� ~> �� �� ��� �����3& !�%�!�# ��(�&%!&)sA �� �� %&� %������ �� } %�� ~A ��� !�%�!# ��E� %�) �� � ��%� �� �%�!��s>x~>� %�� �sAx~A� %! ���! %!�'���������- �#- �s>xsA�- �s>x~A� %�� �~>xsA�%! %&&�@� ���&�# ��

� ������� ��� ���� ������ ���������

������ ���! ��&������ (%) 3 �����&� 3�%�� .>1 �!�( % ���!���%& �!'����� - �� r����� �� % 3%�?3�� %!�%3& ��%!%��� �� ���'r����� �����! ��&������- %�� .A1 �!�( %� r�!�(��%& �!����� .� �r� ������1-�� �� 4��� !%!- � �� @ �% �� 3%�?3�� %!�%3&�- �� �% ���! ��&������

kb11
34
Page 35: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

��������� �� �� ������� � ���� � � �� �� �! �"#$ %&'()*&+� , � -$ ./0*/1'2%� 3 � �45678� � 9&&'2/+ :: ;, / <=�>?@%(A20 %&'()*&+BC 3 � - �D5E 02)(0+ F0(2GHI&&%2 JK L 3 GCMN5�OD PK L ,QK RM%/.2 � /+S ! G

,QK T �PK#GBC UVWXY Z[\�� �JK#] �D5EBC UVWXY ^Z[\�� , _ �PK#�3 ` �JK#] �D5E 02)(0+ F0(2G5ER02%)&02 � /+S ! G

5ER02)(0+ a/'%2G

��������� b �� �� ������ � ���� � � �� �� �! �"#$ �)/Hc� �JK#45678� � 9&&'2/+ :: � *% %(A20 /0H H&+%*%)2+)dDB85 efghi jk lmf nopfq RMA&A JK r0&s �)/HcG

t CMN5�OD uKv L " RM6dB�OD YXwxUXyz{| \,Qv �}Qv �,QK�}QK] RM

O�65 lmf~hmlk02)(0+ a/'%2G

O�65 p��ln�A(%I Jv &+ �)/HcG5ER6d

5ER5ER02)(0+ F0(2G

��������� ���������� �������� ��������� � ����������� ¡��¢����£t CMN5�OD Pv L ,Qv RMBC ¤ ;PK L ,QK�P¥K L }QK k�h¦ f¦gf §PK�Pv ¨ L uKv © §P¥K � Pv ¨ L uKv © PK ¤� P¥K

�D5E,Qv T ,Qv ` �Pv #G

5ER5ERCMN5�OD Pv L }Qv RMBC ¤ ;PK L ,QK k�h¦ f¦gf §PK�Pv ¨ L uKv �D5E}Qv T }Qv ` �Pv #G

5ER5ERBC gf ªngkf mln «gª�n ¦gk ¬nnl p��ln� �D5E 02)(0+ A0(+2SG

­ BC ®,Qv ® � > ¯ ®}Qv ® ° ± �D5E 02)(0+ +&)@H&+%G02)(0+ +&AG

²B³´ µ´ %(A20 ¶·� /'¸&0*)Is

kb11
35
Page 36: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

��

�� �

��

����

�� �

��

���

��

��

� �

��

�� � �� ����� � ��� � � � �� ����� ��� ���� ����!"�"! # �$ %& '�((��� ��� � ��)*+� ��,�� *�� � (-.��)��� /*�)* 0-�� ,� (�1� �"�� �*� )$"�� ��"�� ��"2�"! �*$�� +� ��,���� � "$� �. ���"��( *� �� �*� )$"�� ��"�� $" #3 � � �4�)��5 �*� ��0� �� �*� $"�� $"#& 6�!*�� 7*�" �*� ��0� ����!"0�"�� # 8 % �� ($"� �" ��� � /� *�+� �*� �$��$/�"!. $.�!���$" #3 98 % : ; 98 % < = 98 % : ; 3 98 > < =3 98 >& ?$/ )$"��(� @; 3 � %A �"(@= � >A �*�5 � � "$� ���$/�(� �*� "��/$ 2 �� "$ �$"!� � )B)$"�����"�&

CDEFE GHH IGFJGKHEL MGN KE FEOGJFEPQ RS MTFE KSUD OFSKHEVLW CE OFSOSLE XNPYJNZ UDE [VSLU FSKTLU[ LSHTUJSN UDGU JL GL MHSLE GL OSLLJKHE US G LTOEF LSHTUJSNQ\N SOUJVGH LSHTUJSN JL PEXNEP GL G LSHTUJSN UDGU JL GL MHSLE GL OSLLJKHE US GLTOEF LSHTUJSNQ

]^_ ` abcde f^ghib^e jk ` c`_b`lgd bf f`bm i^ ld _dn`b_`lgd boipd_d dqbfi `i gd`fi ` c`ghd be bif m^r`be mbod_dei s_^r ipd ^ed `ffbaedm be jk

`em t^rn`iblgd ubip `gg ^ipd_ c`ghdf be jvRDE SOUJVGH LSHTUJSN JL G LSHTUJSN CDEFE UDE NTVKEF Sw FEOGJFGKHE IGFJGKHEL JLVGxJVGHQ yTMD GN SOUJVGH FSKTLU LSHTUJSN JL ZTGFGNUEEP US ExJLUQ zw UDE OFSKYHEV JL LGUJLXGKHEW CE CJHH DGIE G LSHTUJSN CDEFEW JN UDE CSFLU MGLEW NSNE Sw UDEIGFJGKHEL GFE FEOGJFGKHEQ {E DSOEW Sw MSTFLEW US XNP LSVE Sw UDE IGFJGKHEL GFEFEOGJFGKHEQ |SF ExGVOHEW STF ExOEFJVENUL LDSC UDGU LGUJLXGKHE JNLUGNMEL GU UDEODGLE UFGNLJUJSN GNP KE}SNP DGIE G MSFE Sw FSTZDH} ~�� FEOGJFGKHE IGFJGKHELQ RSXNP LTMD LSHTUJSNLW CE OFSOSLE G KFGNMD GNP KSTNP GHZSFJUDV UDGU XNPL GN SOYUJVGH FSKTLU LSHTUJSNQ RDE GHZSFJUDV JVOHEVENUEP JL IEF} LJVJHGF US �\�� �LEE�Q��W CDEFE GFMYMSNLJLUENM} JL ELUGKHJLDEP SN UDE NSNYGLLJZNEP GL CEHH GL SN UDEGLLJZNEP IGFJGKHELQ RDE MTFFENU HSCEF KSTNP MSVOTUEP K} UDE GHZSFJUDV JL UDENTVKEF Sw LJNZHEUSN PSVGJNLW UDE JNJUJGH TOOEF KSTNP JL ~Q zNPEEPW EGMD LJNZHEUSNPSVGJN MSFFELOSNPL US GN he_dn`b_`lgd IGFJGKHEW LJNME NS SUDEF IGHTE JL MSNLJLUENUCJUD UDE FELU Sw UDE LSHTUJSNQ RDE FELU JL G U}OJMGH KFGNMD GNP KSTNP GHZSFJUDVQRDE XFLU LSHTUJSN �SF UDE OFSSw Sw TNLGUJLXGKJHJU}� NEEPL ExGMUH} UDE LGVE UJVEGL UDE TNPEFH}JNZ �\� GHZSFJUDVQ \wUEFCGFPLW JU CJHH MSNUJNTE KFGNMDJNZ GNPPJLMSIEFJNZ KEUUEF LSHTUJSNLQ zU MGN UDEFEwSFE KE MSNLJPEFEP GL GN bet_drdei`g`e�ibrd `ga^_biprQ {E FEwEF US JU GL LTOEF ���Q

|SF SOUJVJ�GUJSN OFSKHEVLW UDE SOUJVGH LSHTUJSN VG} NSU KE G LTOEF LSHTUJSNQ{E MGN HSS� wSF EJUDEF UDE VSLU FEOGJFGKHE SOUJVGH LSHTUJSN SF UDE LTOEF LSHTUJSNCJUD UDE KELU IGHTE wSF UDE SK�EMUJIE wTNMUJSNQ �SFE ZENEFGHH}W GN SOUJVJ�GUJSNOFSKHEV UDEN KEMSVEL G rhgib�t_bid_b^e SOUJVJ�GUJSN OFSKHEVW CDEFE CE GFESOUJVJ�JNZ UDE NTVKEF Sw FEOGJFGKHE IGFJGKHEL GNP UDE SK�EMUJIE wTNMUJSNQ

kb11
36
Page 37: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

� ���������� �� ��

��� �� ��� ���� �� ������ ���� ������� �� �� ���! ��"� �#��$ ������ �$�" ��$�%��$�"����� ��� ����$����& $��&�$ �� ������& �� ��� ��������� $���$� '()* +�$��"� ,�$� -$���! �� ���&! ��� &�.����! �� -�&��� ����$ ���������� $����$ �������������* /� �%�����&� ��$ � �� �� &�����!� ��� ����� �$�������� ��$ 0/1 #������� � ��������� "��� ��$��$ ���� ��� ��& �� ��� ����� �$�������� ��$ ����$ 0/1*2��� "���� ���� � ��$& �$�#��" �� �$! �����! ��� �� �� � � ����$ ��������*0�$�� �$� ��� ������� ����� �� ��� ����� �$�������� ���� �� �$&�$� �� "������&��$����$ ��$ -�&��� ����$ ��������� ���� ��$ -�&��� ���������* 3�,� �$� ,� ����&����� �� ��� #��&,�&�� �$�#��"� ��$ ��������� #! �������! $���%��� ��� �$�#��" 4������ ���� ��� ����"����! �$���$���5 ����$ ��������� ��� #� ����&� �$ ����$���� ��!�����"�� ���6����$ ��������� ,��� � $����� ��! ���� ��"#�$ �� $����$�#�� �$��#���*

7� �$����� ��$� ��� ��"��$���� #��,��� 0/1 �� 8 98 � ����$ 0/1�0/1:��& 0/1 �� 8:8 � �� �,� ������� �� $��&�" �$�#��" ��������� �� ��� ������$��������; 4<= �$��#���� >< ������ >== �����$������ >>? &������,�& ������ ��$�����$����5 ��& 4>== �$��#���� @ ������ (<= �����$������ >= &������,�& ��������$ �����$����5* A���$� B �� �� ��� ��� ��"�� ��& ��� ��"#�$ �� #����$���� ������� ����$���"�* 7� �#��$ � ���� 4>5 0/1 �� 8 98 �C���� ��! �$���� "�$����� ��� ����$ "����&�� #�� �� ��� �$������� ,��� ��� &�"��� ��D� �� ��� #��� ��&4(5 ����$ 0/1 �����$��$"� ��� ����$ ����$���"�� �� ��$"� �� $����"�� �� ������ ��� ��D� �� ��� �$�#��" ���$�����*

EFGH EFG IJ KHK EFG IJ K LK MNOPQ EFGRS T UV W T XU YZ T V[V\ Y] T V[U^G_` abcP dMe f\\ gh Uh ijklmnoaQmnoM XUpqVXVVV XXX\hq irs pVgfabcP INa dhVVV Me Xpt uv uv uvRS T XVV W T q YZ T V[VU Y] T V[pf^wG_` abcP dMe ppUf ghV hxU ijslmnoaQmnoM XfhXhgVVV hf\q\qV yir qg\fabcP INa dhVVV Me qqt ft uv uv

z{|j }j ~PMN�aM ma a�P O�mMP aQmJMbabIJx w IJ�� UV bJMamJnPM I� a�bM n�mMM �PQP �b�PJ aI EFGH

� ������ ���

�������� 7� �� � ���&��& ��� �$���$���� �� ����$"�&��� ,����� � 1�� �$�"�6,�$�*7� ���$�&���& ��� ������ �� ����$ ����������!� ��& #���& ���� ��� � ���$������$���"� ����$ 0/1 �� &� �����& �� ��� � ��� �$�#��"� ,���� �����$��$"� �������$ "����&� ���&��& ��$�* 7� ���� �$����� ����$ ��� �� �� ����"D����� ��6��$���" ,���� -�&� ��� "��� $�#��� �������� ���� �� �� ����� �� �����#�� �� �����$ ��������*

kb11
37
Page 38: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

������� ��� �� �������� ��� ��� ����� �������� ��������� ���� �� � !������"����� �������# $��%�!������ �����"���%��!����& �'� ��� ��!�������!����& ���"�����& ������� �� ��� (��)* !�� (������* ��� � %� �� ��!���* �����"���%��!����&�� � �� ���& �� ��� ����� ��� (��)� ��� ��� ���������* �� ���!����& �� � �� ���&�� ��� ����� �""�����% �� � "������ �������� +�� "�� !� ���� ������ �� � �� ���& ��� ����!��* �� �� ��� ���� %� �� �� ���� ����!�� ���� � ��������,# -�������� ����� �� ������ ��� ��"�� ���!��# .�� ������"�* !& ��/������ �� �� ��������� �0����*���� ��& �(� ����� ��� �����"���%��!�� (����� ����� �� �� �� ����!�� ����!��#1� ��� ����� ���� "������� � 2�3 (��� �(� ����!��� 456 ��� ��� �����(��%���������7 8�5 �95 8�5 �95 8�5 �95 8�5:9# -��� ��!��� ��� �(� �� �� ���������* 8�5 �9��� 8�5 �9# -�� ���� 4 ; � �� �� ����!�� �� !��� �� �� ��������� !& 4 ; �* ��� �"� ����* !�� ������� 4 ; � �� ��!�������!�� �� 4 ; �* ���"� 8�5 �9 �� ����������� ��� 8�5 �9* ��� 4 ; � �� ��!�������!�� �� 4 ; �* ���"� 8�5:9 �� �������� ���8�5:9 �� ���#

<=�=�� �>��?�>�@A -�� ��!��� �� ���)��% �� �� ��������� !�"���� ������(��� ����� ��� �� ���� ��� ����(��* �#�* ��� +�5 B,C�� �� ���������# D� ��� ��%�������E� ��� ���� �� �� �� "��������"& �� +�5 B,C�� �� ���������# F� � �����������"����* (� (���� ��)� �� �0 ���� ���"��!�� "������ �� +�5 B,C�� �� 2�3�# .��C��������* �� (��� �&����" 2�3�* (� (��� �� "������� ��� ���� �� �C��& ��C%������� ��� G��� ����& ��C%����#

HIJIKILMINOP QP RSTUVSW XYZ [P RSTUVSWP \S]^S_ `X^YVSYXYTS ^Y ZaYX`^T TbYcVWX^YV YSVdbWecPfY ghijkklmnop qqqrsttu vXwSc xyz{|u O}~~P|P \P �Y^TU �P �S�WXWZ XYZ �P �X]cUP ��vSW TcvcP �STUY^TX] [SvbWV Q�������|��xuQ��� [ScSXWTU �Wb�vu |��xPxP RP �P �bd]SW XYZ �P �P \WbdYP \WXYTU^Yw TbYcVWX^YV cXV^c_XTV^bY vWb�]S`c _bWcb]�V^bYc Wb��cV �YZSW ]^eS]a TUXYwScP fY ghijkklmnop �gs��u vXwSc ���z��{u |���P{P �P �P �WS�ZSWP Q c��T^SYV TbYZ^V^bY _bW �XTeVWXTe��b�YZSZ cSXWTUP �i�hn�� i� ��k

q��u x|�y��zy�Ou O}~�P�P �P �P �WS�ZSWP �XWV^X] �bYcVWX^YV �XV^c_XTV^bYP fY ghijkklmnop r��qrst�u vXwSc|y~z|~xu O}~}P

�P �P �P �WS�ZSWP �]^`^YXV^Yw fYVSWTUXYwSX�]S �X]�Sc ^Y �bYcVWX^YV �XV^c_XTV^bY �Wb��]S`cP fY ghijkklmnop qqqrs��u vXwSc ||yz|xxu O}}OPyP �P ��cc^SYu [P RS�W�aYSu XYZ �P \b^ �`X�]VP ¡X^YVX^Y^Yw XWT�TbYc^cVSYTa d^VU^YZaYX`^T �XTeVWXTe^YwP fY ghijkklmnop �gs��u vXwSc |{}z|�Ou |���P~P QP �XWeSc ¡P �^Yc�SWw XYZ QP [baP ��vSW`bZS]c XYZ Wb��cVYSccP fY ghijkklmnopqqqrs�tu vXwSc xx{zxx}u O}}~P}P fP ¡^w�S]P ¢£n�¤mj ¥�k¦m§�k �inp�h�mn� ¨��mp��j�min �nl r�p q©©�mj��min �i qrg��nnmnoP �UR VUSc^cu ªY^«SWc^Va b_ �Z^Y��WwUu |��OPO�P �P �TU^S¬ XYZ �P �SW_X^]]^SP �bwbbZ WSTbWZ^Yw _bW cVXV^T XYZ ZaYX`^T TbYcVWX^YVcXV^c_XTV^bY vWb�]S`P r�qr­u x®|¯�O~yz|�yu O}}{POOP �P �X]cUP �VbTUXcV^T TbYcVWX^YV vWbwWX``^YwP fY ghijkklmnop °�qrs�±u |��|PO|P [P �S^wS] XYZ �P \]^SeP ²Y WS_bW`�]XV^bY b_ TbYcVWX^YV cXV^c_XTV^bY vWb�]S`cP fYghijkklmnop °�qrs�tu vXwSc |�{z|�~u O}}~P

kb11
38
Page 39: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

Steps toward Computing Flexible Schedules

Nicola Policella1?,??, Stephen F. Smith2, Amedeo Cesta1, and Angelo Oddi1

1 Planning & Scheduling Team, Institute for Cognitive Science and TechnologyItalian National Research Council

Rome, Italy{policella,cesta,oddi}@ip.rm.cnr.it

2 The Robotics Institute, Carnegie Mellon UniversityPittsburgh, PA, USA

[email protected]

Abstract. In this paper we consider the problem of building sched-ules that retain temporal flexibility. Such a feature represents a relevantbenefit for managing changes in a dynamic environment. We begin byformalizing the concept of flexibility, to provide a set of metrics againstwhich the flexibility of competing schedules can be compared. Then, us-ing a common solving framework, we develop two orthogonal proceduresfor constructing a flexible schedule. The first, which we call the resourceenvelope based approach, uses computed bounds on cumulative resourceusage (i.e., a resource envelope) to identify potential resource conflicts,and progressively winnows the total set of temporally feasible solutionsinto a smaller set of resource feasible solutions by resolving detected con-flicts. The second, referred to as the earliest start time approach, insteaduses conflict analysis of a specific (i.e., earliest start time) solution togenerate an initial fixed-time schedule, and then generalizes this solutionto a set of resource feasible solutions. We evaluate the relative effective-ness of these two procedures on a set of project scheduling benchmarkproblems, considering both their problem solving performance and theflexibility of the solutions they generate.

1 Introduction

In most practical scheduling environments, off-line schedules can have a verylimited lifetime and scheduling is really an ongoing process of responding to un-expected and evolving circumstances. In such environments, insurance of robustresponse is generally the first concern. Unfortunately, the lack of guidance thatmight be provided by a schedule often leads to myopic, sub-optimal decision-making.

In this paper we pursue the idea of promoting robust response through thegeneration of flexible schedules – schedules that encapsulate a set of possibleexecution futures and hence can accommodate some amount of executional un-certainty. Our particular focus is generation of schedules that retain temporal

? Ph.D. student at the Department of Computer and Systems Science, University ofRome “La Sapienza”, Italy

?? Visiting student scholar at the Robotics Institute, Carnegie Mellon University

kb11
39
Page 40: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

flexibility. Historically, a major obstacle to generating temporally flexible sched-ules has been the difficulty of accurately computing the number of resourcesrequired across all possible executions. Without this capability, it is difficultto obtain sufficient search guidance to achieve scalable problem solving perfor-mance. In [1], this problem is circumvented through use of a two-step procedure,where attention is first focused on generating a particular resource-feasible solu-tion, the earliest start time solution, and then this solution is generalized into aflexible solution. However, in [6], a new procedure for computing resource usagebounds for a flexible schedule has been proposed, referred to as the resource en-velope. Since this procedure generates “the tightest possible resource-level boundfor a flexible plan”, it suggests the possibility of generating a flexible schedule ina more direct, least-commitment fashion, using the resource envelope to detectpotential resource conflicts and transforming the set of possible solutions intoa small set of resource-feasible solutions by successively posting new conflict-resolving constraints between competing activities. Intuitively, we might expectthat a schedule generation scheme which operates in such a least-commitmentfashion would produce a solution with greater flexibility than an approach thatinstead produces a single point solution and attempts to generalize from this.But the performance tradeoffs are not immediately clear. To investigate thesetradeoffs, we develop concrete implementations of each of the above approaches.To sharpen the comparison, we utilize a common scheduling framework whereinschedule generation is formulated as an incremental, conflict removal (or lev-eling) process. We experimentally compare the performance of each procedureon a set of known resource-constrained project scheduling problems, consideringboth problem solving and solution flexibility characteristics.

The paper starts by discussing the concept and benefits of flexible solutionsin uncertain environments and specifying two parameters for measuring solutionquality along this dimension (Sect. 2.1). In Sect. 3 we describe the precedenceconstraint posting (PCP) framework in which the two schedule generation ap-proaches are to be defined and compared. In Sect. 4 and Sect. 5 the resourceenvelope and the earliest start time approach are respectively introduced. Sec-tion 5.1 then presents a method for obtaining flexible solutions from fixed timeones. An empirical evaluation is presented in Sect. 6, analyzing the feature offlexibility in Sect. 6.1. Finally we summarize our main results.

2 Flexibility and the Uncertainty in Scheduling

In the realm of scheduling problems different sources of uncertainty can arise:durations may not be known, resources may have lower capacity than expexted(i.e., machine breakdown), new tasks may need to be taken into account. Giventhis, one highly desirable characteristic of a schedule is that the reactions tounexpected events during execution entail small and localized changes.

One way to face this problem consists of using on-line (reactive) approaches.These approaches try to repair the schedule each time a new disruption happens.Keeping the pace with execution requires that the repair process be both fast andcomplete. A repair must be fast because of the need to re-start execution of theschedule as soon as possible. A repair also has to be complete in the sense thatit has to take into account all changes that have occurred, avoiding to produce

kb11
40
Page 41: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

new ones. As these two goals can be conflicting a compromise solution is oftenneeded. Different approaches exist and they tend to favor either the swiftness oftheir reaction [10] or the completeness of the new solution [8].

Alternative approaches to managing execution in dynamic environments havefocused on building schedules that retain flexibility and hedge against uncer-tainty (off-line or proactive approaches). Robust approaches aim at building so-lutions able to absorb some level of unexpected event without rescheduling. Toachieve such a feature, different techniques have been investigated. One consistsof building redundancy-based solutions, both of resources and of time, takinginto account the uncertainty present in the domain [3]. An alternative techniqueis to construct a set of contingencies (i.e., a set of different solutions) and usethe most suitable with respect to the actual evolution of the environment [4].An important point to note is that both types of approaches above need to beaware of the possible events that can occur in the environment. In some cases,this need for knowledge about the uncertainty in the operating environment canpresent a barrier to their use.

For this reason, in the perspective of robust approaches, we consider a lessknowledge-intensive approach: to simply build solutions that retain temporalflexibility where problem constraints allow. The aim is to produce solutions thatenable reaction to exogenous events without large changes or explicit assistance(or repairs). A similar concept of producing solutions that promote bounded,localized recovery from execution failures is also proposed in [5]. The two con-ditions above are desired to insure an ability to keep pace with execution and,at the same time, maintain stability in the solution. To achieve these features,the idea is to construct partially ordered solutions, by introducing ordering con-straints to resolve resource conflicts between pairs of activities. By providinggreater execution flexibility, such solutions are more advantageous than fixed-time schedules (where precise start and end times are assigned to all activities).Fixed-time schedules are quite brittle and it is typically very difficult to followthem exactly during execution. Moreover, a flexible solution allows explicit rea-soning about the uncontrollability of external events and the ability to includeexecution countermeasures.

2.1 Evaluation criteria

A fundamental point related to the flexibility concept introduced above is theneed for metrics that characterize the quality of a flexible solution, and in gen-eral, the extent to which a solution is suitable for the execution phase. Differentconcepts can be used to describe the behavior of a given system facing uncer-tainty in the world - stability, flexibility or robustness - but these notions remainvague unless both the perturbations and features of interest are specified. In-deed it makes no sense to define the quality of a system without first specifyingwhich of its characteristics have been considered. In the following we representthe scheduling problem by a graph where for each activity ai there are two nodes(events), the start time sai

and the end time eaiand for each constraint there is

an edge in the graph. Applying Dijkstra’s Shortest Path Algorithm the earliestand latest values for both events of each activity are computed: est(ai), lst(ai)eet(ai) and let(ai).

kb11
41
Page 42: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

In [1] a metric3 based on the temporal slack associated with each activity isintroduced:

flex =∑

h 6=l

|d(eah, sal

) − d(sal, eah

)|H × N × (N − 1)

× 100 (1)

in which H is the horizon of the problem, N is the number of activities andd(tp1, tp2) is the distance between the two time points. This metric aims atmeasuring the fluidity of a solution, i.e., the ability to use flexibility to absorbtemporal variation in the execution of activities. The higher the value of flex,the less the risk of a “domino effect”, i.e. the higher the probability of localizedchanges.

While the previous parameter measures the ability to avoid domino effects,another aspect of solution flexibility is the expected magnitude of potentialchanges. We introduce a new parameter that takes into account the impactof disruptions on the schedule, or disruptibility of a solution:

dsrp =1

N

N∑

i=1

Prdisr(ai) ×let(ai) − eet(ai)

numchanges(ai,∆a1)

(2)

where Prdisr(ai) is the probability that a disruption occurs during the exe-cution of the activity ai. The value let(ai) − eet(ai) represents the temporalflexibility of each activity ai, i.e., the ability to absorb a change in the execu-tion phase. The probability is considered because the flexibility of each activitygives a different contribution to the solution quality according to the possibilitythat a disruption can occur, or not, during its execution. Through the functionnumchanges(ai, ∆ai

) the number of entailed changes given a right shift ∆aiof the

activity ai is computed. In Sect. 6.1 both the probability distribution, Prdisr(ai),and the right shift, ∆ai

, used in the empirical evaluation are described.The intuition behind this parameter consists of considering the trade-off be-

tween the flexibility of each activity, let(ai)−eet(ai), and the number of changesimplied, numchanges(ai, ∆ai

). The latter can be seen as the price to pay for theflexibility of each activity.

3 A Precedence Constraint Posting Framework

The goal of the paper is to evaluate the ability to find flexible solutions usingtwo different methods to estimate the resource needs at each instant: the earlieststart time profile [1] and the resource envelope [6]. For performing such a com-parison we will use each to guide the search within a profile-based schedulingframework. Within this framework, a resource feasible solution is produced byprogressively detecting time periods where resource demand is higher than re-source capacity and posting sequencing constraints between competing activitiesto reduce demand and eliminate capacity conflicts. There are different ways ofrepresenting and maintaining profile information. We will compare the extremeones: the resource envelope, which maintains all possible solutions, and the ear-liest start time approach, which considers a single solution. In the latter case, as

3 Named rb, robustness, in [1].

kb11
42
Page 43: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

PCP-greedy(Problem)Input: A problemOutput: A conflict-free solution1. CurrentSituation ← Problem

2. if Exists-Unresolvable-Conflict(CurrentSituation)3. return NIL4. else

5. ConflictSet ← Select-Conflict-Set(CurrentSituation)6. if ConflictSet = ∅7. return CurrentSituation

8. else

9. constraint ←Select-Leveling-Constraint(ConflictSet)10. Add-Constraint(CurrentSituation, constraint)11. PCP-greedy(CurrentSituation)

Fig. 1. Conflict-free Algorithm

it finds a single solution, a robust solution will be built as a two step process offinding a fixed-time solution and then generalizing from it as current constraintswill permit.

The framework is based on a constraint satisfaction model of schedulingproblems in which each activity ai is represented by two events, the start timesai

and the end time eai. There are two aspects to take into account: the time

and the resource constraints. The former introduces a set of constraints thatrepresent either the duration of the activity, durmin

ai≤ eai

− sai≤ durmax

ai, or

the relation between a pair of activities, cminij ≤ saj

− sai≤ cmax

ij . Representingthe resources requires taking into account the usage of each resource rk by thedifferent activities. This is done by associating a resource usage value at eachevent, ruik(tp). This allows the representation of different kind of activities: forinstance, for an activity ai that uses ruik capacity units it will be sufficient toset ruik(stai

) = ruik and ruik(etai) = −ruik. According to previous models the

resource constraint for a resource rk is defined as∑

∀tpj≤t ruik(tpj) ≤ capk for

each instant t.Fig. 1 shows the conflict removal procedure. Given a problem, in terms of

a partial ordered plan, the first step consists of building an estimate of the re-source levels needed (lines 2–5). This analysis can highlight an infeasible currentsituation, where resource needs are greater then the availability: contention peak(line 6). For solving such a case, a new precedence constraint is synthesizedand added to the problem (lines 9-11). What is needed to configure a completesearch procedure are mechanisms and heuristics for recognizing, prioritizing andresolving conflicts. These strategies derive from those first introduced in [11] andextended to the cumulative resource case in [1]. A conflict is defined to be anypair 〈ai, aj〉 of activities in a given contention peak. Four possible conditionscan held between the two activities according to the maximum distance, d(),between two events:

condition 1 : d(eai, saj

) < 0 ∧ d(eaj, sai

) < 0. In this case there is no way toorder the activities. This is identified as a pairwise unresolvable conflict.

kb11
43
Page 44: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

condition 2 : d(eai, saj

) < 0 ∧ d(eaj, sai

) ≥ 0 ∧ d(sai, eaj

) > 0. There is onlyone feasible ordering the two activities aj{before}ai.

condition 3 : d(eai, saj

) ≥ 0∧d(eaj, sai

) < 0∧d(saj, eai

) > 0. Like the previousone this is also a pairwise uniquely resolvable conflict. In this case the relationis ai{before}aj .

condition 4 : d(eai, saj

) ≥ 0 ∧ d(eaj, sai

) ≥ 0. In this case we have a pair-wise resolvable conflict. Both orderings ai{before}aj and aj{before}ai arefeasible and a choice is needed.

The previous conditions are used for implementing the following functions uti-lized in the general schema introduced in Fig. 1:

Exists-Unresolvable-Conflict(CurrentSituation). This procedure identifieswhether the current situation is infeasible, by propagating the constraintsdefined in the problem. It detects a contention peak where for each pair ofactivities condition 1 holds.

Select-Conflict-Set(CurrentSituation). This procedure selects a pair 〈ai, aj〉of activities within a resolvable peak. Two cases are distinguished. When oneor more pairwise conflicts satisfy conditions 2 or 3 then the conflict with theminimum (and negative) value ωres(ai, aj) = min{d(eai

, saj), d(eaj

, sai)} is

selected. Alternatively, if condition 4 holds, then is selected the pairwiseconflict 〈ai, aj〉 that minimize the value

ωres(ai, aj) = min{d(eai, saj

)√S

,d(eaj

, sai)√

S}

where S =min{d(eai

,saj),d(eaj

,sai)}

max{d(eai,saj

),d(eaj,sai

)} .

Select-Leveling-Constraint(ConflictSet). This procedure returns the order-ing constraint that leaves the most temporal flexibility: ai ≤ aj whetherd(eai

, saj) > d(eaj

, sai) and ai ≥ aj otherwise.

As the reader can see, decisions are taken according to a least commitmentprinciple, trying to retain the maximum amount of temporal flexibility. For thatreason the values of the distances d(eai

, saj) and d(eaj

, sai) have a key role.

To explore the impact of additional heuristic bias on the effectiveness ofvarious instantiations of this greedy search algorithm, we also define an enhancedSelect-Conflict-Set procedure which incorporates a further heursitic estimator.Specifically, we add a method for analyzing conflict sets with the aim of avoidingredundant constraints, through identification of Minimal Critical Sets [7]. AMinimal Critical Set, mcs, is a set of activities that simultaneously requires aresource rj with a combined capacity requirement greater than its capacity ci

and the requirement of any subset is lower than, or equals to ci. Applicationof this method can be seen genrally as a filtering step. It extracts from severalconflict sets those sub-sets of activities that are necessary to solve. In [7] aheuristic estimator is also provided. Given a mcs and a set of possible orderingconstraints {oc1, . . . , ock} which can be posted between pairs of the activities inmcs the estimator K(mcs) is defined:

1

K(mcs)=

k∑

i=1

1

1 + commit(oci) − commit(ocmin)(3)

kb11
44
Page 45: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

where commit(oci) estimates the loss in temporal flexibility as explained in [7].As a matter of fact the high computational complexity of enumerating all mcssprohibits its use on scheduling problems of any interesting size. In [2] two meth-ods to overcome such a problem are described. They consist of sampling a subsetof the set of all mcss.

Linear sampling. A queue Q is used to select an mcs from a contention peakP. Activities ai are considered sequentially and inserted in Q until the sumof the resource requirement is greater than the resource availability. Thenthe set Q is saved in a list of mcs and the first element in Q is removed. Theprevious steps are iterated until there are no more activities.

Quadratic sampling. This is an extension of the previous schema in which thesecond step is expanded as follows. Once the correct mcs has been collected,instead of removing the first element from Q a forward search through theremaining activities is performed to collect all mcs that can be obtained bydropping the last item placed in Q and substituting with single subsequentactivities until an mcs is composed.

This heuristic estimator leads to a modified Select-Conflict-Set procedure (line5 of the algorithm in Figure 1): it chooses the mcs with highest K value. Theconflict resolution heuristic (Select-Leveling-Constraint) simply chooses ocmin.

The next sections introduce the two approaches of interest in this paper forrepresenting and maintaining resource profile information, the resource envelopeapproach and the earliest start time approach.

4 The Resource Envelope

The first method considered for guiding the search for reaching flexible solutionsis the resource envelope defined in [6]. This work proved that it is possible tofind “the tightest possible resource-level bound for a flexible plan” through apolynomial algorithm. The advantage of using the resource envelope is that allpossible temporal allocations are taken into account during the solving process.Thus, unlike the fixed time approaches, a solution consists of a set of feasiblesolutions. In the remainder of this section we briefly review the idea behind thecomputation of the resource envelope.

To find the maximum (minimum) value of the resource level in an instant tmost methods subdivide the set of time points (events) into the following subsets:

– Bt: the set of events tpi s.t. let(tpi) ≤ t;– Et: the set of events tpi s.t. est(tpi) ≤ t < let(tpi);– At: the set of events tpi s.t. est(tpi) > t.

Since the events in Bt are those which will end before or at time t, they allcontribute, with the associated resource usage ruik(tpi), to the value of theresource profile of rk in the instant t. By the same argument we can excludefrom such a computation the events in At. Then the crucial point is to determinewhich of those in Et have to be take into account. A basic method consists ofenumerating all the possible combinations of events in Et. This method implies ahigh computational cost, and for this reason approximate techniques have been

kb11
45
Page 46: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

Fig. 2. Chaining method: intuition

developed. In [6], instead, the author proves that to find the subset of Et forcomputing the upper (lower) bound, it is possible to avoid such an enumeration.He shows that a polynomial algorithm can be found, taking the relations amongthe events into account through a reduction to a well-known tractable problem:the Max-Flow Problem. The effectiveness of the reduction is due to the factthat it allows to underline the relations among the set of the events and toconsider the subset of feasible combinations. The details of the algorithm areomitted here. We simply recall that the method broadly consists of building aMax-Flow problem from the set of events belonging to Et and, after the maxflow is found, the subset Pmax ⊆ Et (Pmin), of events that gives the maximum(minimum) value of the resource level at the instant t, is computed by collectingall activities that are reachable from the source in the residual graph of theMax-Flow problem. We will discuss the approach obtained using the resourceenvelope to guide the search (eba) in Sect. 6.

5 The Earliest Start Time Approach

In [1] it has been shown that use of the earliest start time profile is an effectiveway to solve scheduling problems. This profile is based on a temporal net prop-erty: at each time point (event) tpi there is an associated interval of possiblevalues [lbtpi

, ubtpi] and the extremes of the interval if chosen as the value for

all time variables tpi identify a solution of the temporal net. In [1] the earlieststart time solution (that is tpi = lbtpi

for each i) is considered. The method(named esta) consists of building the resource profile for such a temporal solu-tion and matching it with the resource bounds. If a violation exists then furtherconstraints are posted to resolve the resource conflict.

The fundamental difference between the earliest start time approach withrespect to the resource envelope approach is that while the latter gives a mea-sure of the worst-case hypothesis, the former identifies “real” problems/conflictsin a particular situation (earliest start time solution). In other words the firstapproach says what can happen in such a situation relative to the entire set ofpossible solutions, the second one, instead, what will happen in such a particularcase.

As esta finds fixed time solutions a method for computing flexible solutionsis needed. In the next section we describe a method for achieving such a feature.

kb11
46
Page 47: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

Chaining(Problem, Fixed-Time Solution)Input: A problem and an its Fixed-Time solutionOutput: A flexible solution1. S ← Fixed-Time Solution2. S∗ ← Problem3. Sort all the activities according to their start time in S

4. For each activity ai

5. For each resource rj

6. k=17. While ruij > 08. If Qjk 6= ∅9. (a, t1, t2) ← ReadLastElement(Qjk)10. If estai

≥ t211. Add (ai, estai

, eetai) to Qjk

12. Add-Constraint(S∗, a{before}ai)13. ruij = ruij − 114. else

15. Add (ai, estai, eetai

) to Qjk

16. ruij = ruij − 117. k = k + 118. Return S∗

Fig. 3. Chaining Algorithm

5.1 Producing flexible solutions

In [1] the authors suggest an approach for translating a fixed schedule to a MCM-SP problem instance into a flexible solution. The MCM-SP problem involves aset of activities ai, each of them requiring only the use of a single resource forits entire duration. Given a solution the transforming method, named chaining,consists of creating sets of chains of activities, one set for each resource. Thisoperation is accomplished by deleting all previously posted leveling constraintsand using the solution resource profiles to post a new set of constraints. In thissection we generalize that method for problems that involve multi-capacitedresources. This requires a few adjustments:

– a first step is to consider a resource rj with capacity cj as a set Rj of n = cj

single capacity sub-resources. The idea is to create a similar situation to theMCM-SP case;

– in this light the second step is to ensure that each activity is allocated tothe same subset of Rj . This step can be viewed in Figure 2: on the left thereis the resource profile of a resource rj , each activity is represented with adifferent color. The second step consists of maintaining the same subset ofsub-resources for each activity over time. For instance, in the center of Figure2 the light gray activities is re-drawn in the way that it is always allocatedon the fourth sub-resource;

– the last step is to build a chain for each sub resource in Rj . On the right ofFigure 2 this step is represented by the added constraints. That explains whythe second step is needed. Indeed if the chain is built taking into accountonly the resource profile, there can be a problem with the relation between

kb11
47
Page 48: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

the light gray activity and the white one. In fact, using the chain buildingprocedure just described, one should add a constraint between them, butthat will not be sound. The second step allows, indeed, to avoid this problem,taking into account the different allocation on the set of sub-resources Rj .

Figure 3 contains the sketch of a chaining algorithm. It uses a set of queues, Qjk,to represent each capacity unit of the resource rj . The elements of the queuesconsists of a triple 〈ai, estai

, eetai〉, that is, the activity ai and its start and end

time according to the earliest start time solution S. The algorithm starts bysorting the set of activities according to their start time in the solution S. Thenit proceeds to allocate the capacity units needed for each activity. It selects onlythe capacity units available at the start time of the activity (line 10). Then whenan activity is allocated on a queue a new constraint between this activity andthe previous in the queue is posted (line 12).

The enhanced algorithm obtained by adding the chaining post processingto the esta algorithm has been named esta

C . Obviously greater CPU-time isrequired to use the chaining method, being that it is a post-processing phase.Furthermore using the chaining method two important features of the esta

approach, the number of solved problems and the makespan, are preserved.

6 Experimental Evaluation

In this section we present the results obtained using either the resource enve-lope or the earliest start time approach embedded in the common frameworkintroduced in Sect. 3.

For the evaluation we consider the Resource-Constrained Project SchedulingProblem with Minimum and Maximum time lags (RPCSP/max), which involvessynchronizing the use of a set of renewable resources R = {r1 . . . rm} to performa set of activities V = {a1 . . . an} over time. The execution of each activity issubject to the following constraints:

– each activity aj has a duration duraj, a start time saj

and an end time eaj

such that eaj= saj

+ duraj;

– each activity ai requires the use of ruik units of the resource rk.– a set of temporal constraints ck defined for an activities pair (ai, aj) of the

form of cmink ≤ saj

− sai≤ cmax

k ;– each resource rk has an integer capacity capk ≥ 1;

A solution to a RCPSP/max is any consistent assignment to the start-time ofall the activities in V which does not violate resource capacity constraints.

The results we will show have been obtained using the benchmarks definedin [9]. These consist of three sets of 270 instances of different size 10× 5, 20× 5and 30×5 where the numbers represent respectively the number of activities andof resources involved. All algorithms presented in this paper are implementedin C++ and the CPU times presented in the following tables are obtained on aPentium III-500 Mhz processor under Windows NT 4.0.

An initial comparison is presented according to the following parameters:(1) percentage of problems solved from a fixed set, (2) average CPU-time spentto solve instances of the problem, (3) average makespan and (4) the number

kb11
48
Page 49: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

size sol. (%) makespan CPU-time(sec.) constraints10 67.4 55.64 4.211 11.1520 50.7 92.22 120.4 40.2630 52.6 130.15 1376.4 87.53

Table 1. eba

size sol. (%) makespan CPU-time(sec.) constraints10 97.04 49.1 1.728 7.1620 95.56 83.5 9.898 21.3030 95.93 106.1 33.736 38.18

Table 2. estaC

of leveling constraints posted to solve the problem. The last gives one estimateof the kind of flexible solution created (The higher the less desirable). We alsoconsider the makespan because it gives the quality of the solution in the bestcase (no disruptions) possible. Later, in Section 6.1, we analyze the flexibility ofthe solutions achieved using each different approach. The parameters introducedin Sect. 2.1 will be used as a basis for that evaluation.

In Table 1 the results of the resource envelope-based approach without mcs

filtering, eba, are shown. Comparing these values with those obtained withesta

C , Table 2, it can be seen that the eba approach is actually quite ineffective.It solves significantly fewer problems than esta

C in each problem set and incurshigher CPU times.

A significant drawback of using the resource envelope is its high associatedcomputational cost. Indeed, the computation of the envelope implies that it isnecessary to solve a Max-Flow problem for each time-point. As indicated in [6],this leads to an overall complexity of O(n4) which can be reduced to O(n2.5)in practical cases. These computational requirements present a formidable bar-rier to effective application of the resource envelope. In point of fact, use theresource envelope within a scheduling problem solver requires recomputation ofthe envelope at each step of the search.

Comparison with the results obtained with the estaC algorithm highlight a

further negative aspect of the eba approach: eba consistently adds a larger setof leveling constraints than esta

C in generating a solution. In fact, this resultcould have been predicted. The esta

C approach, indeed, posts a set of “implicit”constraints each time the profile is computed: each activity has to start at itsearliest start-time. These constraints temporarily restrict the solution’s temporalflexibility (for the purpose of computing resource profiles). This avoids havingto take into account all the possible temporal configurations of the set of theactivities, and it follows that a smaller set of constraints are necessary to orderthem.

By adding mcs filtering to the eba search configuration, we obtain a no-ticeable improvement of the result. Tables 3 and 4 represent respectively theresults obtained using the linear and the quadratic sampling versions of mcs

filtering. The use of mcs linear sampling gives an overall improvement of the ba-

kb11
49
Page 50: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

size sol. (%) makespan CPU-time(sec.) constraints10 76.7 54.83 10.29 10.8620 69.3 99.88 162.95 30.8830 66.7 132.7 1432.1 62.84

Table 3. eba + mcs linear sampling

size sol. (%) makespan CPU-time(sec.) constraints10 96.7 57.71 10.78 12.3620 86.3 106.05 205.76 34.7430 81.1 143.76 2101.2 65.74

Table 4. eba + mcs quadratic sampling

sic approach. Although the results are still worse than the estaC case, the mcs

linear gives better values than the simple eba with respect to all performanceparameters. The use of the quadratic mcs version gives considerable further im-provement (Table 4) with respect to the number of problems solved, and indeedthe performance along this dimension is closer to that achieved with the esta

C

approach. This could be predicted from the fact that the quadratic version takesa larger sample than the linear version from the space of the mcs. On the otherhand, eba with quadratic mcs has a negative impact both the CPU-time andthe number of leveling constraints added. The first aspect follows from use of themore expensive mcs quadratic sampling procedure in conjunction with the re-source envelope computation. The second aspect, instead, as suggested above, isa consequence of the nature of approaches that attempt to retain maximal tem-poral flexibility. Finally, Tables 5 and 6 present the results obtained using thetwo mcs sampling methods in conjunction with the earliest start time approach.Here we see only slight improvement over the basic esta

C procedure.

6.1 Flexibility

This section analyzes the flexibility of the solutions obtained using the resourceenvelope or the earliest start time profile to guide the algorithm. For each bench-mark problem set we present the average value. Moreover taking into accountthat different sets of problems were solved by each approach we only considerthe subset of problem instances solved by all six approaches. Table 7 presentsthe results of the six different approaches according to the parameters describedin Sect. 2.1.

First consider the metric (1), which reflects the degree of “fluidity” of thegenerated solutions. The basic eba approach tends to produce more robust so-lutions along this dimension when it is able to generate a solution. On the otherhand since eba is managing the total set of possible solutions, search heuristicsfor conflict selection and resolution generally provide less leverage (see Table 1)than in esta

C and there is greater chance of not finding a solution. Furthermore,even as the introduction of mcs filtering increases the percentage of problemssolved, it also leads to solutions that on average are less fluid. It thus appears

kb11
50
Page 51: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

size sol. (%) makespan CPU-time(sec.) constraints10 98.15 48.55 1.832 3.0320 96.67 82.97 13.37 11.0130 97.04 106.35 86.220 22.33

Table 5. estaC+mcs linear sampling

size sol. (%) makespan CPU-time(sec.) constraints10 98.15 48.58 1.846 3.0320 96.30 83.08 14.268 10.9130 97.41 106.01 125.52 22.38

Table 6. estaC+mcs quadratic sampling

that the heuristic bias introduced by mcs filtering has both positive and nega-tive aspects, illustrating the difficult challenge associated with injecting heuristicguidance into the eba search procedure. This behavior is not observed in thecase of esta

C : indeed all three algorithms produce solutions with essentially thesame fluidity.

To quantify the impact of possible disruption during the execution of theschedule, a second metric (2) was introduced in Sect 2.1. In the current evaluationwe consider that the probability that a disruption occurs during the execution ofan activity ai is related to its duration and to the overall duration of the solution

(mk), Prdisr(ai) =durai

mk. Furthermore for computing the number of changes we

assume the biggest shift ∆i possible for activity ai in the worst case, that is,numchanges(ai, let(ai) − eet(ai)). Then we can re-write the (2) as:

dsrp =1

N

N∑

i=1

durai

mk× let(ai) − eet(ai)

numchanges(ai, let(ai) − eet(ai))(4)

Examining the values in the table, we see that along this dimension the estac

approaches dominate the eba approaches across all problem sets.

Final remarks. Considering the philosophies behind the different approachesthat have been evaluated, one would expect that those that manage the knowl-edge of all the possible temporal allocations would provide the most effectivebasis for generating flexible solutions. As a matter of fact, we have shown a twostep procedure for computing a fixed time schedule and translating it into a flex-ible solution to be a more effective approach. The first step allows advantage tobe taken of the effectiveness of a fixed time scheduling approach (i.e., makespanand CPU time minimization), while the second step, has been shown to be ca-pable of re-instating temporal flexibility in a way that preserves the qualities ofthe fixed time solution.

kb11
51
Page 52: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

fluidity disruptibility10 20 30 10 20 30

eba 28.69 31.32 33.35 8.90 12.74 18.21eba+mcs linear 27.05 25.78 25.76 8.74 12.18 17.27eba+mcs quadratic 25.84 24.14 22.35 8.23 12.73 18.57

estaC 29.18 29.49 28.09 10.20 16.38 23.80

estaC+mcs linear 29.20 29.97 28.45 10.21 16.49 24.90

estaC+mcs quadratic 29.20 30.05 28.06 10.20 15.34 24.31

Table 7. Fluidity & Disruptibility.

7 Conclusion and Future Work

In this paper, we have investigated two approaches for generating schedules thatretain temporal flexibility and possess good robustness properties. Such flexiblesolutions promote an ability to react to exogenous events with minimal solu-tion change and without external assistance. To support assessment of schedulesfrom this perspective, we first defined measures of solution robustness relatingto fluidity and disruptibility. We then developed two alternative approaches toconstructing a flexible schedule: one based on use of the resource envelope intro-duced in [6] (named eba) and the other based on use of the earliest start timeprofile [1]. The latter approach also involved the definition of a post processingmethod to transform a fixed-times schedule into a flexible schedule (the completeapproach has been named esta

C). To provide a basis for comparative analysis,both approaches were formulated within a common framework.

Analyzing initial performance results obtained with both procedures, wefound that eba was able to solve significantly smaller numbers of problemsthan esta

C at much higher computational cost per solution. To improve eba’sperformance, we incorporated two approximate methods for generating MinimalConflict Sets (mcs): linear and quadratic sampling. The use of these methodsdid increase the number of solutions found but also increased the CPU-time andthe number of leveling constraints posted. And, in all cases, esta

C continuedto outperform eba across all performance criteria. In analyzing the robustnessof generated solutions, we found that the basic eba procedure in fact producedsolutions with greater fluidity when it was able to find a solution. However, asmcs sampling was incorporated and the number of problems solved increased,the fluidity of generated solutions simultaneously degraded, below the measuredfluidity of schedules produced by esta

C . With regard to disruptibility, estaC

schedules dominated in all cases. Overall, estaC was found to be a much more

effective procedure.

Different aspects of the resource envelope approach and the earliest start timeapproach warrant further investigation. The former would benefit considerablyfrom a more efficient envelope computation, considering that it is called intoplay extremely often. In the case of esta

C the algorithm for translating a fixedtime solution into a flexible solution might be improved through use of moreextended, local search techniques.

kb11
52
Page 53: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

Acknowledgements

Stephen F. Smith’s work is supported in part by the Department of DefenseAdvanced Research Projects Agency (DARPA) and the US Air Force ResearchLaboratory under contracts F30602-00-2-0503 and F30602-02-2-0149, and bythe CMU Robotics Institute. Amedeo Cesta, Angelo Oddi and Nicola Poli-cella’s work is partially supported by ASI (Italian Space Agency) under projectARISCOM (Contract I/R/215/02). Nicola Policella is currently supported by aScholarship from CNR on Information Technology. This work has been devel-oped during Policella’s visit at the CMU Robotics Institute as a visiting studentscholar. He would like to thank the members of the Intelligent Coordination andLogistics Laboratory for support and hospitality.

References

1. A. Cesta, A. Oddi, and S. F. Smith. Profile Based Algorithms to Solve MultipleCapacitated Metric Scheduling Problems. In Proceedings of the 4th InternationalConference on Artificial Intelligence Planning Systems AIPS-98, 1998.

2. A. Cesta, A. Oddi, and S. F. Smith. A Constraint-based method for ProjectScheduling with Time Windows. Journal of Heuristic, 2002.

3. A.J. Davenport, C. Gefflot, and J.C. Beck. Slack-based Techniques for RobustSchedules. In Proceedings of 6th European Conference on Planning, ECP-01, 2001.

4. M. Drummond, J. Bresina, and K. Swanson. Just-in-Case Scheduling. In Proceed-ings of the 12th National Conference on Artificial Intelligence, AAAI-94, pages1098–1104. AAAI Press, 1994.

5. M.L. Ginsberg, A.J. Parkes, and A. Roy. Supermodels and Robustness. In Pro-ceedings of the 15th National Conference on Artificial Intelligence, AAAI-98, pages334–339. AAAI Press, 1998.

6. N. Muscettola. Computing the Envelope for Stepwise-Constant Resource Alloca-tions. In Principles and Practice of Constraint Programming, 8th InternationalConference, CP 2002, volume 2470 of Lecture Notes in Computer Science, pages139–154. Springer, 2002.

7. P.Laborie and M. Ghallab. Planning with Sharable Resource Constraints. InProceedings of the 14th International Joint Conference on Artificial Intelligence,IJCAI-95, pages 1643–1649, 1995.

8. H. H. El Sakkout and M. G. Wallace. Probe Backtrack Search for Minimal Pertur-bation in Dynamic Scheduling. Constraints, 5(4), 2000. Special Issue on IndustrialConstraint-Directed Scheduling.

9. C. Schwindt. A Branch and Bound Algorithm for the Resource-Constrained ProjectDuration Problem Subject to Temporal Constraints. Technical Report 544, Institutfur Wirtschaftstheorie und Operations Research, Universit at Karlsruhe, 1998.

10. S. F. Smith. OPIS: A Methodology and Architecture for Reactive Scheduling. InM. Fox and M. Zweben, editors, Intelligent Scheduling. Morgan Kaufmann, 1994.

11. S. F. Smith and C. Cheng. Slack-based Heuristics for Constraint SatisfactionsScheduling. In Proceedings of the 11th National Conference on Artificial Intelli-gence, AAAI-93, pages 139–144. AAAI Press, 1993.

kb11
53
Page 54: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

����������� ��� ���������� ����� �������� ��������

��������� ������� ���! "���#$��� ��% &��$ '��(�)*+�!,-. /012345167 89 :;<82;= >6;?7 @ABCDDEFGHIJKLMINOPKQR STJEUV SEQW >XY:;4Z= >[\341;? X8??3]3 ^80<80= /_ _ JaDOEbUKBbSEbSKbSTG

cdefghif j1[\?3 k3[\84;? :48l?3[5 mjk:5n ;43 ; 64;Z6;l?3 435641Z618089 6o3 94;[3p84q 89 k3[\84;? X80564;106 j;6159;Z6180 :48l?3[5_ ko3143r\43551230355 o;5 l330 3r630<3< 10 6p8 p;75_ s1456= 68 ;ZZ8t06 984 t0uZ80648??;l?3 323065v Z;??3< j1[\?3 k3[\84;? :48l?3[5 p16o /0Z346;1067mjk:/5n v ;0< 53Z80<= 68 ;ZZ8t06 984 5896 \4393430Z35 v Z;??3< j1[\?3k3[\84;? :48l?3[5 p16o :4393430Z35 mjk::5n_ ko3 [8612;6180 984 l86o3r63051805 15 948[ 43;?u?193 \48l?3[5w ;0< 10<33< 5tZo \48l?3[5 [;7 p3??03Z35516;63 xyz{ \4393430Z35 ;0< t0Z346;1067_ k8 [336 6o15 033< p3 <3|03j1[\?3 k3[\84;? :48l?3[5 p16o :4393430Z35 ;0< /0Z346;1067 mjk::/5n_}3 3r630< 6o3 0861805 89 Z80648??;l1?167 68 jk::/5= ;0< <35Z41l3 [36ou8<5 68 <3634[103 po36o34 6o353 \48\346135 o8?<_

~ ���������� ��� ����������

�������, �� !�+����$ ���������� ���� ������% !� !,� %����$!��� �� ���$)$��� ���#)$�+�� ��� #� ����% $��(��� #�!, �������������� ��% ����#�$�!�� �$������ ��%��,�%�$��� ��� ��!�$$�!� ��++�����!��� ���� ��� ���+�$�� ����$��� ��! ��$� ����)!�!�!��� !�+����$ ����!����!� #�!���� ����!� ��% ���$�!�!��� !�+����$ ��%������� ����!�� #�! �$�� ���! !�+����$ ����������� ��% ���!�����! ����!� ���� �,��,!,� ����! ,�� �� ���!��$� ��� ���+�$�� ��++�����!��� �,��$% #� ����%�% %��)��� +���������� �� �����#$�� �,�$� ��++�����!��� %���!����� �,��, %����% ���$�+�!�� ���%�!����� ��� ��! ��%�� !,� ����!�� %����! ���!��$��� �%%���� !,� $��( �� �������������� �� ,��% ����!����!�� ����������� ���#� �%%�% !� !,� ���+����(� !� �%%���� !,� $��( �� ����#�$�!� !� ���!��������,��%$��� �� �����!���!� ��� #� �%%�%� *�+� ���$)���$% ���#$�+�� ,������� ,������% ��� #�!,�  ! �� !,�� �������+��! !,�! +�!���!�� �� ,����

¡¢¡ £¤¥¦§¨©ª «§¬­®¨©¯¬® °©®¯­±©²®¯§¬ ³¨§´ª¤¥­ µ¯®¶ ³¨¤±¤¨¤¬²¤­ � � !�+����$ ����!����! ���#$�+� �����#$�� %���!� !�+�����!� �� ��!����$�� ��%����!����!� ��������! !,� �����#$� !�+����$ ��$�!���� #�!���� !,�+� ·��,!���!� �$� � � ��!��%���% ����!�!�!��� ¹º»¼½¾¿À ÁÂÃÄ Å�Æ*��Ç ��% !,� ���!���!�%��#�$��� �� ÂÈ»¼Àº ¹º»¼½¾¿À þ½ÉÀº»Ä Å*���Ç�  � � *��� �����#$�� ÊË ��������!!�+�����!� Å����!�Ç ��% ����!����!� ��������! !,� ��$�!���� #�!���� !,�+� �)����� !,� ����!����!� ��� ���!���!�% !� � ����$� ��!����$ Ì !,�� ,��� !,� ���+

kb11
54
Page 55: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

��� � �� � �� � ��� � � � �� �� ������ � ���� ����� ����� �� ������� ����� ���� �� ����� �� �� ������� � � ��� �� ���� ����� ����� ��! ������ "���� �� ����� �� �#$��� %�� ����� & �� ������ "� ���� '�� ��� (�)���������

� ������� ��� ��� �% �*�������� ��� � ��� ���� ��� +����� ��� ��� ,-.� ����#��� /01234 54126783 976:341; <0=> 974?474@A4; B���C� ����� ���"��������� '�� ���� ������ ")����� ��%� �� ����� �� ,D.� E�� "���� ��� ���� ���)����� �� ����� �� �% � �� ��%� �������� �� ����� �� ��� �����F�� �� ��� � �%� 274?474@A4 ?G@A=06@ � � � ������� H I J K L� ����� J M ,��� N��� . � � L �� ���� �% ���%��� �� ���#��� ���� �% � ������ " OLNPN QNRN ST�U

& "� ����� ����� " � �� �� (�)��������� V������� �� �� � " ��� %��)���� " ���#����� �� ����� " �� ���� ����� � ��� #���� �% ������� ��I BDC ������%��� �� %# ���� � ��� ����)�� ��*W� BXC ��� ������ " �#������������ ���������� �������� �� � � BYC ��� ���%��� ��� ��� ������� ��������

Z���� ��� ��� ,[�\. ����� � ��� ������� %�� ���� ���� F � ��� "�������������� ���#��� � ����� �% ��*����� " ��� �� ���� ����� ���%��� �� ���#����� F���� ]^_ abcdefg� � %����� ���� �� ����� �� � ��� �� ����� � ����� � ��� �� �� ��� �#�)� ������ � ���� �� ����� � �������� �� " �� ��� ���� ���%��� �������� ��� "���� � ��� ���� �� ����� �� ��� ������ %�� ��� F��� ���#��� ����� ���� )%��� ������� �� ������*��� �� ���� ������ �#� ��� ���%���� �� �� �� ���� ����#�� � ��� ����� B��������C ������� ����� �� #��� %�� ��� � �������� � ��� ���%��� �� %# ���� �� �� ���� � ������� h`ciabcdefg� �� ���� "� ���� �#����� �$��� �� &� F �� ��� ��*��#� ����� j �� ����� ��� ���%��� ��� �� ��k�������l� ���� ��� � ������� ��� ���#��� �� ��� ��� m� I � n J NH B�C o jp �% ���#�������� �� �� ����� j �� ��� ���%��� �� %# ���� �� ��� ��� �� � ������ � ������ %������ J � �������� ��� ����� ���#����� � ����� V� �� �� ����� � ��� ���� ����� /59q� �� �� ��� ������� ��� ������ F �� ��� ��*���� j %�� ����� /59q ���� ����� �� �� ���#��� � �% ���� � ��� ��� ���#��� � �% ��� ���"� �� ��� E����� ������� ���� ����� � ������ ������� ���#��� �� �� � ,Y.�

Srs tuvwxy zyvw{|}x ~|{�xyv� �u�� ���y|�}u���� ������� ��� ��� �% ��*������� � �*��#��� �% ��� ���� �������� � � ���"���,D�. � ����#��� /01234 54126783 976:341; G@�47 �@A47=80@=� B���C�

V���� �� � � �� ��� ���������� ���� �#����� � �����F�� �� � �������� ���#����� � %��� � �� ��� �������� 74�G07414@= � � A6@=0@�4@=� �� %������ �� � � �� �� �� �������� �#� ��� ������ ��� ������� �� k(��#��l � �� ���� ��� ���� ���� ��� ��� ��� ���� � �! �� �#�� ������� �� ������ ��� �*��#�� ����� � �� � %������� �� ����� �� ���������� �� ���� (��#�� ���� ������� ���� ������ � ��� �#����� � �#����� � �% �� �� "� � �� � ��� ���#��� � ���� �� ��� � �������� �� � �� ¡� ¢£¤¥¤ ¦¤§¤ ¨© ��ª« �«��¬ £ �� � ��� ��­ §¤ ¨ ® £¯ ¥ �� ª°���±����²�³ ���°ª����²� ��­ § �� ��� ���� �¡�����¯ ¦ �� ���°ª����²�³ ­�����´���� °²�� ¥³ ¨ ����� ���� �¡����� ��­ § �� ��� �´�°�´��� �¡�����µ � ¶·¸¹º»¼»½¾ �� � �������� �� ¿«�ª«¥ �� �­�� °����³ ¨ �� ��� �´�°�´��� �¡����� ��­ ¦ �� ª°�������²�µ

À � ����±ª°�²�Á Â��ª��°� �� Â��ª��°� ¿��« �� �°�� °��  ��ì Ä ¬ Å Æ £ �� ����±ª°�²�Á� ÇÈ ® £ �«� ��� °Â �¡������ ÉÊ ® Å ËÄ ÌÊÍ Î ÈÏ Â°��� � ���Ð�� �����²�¡µ

kb11
55
Page 56: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

�������������� � � ��� �� ��� ������� � ���������� � � ��� �������� �� !���� "� ��#� � "�� � �$����� ��� ��!�%���� ��&�� �� �����' �� (���� ��� ����������� ����� ����� ��� %�%��&)* + ��� �� ,����-� .����������/ �� ����� �� � 0$�& �$������ �������� ����"�1� �� ��� ������������ 2+ �/���,����� �� � %��� �� ���!� � ��� "��&'���� �� ���� ����' �� ���#���� � ��� ��������� ��!�%�����3* + ��� �� 4��5�.��� .����������/ �� ����� �� � ����� �$������ ������������ &�%��&� ��� � ���#�& ��!�%���� �� ��� %��� ��& ���� ��� ��"��� � �$���&�& � � �!%���� ����&��� "����#�� !�� ��%%�� �� ��� �������* + ��� �� 6/�7� .����������/ �� ����� �� � #�� �� �� �� �$������ ��������)����� �$���� �� ����� �� ����&��� �� �#��� �������������� ����� ��� �&���& � ����� ��������) ���� 89 :���!�� 89 ;��1���� 0��� ��<����� � 1�"��&�� � ��� ����������' ��& ����1��� �� �� �� �� ����1���� ��� ����&' ���%��������' �� ��� �� � =>?� @� �� ���� �� ��� !�� ���������

1�"��&�� ����!%��� �� !��� %�������� �����' ����� �� ��������#�� ����&�����' ���#���� ��& �$������� ��� ����& ��<����� � %��� 1�"��&�� � ��� �����������' ��& ����1��� �� �� ��A� �!%���� =BC?�

@� ���� %�%�� "� ��!���� &�0�� � ����� � ��!%��� ��������� �����������%� ��!� ���� ������� �� %���������� ��& ������������ D� ���� ����� � %� ���!� "� ����&�� ��� �<��#����� � ����' ;��1 ��& :���!�� ������� ������@� %��������� "� �$���& ��� ����� � ������� ����� ��& "� ��#� �������!� �����1 ���!� ;� ��" ���� �&&��� %���������� &�� �� �!%��� � ��� �!%��$���� � ����1��� ����� ��%�� � ������� ������ ;� ���1�� ��� !�� &�E���� ����':���!�� ������� ����� "��� %��!�� %��������� ��#���' � ��#��� � ���& �����!%���� �������!�F GHIJ KLMN IOPQPOPRSPJ TRU VRSPOMTLRMW����&�� � ��!%��� %� ��! "���� �������� %����������' ���& ���������� ��&��� ������������ A������ � ��� �� � ��� �� �&�<����� �������� "� %�%��"��� "� "��� ���� � X�5Y�/ Z/5Y���� [����/5, 6��\ [�/]/�/�./, ��4 �./�������+� ����!�� &�0����� � � ���� �� � ��� "���� ��!�%���� ��� %���������& ��� �" �������' ��<����!��� ��& ���������' �� �� � ���� ���� �!���!�%���� ��� �� ������� ��' ��� ���� � ���������� � � ��2�3 �� ��%����& � ������� ������ _#��� ������ � ��� ���� ��� � �� �� %��������� #����'�� �� � ���' ��& "� ���1 � ������ "���� !�$�!���� ���� #�����`�� %��������' "� ��� �$���& �!� &�0������ ��#�� �� ���� ��& ����� 0� ����� �� ��� ���"��� "��� D��"��� =BC?' "� ��� /a/.b����/ ��5/Y����,��� ���� %����' cd' "��� &��� �� �������& � ��� �����' "���� .�����-/�� ��5/eY����, ��� ���� %����' fd' "��� ��������� �� &��� �� �������& � ��� �$������"��&g � -/�/��. ��5/Y���� hd �� ������ �� �$����� �� � � ��������� ��!�%����;� ��� � 4/.�,��� i2cd3 �� � #���� �������& � �� �$����� �� ��!�%���' "������ ��,/�j����� k2fd3 �� � #���� �������& 2 � A�����3 � � ��������� ��!�%���g�� �,,�-�5/�� l 2hd3 �� � #���� �������& � ������ � &������ � �� �$����� ����!�%��� � � �� ���#���� � � ��������� ��!�%����

kb11
56
Page 57: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

��������� �� �� � ����������� ���������� ��� � �� ���� !" #!$�%�!�#& '�(�) '� � !& ( %(! *+�� , -�� .� /0� � +�� 1 23�� ,4�� 5 &6"0 #0(# 3�� 7 8 9'� :;8 9'�: 74�� � (�) -�� < +�� = > !& ( ����������� ?�� ������ ������� #0(# $(%& �("0�@�$��# �A #0� !�#� B(@ !�#� (� �@�$��# �A #0� % �A� ��"� &�# �A ( &�$! !��C �� � ������D��� ���������� E�� !& ( %(! *F+�� , F-�� . /0� � F+�� 1 2F3�� , F4�� 5 &6"0#0(# F3�� 7 8 9'� : ; 8 9'�: 7 F4�� � (�) F-�� < F+�� = > !& ( ������D��� ?�� ������ �������GHI�J��DJ �J� K�L������� � �� � ����������� ��K ������D��� ����������� ���

����I��M �J��� �� �� ��?������ �������� K�N������ O��P��� �J��Q R�� ������ ��� ����������� ���������� �� S�N����T�U< �J� �D��� ��� ��� �� ��V����� �J�� ?�� W������Q X� ��������M ?�� ������ �� � ������D��� ���������� �� S��Y����T�U< �� �J�P��J� �D���U� �?����� � � T�I�� Z����� �J�����Q [�� ��������M PJ�I� P� ������������I �I������ ���K������M P� K� ?�� �� � �J��� ������������� K�������\ � �� �������D��� ���������� ��Y���� �J�� ?�� ������Q

]� ��� ��P ����� ����II^ �J� K�L������ � � _`RRaM ���O����D ?�� ������� ��� �J� K�L������ � _`RR� P��J ������D���^ ��� �J� K�L������ � _`Ra�<��������� b cdeffgh� _��?I� ��?���I R��OI�� P��J R�� ������� ��Ka���������^ 9_`RRa: !& ( #6%@� i 1 9jk,jl,mn,ml,o: /0� �p jk !& #0� &�# �A �q�"6#(r@� #!$�%�!�#&C jl !& #0� &�# �A "��#!����# #!$�%�!�#&C mn !& #0� &�# �A &�A# �s6! �$��# "��&# (!�#& �B� oC ml !& #0� &�# �A &�A# "��#!����# "��&# (!�#& �B� oC o 1 *>,t, u,v, �. !& ( "w&�$! !��

H� �V��?I� � � ���?I� _`RRa �� K�?����K �T��I�� �� [�D��� xQX� ��K�� �� ���I^�� �J� ��I������ �� � _`RRaM P� ���K ���J�� ?��I������^K�L�������Q ]� ��^ � �s6! �$��# )6 (#!�� 8�� �� ��^ ?���� �� �����T�I +�� � ����������� ���������� ��� M �Q�Q 8�� 1 8 9'� : ; 8 9'�:\ PJ�I� � "��#!����# )6 (w

#!�� y�� �� ��^ ?���� �� �����T�I F+�� � ������D��� ���������� E�� M �Q�Q y�� 18 9'� : ; 8 9'�:Q ]� ��^ � "��# �@ &�s6��"� z � �J� _`RRa �� �� ����D������ �J� �V�����OI� ���� ?����� z 1 {z9|}:, ~ ~ ~ , z9|�:�Q X �� �� �� ����D������� �II �J� �V�����OI� ����?�����M �J� ������I �������� �� ���K �� O� "�$%@�#�M��J��P��� %( #!(@Q �T��^ ������I �������� �� ���������K P��J � ?�� ������ T�I��M?�� 9z: 1 �n�� ������������ � -�� 9z9|� :;z9|�::M PJ��� � ��?������� �J� ��I��?I�����T��?������ � �J� �������DQ[���II^M �J� &%("� �A "�$%@�#� �(@!&(#!��& � � _`RRa �� �J� ���������?��K��� � �II ������D��� �����T�I�M �Q�Q � 1 2F3}, F4}5 u � � � u 2F3�, F4�5Q [�� �II y ��M �J� % �� �"#!�� i� � _`RRa i �� �J� _`RR �O�����K ��?I����D �� ���J�� � ������D��� ���������� E�M �J� �����T�I F+� P��J 2y�,y�5Q �T��^ ���I������� �����������K P��J � ?�� ������ T�I��M ?�� 9y: 1 ���� ����k�����k� � F-�� 9y9�� : ;y9��::Q��������� � cd�������h� ��J�K�I� � !& ( "�$%@�#� (&&!��$��# #� (@@ #0�#!$�%�!�#& �A ����  i C ( &"0�)6@� !)��#!¡�& (� (&&!��$��# 8¢ � � $� � % �w"!&�@£� ( "��# �@ &�s6��"� z¢ (�) ( �(@!&(#!�� y¢ 1 {y¢�� � ¤/� /!@@ / !#� � 1

kb11
57
Page 58: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

B

.9 .9

.8

.01 .01

7 8 9 10 11 12 13 14

.9.9

3 4 5 6 7

.9 .9 .9 .9.9

.9 .9 .9

.01 .01 .01 .01 .01 .01

0 1 2 3 4 5 6 7 8 9 10

.9 .9

A C

������ �� ��� � �� ������ � �����

��� ��� ! "#$%# & '%(#)*+# ,)#$-,.#' & *$,/*# '#- 01 2#/*,2#3#$- )*2&-,0$' 45�67 8&$) ,- ,' '&,) -0 9# :��;�;���� ,1 <=67 � >67 ���67 ? @ &$) <A67 � B>67 ���67 ? @! CD#2E'%(#)*+# ,' &''0%,&-#) F,-( & G2#1#2#$%#H ���� �I J ���� ��� K���� ��� !

L� :� ��M ��N� �O� P�;� �M� �Q��; �� :����� R� ��Q MO�:O �S� ���� ::����R��O :��������:Q �T ��������:�;U �O� �T� �; P�;� �� ��;��� :��������:Q �; ���V�T �� Q ;�:��T �� ����;� �O� ��������:�U ���:�P: QV ��� �:O ������ ��:����� R� ��QV �O� ��������:�; �� :��R���T M��O �O� :��������:Q �� �M� MQ;UW� 0G-,3&+ :����� R� ��Q M� ��X���� ;:O�T� � M��O ��� ��������:�Y �� Z:����� R� ��Q M� ��X���� ;:O�T� � M��O ��������:� � �;� ZU[�\]�^�_] ` abc^�def g^�_]� h_]^�_ffei�f�^jk� l mnoop ,' q���� Q������ Q r����� R � ,s -(#2# #t,'-' & %0$-20+ '#/*#$%# � '*%( -(&- 102 &++ � u vwI J ���� ,' & %0$','-#$- '%(#)*+# 102 xyw &$) ���� �I ,' 0G-,3&+ z,!#! -(#2# ,' $00-(#2 '%(#)*+# I { %0$','-#$- F,-( G20| #%-,0$ xy '*%( -(&- ���� �I { ? ���� �I }![�\]�^�_] ~ aZ�g^�_]� h_]^�_ffei�f�^jk� l mnoop ,' Z������� Q r����� � R �w F,-( Z u �w ,s -(#2# #t,'-' & %0$-20+ '#/*#$%# � '*%( -(&- 102 &++ � u vwI J ���� ,' & %0$','-#$- '%(#)*+# 102 G20| #%-,0$ xyw &$) ���� �I � Z![�\]�^�_] � abc^�def ��e� h_]^�_ffei�f�^jk� l mnoop ,' q���� QL�S Q r����� R � ,s 102 &++ � u v -(#2# #t,'-' & %0$-20+ '#/*#$%# �y '*%(-(&- I J ��y �� ,' & %0$','-#$- '%(#)*+# 102 G20| #%-,0$ xyw &$) ���� �I ,' 0G-,�3&+ 102 xy ![�\]�^�_] � aZ���e� h_]^�_ffei�f�^jk� l mnoop ,' Z�L�S Q r����� � R �w F,-( Z u �w ,s 102 &++ � u v -(#2# #t,'-' & %0$-20+ '#/*#$%# �y '*%( -(&-I J ��y �� ,' & %0$','-#$- '%(#)*+# 102 G20| #%-,0$ xyw &$) ���� �I � Z!

W������N� QV ��T�� q���� r����� R� ��Q M� �Q �R��� ;�R;���� Q T��������� ��������:� N ��; �� T������� :��;�����;Y MO� � ��T�� Z�r����� R� ��QM� �R��� ���� ������� N ��;V R�� ������� Q �� ���� �O� ������� ��� �Q:��;�����ULO�:O ������ M� R� ���� �;��� M� T����T �� �O� ���R �� T����U

kb11
58
Page 59: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

������ �� ��� ����� � ���� ��� � ������� � ������� �������������� ������ � ��� ������ �������������� �� ��� �� ������� �!"�#!$ %�&��"�� '� � �� �������� ������ ��(����� ) �� �� ������ ��(����� )*+,- . ) � ����� �� ��� ���� /� ����� ��0 )*+,- 1 2)34567)3456 8 /9� :��������� �� !;%�#<� #�'$=%'�=!"'� � ��������� ��� )*+,- ��� > �� �� ������ ���������� >*+,-,? . > ������0 >*+,-,? 1 2@5A B > 7)*+,- 3456 C @5A 8 /9� D������� �� %�;%E'�� �� ������������������ �!FE'�=;$� ��� � ������ ���������� >G �� H?I 1 2>J B H7>G . @J9�KLMNOPOQN R STUPOVWX KYNWVOZ [QNP\QXXW]OXOPY^_ ` abccd =% e������������������ ����������� =f g!# '$$ > B H �h�#� ��=%�% ' �!"�#!$ %�&��"�� ) %��h�h'� i/ B )ji>J B H?klmnmo j p)Jq %��h �h'� rst )*+,- . )Jq '" rut %�h� �$�v 1 3)Jj>J6 =% �!"%=%��"� w=�h x?y q '" rzt ���� 3v 6 =% !E�=F'${KLMNOPOQN | S}~KYNWVOZ [QNP\QXXW]OXOPY^_ ` abccd =% }����������������������� =f g!# '$$ > B H �h�#� ��=%�% ' �!"�#!$ %�&��"�� ) %��h �h'� i/ B)ji>J B H?klmnmo j p)Jq %��h �h'� rst )*+,- . )Jq '" rut %�h� �$� v 1 3)J j>J6 =%�!"%=%��"� w=�h x?y q '" rzt ���� 3v 6 � }{

�� �� ��������� �������� �� ������ �������� :���� ������� ������������������� ����� � �� �� ��� ��������� ����� �� �������� ������� ��������������� ������ ������ �� :����� � �� ���� �� e�� �� �� ��� �������� �����

� ������ ����������������� ��� ������ �� �������� ��������� �� ������ �� ���������� ���� ������� :���� x �� e������� :������ ����������� 3e:�6� ��� ������ x �� }�:������ ����������� 3}�:�6���� ��������� �� ������� ���� �� �� ����� ���������� ��� �� �� ���� ����������� ¡ ¢£¤� ����� �������� ��� ���������� �� � :���� ��� ������ ���������� ¥�¡�¦§�¨�¦�¡����©ª�ª�« ¢¬¬¤� ����� ������ �� � :��� �� :������ �������������� ����� � ��� ���� ��������� �� ��(���� �� ���������� �������� � �� ���������� � D�� ������������ �� ���� ���� ������ �� �� �������� ���������� ����������� �������� �� �� g�­­® %�F=#="¯ °±²³´ 1 2¢µj ¬¤j¶·¸j¶¹ºjµj ¬9» ������������ �� �� ��������� ¢¼¤���� ���� ���� �� � �������� x �� � :���� �� �������� �� ���������� ��� ��� :���� �� ��������� �� �����������½��� ���������� ��� :���� ��� �� ������� � :��� �� �������� �� ��� �� ���� ��������� ��� ��������� ¾� ¿À3Á������ ���������Â6 �� � ������� �� ���� � :���� x 1 3ÃÄjÃÅjÆÇjÆÅj°6��� :��� ¿À3x 6 1 È¿ j ÉÊ� ����� �� �� �� �������� ¿ �� �� �� �� ��� ���������� �� ��� ��������� �� ÆÇ ��� ÆÅ� ��� ���������� ������� É 0 ¿ Ë Ì��� �� ���� ������� �� �� ���������� ������� �� �� ��� �������� �� x ¢£¤�

Í_Î TUPOVWX ÏP\QNÐ [QNP\QXXW]OXOPYD�� �������� :�� ����� �� ��� �� �������� �� �������� �� ����� ���������� ���� ���� ����� �� �� ��� �� ��������� ¡� �� ���� ���� ��� ������������

kb11
59
Page 60: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

���������� �� � � ���� ��� ����� � ��� ����� ���� �� � � ���� � � ! ���" � �#��� ��� ��$ �� ��" �� � � �� �������� ��� � �� � � �� �������� ��� � ��" "�%"�" �� � � �� � # �� $��� $ $�� ���� &'(���������� � ���� � ���� �� ��� � � ��) � ��� �� *��� � � �#�������� �� � "�"�� ��� +� � � ���,� " ������) ���� ���� �� ��� �� � �� �� �� ������-� � ����� � ��,.��� ������) �� � ��,.� �#��� "��� �,� � �� � � �� ������� �� /01 � "�"�� �� $ ��� ��� ��� � ��������� ��"�� ������� �� � ��)��� ����� 2 $�� �� � � ���� � � $� ������ ��) ����"� ��������,���

2 ��" 3456 � ���7 �,�� � ,� ����� ��) � ��,.� �#��� "��� ��� &'( �� ��� � � �� " � �������� �� � ���������� ��� � ��)���� �#��� �� ��� � ����) � ��������� �� � ".���# %� �� � �� � � �� ������� )����� � �� 3456 � � ���7 ��� �� � �8��7� 2 $�� ���� 9:;� ���� ��� ��� )# � �� ��� � ��� ����� � ����� � ���� � ���7 $�� ������ $ ��# <�� � ���, ��=� ��� ����) � ������� � � � ! � $� � ������) ��� ����� ���� $ ��� ������� �� � ���,� " � �� �� ���.��������,� >?@� ��� � �� �� �8�*��� �� � �����$�) � �� " ����$� �� � ������� �� ����� , A�8� ��������� ��# , � �" � ��� ���� �� ���� �BCDEFDG HI JK L M;::N3 OP 9MQR (STU (ST M;:N &V(LOUTW VX POY'ZX UT[ZT\(]OU[ '^TKT^TU\T K_U\(O&UP &U LZZ (ST \&UP(^LOU(P OP MQ` a&bTcT^R (ST \&UcT^PT OU[TUT^LZ OP KLZPT`

�� ��""��� � � ��)���" $ ������ ��� �� ���) A�"�� ����) 8��.�����,�� �� � ����7 3 d�� ���� � ��������� � ef +3 -� =� ��� ����) �� �#�� � � � ! � ����) � ���� �� � � � ��)���" ���� ��� � ���,.� " ����� , A�8� A� �$� %���� 3456 ���" ��� ����� � ef +3 -� ������� ��g�hi���h�g�jjklmjm�n �� 3456� 2 ���� � " ��� �k�o�p��� �� �����$�)� ��� )����� � �� � ��)���" � ,�� ����� ��� ��"�� qBCDEFDG rI M;::N 3 R bO(S PTYO]\&UcTs '^TKT^TU\T K_U\(O&UPR OP 9MQ Ot (ST\&^^TP'&UWOU[ M;:N 3456 OP MQ`

�k�o�p�� ��� ������"�� " ��"�� %�� �� ��"�� %� �� ��������� �� ��" �� �k�o�u�jvwgq x+yz {| {}-� $� � y ~ ��� � � ����� | � � "�%."�" ���) �� �� � �#��� ��� } � � ��", � �� �� � � �� � # ��� ���� ��� �ef ��� 9:; �� �� �� � � ��� ��", � �� ��������� $��� � x+y�-���g�hi���h�g�jjklmjm�n ��� � ��" ��"�� %� �� ����q � � x+yz {|-� � �� �k�o�p�� ��� ��� ��"�� %� �� x+yz {| {}-� �� �� �� � � �� $� � .���� �� ���7� >��@� =� ���� <�� �� �8 ��� ���7�� � ��"�� %� �� �� ���)A�8 �� � ����7 ��� � ��" ��"�� %� �� ������) ��� ����� ����= � $��� ���) �� ���� � ����,�� � � ��",� ��g�hi���h�g�jjklmjm�n$� �o���u�jvwg >�@ ��� � ��� �k�o�u�jvwg� ��� )# � � �"��� ��)���" ��k�o�p��� = ��� � ��" ��"�� %�� ,� � ����� "�� %�, , � � �.���"��� � ��� �o���u�jvwg ��� , � ������� � ����"��� ��� �k�o�u�jvwg�

kb11
60
Page 61: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

��� ������ ������� �������� ��� ������ ��� ������� � !��" #"�$ ������� � %&''( ) "* +,%- �� ���. /���# *��� ���� 0%- "* �12"!����� �� 345,%- 6".�. +,%- �"�� + 7 3458 ����� 345"* ��� ��9"�2� ��� ������ ��!�� �� ��"�� :;<=>?<@ABC D�E* � ���*"*���� %&'F.G���!�� ��"* "* ��� ��� ��*�. 0%- ����* ���� ����� �9"*�* � ������� *�12��������8 ���� ��������E �"�� � ����"*��"��8 "* ���"��� �� ��� ���H���"�� �����,*���E"�$ �� ���� ����"*��"��. +,%-8 ����!��8 "���*�* ���� ��� ��������E �������*�12���� �2*� ��!� � ��� ������ �� ���*� + �� ��� ��� ���H���"��*. I��������**8��� �����$2� � &������ J E��* ���EKLMN��NO �� PQ R STUUV ) WX +YSZ[ \]^_ \]^ STUV `a\RW_^b ac _ de^f\W_dgh Q ^h^_f^ Qi_f\W`_X `_ Ree \]^ f`_X\hRW_\X WX SZj k`l^m^h[ \]^ f`_m^hX^ W_ d^_Y^hRe WX QReX^j

�� ��*��!� ���� �� %&''( ��� �!�� �� +,���*"*���� �� ��# + n +o 7�"�pq rstuv wxpq 6ypq F. &� *�� ��"*8 *2���*� y "* � ����"*��"�� "� ��"�� *��� ���*���"����* ��� ������ *������ ���� +. &��� � ���H���"�� �����*���E"�$ �� y ��* ���#*��2�"��* �"�� ��� ������ *��"���# ��** ���� +.

�"�� ��"* ��*��!��"��8 "� "* ��**"��� �� �2� +,%- � �� %&''( ) "� ���,��,��������*���E���� �� ��� %- � � ������E %&'( ) z. ) z "* ��� ������� ����"��E�����"�$ ��� ��� ������ 2���"��* � ) �� ��!�� + 6"$���"�$ ��� 2������"��#F.%"��� + { +o8 ����"�$��� ���*���"��* ��"���"� ���"� "����!��* � ��� ��� ����.LMN��NO |� STUUV ) WX +YSZ W} \]^ f`hh^Xg`_bW_d STUV ) z WX SZj

&� *2����"*�8 �� ����� +,%- �� �����*� ��� *���*. -��� ~�6) F �� ��!��+� ���� ��*���� "� �����"�� ���2� ����"�$��� �"��*8 $"!"�$ ) z8 ��E �� ) z �2���C<��>:<��C<@@���@���. �� ���� ��� �����E :;<=>+>�:� "�* ������9"�# "* �6�� ��F.

� D��� 12��# �� ��*��� "*K ���� "* ��� �"$��*� ��!�� + �� ��"�� ) "* +,%-�6I��� ���� "� $������ + � 345.F �� �����*� � �"���# *����� ��$��"��� !��#*"�"��� �� :;<=>?<@ABCK ��� ���# ��E"D���"�� "* �� �������8 �� �!��# ���� ��!��8�:>� �"�� ��C<��>:<��C<@@���@���. �� ���� ��� �����E ���>+>�:� "�* ������9"�#"* �64 ��� ��F8 ����� 4 "* �������"���� �� ��� *����� ����"*"�� ��12"��E.

� ���� ��������� ¡�¡�¢�� �"�� ��� ���*"E�� ��� "����� � �EE"�$ ��� ������* �� ��� "**2� � ����-���������"�"�#. &�� �����"�$ ������� *����* ���� 0��"��� ���� -���������"�"�#60�-F ��E �- ��� ������E "� ��� ����*"�� ��# �� 0%- ��E %-KLMN��NO £� ¤ STUUV ) WX ¥¦Z WQ \]^ STUV `a\RW_^b ac _ de^f\W_d gh Q ^hY^_f^ Qi_f\W`_X `_ Ree \]^ f`_X\hRW_\X WX ¦Zj T]^ f`_m^hX^ W_ d^_^hRe WX QReX^j

&�� ���!��*� �"�* "� $������ ����2*� �� �2*� ���� "��� ����2�� ��� ��**"�"�"�#� ����"�$ *��� �������* � ��� "����!��* "��� §. G���!�� " ��� ��� �������* ��������E "��� *��"���# ��*"�"!� ��� ������*8 ���� ��� ���!��*� E��* ���E.

kb11
61
Page 62: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

������� � ���� � �� �� ���� ���� �� �� � ���� �� � ������ �� �������������� ������� !"�##�$%#%!& ������� �� '(()*�� �� � +,�� � ��-� �� ��.����� ������ ��* ��� /�� ������ � � �� ��� ��� 0�112 �� ��-�� + ��� ���� �� ����� ������� !"�##�$%#%!& �� ��� 0�12

�3������* ��� � ��� ���3����� � �� �� ��� 4� � ���� � 0�12 � �� �. ������ ���5� ���� 67 ��� 8 9 :;<=> ;?=@ A B B B A:;<C> ;?C@� ���� D � ��� ���3�� �4 ��������� ��������� ��� ������� 0�1 '(()* 2��� ���� ��� � ��� ������ �� �� ��� �� � ���5� ���� 67 �� ��-�� + ��� ���� �� �� � ��� ������ � �4 �������-�� 0�1* ��� �����E��� �4 3��� ��������� � �E��������� �� ��� ���3���4 ��������� �������� DF GHIC AJK ALM*

N OPQRSTUVW XYSZ[Y\\T]V\VZR��� ������ � �� ^����� ���������3����� ��� 3� ��� ��� � �� ��� ��� ��� ����* �� ���� � ��� 0�112 �� ���� 0�11 ��� 0�12� �� ����� �� ��-��,��� �E����� ���������* �� 3���� ��� +,^� 3� ��� �� ���� ���� �� �������� ��� ���-��� �� ���� ��� �^�*

_ 3�4���� � /�� ������ �� ���� +,^� �4 � 0�112 6 � ��� ���� H�4 ����������� ����M ������ /����� ��� ��E���� + �� �� � 6 � +,^�* �� ������� ��� �������� �4 ������� `Fabcdecf gh ij k lmnno 6 pq +rstu vwxy vwx lmno z{vkpyx| {} yx~�x�vpy~��xjx�xy�x j�y�vpzyq zy k�� vwx �zyqv�kpyvq pq st� �z�x�x�u vwx �zy�x�qx py ~xyrx�k� pq jk�qx�

0������ �� 0�� � �� ��� +,^� �4 � 0�112 6 �� ���,��,��� ���������� ��� ^� �4 � ������� 0�12 6�* �� ��� ���� 6 � � ��� ���3��� �3������ �������6 �� ��-�� +� ���� �������� ��� �������� � ��4��������* _����� �4 + � +� ������ ����� ;��� H8�� M� ��������� ���� ��� �������� ����� �����-�� �4��� ��� ���*abcdecf �h lmnno 6 pq +rst p� vwx �z��xq�zy|py~ lmno 6� pq st�

��� � � �� ��/�� �� ��������� �����+���� ������ �� �����+���* ��� �,��� ^� �4 ��� 0�12 ��-��-�� �� ��� ���������� ���-��� � ���� ����� �������� �� ���� 0� �� � �� ��� ���������� ���� ��������� ������� �� '�)*

0� ������ �� ��������� ��� ������ ��-�� + �� �� � 6 � +,^�� � ��� ����������� �� +,0�* ��� �������� ���������  �¡�+��� ���4��� � 3����� ��� �4�� ��� ������ ��-�� + �� �� � ��� ���3��� � +,^�� � 3�4���� �� �����E���� ���������� �� ��� �¢� �4 ��� ���3��� ��� ��� ��£����� ��� ����*

¤ ¥¦ZVUT\ QRSTUVW XYSZ[Y\\T]V\VZR§� ��� ��� ��� ��E� � ���� � ������ �� �� �� � �4 � 0�112 � ���������^����� ���� ���������3��* ��� /�� ��� � �� �E����� �^� �4 ���������� 0�1,12 �� �� � ���� ��� �������� � ���������� ��� ������ ��������* �� ��4���� ��� ������ �E����� �4 � ���������� 0�112 ��� �� ¨����� I*

kb11
62
Page 63: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

A C

B

contingent

x y

p qu v

������ �� ��� ��� ������ ��� �� � ����� ����

�� ��� ������ ������� �� � � !"#$%&'%( �� )��� �**���� +� � � ����� ����, �� ���� �� -�� ./ ��01 � � �������� � ���� � �/ � � )������/ � � ���2��� � �� 3��� )� �)�0�� )0 ��0 �*�3�� ������� ������ /�3 ��0��3� ����� 0� 4�� �� ���� ���� �� ������ ��0 � �� �� � � � *�/��������2���� 5������ 678, �� ��� ������ � �� ����� �2��2� � � � �� �/ � � )�����69:;8 �/ � � <� ��������� 5� ��0 2��)�� = , �� ��� ��� >? �� ������ � ��3� �� � � �2��� = ������

@�A �BCCBD EFG�H/ ; I J � �� �� �� � � � KLMMLN OPQRS < ��� ����0� /����� �� � � 3����� �� � � � ��� 3��� ����� �� � �� �3� < � ���� ����, � ��� �����0 ����� �� � �� ������ �� �3� >T, ��� � ��� ���� � �� *�/����� � ����������� >TU>V �� �������� ��� � � 5����� ���� � � �� � � �3*���� �/ � � � ��W� � /������ � ���3 � ��� � �� *�� ���������0 ��X��� �� ����� YZ[�\]�B��^ _� OL`QabRc P dcaP`efMPc ghiij k l Nadm a`dRcnPM 69:;8l ; I Jl L`dmR <� oL`QdcPa`dp qr k aQ sPdm oL`QaQdR`d dmR` ad aQ tuOp

�� ���� �v������, �/�� � ���� ��������)��0 � �����, �� )���-� / � �� ���� �� �� 3 ����� � 3�3�� ������� w����� � �� 3�3���0 ���� /���0 � ��� ���3���� )���� � �� �� ����� ��� �*�3�� ������� �� ������� H�� � 5����� ����, �� � � � ��� /������ , �� ��� *����� *������� � ��, � ���**��� �� �� YZ[ ������, ����� � �� �� 3�3�� /�3�

�� �)��� 3�3���0 � � � 5����� ����, �� *�/�3 � )��0 ���� /�� � ��� ��2��, xyz{, �� � � � �**� ��������� �< ��� <� ���� ����|���}� � � ����� ��� ���2�� 6~:�8��� ������ � � *������ )0 <�.xyz{:k 1����� � �� � � )��0 ���� ��� ���� �� ��2�� xy�� � 3����{��� ��VT .�1, ��� � �3�3�3 *�/����� ��� ��� �� ��0 �/ � � ���3���� �/ � � ����� ��� ���2����\]�B��^ �� k � aQ �a`a�PMl f`MRQQ QL�R oL`QdcPa`d mPQ P` R�sd� a`dRcnPMp� ���� ����� ����� �� �������� � ¡¡�� ��   ¡¢�£�¢���� ��¢����¤ ���� �� � ¥¦§¨ ��¢¢�©�¡��� ��  � �¡��� � ���ª����«

kb11
63
Page 64: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

�� ��������� � ��� ����� ���� �� �� ������ �� ��� �� ����� �� ���� ��� ��������� ���� ���� ��� � ���� ��� �� �� � ������� � !"��# $ %&'( �� �!)"��# $%&'( �� %&'( $ %&*+ �,����- .�//0 1 �2

345 67898:8 ;<=8>? � $ @ ��� �� ��� � ��� ABCDCEC FGHCI J ������ ,�?��� �� ������������K���� L2 > �M� �� �� ���� ���� ����N�� �� � �� �� ,� ����O �� �P Q��R Q�� ������ �? ��� .�/0 �����O �� ����� S�����T��������,�� ��� �� �� HGUC �� �� VW2X�� �� ������� Y&'( Z ��[\]^_`ab(`cd � !"�#2 e�� ��� ������� �? �PQ��RQ������ ��� ��SS�� ��� Y&'( �����?K ��� ��� ?������- ��f��������I "g# ���������� �� �������� ���� ��� ��� S����,�� ����-���� �� L �� "h# ���- ���������� ���� ��N� ���� S��S���K ���K ��� ����� ���� ��-���� S��?�����2i� ���������� �� ��� �� ���� ��� ���� ���� �� � ���� ��� � !"�# Z Y&'(2

e?��� ���� �������� �� ���� ���SS�K jklmnopnq �� ��� �? �K �? ��� S��?������� ����-�� ��O rL ��� �������2 >? �� �� ���� ���� ��� �S����� �������� �?��� ������S���- S��s������ ��N� ,�� ��?� ��� ,K ��� ��������2 ���� � ������� ���� ?�� ���� S��s������ �� �� �� S����,�� �� -������� tVW2

��� �,�N� �������� ����N�� �� �� ���-� �� -������� ���S������� �? �����-������ ?�� ����O�- tVWI ���� ������� ,���-�- �� ���� ��� ��-�� �[���� �,���N���� � rL �� � ������ � JL ���� ��� � ����� S��?�����2 ���[��S�� ������� ��� .�//0 ���� ������� � �-��� g ����� P Q � Z u ��R Q � Z v � ��� rJ ����N��2 w���� Y&'( Z @xy �� ����N�� ��� � ��� Z �u� v�2z���N�� �? ��� �-�� ������� � ���� ?�� { ���� �����|�� S��� M � ��� rJ����N�� ���� ���� �� ,� � �S����� ������ �? ��� �,���N���� � rL �� gg ����S��� } "Z gg QM# � ��� JL ����N�� ��� � N��K ��� S��?����� "@x@g#2

> -����� ���� ��� �-�� ���� ������ � ���� ~! ?�� J ,�?��� L ��������� �� ������� �� ���� ,� ���� �����N�� ���� ~) �G��BC ���� ����- �� L���� ~! �� �������� ���� ~) �� �� �S�����2 > ��� ����� ���� ���� ����� !"~! Q~ # $ � )"~) Q~ # �� �!) "~) Q~!# $ � )"~) Q~ #2

���� �� -������� tVW �� ��-�� ��N� �� ������ ?������ ��� ����N�� ���� ���� ��� rJ ��������2 W������ �K S��?����� % ����-�� �� ���� �������? ����N�� �R�P� � ��� rL ��������2 �� ���� % �� �� ������� ��� .�/�,����� ,K ���SS�- ��� S��,��� �� ��N�� % "��� ���� �� ���S ��� ����-����O �� ����#2 e?��� ���- S��� ��������K �� �,��� ����N��� �R��P�� � rL�� ������� � JL2 i� ��� ��|� ������� Z �P� Q ���R� Q���2 ���� ����N��������� ������ ��� ������� �? rJ ����I "g# ��� �������� ���� G�� ��� ��������? rL ��SS�� ��� S��?������ �� ����� % �� "h# � ������S����� ���� �K���� ������� � rL �����?K � ������ � JL ���� ��� � S��?����� �� �����%2 ����K �� ������ rJ �� ��� ���������� �? ��� ������� ����N��� �2�2 �� �������N��I ���� � ���� Z ���b�\]^(b_db����\����������2

i� ����� ���� S�������� �SS���� �� ��� .�//0 1 ���� �"1 #2 ��� ������N�� ���� � ���� ?��� �SS�K�- ,K � ���� ����� ������� ���� ��� �����T��� ���� �K ������ � �? ����N�� �R�P�2 �����N�� ���� � ���� � ���� �� � �R�P�� !"���# $ � )"�# �� �!) "� Q ���# $ � )"�#2 z��� ��� �-�� ��K ������ �K

kb11
64
Page 65: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

x y

p y−v p" q" x−u q

u v

interval on AC

interval on AB

interval on BC

������ �� ��� ��� �� �� ������� � � �������� ������ �������� ����

���� � � !! " #!!$% &��� �� ��������� &��� '� �'��� �� � �� ����� � ()��������* �� ���+���* ��� ��������, � �� �-�+��� ���& � .����� /�� !! " #!!$ 0 �1" 1$2 ��� �� �&��3 �� 456, 4 �� ���� ���� �� ��� �� � !! " #!!$ ���+�* &� �� ������� �� �� �&��3 �� � 456, 7���� ��& ��� �������������� � � 456 �������� ����� �� �� �� +��+�� �&��3,

�� ��++������ � �� ������� ���� &� 8�� ����3 � "#$ � �� ��'9��� ��� !" #!$� ������ ��* ���+�� +����� � :;<= �� '������ � ��'9��� ���> ? @"A ?B$, ��� &� ������* CDEFGHIGJ, �� �� ��������� �� �� ������������� �* ����� � �� () ������� &� ������� �� �� �������� �&��3�� � 456, 4���&��� &� ������ � !" #!$ � � !! " #!!$ '* ����*�� KLM N,

O�� PQR�S���S TUV��� B W X �� @ Y X �� &� ��� � �� Z[\]^_]_^ `ab_% c +�* �� +�* � �����&), � �d$ � �� ���& �� c +�� &�� ��� ����� ) ������ �� > ? @ �������� ���� (2 ��� &�� �� ����� '* e)"> ? @f, � � ������ &���� ���� �������������� �� ��� +�� �* � ������ c +�-�+���� ���������� � (c, ������ ��� �� �� ���� ������� ��� ���& � .����� g,

.��+ �� ���*��� �� �� ���� ������ ���� � �d$� &� 3�& �� � ���+�'������ � �> ? @">$ � �� () ��� �� �� '� � �� ��+� ������ �� ����+� ���+ � "> ? @� � �� (c ������,h ���� +��� �� ��� � ���+���*�+�� �����* � '� �����'��� ���� ��� �������* � ��� ij� �'������������� ��� �� �>?@">$ � �� () ������� �>?@"#$ � �� (c �������� �B"@$ � �� c) ������� �� �� �������� �� �� ��������� ������� ���� ��� ���� +�� � ��&�� �* ��������� � �� () ������, �� ���8�� �� ����� �� &� �� ������� �� �� �������� ����� �� � 456,

��� �- ���� �� CDEFGHIGJ ���� � ����� �* ��������� � ()� �� � ���3��� ���� ����� � (c �� ��� ���+�� �� ������ ��� ���� ���k����, l�&��� �� ��� ����*�� ��������� K� �� ��8�� �'� �� � ij, l�� ���� 8� �m nopq rsptposr uvwxu yz t{z |sr}o~z{or� pqz |srpor�s�} {z�{z}zrptposr� or pqz ~o}|{zpz|t}z yz yo�� y{opz uvwx � ���

kb11
65
Page 66: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

�������� � � � � �� ���� �� ��� �� ������� �� � � � �� ����� �� ��� ����� !��"�� �"� ������# �� ��� $%&� '� � � � �� ���(����� �� ��� ����� �"� ������ �! �� �� ���� � �� � � ��!� �����) ������ ����� �� ���!�! �"� ����� �� �!�� �* ���� + �� + � � �

�� �"�� ������ �� ��� �"�� �� � !������ ������,�� � ���� "��� �� ���� ���"����� * �� ��� � �� ��� - � � � ����� �� ."�� ������� �"�� �� �� �����!�� �"�� �(�������� �+� � �� �* ��! ��� �� �� �"�� �"� ���� ����������� �� ��� ��� ��� � ����� *� / �� �� �� �"� 0����� ����� ."�� ����� �"�� � ����, 123456758�� 9.: ;< ���" � �(�������� �+� � �� �* ��! ��� �� ��� ��! �=�>� �� �*���! �"� ���������� � ������� ���������! �� �"��� ���������� �"� �! ��� ����� ������������� �� �"� �*� '� � ����, 123456758 !��� ���! �� ��� �"��,� �� �*� �"�������# �� ��� $%&? ��"������ �� ��� ����� !� �"� �����, ��� ������# �� $%&������!�! �"� @*�A ���� �� �� �� �����B�!�

'� ��!�� �� "��� ���� ���������� �� �"� ������#� � � ��"�� ���� �� �����������,��� ��#� �� �"� 0����� ����� �� � �� �����" ��� �"� CDEF ����� �� ;<� !�����!��,��� �������� �"�� !� ��� ������ �� ��� ������� ��� ����� G ����, �����! ���HICDEF�;<J ��,"� �"���# ��������� � � � �� �� �� �<� �< � K� ����� �"� ������� �! �� �� �� <� �"��� ������, �"� ���� �� �! �� � � K� ��� ������������������ �� ���!�!� �"� ���� �� �! �� �� �� � �<�

LMNOPQRSTUSUTI�����, ��� 9.::V WJX 9.:: Y Z [\IW J] ^R_`OaNObI;cJd ef �* �� ��"��,�!g hijk �� � Z lI;cJm ef � � � no pq hijk =rst Z � � urtv Z + ��w ^R_`OaNObI;<Jx ef �* �� ��"��,�!y hijk �<� �< Z �HICDEF�;<JX> urst Z <�=rtv Z � �<XX z{|R}UO~��`I@*�AJX] �jh��k 9.::V Y

��,����"� ��75��2������ ��� ��� ����� �� �"� ������# �� ��� $%&? ��"�������� ��� ��� �"� ������� ������#� �� �����! �� �"� ��������, �"�������ij��j� ��� ����� Y� �������� �� ��� �¡�¢£ ¤¥¦§¨©ª«¬­«­¬� ¡® £¡�¡£��¯

.� � �������� �� �"� ������# ������ ��� �"� ������ �� �"� ��! �� "��� �"����,���� ��"��,�! ���������� �� �*� �"� ��� �������� �<� � ��� �� ���" ������,���� ���������� � ������ ���������! �� �"�� ��������� ��! �"� ��� �������� �� �<�+ � � ��� �* ���" �"� ���������!��, ���������� � ������� K� ���� "��� ����� �� @*�A �� �"� �� �����������

."� ���� ����� �"��� �� �� 9.:V�� �"� V���!���! ���� �� !��/ ������° � � ������ ��� * �� ��� �  � ��� ����� �� $� �� ���� �� + - �"�� �"� ���� ����

kb11
66
Page 67: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

������ ����� ���� ��� ����� ��� ���� ���� �� �� ��� � ����� �� ��� � �������������� �� �������� ������������ ���� �� �� ���� ���� ���� ��� !"#$"%&'&$"()*"$+%,+,% ��������� -����� � ��� . / ���0 ����� ���� ��� ���� ���� ���� ��� � ����� �� . �� �� ��� 1,",+() *"$+%,+,% �������� �� �2������0 ����0 �� ��3� �� ��� ��� ����������� ����0 ���� . 4 ���� 2���0 �� ����� ���� ��� �������� ���� �0 �� 3��� ��5� ���� ������� ��6����3 78� ������� ���� �����9 :;<=>?@>A �� 78 ������� �� ����9�� �� � 9�������� �������� �� � ���������� ��� ����3�� ������ �� �� B�����0 �� ������� ����� �������� ��� ���� �0 ��� ���� ���� �����9 :;<=>?@>A �� 7C ������� �� ����9�� ��� 9�������� ���� ���� �� � ���������� ��� ����3�� ������ �� �� D� ��������0�� EF / EG H���0 ���� � ��� ���� �� ��� ����� ������ ��� ��� I�� ���� �0 ������ ��������� �� ������ �� ������ ������ � ������ �

-� �������� ���� �� ��� #$"%&'&$"() *"$+%,+,% ���� ���� �� �� ��� � ��6�� �� 5��� ����� ���� �� ��� ����������� ���� ����� ��� ���� �� �J����� �������9������� 3����� �� ������ � ���� �� �� ���� �� ��� ��� ���������� K��6���0 ���� ���� ���� �� � ����� �� ����������� ��3������� �� � 9����� �����5�L

M NOPQRST UVWSRQX YZWP[ZTTS\QTQPV Z] ^_W_[ST `abbcd

��� ��������� �� ���� ������� 9��� � ������� �� ����5��9 ef� �� ����9�6�� B�ggh�� -� ���� ���� ����0 �� �� ��� ���� �� ��� ����������0 ��� h���������� 3�� � ������ � ������9� K�����0 �� ��� ������� ���� ��� �������6������ ��������� �� ���� ������� ��� ������ �������� ��9����3 ij@ �� ��ikj@? l�� mnop'&q() rs"(q&# t$"'+$))(u&)&'s v&'w x+,y,+,"#,z{�

D� ikj@?0 �� � 9����� B�ggh0 �� ������ ��� ��������� ��������� ������ ��� ����9��� ���� ������� �� ����� ��� ������9��� ���5� ����9��� ���������9��� ������9��� ���������� �� ��������� �����0 ���� ��� ���5 ��������� ���6���9��� ��� ��� ���� �J���3���0 �� ����| ��� ����9��0 �� ��� ������������ ������� ��9��0 �� ����9���� �� ���9�����9 ����9���0 ����� J����������}��� ��5� ij@0 ikj@? �� ����� �� ����3�����0 ���� �� �� ����� ���� ��� B�ggh~ �� ��� ef�0 �� �� 3�� ������� ���� ~ �� ��� ef�� ��� ���3��� �� �� ������� ���� �� ����3��������� ���� �� ikj@?0 ����� ��� B�gh ��� � 3����� ������ �J�������� B�ggh � �����9 �� ���� ��������� ��� �������� � �� ����������������� D�����0 ikj@? ���� ���� ������� ij@ ����� ���� ������ �� ��� ���6�������9 B�gh ������� �������9 ��� �������� ���������� �� �� ���� ���� ������� �� ����9�� �� ��� ���������� ���� �� ��� ������ �9����9 ������������� ����� �� �� �������� ���� ��� ����� B�ggh �� ��� ef�� ��� ��� ����� ����� ������9 �� ��� �������� �� �� ���3��� ��9������ 3����� �� ���� ��� ���6��� ����� �� ��� ������9 �� � �������� �0 �� ��� ����� �� ��� ������9��� ���50���������� ���� �� ���3��� ���� ������ �� � �������� ���� 9���� �������� ������� �� ��5� ij@0 �� ��� � ����� ���� ��� ��3������� �� ikj@? �� ������3���0�� ���� �� ���� ��� ���������� ��3���� ��� 3���3�� �����5�� ��� ������� ������ ���� ������� ������������ �� ��� ���¡�� �������¡�� �������¢�¡�� �� £�¡��� �¤�¡¥¡�� �¦������¡�� �����§¨ �§¡� ¡�  ����� £��©  �� ������¨ª ��� ���§�¡��� �������� ��¡������ £¡�§ �§��� ����¡����� �¡�©� ��� ���§¡�¡��¥ «¬­¨

kb11
67
Page 68: Online-2003 Online Constraint Solving: Handling Change …kb11/CP2003Online/onlineProceedings.pdf · Online-2003 Online Constraint Solving: Handling Change and Uncertainty ... Italy

� ������ ������ ��� � �������� �� ���� �� �� ����� ��� ����� � �� ������� �������������� �� ���� ���� � �� ���� ���� �� !""# ��� �$�� ���� �� � � ��� ���������� % �� �� ��� ��& ������ � ������ ����� ����'��� � �� � ��( ��� �� �� ���� �� � ���)��� � ���*��& � ��� ��������� ��� !""# �� �� ��� �� ���� � � �� +�� ���� � �� � �� � !"#� �� ����������(�� *� � �� � � ������� � ��� ��������� ��� � ��������� )���� � ��� ���� � �������� % �� �������� � �*��& � �� ���������� � ��� �����& ��� ��& �������

% ���� � � � � � � ���� ��& ����� ,�� ���� &� � -./01 � � ���*��&234 �� � !""#( ��� ��� �� ��& ����� � � )�����& ���� � !""# �� �� �������( �������� ����������� � ��� ����� ���� % �� ��� �� ���&����&�� �� � �� ��������� � � ����&�� � ��������� ��� ���� � ������� � ����������� ��� �����������56789:;<=><?<8@AB CD EFGHI JKLDME NKMMOP GHQ RGMSDH TDMUDE VKM QOPWXPPOKHPKH YZ[[\P] GHQ EFD MDUOD^DMP VKM EFDOM WKHPEMXWEOUD WKSSDHEP_ ZFD `GPE GXEFKM OPaGMEOG``b PXaaKMEDQ Lb EFD c[YJR XHQDM dMGHE TJefghijiekl_

m�n���op�ql_ Y_ rOPEGMD``O] \_ NKHEGHGMO] GHQ s_ JKPPO_ YDSOMOHdtLGPDQ WKHPEMGOHE PK`UOHd GHQ

KaEOSOuGEOKH_ vwxyz{| w} ~�� ���] hh�����kl��ig] l��j_�_ J_ �DWFEDM] �_ NDOMO] GHQ �_ [DGM`_ ZDSaKMG` WKHPEMGOHE HDE^KMIP_ �y~����{| �z~�|�|���z��] h��gl���] l��l_i_ �_ �FGEOL] [_ NKMMOP] J_ NKMMOP] GHQ �_ r_ �DHGL`D_ ZMGWEGL`D [GMDEK KaEOSOuGEOKHKV EDSaKMG` aMKL`DSP_ �H �yw�� w} �v��� ���] aGdDP l����l��h] �kki_h_ �_ �FGEOL] [_ NKMMOP] J_ �_ NKMMOP] GHQ s_ JKPPO_ ZDSaKMG` WKHPEMGOHE MDGPKHOHd^OEF aMDVDMDHWDP_ �H �yw�� w} �v��� ���] aGdDP i���i�j] �kkl_�_ [_ NKMMOP GHQ f_ NXPWDEEK`G_ c�DWXEOKH KV EDSaKMG` a`GHP ^OEF XHWDMEGOHEb_ �H�yw�� w} ����� ���] aGdDP h�l�h�g] �kkk_g_ [_ NKMMOP] f_ NXPWDEEK`G] GHQ Z_ �OQG`_ �bHGSOW WKHEMK` KV a`GHP ^OEF EDSaKMG`XHWDMEGOHEb_ �H �yw�� w} �v��� ���] aGdDP h�h��k�] �kkl_j_ R_ [`GXHE] �_ � ¡KHPPKH] GHQ �_ sMGHI_ JXHtEOSD PGED``OED ED`DWKSSXHOWGEOKHP WG``FGHQ`OHd GP QbHGSOW WKHPEMGOHE PGEOPVGWEOKH_ �H �yw�� w} ~��  �~� �¢¢¢ ��yw£¤{���wz}�y�z��] l���_�_ s_ JKPPO] �_ YaDMQXEO] �_ r_ �DHGL`D] �_ �FGEOL] [_ NKMMOP] GHQ J_ �_ NKMMOP_�DGMHOHd GHQ PK`UOHd PKVE EDSaKMG` WKHPEMGOHEP� �H D�aDMOSDHEG` PEXQb_ �H �yw��w} �� �� ] aGdDP �h���gi] �kk�_�_ s_ JKPPO] �_ r_ �DHGL`D] �_ �FGEOL] [_ NKMMOP] GHQ J_ NKMMOP_ Z^K PK`UDMP VKMEMGWEGL`D EDSaKMG` WKHPEMGOHEP ^OEF aMDVDMDHWDP_ �H �yw�� w} ������  ¥wy¦£�w¤wz �y�} �y�z�� �z �� {z§ ��] �kk�_lk_ Z_ �OQG` GHQ ¨_ sGMdODM_ ¨GHQ`OHd WKHEOHdDHWb OH EDSaKMG` WKHPEMGOHE HDE^KMIP�sMKS WKHPOPEDHWb EK WKHEMK``GLO`OEODP_ vwxyz{| w} ¢©¤�y�ª�z~{| {z§ «��wy�~��{|�y~����{| �z~�||���z��] ll�l���i�h�] l���_ll_ Z_ �OQG` GHQ N_ TFG``GL_ �DG`OHd ^OEF XHWDMEGOH QXMGEOKHP OH EDSaKMG` WKHPEMGOHEHDE^KMIP QDQOWGEDQ EK a`GHHOHd_ �H �yw�� w} ¢����¬­] aGdDP h����] l��g_

kb11
68