Analysis of a Benchmark Generator for the Reactive Scheduling Problem
Amedeo Cesta1, Nicola Policella2, and Riccardo Rasconi1
1ISTC-cnr,
Institute for Cognitive Science and Technology 2ESA/ESOC, European Space Agency
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
Introduction
•
Q8: Should the competition include benchmarks for dynamic scheduling problems, such as on-line scheduling and scheduling execution monitoring?
– Reactive Scheduling Test-sets Generator (this talk)
•
Our goal is to produce a General Framework for Project Scheduling Problems
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
2
Project Scheduling
• • We focus our attention on Project Scheduling Scheduling is primarily concerned with figuring out WHEN tasks/activities should be executed so that the final solution guarantees “good performance” – Management of space missions – Transportation scheduling – Production chains in a factory Different techniques have been studied by many scientific communities, such as the Artificial Intelligence, Management Science and Operations Research
•
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
3
Project Scheduling Problems [RCPSP/max]
Project Activity Network
4
18 5
0 1
1 5
[2, 5]
1 0 6
4
12
max separation
temporal constraints
r1
c1=2 t
resource constraints
r2
c2=3
resources
t
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007 4
Schedule’s life is short!
• Unfortunately the synthesis of initially feasible solutions is hardly ever sufficient! – In real working environments, unforeseen events tend to quickly invalidate the schedules predictive assumptions
•
Approaching a scheduling problem requires the coupling of – a predictive scheduling engine, able to propose a possible solution in a compact representation, and – a reactive scheduling engine, able to manage the current solution and to adjust the schedule at execution time
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
5
Broadening Project Scheduling Definition
• A broader definition of project scheduling problem, consists in the following two components: – the static sub-problem (or Predictive Scheduling): given a set ofpredictive (or tasks) and a set of constraints (time and/or activities scheduling solvers have been thoroughly resource), it consists in computing a feasible assignment of start evaluated through the production of several and end times for each activity.metrics benchmark data sets and – the dynamic sub-problem (or Reactive Scheduling): it consists in monitoring the actual execution of the schedule and the aspect related to reactive scheduling has not yet repairing the current solution of attention brand new solutions), received the same level (or producing every time it is necessary. HERE we define a benchmark generator!
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
6
Empirical Framework
Testsets Generator
Set of Exogenous Events
------------------------------------2 {eventDelay a6 7 2} {eventDuration a2 5 4} -------------------------------------
Project Scheduling Problem
Predictive Scheduler
Initial Schedule
Reactive Scheduler
Final Solution
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
7
Project Scheduling with Uncertainty
Activities last longer than expected or they can be postponed temporal uncertainty Difference between nominal (left) and actual (right) resource availability.
Resource availability
resource uncertainty
Reduction of resource availability blocks the execution of some activities an their consequent delay
causal uncertainty
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
A new precedence relation between a pair of activities requires a revision of previous choices
8
Benchmark ingredients
• Activity delay
∆st ai taware
This element specifies the instant where the specific event is supposed to happen.
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
9
Benchmark ingredients
• Activity duration
∆dur
ai taware
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
10
Benchmark ingredients
• Change of resource availability
rj
∆cap
taware
stev
etev
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
11
Benchmark ingredients
• Change of activities set
r1 ak
taware
μa= add
reqk= {1,2} r2 ak taware
estk durk letk
12
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
Benchmark ingredients
• Insertion/removal constraint
[dmin, dmax]
μc= add
aprec taware
asucc
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
13
Benchmark ingredients
1. Activity delay,
temporal
2. Activity duration
3. Change of resource availability,
resource
4. Change of activities set,
5. Insertion/removal constraint
causal
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
14
Instant Modifier
• To formally model an execution event we introduce the concept of Instant Modifier: – An Instant Modifier is an operator defined by a set of modifications Z and a time of execution tE, and whose application on the problem P produces a change of the problem at time tE.
– Given a problem P the reactive scheduling problem is:
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
15
Testsets generator
• INPUT: – The scheduling problem – Number of events to generate – Probability of occurrence for each single type of event – The minimum and maximum magnitude of each type of event.
•
OUTPUT: – Set of exogenous events SPACED in time • Definition of consistent taware,
------------------------------------2 {eventDelay a6 7 2} {eventDuration a2 5 4} -------------------------------------
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
16
Timing the Exogenous Events consistently
• taware values determine the instants where each specific event is supposed to happen. – How to find consistent values for all possible executions?
•
FIRST STEP: we add a set of simplifying assumptions on the events that have to be generated:
– – – activities cannot be anticipated, activity durations can only increase there are only reduction of resource availability
•
SECOND STEP: we used a relaxed version of the scheduling problem in which resource constraints are not taken into account.
– – This relaxed problem consists in a Simple Temporal Problem (STP) This allows to compute the lower and the upper bound for the start and the end time of each activity
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
17
Timing the Exogenous Events consistently
The assumptions guarantee the monotonic increase condition in the case of constrainedness. Limitation: it is not possible to model situations like activity anticipations or processing time reductions which entail constraints retractions.
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007 18
Producing consistent taware values
• in the case of a delay of activity ai (edelay), taware<= lb(sti) • in the case of change of duration of the activity ai (edur), taware<= lb(eti) • in the case of adding/removing activity ak (eact), taware<= lb(stk) taware<= estk • if ak is removed otherwise;
in the case of adding/removing a constraint between aprec and asucc (econstr), taware<= lb(stprec) if the constraint is removed taware<= min(lb(stprec), lb(stsucc)) otherwise.
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
19
Further constraints
• the width of the delay on activity ai (edelay), ∆st <= ub(sti) - lb(sti)
•
the change of activity duration (edur), ∆dur <= ub(eti) - lb(sti) - pi
•
the change of resource availability (eres), 0 <= ∆cap <= capj
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
20
Tuning the Instances Difficulty
• • It is fundamental to control the difficulty related to each generated event Use well known metrics to measure the structural properties of a problem before and after the insertion on an event
e1 e2 e3 e4
t
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
21
Possible metrics
• Temporal Metrics
(Mastor 1970)
(Cesta et al. 1998)
•
Resource Metrics
(Schwindt 1998)
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
22
Example
• • • 8 activities 2 resources both with capacity 2 oddly numbered activities require one instance of r1 while evenly numbered activities require one instance of r2 all the oddly numbered activities have a start-time of at least 3 D= {4, 7, 4, 7, 3, 5, 3, 5}
2 resources both with capacity 2
•
•
------------------------------------2 {eventDelay a6 7 2} {eventDuration a2 5 4} ------------------------------------Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
23
Conclusions
• The benchmark generator represents a fundamental means to foster: – Significant experimental analysis – Scheduling competition
•
Benchmarks consist of a set of modification events – Type of modifications that can affect a schedule – To simulate the environmental uncertainty events are time spaced – It is worth to asses the difficulty of the instances Next step consists in the introduction of a “General Scheduling Execution framework” – Different combinations of proactive and reactive scheduling techniques can be evaluated
•
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi
Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007
24