240 likes | 319 Views
Analysis of a Benchmark Generator for the Reactive Scheduling Problem. Amedeo Cesta 1 , Nicola Policella 2 , a nd Riccardo Rasconi 1 1 ISTC-cnr, Institute for Cognitive Science and Technology 2 ESA/ESOC, European Space Agency. Introduction.
E N D
Analysis of a Benchmark Generator for theReactive Scheduling Problem Amedeo Cesta1, Nicola Policella2,and Riccardo Rasconi1 1ISTC-cnr, Institute for Cognitive Science and Technology 2ESA/ESOC, European Space Agency
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
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
Project Scheduling Problems [RCPSP/max] Project Activity Network 4 18 5 0 [2, 5] 4 1 1 1 0 5 12 6 max separation temporal constraints resource constraints r1 c1=2 t r2 c2=3 resources t
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
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!
Empirical Framework Testsets Generator Set of Exogenous Events ------------------------------------- 2 {eventDelay a6 7 2} {eventDuration a2 5 4} ------------------------------------- Project Scheduling Problem Predictive Scheduler Reactive Scheduler Final Solution Initial Schedule
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. Reduction of resource availability blocks the execution of some activities an their consequent delay resource uncertainty A new precedence relation between a pair of activities requires a revision of previous choices causal uncertainty
Benchmark ingredients • Activity delay ∆st ai taware This element specifies the instant where the specific event is supposed to happen.
Benchmark ingredients • Activity duration ∆dur ai taware
Benchmark ingredients • Change of resource availability rj ∆cap stev taware etev
Benchmark ingredients • Change of activities set r1 ak μa= add taware reqk= {1,2} r2 ak durk taware estk letk
Benchmark ingredients • Insertion/removal constraint [dmin, dmax] asucc μc= add aprec taware
Benchmark ingredients temporal • Activity delay, • Activity duration • Change of resource availability, • Change of activities set, • Insertion/removal constraint resource causal
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:
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} -------------------------------------
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
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.
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 removed taware<= 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.
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
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
Possible metrics • Temporal Metrics • Resource Metrics (Mastor 1970) (Cesta et al. 1998) (Schwindt 1998)
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} -------------------------------------
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