outline
play

Outline Timetabling with one Op. DMP204 SCHEDULING, TIMETABLING - PowerPoint PPT Presentation

RCPS Model Reservations without slack Reservations with slack Outline Timetabling with one Op. DMP204 SCHEDULING, TIMETABLING AND ROUTING 1. RCPS Model Preliminaries Heuristics for RCPSP Lecture 17 Resource Constrained Project Scheduling


  1. RCPS Model Reservations without slack Reservations with slack Outline Timetabling with one Op. DMP204 SCHEDULING, TIMETABLING AND ROUTING 1. RCPS Model Preliminaries Heuristics for RCPSP Lecture 17 Resource Constrained Project Scheduling 2. Reservations without slack Reservations 3. Reservations with slack Marco Chiarandini 4. Timetabling with one Operator 2 RCPS Model RCPS Model Reservations without slack Preliminaries Reservations without slack Preliminaries Reservations with slack Heuristics for RCPSP Reservations with slack Heuristics for RCPSP Outline RCPS Model Timetabling with one Op. Timetabling with one Op. Resource Constrained Project Scheduling Model Given: activities (jobs) j = 1 , . . . , n 1. RCPS Model renewable resources i = 1 , . . . , m Preliminaries Heuristics for RCPSP amount of resources available R i processing times p j 2. Reservations without slack amount of resource used r ij precedence constraints j → k 3. Reservations with slack Further generalizations Time dependent resource profile R i ( t ) given by ( t µ i , R µ i ) 4. Timetabling with one Operator i < . . . < t m i where 0 = t 1 i < t 2 = T i Multiple modes for an activity j processing time and use of resource depends on its mode m : p jm , r jkm . 3 4

  2. RCPS Model RCPS Model Reservations without slack Preliminaries Reservations without slack Preliminaries Reservations with slack Heuristics for RCPSP Reservations with slack Heuristics for RCPSP Modeling Modeling Timetabling with one Op. Timetabling with one Op. Case 2 Case 1 Exams in a college may have different duration. A contractor has to complete n activities. The exams have to be held in a gym with W seats. The duration of activity j is p j The enrollment in course j is W j and each activity requires a crew of size W j . all W j students have to take the exam at the same time. The activities are not subject to precedence constraints. The goal is to develop a timetable that schedules all n exams in minimum time. The contractor has W workers at his disposal Consider both the cases in which each student has to attend a single his objective is to complete all n activities in minimum time. exam as well as the situation in which a student can attend more than one exam. 5 6 RCPS Model RCPS Model Reservations without slack Preliminaries Reservations without slack Preliminaries Reservations with slack Heuristics for RCPSP Reservations with slack Heuristics for RCPSP Modeling Preprocessing: Temporal Analysis Timetabling with one Op. Timetabling with one Op. Case 3 Precedence network must be acyclic A set of jobs J 1 , . . . , J g are to be processed by auditors A 1 , . . . , A m . Heads r j and Tails q j ⇐ Longest paths ⇐ Topological ordering Job J l consists of n l tasks ( l = 1 , . . . , g ). (deadlines d j can be obtained as UB − q j ) There are precedence constraints i 1 → i 2 between tasks i 1 , i 2 of the same job. Each job J l has a release time r l , a due date d l and a weight w l . Preprocessing: constraint propagation Each task must be processed by exactly one auditor. If task i is processed by 1. conjunctions i → j S i + p i ≤ S j auditor A k , then its processing time is p ik . [precedence constrains] Auditor A k is available during disjoint time intervals [ s ν k , l ν k ] ( ν = 1 , . . . , m ) with l ν k < s ν k for ν = 1 , . . . , m k − 1 . Furthermore, the total working time of A k is bounded from below by H − 2. parallelity constraints i || j S i + p i ≥ S j and S j + p j ≥ S i k and from above by H + k ≤ H + k with H − k ( k = 1 , . . . , m ). [time windows [ r j , d j ] , [ r l , d l ] and We have to find an assignment α ( i ) for each task i = 1 , . . . , n := P g l =1 n l to an p l + p j > max { d l , d j } − min { r l , r j } ] auditor A α ( i ) such that each task is processed without preemption in a time window of the S i + p i ≤ S j or S j + p j ≤ S i 3. disjunctions i – j assigned auditor [resource constraints: r jk + r lk > R k ] the total workload of A k is bounded by H − k and H k k for k = 1 , . . . , m . the precedence constraints are satisfied, all tasks of J l do not start before time r l , and the total weighted tardiness P g l =1 w l T l is minimized. N. Strengthenings: symmetric triples, etc. 8 10

  3. RCPS Model RCPS Model Reservations without slack Preliminaries Reservations without slack Preliminaries Reservations with slack Heuristics for RCPSP Reservations with slack Heuristics for RCPSP Solutions Timetabling with one Op. Timetabling with one Op. Task: Find a schedule indicating the starting time of each activity Hence: All solution methods restrict the search to feasible schedules, S, S ′ Schedule not given by start times S i space too large O ( T n ) Types of schedules Local left shift (LLS): S → S ′ with S ′ j < S j and S ′ l = S l for all difficult to check feasibility l � = j . Global left shift (GLS): LLS passing through infeasible schedule Sequence (list, permutation) of activities π = ( j 1 , . . . , j n ) Semi active schedule: no LLS possible π determines the order of activities to be passed to a Active schedule: no GLS possible schedule generation scheme Non-delay schedule: no GLS and LLS possible even with preemption If regular objectives = ⇒ exists an optimum which is active 11 12 RCPS Model RCPS Model Reservations without slack Preliminaries Reservations without slack Preliminaries Reservations with slack Heuristics for RCPSP Reservations with slack Heuristics for RCPSP Schedule Generation Schemes Timetabling with one Op. Timetabling with one Op. Parallel schedule generation scheme (PSGS) (Time sweep) Given a sequence of activity, SGS determine the starting times of each activity stage λ at time t λ S λ (finished activities), A λ (activities not yet finished), E λ (eligible activities) Serial schedule generation scheme (SSGS) n stages, S λ scheduled jobs, E λ eligible jobs Step 1 In each stage select maximal resource-feasible subset of eligible activities in E λ and schedule it at t λ . Step 1 Select next from E λ and schedule at earliest. Step 2 Update E λ , A λ and R k ( τ ) . Step 2 Update E λ and R k ( τ ) . If E λ is empty then STOP, If E λ is empty then STOP,     else go to Step 1. t µ else move to t λ +1 = min  min j ∈ A λ C j , min i k =1 ,...,r  i ∈ m k and go to Step 1. If constant resource, it generates non-delay schedules 14 15

  4. RCPS Model RCPS Model Reservations without slack Preliminaries Reservations without slack Preliminaries Reservations with slack Heuristics for RCPSP Reservations with slack Heuristics for RCPSP Dispatching Rules Timetabling with one Op. Timetabling with one Op. Determines the sequence of activities to pass to Possible uses: the schedule generation scheme Forward activity based Backward network based Bidirectional path based Forward-backward improvement (justification techniques) resource based [V. Valls, F. Ballestín and S. Quintanill, EJOR, 2005] Static vs Dynamic 16 17 RCPS Model RCPS Model Reservations without slack Preliminaries Reservations without slack Preliminaries Reservations with slack Heuristics for RCPSP Reservations with slack Heuristics for RCPSP Local Search Genetic Algorithms Timetabling with one Op. Timetabling with one Op. All typical neighborhood operators can be used: Recombination operator: Swap One point crossover Interchange Two point crossover Insert Uniform crossover reduced to only those moves compatible with precedence constraints Implementations compatible with precedence constraints 18 19

  5. RCPS Model RCPS Model Reservations without slack Reservations without slack Reservations without slack Reservations with slack Reservations with slack Outline Timetabling with one Op. Timetabling with one Op. Interval Scheduling Given: m parallel machines (resources) 1. RCPS Model Preliminaries n activities Heuristics for RCPSP r j starting times (integers), 2. Reservations without slack d j termination (integers), w j or w ij weight, M j eligibility 3. Reservations with slack without slack p j = d j − r j 4. Timetabling with one Operator Task: Maximize weight of assigned activities Examples: Hotel room reservation, Car rental 20 21 RCPS Model RCPS Model Reservations without slack Reservations without slack Reservations with slack Reservations with slack Polynomially solvable cases Timetabling with one Op. Timetabling with one Op. 1. p j = 1 Solve an assignment problem at each time slot 2. w j = 1 , M j = M , Obj. minimize resources used Corresponds to coloring interval graphs with minimal number of colors Optimal greedy algorithm (First Fit): order r 1 ≤ r 2 ≤ . . . ≤ r n Step 1 assign resource 1 to activity 1 Step 2 for j from 2 to n do Assume k resources have been used. Assign activity j to the resource with minimum feasible value from { 1 , . . . , k + 1 } 22 23

Recommend


More recommend