Presentation is loading. Please wait.

Presentation is loading. Please wait.

Operational Research & ManagementOperations Scheduling Reservation Systems TimeTabling 1.Reservation Systems without Slack 2.Reservation Systems with Slack.

Similar presentations

Presentation on theme: "Operational Research & ManagementOperations Scheduling Reservation Systems TimeTabling 1.Reservation Systems without Slack 2.Reservation Systems with Slack."— Presentation transcript:

1 Operational Research & ManagementOperations Scheduling Reservation Systems TimeTabling 1.Reservation Systems without Slack 2.Reservation Systems with Slack 3.Timetabling with Tooling Constraints 4.Timetabling with Recourse Constraints 5.Scheduling flights at the airport

2 Operational Research & ManagementOperations Scheduling2 Relation between these problems 1.Reservation Systems without Slack (timing of job is fixed) – m Parallel machines, n jobs (fixed in time; interval scheduling) 2.Reservation Systems with Slack – m Parallel machines, n jobs (more flexible in time) 3.Timetabling with Tooling Constraints – Enough identical machines in parallel, n jobs, tools (only 1 of each avail.) 4.Timetabling with Resource Constraints – Enough identical machines in parallel, n jobs, one resource

3 Operational Research & ManagementOperations Scheduling Topic 1 Reservation Systems without Slack (Interval Scheduling)

4 Operational Research & ManagementOperations Scheduling4 Reservation without Slack  Reservation system with m machines, n jobs  Release date r j (integer), due date d j (integer), weight w j  No slack If accepted, job starts at time r j  Can we accept all jobs? Do we need all machines? objective1: Maximize number of jobs processed OR objective2: Minimize number of machines needed for all jobs

5 Operational Research & ManagementOperations Scheduling5 ILP Problem Formulation  Integer Program  Fixed time periods, assume H periods  Binary variables x ij (=1 if job j assigned to i th machine, 0 otherwise) Job requiring processing in period l J l ={j| r j  l  d j } Exercise 1: How to adapt model for: do all jobs, but on a minimum number of machines e.g. at car-rental: h i p j

6 Operational Research & ManagementOperations Scheduling6 Maximizing value of processed jobs  In general is NP-hard (when both p j and w ij free)  Two special cases with exact algorithms – each of these algorithms sorts the jobs to increasing r j  Case 1: processing times p j = 1 – decompose into separate time units – assign in each time unit most valuable jobs first

7 Operational Research & ManagementOperations Scheduling7 Case 2: Identical Weights and Machines  M j = {1,2,…,m} with w ij = 1  objective: maximize #jobs taken  (No time decomposition, but still) an exact, simple algorithm: – Dispatch jobs, tentatively, in order of increasing release date – when next job has no machine while being earlier completed, select it at the expense of the later completed scheduled job

8 Operational Research & ManagementOperations Scheduling8 Algorithm (case 2: Identical Weights and Machines)  Step 1 – Set J =  and j = 1 // J as set of accepted jobs  Step 2 – If available at time r j assign job j to a machine, include j in J, go to Step 4  Step 3 – Of scheduled job set J, select j* with latest finish – If do not include j in J and go to Step 4 Else delete job j* from J, assign j to freed machine & include in J  Step 4 – If j = N STOP, select next job j = j+1 and go back to Step 2

9 Operational Research & ManagementOperations Scheduling9 Minimizing #machines used  No slack, arbitrary processing times, equal weights, infinitely many identical machines in parallel  Easily solved, as follows – Order jobs as before to earliest release date – Assign job 1 to machine 1 – Suppose first j-1 jobs have been assigned for processing – Try to assign j th job to a machine i (  j-1) as already used – If not possible assign to a new machine  Special case of node coloring problem – Why special case? (to be discussed later..)

10 Operational Research & ManagementOperations Scheduling Topic 2 Reservation Systems with Slack SummaryReservation Systems without Slack Maximize # of jobs processed: simple algorithm Minimize # of machines needed: simple algorithm

11 Operational Research & ManagementOperations Scheduling11 Reservation with Slack  Now allow slack(time slots)  Considering three cases with identical machines and objective: maximize #jobs Case 0.All processing times p j = 1 (trivial solution) Case 1.All processing times p j = p  2, identical weights Case 2.General processing times, weights w j

12 Operational Research & ManagementOperations Scheduling12 Case 1: Equal Processing Times  Now assume processing times all equal to some p  2 – NOTE: slack can be different  Interaction between time units  Method: Barriers algorithm – wait for critical jobs to be released – start the job with the earliest deadline  Slot number l = l th job to start  S( l ) starting time of l th slot

13 Operational Research & ManagementOperations Scheduling13 Barriers Algorithm  Barriers Algorithm (again open, whether this algorithm is exact!)  Barrier – ordered pair ( l, r) – Expresses waiting constraint  Approach: Starting with a k-partial schedule – construct a (k+1)-partial schedule – or add a new barrier to the barrier list L b and start over from scratch Slot number Release time

14 Operational Research & ManagementOperations Scheduling14 Earliest Deadline with Barriers  Selects machine h for job in (k+1) th slot  Compute the starting time

15 Operational Research & ManagementOperations Scheduling15 Computing the Starting Time   is defined as the earliest time that the next job can start  Claim: Minimum release date of jobs left

16 Operational Research & ManagementOperations Scheduling16 Job in (k+1) th slot, can be a crisis job  Choose for (k+1) th slot: among available jobs, j ’ with earliest d j’  The creation of (k+1)-partial-schedule is successful if  Otherwise, job j ’ is a ‘crisis job’ and one calls upon the  Backtrack l =k, k-1,.. seeking 'pull-job' j l with d j(l) > d j' (most recently scheduled with later deadline than job j' )  If no pull-job is found, then exclude the crisis job  Otherwise: – Add barrier ( l, r*) in L b, with r* min. release time in restricted set J r, of jobs in part. sched. after pull job – Start anew with the updated barrier list Crisis Routine

17 Operational Research & ManagementOperations Scheduling17 Barriers Algorithm: an example (all p j =10) 0 10 20 30 Machine 1 Machine 2 1 2 3 Crisis job Pull job (d 2 > d 3 )

18 Operational Research & ManagementOperations Scheduling18 An example (cont’d)  Slot k=3 gives crisis job j=3 with pull job 2 in slot l=2  Setup restricted set: J r ={3} (min. release date r* = r 3 = 5)  Include new barrier: (l, r*) = (2,5)  L b  Restart with updated list L b from scratch (with extra wait command) 0 10 20 M 1 M 2 1 2 3 Crisis job Pull job (d 2 > d 3 ) 0 10 20 12 34 Optimal schedule Now at k=2, wait till 

19 Operational Research & ManagementOperations Scheduling19 CASE 2: General processing times  Reservation with slack: processing times p j and weights w j NP-hard  No efficient algorithm  Heuristic needed  Composite dispatching rule – Preprocessing: determine flexibility of jobs and machines – Dispatch least flexible job first on the least flexible machine, etc

20 Operational Research & ManagementOperations Scheduling20 Defining priority indices   ik := # candidate jobs on machine i in time slot [k-1,k]  |M j |= # machines suitable for job j  Priority index I j for jobs (lower index =higher priority): – more value | less proc. | less machines  lower index I j  Priority index g i k j of using machine i for job j in interval [k, k+p j ]

21 Operational Research & ManagementOperations Scheduling21 Algorithm 1:- Calculate both priority indices I j and  ik - Order jobs according to job priority index (I j ) - Set j = 1 2:- Among available machines and time slots assign j to the combination with lowest value g ikj - Discard job j if it cannot be processed at all 3: - If j = n then STOP, otherwise go back to Step 2 with j = j+1

22 Operational Research & ManagementOperations Scheduling Topic 3 Timetabling with Tooling Constraints SummaryReservation Systems with Slack Equal processing times: Barrier algorithm General processing times : Composite dispatching rule

23 Operational Research & ManagementOperations Scheduling23 Timetabling  (All given) n jobs must be processed  enough (e.g. >= n) identical machines in parallel  Minimizing Makespan  Tooling Constraints – Set of different available tools k (say in set K ): of each k, only one available (for use by one job at a time) – Job j requires tools of subset K j during its processing  Timetabling is Special Case of RCPSP : – no precedence constraints – R k = 1; r jk =1 or 0 depending on k being part of K j

24 Operational Research & ManagementOperations Scheduling24 Why Timetabling = Node coloring 7 1 4 3 2 5 6  Job = node;  Jobs need same tool  arc between nodes  Makespan <= H time units ?  Can graph be colored with  H colors ? Example: all jobs take one time unit

25 Operational Research & ManagementOperations Scheduling25 Node Coloring Problem  Consider a graph with n nodes that are to be colored  For any arc (j,k) nodes j and k cannot receive the same color  Feasibility question: – Can the graph be colored with m (or less) colors?  Optimality question: – Minimum #colors needed to color the graph?

26 Operational Research & ManagementOperations Scheduling26 Heuristic for Node Coloring  Terminology – degree of node = number of arcs connected to node – saturation level = number of colors connected to node  Intuition – Color high degree nodes first – Color high saturation level nodes first

27 Operational Research & ManagementOperations Scheduling27 Heuristic Algorithm for Node Coloring Step 1:Order nodes in decreasing order of degree Step 2:Use color 1 for first node Step 3:Choose uncolored node with maximum saturation level, breaking ties according to degree Step 4:Color using the lowest possible color-number Step 5:If all nodes colored, STOP; otherwise go back to Step 3

28 Operational Research & ManagementOperations Scheduling28 Nodes1234567 Example book 7 1 4 3 2 Degree 5254523 5 6

29 Operational Research & ManagementOperations Scheduling29 Nodes1234567 Example book 7 1 4 3 2 Degree sub4243-12 5 6 Saturation1011-11 Saturation + Degree in uncolored subgraph = Degree original graph

30 Operational Research & ManagementOperations Scheduling30 Nodes1234567 Example book 7 1 4 3 2 Degree sub31-2-02 5 6 Saturation21-2-21

31 Operational Research & ManagementOperations Scheduling31 Nodes1234567 Example book 7 1 4 3 2 Degree sub-0-1-01 5 6 Saturation-2-3-22

32 Operational Research & ManagementOperations Scheduling32 Nodes1234567 Example book 7 1 4 3 2 Degree sub-0---00 5 6 Saturation-2---23 Result 4 colors e.g. 7: blue 2: red or green 6: yellow or green

33 Operational Research & ManagementOperations Scheduling33 Nodes1234567 Worse: a reverse method 7 1 3 2 Degree 5254523 5 6 6 Degree sub5254423 2 1 7 3 4 4

34 Operational Research & ManagementOperations Scheduling34 Example of Timetabling with tools  For solution: see previous node coloring example. Job 1: yellow Job 3: blue Job 7: blue Job 4: green Job 5: red Job 2: red or green Job 6: yellow or green

35 Operational Research & ManagementOperations Scheduling35 Relation to Reservation Models  Closely related to reservation problem with zero slack and arbitrary processing times (interval scheduling)  Interval scheduling = Special case of timetabling problem – jobs with common time periods  unary (p j =1) jobs with common tools – new color = new machine  new color = extra period – job occupies adjacent time periods (creating easy solvable color problem)  jobs occupy tools ‘that need not be adjacent’

36 Operational Research & ManagementOperations Scheduling36 Example  Suppose now we have a reservation system  Here we transform to time-tabling: Job 1 must be processed in time [0,2] Job 2 must be processed in time [2,5]

37 Operational Research & ManagementOperations Scheduling37 Other example  Adjusted example of Timetabling with tools  Rearrange and rename tools jobs1234567 Tool 11011101 Tool 21110000 Tool 30010110 Tool 41011100 1 Period 1 Period 2 Period 3 Period 4

38 Operational Research & ManagementOperations Scheduling Topic 4 Timetabling with Resource Constraints SummaryTimetabling with Tooling Constraints Node Coloring heuristic

39 Operational Research & ManagementOperations Scheduling39 Timetabling with single resource  Unlimited number of identical machines in parallel  All n jobs must be processed  Resource constraints – Single resource of total quantity R – Required is a certain amount for each job

40 Operational Research & ManagementOperations Scheduling40 Resource Constraints  One type of tool but R units of it (resource)  Job j needs R j units of this resource  Clearly, if R j + R k > R then job j and k cannot be processed at the same time, etc  Applications – scheduling a construction project (R = crew size) – exam scheduling (R = number of seats)  Special case of RCPSP with one resource, p i  1, no precedence

41 Operational Research & ManagementOperations Scheduling41 Special case: Bin-Packing  Assume equal processing times p j = 1  Unlimited number of machines  Minimize makespan  Equivalent to bin-packing problem – each bin has capacity R – item of size r j – pack into the minimum number of bins

42 Operational Research & ManagementOperations Scheduling42 Solving the Bin-Packing Problem  Known to be NP-hard  Many heuristics developed  First fit (FF) heuristic – Always put an item in the first bin it fits into – Know that

43 Operational Research & ManagementOperations Scheduling43 Example  Assume 18 items and R = 2100 – Jobs 1-6 require 301 resources – Jobs 7-12 require 701 resources – Jobs 13-18 require 1051 resources  FF heuristic: – We assign the first 6 jobs to one interval (301  6=1806) – We then assign jobs two at a time to next 3 intervals (701  2=1402) – We then assign just one of the remaining jobs to each interval  Poor performance when jobs are assigned in arbitrary order

44 Operational Research & ManagementOperations Scheduling44 First Fit Decreasing (FFD)  An improvement of FF:  Order jobs in decreasing order first  Know that  FF and FFD can be extended to different release dates R = 12 6 jobs of size 6, 4, 4, 4, 3, 3

45 Operational Research & ManagementOperations Scheduling45 Discussion  This chapter only considered very simple models  In practice: – Dynamic reservation systems – Price considerations (yield management) – Other requirements (such as in final topic..)

46 Operational Research & ManagementOperations Scheduling Extra Topic: Scheduling flights at the airport, A reservation problem with no slack : When planning check-in desks (as adjacent tools)

47 Operational Research & ManagementOperations Scheduling47 Planning Check-in Desks Optimization Problem - Minimize total #desks R* for all flight-desk -assignments Distinguishing feature: - Assigned desks must be adjacent r j = # desks required during (given) time-interval I(j) for flights j=1,2,..n

48 Operational Research & ManagementOperations Scheduling48 Algorithm: Earliest Release Date or First-Fit (analogous to algorithm for minimum #machines, topic 1 ) Flight 5 does not fit

49 Operational Research & ManagementOperations Scheduling49 Another Example Scheduling flights (j=1,2,..8) in 30 min. periods (t=1,2,..9) LH Find better solutions with R < 11! Data:A feasible, but non-optimal solution:

50 Operational Research & ManagementOperations Scheduling50 First attempt Define R(t) as sum of r j ’s over jobs j with t  I(j) Then R* >= max t R(t) (a lower bound called Rlow)

51 Operational Research & ManagementOperations Scheduling51 Optimal Assignment with R*=8 desks Here Rlow=8 and R* = Rlow

52 Operational Research & ManagementOperations Scheduling52 Question:Always R* = Rlow ? Exercise 2: find a schedule using only #desk-rows 9=Rlow

53 Operational Research & ManagementOperations Scheduling53 What if new flight 12 has r(12)=3 in interval 3-3 ? Answer: R* > Rlow is possible Optimal solution with R*=Rlow=9

54 Operational Research & ManagementOperations Scheduling54 Complexity If ‘vertical jobs’ require resp. : G+2, G+2, G+1, G, 2G+1, 2G+3 desks Then again: an optimal solution must have two holes of size G at t=3 NP-complete Partition problem: given Numbers g 1,g 2,.., g n with total sum 2G question Are there 2 subsets each with sum G Solve Partition by : - adding jobs j=11+i for i=1,2..n with r(11+i)=g i (and I(j)=[3,3]) - observe if R*=2G+5

55 Operational Research & ManagementOperations Scheduling55 Notation for an ILP model I j (= [a j.. b j ]) Check-in interval r j # of desks required d j Largest number of adjacent desks as occupied by j flight f flight g d f a f b f a g b g d g 1 desks period

56 Operational Research & ManagementOperations Scheduling56 Exercise 3: Finish this ILP model  With integer variables: D :Total number of desks required d j :Largest desk number assigned to flight j  With parameters: r j :Number of desks required for the check-in process of flight j I j :Check-in time interval of flight j Hint: disjunctive model, comparable to that for job-shop-scheduling

57 Operational Research & ManagementOperations Scheduling57 An alternative ILP model  Binaries y j t r (=1 if j occupies in period t largest desk r; 0 otherwise)  Flight j require n(j,t) adjacent desks in period t Exercise 4: model the missing constraint-set Hint: similar to the technique used in the RCSP model

58 Operational Research & ManagementOperations Scheduling58 With n(j,t) desks for a flight  Static  Dynamic (8 possible shapes) or oror … t  d 

Download ppt "Operational Research & ManagementOperations Scheduling Reservation Systems TimeTabling 1.Reservation Systems without Slack 2.Reservation Systems with Slack."

Similar presentations

Ads by Google