1 / 33

A 2 L Heuristic Algorithm for Scheduling Tasks on Non-Identical Machines

A 2 L Heuristic Algorithm for Scheduling Tasks on Non-Identical Machines. Alexander C. Tubbs Alison L. Steppig Laura A. Hemker Southern Illinois University Edwardsville. Introduction.

zuriel
Download Presentation

A 2 L Heuristic Algorithm for Scheduling Tasks on Non-Identical Machines

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. A2L Heuristic Algorithm for Scheduling Tasks on Non-Identical Machines Alexander C. Tubbs Alison L. Steppig Laura A. Hemker Southern Illinois University Edwardsville

  2. Introduction • The A2L heuristic algorithm provides an efficient solution for scheduling tasks on non-identical machines without preemption. Specifically, the objective of this algorithm’s performance measure is to minimize the average flow time of a given set of processing times. Shortest processing time (SPT) and a form of weighted SPT contribute to the optimal solution. The step-by-step procedure provides a straightforward method for application.

  3. Overview • Step 1: List all the minimum processing times for each job j. For n jobs having a single SPT on a single machine, assign to the specified machine i. • Step 2: Create a Gantt chart with these assigned jobs. (If all jobs are assigned, continue to Step 12) • Step 3: List all machine-job, ij, combinations with their given processing times, Pj. • Step 4: Rank all the combinations by Pj in ascending order.

  4. Overview, continued • Step 5: Create a system of rounds • Select the jobs that appear in the first occurrence of each machine, label as Round 1 • If not all Jobs appear, select the jobs that appear in the second occurrence of each machine and label as Round 2. • Continue with Rounds until all jobs appear. • Select a final round of jobs after all the jobs appear. • Step 6: List all possible combinations found in the rounds for the jobs that were not assigned in Step 1.

  5. Overview, continued • Step 7: Identify the shortest processing time, Pj, for each unassigned job. • Step 8: Starting with the job having the largest SPT, evaluate the Fj of all possible combinations for that job. Assign job to the machine having the shortest Fj. If a tie occurs when evaluating Fj, do not assign job and continue with next largest SPT job as described in the next step. Update Gantt chart. • Step 9: Repeat Step 8, selecting the job having the next highest SPTvalue, and continue until all un-assigned jobs are evaluated.

  6. Overview, continued • Step 10: Re-Evaluate those jobs that had a tie within Fj since new jobs have been assigned. Assign these jobs if ties are broken, for those jobs that ties did not break, create a multi-solution set. • Step 11: Create a complete Gantt chart containing all final selections in the order in which they were assigned. • Step 12: In the Gantt chart, if a machine is not in use, go back and list all Pj for each job on the open machine. On the Gantt chart, select those jobs running sequentially on a machine and note their Cj for that machine. If Pj < Cj, select the job that has the largest difference between the values and re-assign to the open machine.

  7. Overview, continued • Step 13: Update complete Gantt chart. • Step 14: Arrange the machines in SPT order on the Gantt chart if multiple jobs are to run on the same machine. • Step 15: Calculate the average flow-time of the final Gantt chart.

  8. Project Problem, 4 jobs & 5 machines

  9. Step 1: • List all the minimum processing times for each job j. For n jobs having a single SPT on a single machine, assign to the specified machine i.

  10. Step 2: • Create a Gantt chart with these assigned jobs. Since all the jobs are assigned, skip to Step 12.

  11. Step 12: • In the Gantt chart, if a machine is not in use, go back and list all Pj for each job on the open machine. On the Gantt chart, select those jobs running sequentially on a machine and note their Cj for that machine. If Pj < Cj, select the job that has the largest difference between the values and re-assign to the open machine.

  12. Step 13: • Update complete Gantt chart.

  13. Step 14: • Arrange the machines in SPT order on the Gantt chart if multiple jobs are to run on the same machine.

  14. Step 15: • Calculate the average flow-time of the final Gantt chart.

  15. 8 jobs & 5 machines

  16. Step 1: • List all the minimum processing times for each job j. For n jobs having a single SPT on a single machine, assign to the specified machine i.

  17. Step 2: • Create a Gantt chart with these assigned jobs. (If all jobs are assigned, continue to Step 12)

  18. Step 3: • List all machine-job, ij, combinations with their given processing times, pj.

  19. Step 4: • Rank all the combinations by Pj in ascending order.

  20. Step 5: • Create a system of rounds. • Select the jobs that appear in the first occurrence of each machine, label as Round 1 • If not all Jobs appear, select the jobs that appear in the second occurrence of each machine and label as Round 2. • Continue with Rounds until all jobs appear. • Select a final round of jobs after all the jobs appear.

  21. Step 5 continued:

  22. Step 6: • List all possible combinations found in the rounds for the jobs that were not assigned in Step 1.

  23. Step 7: • Identify the shortest processing time, Pj, for each unassigned job.

  24. Step 8: • Starting with the job having the largest SPT, evaluate the Fj of all possible combinations for that job. Assign job to the machine having the shortest Fj. If a tie occurs when evaluating Fj, do not assign job and continue with next largest SPT job as described in the next step. Update Gantt chart.

  25. Step 9: • Repeat Step 8, selecting the job having the next highest SPT value, and continue until all un-assigned jobs are evaluated.

  26. Step 10: • Re-Evaluate those jobs that had a tie within Fj since new jobs have been assigned. Assign these jobs if ties are broken, for those jobs that ties did not break, create a multi-solution set.

  27. Step 11: • Create a complete Gantt chart containing all final selections in the order in which they were assigned.

  28. Step 12: • In the Gantt chart, if a machine is not in use, go back and list all Pj for each job on the open machine. In the Gantt chart, if a machine is not in use, go back and list all Pj for each job on the open machine. If Pj < Cj, select the job that has the largest difference between the values and re-assign to the open machine.

  29. Step 13: • Update complete Gantt chart.

  30. Step 14: • Arrange the machines in SPT order on the Gantt chart if multiple jobs are to run on the same machine.

  31. Step 15: • Calculate the average flow-time of the final Gantt chart.

  32. Conclusions • The A2L heuristic algorithm proved to be capable of minimizing average flow-time for every scheduling problem of non-identical machines without preemption that we applied it to. We believe that it could be efficiently applied to larger-scale problems if made into a computer program.

  33. References • Pinedo, M. (1995). Scheduling: Theory, Algorithms, and Systems, Prentice-Hall, 0137067577, New Jersey • Baker, K. R. (1974). Introduction to Sequencing and Scheduling, John Wiley & Sons, 0471045551, New York • Randhawa, S. U. & Kuo, C. H. (1997). Evaluating Scheduling Heuristics for Non-Identical Parallel Processors. International Journal of Production Research, Vol. 35, No. 4, (April 1997), pp. 969 981, 0020-7543

More Related