Resource Constrained Project Scheduling. Reservations and Timetabling by mercy2beans117

VIEWS: 18 PAGES: 8

									                                                                                                                  Outline
                                    DM87
                                SCHEDULING,
                          TIMETABLING AND ROUTING
                                                                     1. Resource Constrained Project Scheduling Model
                                                                          Heuristic Methods for RCPSP

                                                Lecture 13           2. Reservations without slack

      Resource Constrained Project Scheduling.                       3. Reservations with slack
           Reservations and Timetabling                              4. Timetabling with one Operator

                                                                     5. Timetabling with Operators
                                             Marco Chiarandini

                                                                     6. Exercises




                                                                     DM87 – Scheduling, Timetabling and Routing                                         2




                                                Outline                                    Preprocessing: Temporal Analysis

                                                                           Precedence network must be acyclic

1. Resource Constrained Project Scheduling Model                           Heads rj and Tails qj ⇐ Longest paths              ⇐     Topological ordering
     Heuristic Methods for RCPSP                                           (deadlines dj can be obtained as UB − qj )

                                                                     Preprocessing: constraint propagation
2. Reservations without slack
                                                                      1. conjunctions i → j                                                Si + pi ≤ Sj
3. Reservations with slack                                               [precedence constrains]

                                                                      2. parallelity constraints i || j                  Si + pi ≥ Sj and Sj + pj ≥ Si
4. Timetabling with one Operator
                                                                         [time windows [rj , dj ],[rl , dl ] and pl + pj > max{dl , dj } − min{rl , rj }]
5. Timetabling with Operators
                                                                      3. disjunctions i – j                                 Si + pi ≤ Sj or Sj + pj ≤ Si
6. Exercises                                                             [resource constraints: rjk + rlk > Rk ]


                                                                      N. Strengthenings: symmetric triples, etc.
DM87 – Scheduling, Timetabling and Routing                       3   DM87 – Scheduling, Timetabling and Routing                                         5
                                                                                  Parallel schedule generation scheme (PSGS)
                         Schedule Generation Schemes
                                                                                  (Time sweep)
                                                                                                      stage λ at time tλ

Given a sequence of activity, SGS determine the starting times of each activity                       Sλ (finished activities), Aλ (activities not yet finished),
                                                                                                      Eλ (eligible activities)

Serial schedule generation scheme (SSGS)                                                   Step 1 In each stage select maximal resource-feasible subset of eligible
                                                                                                  activities in Eλ and schedule it at Tλ .
                    n stages, Sλ scheduled jobs, Eλ eligible jobs
                                                                                           Step 2 Update Eλ , Aλ and Rk (τ).
         Step 1 Select next from Eλ and schedule at earliest.                                     If Eλ is empty then STOP,

         Step 2 Update Eλ and Rk (τ).                                                                 else move to tλ+1 = min           min Cj , min tµ
                                                                                                                                                      i
                                                                                                                                        j∈Aλ    i∈M
                If Eλ is empty then STOP,                                                             and go to Step 1.
                else go to Step 1.
                                                                                        If constant resource, it generates non-delay schedules
                                                                                        Search space of PSGS is smaller than SSGS

DM87 – Scheduling, Timetabling and Routing                                    8   DM87 – Scheduling, Timetabling and Routing                                      9




                                     Dispatching Rules                                                                         Local Search



Determines the sequence of activities to pass to
the schedule generation scheme
                                                                                  All typical neighborhood operators can be used:
      activity based
                                                                                        Swap
      network based
                                                                                        Interchange
      path based
                                                                                        Insert
      resource based

Static vs Dynamic




DM87 – Scheduling, Timetabling and Routing                                   10   DM87 – Scheduling, Timetabling and Routing                                      11
                                    Genetic Algorithms                                                       Outline



                                                                1. Resource Constrained Project Scheduling Model
                                                                     Heuristic Methods for RCPSP
Recombination operator:
                                                                2. Reservations without slack
      One point crossover
                                                                3. Reservations with slack
      Two point crossover
                                                                4. Timetabling with one Operator
      Uniform crossover
                                                                5. Timetabling with Operators

                                                                6. Exercises




DM87 – Scheduling, Timetabling and Routing                 12   DM87 – Scheduling, Timetabling and Routing                                      13




        Reservations without slack – Interval Scheduling                                    Polynomially solvable cases


Given:                                                          1. pj = 1
      m parallel machines (resources)                           Solve an assignment problem at each time slot

      n activities
                                                                2. wj = 1, Mj = M, Obj. minimize resources used
      rj starting times (integers),
      dj termination (integers),                                      Corresponds to coloring interval graphs with minimal number of colors
      wj or wij weight,                                               Optimal greedy algorithm (First Fit):
      Mj eligibility
                                                                                    order r1 ≤ r2 ≤ . . . ≤ rn
      without slack pj = dj − rj                                         Step 1 assign resource 1 to activity 1
                                                                         Step 2 for j from 2 to n do
Task: Maximize weight of assigned activities                                    Assume k resources have been used.
                                                                                Assign activity j to the resource with minimum feasible value
Examples: Hotel room reservation, Car rental                                    from {1, . . . , k + 1}

DM87 – Scheduling, Timetabling and Routing                 14   DM87 – Scheduling, Timetabling and Routing                                      15
DM87 – Scheduling, Timetabling and Routing                                        16   DM87 – Scheduling, Timetabling and Routing             17




                                                                                                                                    Outline
3. wj = 1, Mj = M, Obj. maximize activities assigned

      Corresponds to coloring max # of vertices in interval graphs with k
      colors                                                                           1. Resource Constrained Project Scheduling Model
      Optimal k-coloring of interval graphs:                                                Heuristic Methods for RCPSP
                    order r1 ≤ r2 ≤ . . . ≤ rn
                                                                                       2. Reservations without slack
                    J = ∅, j = 1
         Step 1 if a resource is available at time rj then assign activity j to        3. Reservations with slack
                that resource;
                include j in J; go to Step 3
                                                                                       4. Timetabling with one Operator
         Step 2 Else, select j∗ such that Cj∗ = maxCj
                                                    j∈J
                    if Cj = rj + pj > Cj∗ go to Step 3                                 5. Timetabling with Operators
                    else remove j∗ from J, assign j in J
         Step 3 if j = n STOP else j = j + 1 go to Step 1                              6. Exercises




DM87 – Scheduling, Timetabling and Routing                                        18   DM87 – Scheduling, Timetabling and Routing             19
                               Reservations with Slack        Most constrained variable, least constraining value heuristic
                                                                                  |Mj | indicates how much constrained an activity is
                                                                                  νit : # activities that can be assigned to i in [t − 1, t]
Given:                                                        Select activity j with smallest Ij = f
                                                                                                                    wj
                                                                                                                    pj , |Mj |
      m parallel machines (resources)
                                                              Select resource i with smallest g(νi,t+1 , . . . , νi,t+pj ) (or discard j if no
                                                                             place free for j)
      n activities

      rj starting times (integers),
      dj termination (integers),                              Examples for f and g:
      wj or wij weight,                                                                                    wj               |Mj |
                                                                                                   f          , |Mj |   =
      Mj eligibility                                                                                       pj               wj /pj

      with slack pj ≤ dj − rj                                                   g(νi,t+1 , . . . , νi,t+pj ) = max(νi,t+1 , . . . , νi,t+pj )
                                                                                                                                 pj
Task: Maximize weight of assigned activities                                                                                          νi,t+l
                                                                                           g(νi,t+1 , . . . , νi,t+pj ) =
                                                                                                                                        pj
                                                                                                                              l=1



DM87 – Scheduling, Timetabling and Routing               20   DM87 – Scheduling, Timetabling and Routing                                         21




                                             Outline              Timetabling with Workforce or Personnel Constrains

                                                              There is only one type of operator that processes all the activities

1. Resource Constrained Project Scheduling Model
     Heuristic Methods for RCPSP                              Example:
                                                                  A contractor has to complete n activities.
2. Reservations without slack
                                                                    The duration of activity j is pj

3. Reservations with slack                                          Each activity requires a crew of size Wj .
                                                                    The activities are not subject to precedence constraints.
4. Timetabling with one Operator                                    The contractor has W workers at his disposal
                                                                    His objective is to complete all n activities in minimum time.
5. Timetabling with Operators

6. Exercises
                                                                    RCPSP Model
                                                                    If pj all the same § Bin Packing Problem (still NP-hard)

DM87 – Scheduling, Timetabling and Routing               22   DM87 – Scheduling, Timetabling and Routing                                         23
                                                                                   Heuristics for Bin Packing
Example: Exam scheduling
      Exams in a college with same duration.
      The exams have to be held in a gym with W seats.
      The enrollment in course j is Wj and
      all Wj students have to take the exam at the same time.
      The goal is to develop a timetable that schedules all n exams in
      minimum time.                                                                      Construction Heuristics
      Each student has to attend a single exam.                                                 Best Fit Decreasing (BFD)
                                                                                                                                                         11                   6
                                                                                                First Fit Decreasing (FFD)                Cmax (FFD) ≤    9
                                                                                                                                                            Cmax (OPT )   +   9


                                                                                         Local Search:             [Alvim and Aloise and Glover and Ribeiro, 1999]
      Bin Packing model
                                                                                               Step 1: remove one bin and redistribute items by BFD
      In the more general (and realistic) case it is a RCPSP
                                                                                                  Step 2: if infeasible, re-make feasible by redistributing items for
                                                                                                          pairs of bins, such that their total weights becomes equal
                                                                                                          (number partitioning problem)

DM87 – Scheduling, Timetabling and Routing                                    24   DM87 – Scheduling, Timetabling and Routing                                                 25



                                                    [Levine and Ducatelle, 2004]
                                                                                                                                Outline



                                                                                   1. Resource Constrained Project Scheduling Model
                                                                                        Heuristic Methods for RCPSP

                                                                                   2. Reservations without slack

                                                                                   3. Reservations with slack

                                                                                   4. Timetabling with one Operator

                                                                                   5. Timetabling with Operators

                                                                                   6. Exercises




DM87 – Scheduling, Timetabling and Routing                                    26   DM87 – Scheduling, Timetabling and Routing                                                 27
           Timetabling with Different Operator or Tools

                                                                                        Mapping to Graph-Vertex Coloring
      There are several operators and activities can be done by an operator
      only if he is available
                                                                                              activities § vertices
      Two activities that share an operator cannot be scheduled at the same
                                                                                              if 2 activities require the same operators § edges
      time
Examples:                                                                                     time slots § colors
      aircraft repairs
                                                                                              feasibility problem (if # time slots is fixed)
      scheduling of meetings (people § operators; resources § rooms)
                                                                                              optimization problem
      exam scheduling (students may attend more than one exam §
      operators)

If pj = 1 § Graph-Vertex Coloring (still NP-hard)

DM87 – Scheduling, Timetabling and Routing                                         28   DM87 – Scheduling, Timetabling and Routing                 29




                                                                                                                                     Outline
DSATUR heuristic for Graph-Vertex Coloring
                    saturation degree: number of differently colored adjacent
                    vertices
                                                                                        1. Resource Constrained Project Scheduling Model
                    set of empty color classes {C1 , . . . , Ck }, where k = |V|             Heuristic Methods for RCPSP

                    Sort vertices in decreasing order of their degrees                  2. Reservations without slack

         Step 1 A vertex of maximal degree is inserted into C1 .                        3. Reservations with slack

         Step 2 The vertex with the maximal saturation degree is chosen and             4. Timetabling with one Operator
                inserted according to the greedy heuristic (first feasible color).
                Ties are broken preferring vertices with the maximal number of          5. Timetabling with Operators
                adjacent, still uncolored vertices; if further ties remain, they
                are broken randomly.                                                    6. Exercises




DM87 – Scheduling, Timetabling and Routing                                         30   DM87 – Scheduling, Timetabling and Routing                 31
                                    Resume: Job Shop                                                                               Exercise 1


                                                                                      Robotic Cell
      Disjunctive graph representation [Roy and Sussman, 1964]
      Shifting Bottleneck Heuristic [Adams, Balas and Zawack, 1988]
      Local Search
      Generalizations:
             Time lags dij to model:
                   set up times
                   synchronizations
                   deadlines
                   perishability (no-wait)
             Blocking (alternative graph) § Rollout                                   Search for periodic pattern of moves (cycle)
                                                                                      one-unit cycle: the robot load (or unload) each machine exactly once
                                                                                      k-unit cycle: each activity is carried out exactly k times


DM87 – Scheduling, Timetabling and Routing                                       32   DM87 – Scheduling, Timetabling and Routing                             33




Given:
      m machines M1 , M2 , . . . Mm

      ci,i+1 times of part transfer (unload+travel+load=activity) from Mi to
      Mi+1

      di,j times of the empty robot from Mi to Mj (ci,i+1 ≥ di,i+1 )

      pij processing time of part j on machine i (identical vs different parts)

Task:
      Determine input time for each part tj

      Minimize throughput                minimize period



Alternative graph model with intermediate robot operations


DM87 – Scheduling, Timetabling and Routing                                       34

								
To top