1 / 30

Heuristics for the General Job Shop Scheduling

Heuristics for the General Job Shop Scheduling. 공장자동화연구실 1998/08/04 장 양 자. Introduction. n jobs due date processing time on each machine (routing) m machines release time NP-hard Various heuristic algorithms developed! priority dispatching rules Shifting Bottleneck Procedure (SBP).

Download Presentation

Heuristics for the General Job Shop Scheduling

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. Heuristics for the General Job Shop Scheduling 공장자동화연구실 1998/08/04 장 양 자

  2. Introduction • n jobs • due date • processing time on each machine (routing) • m machines • release time • NP-hard • Various heuristic algorithms developed! • priority dispatching rules • Shifting Bottleneck Procedure (SBP)

  3. A Heuristic for Scheduling General Job Shops to Minimize Maximum Lateness Ling-Huey Su and Pei-Chann Chang Dept. of Industrial Engineering, Yuan-Ze Institute of Technology, Nei-Li, Taoyuan, Taiwan E. S. Lee Dept. of Industrial Engineering, Kansas State Univ., Manhattan, U.S.A. Mathl. Comput. Modeling Vol. 27, No1, pp. 1-15, 1998

  4. Contents • Notation • Dominance Rule Deduction • Heuristic Procedure • Example • Further Iteration • Computational Results • Conclusion

  5. Notation • Pij: processing time • di: due date • Sik: set of unscheduled machines at stage k • Bik: total remaining processing time • Tik: starting time of job i • Rjk: release time of machine j • Wik: waiting time of job i • Ijk: idle time of machine j

  6. Dominance Rule Deduction (1/3) Operation a Machine j Operation b Tak Tak+pajk Tak+Bak Rjk Tbk max(Tak+pajk, Tbk)+Bbk operation a dominates operation b for Tak<Tbk and Rjk<Tak Lajk(a,b)=max[Tak+Bak-da, max(Tak+pajk, Tbk)+Bbk-db]

  7. Dominance Rule Deduction (2/3) Operation a Machine j Operation b Tak Tak Tbk+Pbjk+Bak Rjk Tbk Tbk+pbjk Tbk+Bbk operation b dominates operation a for Tak<Tbk and Rjk<Tak Lbjk(a,b)=max[Tbk+ pbjk +Bak-da, Tbk+Bbk-db]

  8. Dominance Rule Deduction (3/3) L*(a,b)=min[Lajk(a,b), Lbjk(a,b)] max[Tak+Bak-da, max(Tak+pajk, Tbk)+Bbk-db] =min  max[Tbk+ pbjk +Bak-da, Tbk+Bbk-db] (1) Tbk+ pbjk +Bak-da> Tbk+Bbk-db (i) Tak+pajk>Tbk (ii) Tak+pajk ≤ Tbk (2) Tbk+ pbjk +Bak-da≤ Tbk+Bbk-db (i) Tak+pajk>Tbk (ii) Tak+pajk ≤ Tbk

  9. Dominance Rules • Dominance Rule1: • Given a pair of candidates a and b for machine j such that Tak<Tbk and Rjk≤Tak, or Tak=Tbk and Rjk≤Tak and da≤db, and satisfying the conditions pbjk+Bak-da>Bbk-db and Tak+pajk>Tbk and Tak+pajk+Bbk-db>Tbk+pbjk+Bak-da, or pbjk+Bak-da<Bbk-db and Tak+pajk>Tbk, then operation b dominates operation a as the entering operation on machine j at state k; otherwise operation a dominates operation b as the entering operation. • Dominance Rule2…. • Dominance Rule3….

  10. Dominance Matrix If operation i dominates operation j then dij=1 and dji=0. Operation i with largest Ai is selected. If tie occurs, earliest Tik, earliest di, largest Bik, smallest pijk, then arbitrary

  11. Heuristic Procedure(HEU1) (1/2) Step 1. Input job and machine data. Step 2. Stage=0, construct the initial table Step 3. k=stage=1. Step 4. If Sik=0 for i=1, 2, …, n, then go to Step 10; otherwise, proceed to Step 5. Step 5. Generate partial table for stage k, i.e., obtain Tik, Sik, Bik, Rjk, pijk, for i=1, 2, …, n, j=1, 2, …, m.

  12. Heuristic Procedure(HEU1) (2/2) Step 6. Determine the entering operation for each machine j. The dominance rules are applied to select the entering operation Step 7. Calculate Wik, Ijk, and the complete table for the current stage is obtained. Step 8. stage←stage+1. Step 9. Return to Step4. Step 10. Complete the termination table and calculate the maximum lateness (Lmax)

  13. Example (1/2)

  14. Example (2/2)

  15. Further Iteration(HEU2) (1/2) • Partial Enumeration by the use of nodes and arcs of search trees • node: some scheduled operations represented by table • arc: pair of operations of the scheduled operation at the current stage and that of the next stage • Branching: • if number of candidates on a machine exceeds 3, then set the branching width equal to 2; otherwise set branching width equal to 1. • if solution time is within 1 minute, then set the branching width equal to 2; otherwise set the branching width equal to 1.

  16. Further Iteration(HEU2) (2/2) • Lower Bound • LB=max(LBJk, LBCk) • LBJk: Job-based lower bound at stage k • LBCk: Composite bound based on both the job-based bound and the machine-based bound • Node Elimination • upper bound: solution from HEU1

  17. Computational Results • 8 different priority dispatching rules • nondelay schedule and active schedule • 10×10~50×35, 30test problems • Comparison with B&B • 5×4, 5×5, 6×6 • Out of the 300 solutions obtained, 244 sols are optimal.

  18. Conclusions • Dominance rules include most properties of the different priority dispatching rules. • Memory space is quite modest. • Quick solution not only for sequencing but also for rescheduling • Considering machine with release times and reentrant routing

  19. A heuristic approach to n/m job shop scheduling: fuzzy dynamic scheduling algorithms Utpal Roy and Xiaoyan Zhang Dept. of Mechanical, Aerospace and Manufacturing Engineering, Syracuse Univ. New York, USA. Production Planning and Control, 1996, Vol. 7, No. 3, pp. 299-311

  20. Contents • Fundamentals to FDSA (Fuzzy Dynamic Scheduling Algorithm) • Membership Functions • Constructing Weight Vector • Algorithm • Computational Results • Conclusion

  21. Fundamentals to FDSA • determination of membership functions and the respective grades for the jobs • appropriate weights for the priority rules • establishment of fuzzy operations which are required in performing the fuzzy transformation

  22. Fuzzy Set Theory • fuzzy set A in X • membership function μA: • μA:X→[0,1] • fuzzy relation R in XY • μR: XY→[0,1] • When X and Y are finite sets, a fuzzy relation R can be expressed by the matrix • R=[μij]

  23. Fuzzy Dynamic Scheduling Model (1/2) J(j): set of jobs to be processed on the machine Mj J(j)={J1, J2, … , Jnj} X1, X2, X3,…, Xl : priority rules xk: membership function fuzzy relation Rj(t)

  24. Fuzzy Dynamic Scheduling Model (2/2)

  25. Membership functions

  26. Constructing weight vector by absolute value of performance measures (1) Single performance measures (2) Multiple performance measures

  27. Algorithm (1/2) 1. Select the priority rules and determine their membership function 2. Decide the performance measures of scheduling and calculate the results under each priority rule 3. Compute the weight vector 4. Choose an operator 5. Find out the time, t0j at which a job arrives at the machine Mj. Ascertain the set J(j) of jobs to be processed for machine Mj during the time interval [t0j, t1j], where t1j=t0j+pi,j.

  28. Algorithm (2/2) 6. Calculate the grade of membership of each job in J(j) to obtain the fuzzy relation matrix Rj(t1j). 7. Perform fuzzy transformation: 8. Find 9. If all jobs are scheduled, go to step 10. Otherwise go to step 5 10. Output scheduling results

  29. Computational Results • Performance Measures • Fmax, Fmean, Lmax, Lmean, N • Dispatching Rules: FCFS, SPT, EDD, CR, FDSA • Fmax: FCFS • Fmean: FDSA • Lmax: EDD • Lmean : FDSA • N: FDSA • Membership functions yield almost the same scheduling results.

  30. Conclusions • Fuzzy logic is applied as a link to combine several priority rules to form aggregate heuristic rules. • FDSA is a good scheduling rule to Fmean, Lmean, and N.

More Related