1 / 66

Scheduling Operations

Scheduling Operations. Scheduling Problems in Operations. Job Shop Scheduling. Personnel Scheduling Facilities Scheduling Vehicle Scheduling and Routing Project Management Dynamic versus Static Scheduling. The Hierarchy of Production Decisions.

Download Presentation

Scheduling Operations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Scheduling Operations

  2. Scheduling Problems in Operations • Job Shop Scheduling. • Personnel Scheduling • Facilities Scheduling • Vehicle Scheduling and Routing • Project Management • Dynamic versus Static Scheduling

  3. The Hierarchy of Production Decisions The logical sequence of operations in factory planning corresponds to the following sequence • All planning starts with the demand forecast. • Demand forecasts are the basis for the top level (aggregate) planning. • The Master Production Schedule (MPS) is the result of disaggregating aggregate plans down to the individual item level. • Based on the MPS, MRP is used to determine the size and timing of component and subassembly production. • Detailed shop floor schedules are required to meet production plans resulting from the MRP.

  4. Hierarchy of Production Decisions

  5. Characteristics of the Job Shop Scheduling Problem • Job Arrival Pattern • Number and Variety of Machines • Number and skill level of workers • Flow Patterns • Evaluation of Alternative Rules

  6. Objectives in Job Shop Scheduling • Meet due dates • Minimize work-in-process (WIP) inventory • Minimize average flow time • Maximize machine/worker utilization • Reduce set-up times for changeovers • Minimize direct production and labor costs (note: that these objectives can be conflicting)

  7. Terminology • Flow shop: n jobs processed through m machines in the same sequence • Job shop: the sequencing of jobs through machines may be different, and there may be multiple operations on some machines. • Parallel processing vs. sequential processing: parallel processing means that the machines are identical. • Flow time of job i: Time elapsed from initiation of first job until completion of job i. • Makespan: Flow time of the job completed last. • Tardiness: The positive difference between the completion time and the due date. • Lateness: Difference between completion time and due date (may be negative).

  8. Common Sequencing Rules • FCFS. First Come First Served. Jobs processed in the order they come to the shop. • SPT. Shortest Processing Time. Jobs with the shortest processing time are scheduled first. • EDD. Earliest Due Date. Jobs are sequenced according to their due dates. • CR. Critical Ratio. Compute the ratio of processing time of the job and remaining time until the due date. Schedule the job with the largest CR value next.

  9. Results for Single Machine Sequencing • The rule that minimizes the mean flow time of all jobs is SPT. • The following criteria are equivalent: • Mean flow time • Mean waiting time. • Mean lateness • Moore’s algorithm minimizes number of tardy jobs • Lawler’s algorithm minimizes the maximum flow time subject to precedence constraints.

  10. Results for Multiple Machines • The optimal solution for scheduling n jobs on two machines is always a permutation schedule (that is, jobs are done in the same order on both machines). (This is the basis for Johnson’s algorithm.) • For three machines, a permutation schedule is still optimal if we restrict attention to total flow time only. Under rare circumstances, the two machine algorithm can be used to solve the three machine case. • When scheduling two jobs on m machines, the problem can be solved by graphical means.

  11. Stochastic Scheduling: Static Case • Single machine case. Suppose that processing times are random variables. If the objective is to minimize average weighted flow time, jobs are sequenced according to expected weighted SPT. That is, if job times are t1, t2, . . ., and the respective weights are u1, u2, . . . then job i precedes job i+1 if E(ti) / ui < E(ti+1) / ui+1.

  12. Stochastic Scheduling: Static Case (continued) • Multiple Machines. Requires the assumption that the distribution of job times is exponential, (memoryless property). Assume parallel processing of n jobs on two machines. Then the optimal sequence is to to schedule the jobs according to LEPT (longest expected processing time first). • Johnsons algorithm for scheduling n jobs on two machines in the deterministic case has a natural extension to the stochastic case as long as the job times are exponentially distributed.

  13. Stochastic Scheduling: Dynamic Analysis • When jobs arrive to the shop dynamically over time, queueing theory provides a means of analyzing the results. The standard M/M/1 queue applies to the case of purely random arrivals to a single machine with random processing times. • If the selection discipline does not depend on the flow times, the mean flow times are the same, but the variance of the flow times will differ. • If job times are realized when the job joins the queue rather than when the job enters service, SPT generally results in lowest expected flow time.

  14. Single Machine Deterministic Models • Jobs: J1, J2, ..., Jn • Assumptions: • The machine is always available throughout the scheduling period. • The machine cannot process more than one job at a time. • Each job must spend on the machine a prescribed length of time.

  15. S(t) 3 2 1 t J2 J3 J1 ...

  16. Requirements that may restrict the feasibility of schedules: • precedence constraints • no preemptions • release dates • deadlines • Whether some feasible schedule exist? NP hard Objective function f is used to compare schedules. f(S) < f(S') whenever schedule S is considered to be better than S' problem of minimising f(S) over the set of feasible schedules.

  17. 1. Completion Time Models Due date related objectives: 2. Lateness Models 3. Tardiness Models 4. Sequence-Dependent Setup Problems

  18. Completion Time Models Contents 1. An algorithm which gives an optimal schedule with the minimum total weighted completion time 1 || wjCj 2. An algorithm which gives an optimal schedule with the minimum total weighted completion time when the jobs are subject to precedence relationship that take the form of chains 1 | chain | wjCj

  19. Literature: • Scheduling, Theory, Algorithms, and Systems, Michael Pinedo, Prentice Hall, 1995, or new: Second Addition, 2002, Chapter 3.

  20. 1 || wjCj Theorem.The weighted shortest processing time first rule (WSPT) isoptimal for 1 || wjCj WSPT: jobs are ordered in decreasing order of wj/pj The next follows trivially: The problem 1 || Cj is solved by a sequence S with jobs arranged innondecreasing order of processing times.

  21. which implies that wj pk < wk pj Proof. By contradiction. S is a schedule, not WSPT, that is optimal. j and k are two adjacent jobs such that S: ... ... k j t + pj + pk t ... ... S’ k j t + pj + pk t S: (t+pj) wj + (t+pj+pk) wk = t wj + pj wj + t wk + pj wk + pk wk S’: (t+pk) wk + (t+pk+pj) wj = t wk + pk wk + t wj + pk wj + pj wj the completion time for S’ < completion time for Scontradiction!

  22. 1 | chain | wjCj chain 1: 1  2  ...  k chain 2: k+1  k+2  ...  n Lemma. If the chain of jobs 1,...,k precedes the chain of jobs k+1,...,n. Let l* satisfy factor of chain 1,...,k l* is the job that determines the  factor of the chain

  23. Lemma. If job l* determines  (1,...,k) , then there exists an optimalsequence that processes jobs 1,...,l* one after another withoutinterruption by jobs from other chains. Algorithm Whenever the machine is free, select among the remaining chainsthe one with the highest  factor. Process this chain up to and includingthe job l* that determines its  factor.

  24. Example chain 1: 1  2  3  4 chain 2: 5  6  7  factor of chain 1 is determined by job 2: (6+18)/(3+6)=2.67  factor of chain 2 is determined by job 6: (8+17)/(4+8)=2.08 chain 1 is selected: jobs 1, 2  factor of the remaining part of chain 1 is determined by job 3:12/6=2  factor of chain 2 is determined by job 6: 2.08 chain 2 is selected: jobs 5, 6

  25.  factor of the remaining part of chain 1 is determined by job 3: 2  factor of the remaining part of chain 2 is determined by job 7:18/10=1.8 chain 1 is selected: job 3  factor of the remaining part of chain 1 is determined by job 4: 8/5=1.6  factor of the remaining part of chain 2 is determined by job 7: 1.8 chain 2 is selected: job 7 job 4 is scheduled last the final schedule: 1, 2, 5, 6, 3, 7, 4

  26. 1 | prec | wjCj • Polynomial time algorithms for the more complex precedence constraints than the simple chains are developed. • The problems with arbitrary precedence relation are NP hard. • 1 | rj, prmp | wjCj preemptive version of the WSPT rule does not always lead to an optimal solution, the problem is NP hard • 1 | rj, prmp | Cj preemptive version of the SPT rule is optimal • 1 | rj | Cj is NP hard

  27. Summary • 1 || wjCj WSPT rule • 1 | chain | wjCj a polynomial time algorithm is given • 1 | prec | wjCj with arbitrary precedence relation is NP hard • 1 | rj, prmp | wjCj the problem is NP hard • 1 | rj, prmp | Cj preemptive version of the SPT rule is optimal • 1 | rj | Cj is NP hard

  28. Lateness Models • Contents • 1. Lawler’s algorithm which gives an optimal schedule with the minimum cost hmax • when the jobs are subject to precedence relationship • 1 | prec | hmax • 2. A branch-and-bound algorithm for the scheduling problems with the objective to minimise lateness • 1 | rj | Lmax • Literature: • Scheduling, Theory, Algorithms, and Systems, Michael Pinedo, Prentice Hall, 1995, Chapter 3.2 or new: Second Addition, 2002, Chapter 3.

  29. Lawler’s Algorithm • Backward algorithm which gives an optimal schedule for • 1 | prec | hmaxhmax= max ( h1(C1), ... ,hn(Cn) ) • hjare nondecreasing cost functions • Notation • makespan Cmax =  pj completion of the last job • J set of jobs already scheduled • they have to be processed during the time interval • JC complement ofset J, set of jobs still to be scheduled • J'  JC set of jobs that can be scheduled immediately before set J (schedulable jobs)

  30. Lawler’s Algorithm for 1 | | hmax Step 1. J =  JC = {1,...,n} k = n Step 2. Let j* be such that Place j* in J in the k-th order position Delete j* from JC Step 3. If JC =  then Stop else k = k - 1 go to Step 2

  31. ... 3 5 10 Example (no precedence relationships between jobs) J = JC={1, 2, 3} jobs still to be scheduled Cmax = 10 h1(10) = 11 h2(10) =12 h3(10) =10 Job 3 is scheduled last and has to be processed in [5, 10].

  32. 1 2 3 5 10 2 1 3 5 10 J = {3} JC={1, 2} jobs still to be scheduled Cmax = 5 h1(5) = 6 h2(5) = 6 Either job 1 or job 2 may be processed before job 3. or Two schedules are optimal: 1, 2, 3 and 2, 1, 3

  33. Lawler’sAlgorithm for 1 | prec | hmax Step 1. J = , JC = {1,...,n} J' the set of all jobs with no successors k = n Step 2. Let j* be such that Place j* in J in the k-th order position Delete j* from JC Modify J' to represent the set of jobs which can be scheduledimmediately before set J. Step 3. If JC =  then Stop else k = k - 1 go to Step 2

  34. ... 3 5 10 2 3 2 5 10 1 2 3 5 10 Example. What will happen in the previous example if theprecedence 1  2 has to be taken into account? J =  JC={1, 2, 3} still to be scheduled J'={2, 3} have no successors Cmax = 10 h2(10) = 12 h3(10) = 10 J = {3} JC={1, 2} still to be scheduled J'={2} can be scheduled immediately before J Cmax = 5 h2(5) = 6 J = {3, 2} JC={1} J'={1} h1(2) = 3 Optimal schedule: 1, 2, 3, hmax= 10 2

  35. 1 || Lmax is the special case of the 1 | prec | hmax where hj = Cj - dj algorithm results in the schedule that orders jobs in increasing orderof their due dates - earliest due date first rule (EDD) 1 | rj | Lmax is NP hard , branch-and-bound is used 1 | rj , prec | Lmax similar branch-and-bound

  36. S S1 S2 Sn . . . S12 S13 . . . . . . • Branch-and-bound algorithm • Search space can grow very large as the number of variables in the problem increases! • Branch-and-bound is a heuristic that works on the idea of successive partitioning of the search space. S = S1 S2... Sn S1 S2...  Sn = 

  37. S S1 S2 Sn . . . S12 S13 . . . • We need some means for obtaining a lower bound on the cost for any particular solution (the task is to minimise the cost). fboundf(x), xS1 fbound f(x), xS2 there is no need to exploreS2

  38. Branch-and-bound algorithm Step 1 Initialise P =  Si(determine the partitions) Initialise fbound Step 2 Remove best partition Si from P Reduce or subdivide Si into Sij Update fbound P = PSij For all SijP do if lower bound of f(Sij) > fbound then remove Sij from P Step 3 If not termination condition then go to Step 2

  39. *,*,*,* 1,*,*,* 2,*,*,* n,*,*,* . . . 1,2,*,* 1,3,*,* . . . . . . Branch-and-bound algorithm for1 | rj | Lmax • Solution space contains n! schedules (n is number of jobs). • Total enumeration is not viable !

  40. *,*,*,* 1,*,*,* 2,*,*,* n,*,*,* . . . 1,2,*,* 1,3,*,* . . . . . . 1st level 2nd level Branching rule: k-1 level, j1, ... , jk-1 are scheduled, jk need to be considered if no job still to be scheduled can notbe processed before the release time of jk that is: J set of jobs not yet scheduled t is time when jk-1 is completed

  41. Lower bound: • Preemptive earliest due date (EDD) rule is optimal for 1 | rjprmp | Lmax • A preemptive schedule will have a maximum lateness not greater than a non-preemtive schedule. • If a preemptive EDD rule gives a nonpreemptive schedule then all nodes with a larger lower bound can be disregarded.

  42. 1 2 12 3 7 2 1 0 5 9 2 1 2 0 3 7 9 Example. • Non-preemptive schedules L1=3 L2=6 Lmax=6 0 L1=5 L2=-1 Lmax=5 • Preemptive schedule obtained using EDD L1=3 L2=3 Lmax=3 • the lowest Lmax !

More Related