Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, &...

24
Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007 Analysis of a Benchmark Generator for the Reactive Scheduling Problem Amedeo Cesta 1 , Nicola Policella 2 , and Riccardo Rasconi 1 1 ISTC-cnr, Institute for Cognitive Science and Technology 2 ESA/ESOC, European Space Agency

Transcript of Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, &...

Page 1: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & RasconiScheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

Analysis of a Benchmark Generator for theReactive Scheduling Problem

Amedeo Cesta1, Nicola Policella2, and Riccardo Rasconi1

1ISTC-cnr, Institute for Cognitive Science and Technology2ESA/ESOC, European Space Agency

Page 2: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

2Analysis 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

Page 3: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

3Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

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

Page 4: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

4Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

Project Scheduling Problems [RCPSP/max]

t

r1

t

r2

resources

c2=3

c1=2resource

constraints

Project Activity Network

temporal constraints

[2, 5]

4 18

4

5

1

1 51 0

612

0

max separation

Page 5: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

5Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

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

Page 6: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

6Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

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 of activities (or tasks) and a set of constraints (time and/or resource), it consists in computing a feasible assignment of start and end times for each activity.

– the dynamic sub-problem (or Reactive Scheduling): it consists in monitoring the actual execution of the schedule and repairing the current solution (or producing brand new solutions), every time it is necessary.

predictive scheduling solvers have been thoroughly evaluated through the production of several benchmark data sets and metrics

the aspect related to reactive scheduling has not yet received the same level of attention

HERE we define a benchmark generator!

Page 7: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

7Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

Empirical Framework

TestsetsGenerator

TestsetsGenerator

ProjectScheduling

ProblemPredictiveScheduler

PredictiveScheduler

ReactiveScheduler

ReactiveSchedulerInitial

Schedule

Set of Exogenous

Events

FinalSolution

------------------------------------- 2 {eventDelay a6 7 2} {eventDuration a2 5 4}-------------------------------------

Page 8: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

8Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

Project Scheduling with Uncertainty

Resource availability

temporal uncertainty

resource uncertainty

causal uncertainty

Activities last longer than expected or they can be postponed

A new precedence relation between a pair of activities requires a revision ofprevious choices

Difference between nominal (left) and actual (right) resource availability.

Reduction of resource availability blocks the execution of some activities an their consequent delay

Page 9: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

9Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

Benchmark ingredients

• Activity delay

ai

taware

∆st

This element specifies the instant where the specific event is supposed to happen.

Page 10: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

10Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

Benchmark ingredients

• Activity duration

ai

taware

∆dur

Page 11: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

11Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

Benchmark ingredients

• Change of resource availability

taware

∆cap

stev etev

rj

Page 12: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

12Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

Benchmark ingredients

• Change of activities set

ak

taware

ak

taware

r1

r2

estk letk

durk

μa= add

reqk= {1,2}

Page 13: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

13Analysis 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

aprec

taware

asucc

[dmin, dmax]

μc= add

Page 14: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

14Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

Benchmark ingredients

1. Activity delay,

2. Activity duration

3. Change of resource availability,

4. Change of activities set,

5. Insertion/removal constraint

temporal

causal

resource

Page 15: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

15Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

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:

Page 16: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

16Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

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}-------------------------------------

Page 17: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

17Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

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

Page 18: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

18Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

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.

Page 19: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

19Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

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) if ak is removedtaware<= estk 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.

Page 20: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

20Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

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

Page 21: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

21Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

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

t

e1 e2

e3 e4

Page 22: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

22Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

Possible metrics

• Temporal Metrics

• Resource Metrics

(Schwindt 1998)

(Cesta et al. 1998)

(Mastor 1970)

Page 23: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

23Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

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}-------------------------------------

Page 24: Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi Scheduling a Scheduling Competition - ICAPS07 workshop,

24Analysis of a Benchmark Generator for the Reactive Scheduling Problem – Cesta, Policella, & Rasconi

Scheduling a Scheduling Competition - ICAPS07 workshop, September 22, 2007

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