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

Slides:



Advertisements
Similar presentations
Some Slides from: U.C. Berkeley, U.C. Berkeley, Alan Mishchenko, Alan Mishchenko, Mike Miller, Mike Miller, Gaetano Borriello Gaetano Borriello Introduction.
Advertisements

Scheduling in Distributed Systems Gurmeet Singh CS 599 Lecture.
Greedy Algorithms.
Process Control Management Prepared by: Dhason Operating Systems AICT
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM.
Production and Operations Management Systems
Johnson’s Rule Johnson’s rule: A procedure that minimizes makespan when scheduling a group of jobs on two workstations. Step 1. Find the shortest processing.
Operations Scheduling
ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre.
Introduction to Operations Research (II)
Author: David He, Astghik Babayan, Andrew Kusiak By: Carl Haehl Date: 11/18/09.
1 Single Machine Deterministic Models Jobs: J 1, J 2,..., J n Assumptions: The machine is always available throughout the scheduling period. The machine.
On the Task Assignment Problem : Two New Efficient Heuristic Algorithms.
Scheduling.
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
Lot sizing and scheduling
Sequencing Problem.
PATIENT SCHEDULING AT COLUMBIA’S RADIATION ONCOLOGY TREATMENT CENTER By David Kuo Chao and Ji Soo Han.
NetworkModel-1 Network Optimization Models. NetworkModel-2 Network Terminology A network consists of a set of nodes and arcs. The arcs may have some flow.
COMSOAL Computer Method for Sequencing Operations for Assembly Lines Lindsay McClintock OPERMGT 345 – 004 May 6, 2003.
Lecture 8: Dispatch Rules
INTRODUCTION TO SCHEDULING
Scheduling and Scheduling Philosophies By Nilesh Sivaramakrishnan For IEM 5303.
VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS D. Roychowdhury, I. Koren, C. M. Krishna University of Massachusetts, Amherst Y.-H. Lee Arizona.
Introduction to LEKIN Gareth Beddoe
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. 16 Scheduling.
Job-shop Scheduling n jobs m machines No recirculation – Jobs do not revisit the same machine (i, j) is referred to as an operation in which job j is processed.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 March 01, 2005 Session 14.
Operational Research & ManagementOperations Scheduling Introduction Operations Scheduling 1.Setting up the Scheduling Problem 2.Single Machine Problems.
1 1 Slide Short – Term Scheduling Professor Ahmadi.
Spring 2015 Mathematics in Management Science Machine Scheduling Problem Statement of MSP Assumptions & Goals Priority Lists List Processing Algorithm.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
Semantic Wordfication of Document Collections Presenter: Yingyu Wu.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
Outline Introduction Minimizing the makespan Minimizing total flowtime
Scheduling. Scheduling: The allocation of resources over time to accomplish specific tasks. Demand scheduling: A type of scheduling whereby customers.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 March 03, 2005 Session 15.
Bonus Round Assembly Line Scheduling Assume Assembly Line is used for multiple products 1.
Parallel Machine Scheduling
Outline Schedule and scheduling Mathematical models
Heuristic Methods for the Single- Machine Problem Chapter 4 Elements of Sequencing and Scheduling by Kenneth R. Baker Byung-Hyun Ha R2.
Session 26 University of Southern California ISE514 Batch Processing and Batch Sequencing November 19, 2015 Geza P. Bottlik Page 1 Outline Questions? Project.
Scheduling Operations IDS 605 Spring Data Collection for Scheduling l Jobs l Activities l Employees l Equipment l Facilities Transparency 18.1.
Chapter 16 & 9 Scheduling Work & Employees. Scheduling Outline What needs to be scheduled? –doctor’s office, restaurant, mfg. plant, hospital –employees.
Scheduling McGraw-Hill/Irwin Copyright © 2012 by The McGraw-Hill Companies, Inc. All rights reserved.
Planning and Scheduling.  A job can be made up of a number of smaller tasks that can be completed by a number of different “processors.”  The processors.
1 Job Shop Scheduling. 2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily.
Some Topics in OR.
CHAPTER 8 Operations Scheduling
Lecture 8: Dispatch Rules
Efficient Load Balancing Algorithm for Cloud
CPU Scheduling.
Sequencing and Scheduling Introduction and Chapter 1
CPU SCHEDULING.
Outline Scheduling algorithms Multi-processor scheduling
Scheduling Scheduling is an important tool for manufacturing and service industries, where it can have a major impact on the productivity of a process.
Introduction to Scheduling Chapter 1
Chapter 5: CPU Scheduling
Richard Anderson Lecture 6 Greedy Algorithms
8 Job Sequencing & Operations Scheduling CHAPTER Arranged by
Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
Planning and Scheduling
Richard Anderson Lecture 7 Greedy Algorithms
Planning and Scheduling
Chapter 5: CPU Scheduling
Single Machine Deterministic Models
Chapter 6: Scheduling Algorithms Dr. Amjad Ali
IIS Progress Report 2016/01/18.
Richard Anderson Autumn 2019 Lecture 7
Presentation transcript:

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 The A 2 L 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.

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.

Overview, continued Step 5: Create a system of rounds 1. Select the jobs that appear in the first occurrence of each machine, label as Round 1 2. If not all Jobs appear, select the jobs that appear in the second occurrence of each machine and label as Round Continue with Rounds until all jobs appear. 4. 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.

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 SPT value, and continue until all un-assigned jobs are evaluated.

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.

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.

Project Problem, 4 jobs & 5 machines Job 1Job 2Job 3Job 4 M M M M M 52653

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. SPTAssign to Job12M5 Job21M1 Job31M3 Job42M1

Step 2: Create a Gantt chart with these assigned jobs. Since all the jobs are assigned, skip to Step 12. M5 J1, Pj=2 M4 M3 J3, Pj=1 M2 M1 J2, Pj=1J4, Pj=2

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. J3J2J1J4 M22349 Pj GivenCj on Current J49>3 J23>1 J4J1J3 M Pj GivenCj on Current J47>3 J27>1

Step 13: Update complete Gantt chart. M5 J1 M4 M3 J3 M2 M1 J2J4

Step 14: Arrange the machines in SPT order on the Gantt chart if multiple jobs are to run on the same machine. M5 J1 M4 M3 J3 M2 M1 J2J4

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

8 jobs & 5 machines Job 1Job 2Job 3Job 4Job 5Job 6Job 7Job 8 M M M M M

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. SPTAssign to Job12M1 Job21M5 Job41M1 Job51M1 Job71M3 Job83M2

Step 2: Create a Gantt chart with these assigned jobs. (If all jobs are assigned, continue to Step 12) M5 J2 M4 M3 J7 M2 J8 M1 J1J4J5

Step 3: List all machine-job, ij, combinations with their given processing times, pj. Pj M1(J1)2 M1(J2)2 M1(J3)6 M1(J4)1 M1(J5)1 M1(J6)3 M1(J7)3 M1(J8)10 M2(J1)5 M2(J2)9 M2(J3)9 M2(J4)8 M2(J5)10 M2(J6)3 M2(J7)7 M2(J8)3 M3(J1)5 M3(J2)9 M3(J3)4 M3(J4)10 M3(J5)9 M3(J6)10 M3(J7)1 M3(J8)5 M4(J1)7 M4(J2)5 M4(J3)9 M4(J4)2 M4(J5)6 M4(J6)8 M4(J7)7 M4(J8)8 M5(J1)6 M5(J2)1 M5(J3)4 M5(J4)4 M5(J5)6 M5(J6)4 M5(J7)7 M5(J8)7

Step 4: Rank all the combinations by Pj in ascending order. Pj M1(J4)1 M1(J5)1 M3(J7)1 M5(J2)1 M1(J1)2 M1(J2)2 M4(J4)2 M1(J6)3 M1(J7)3 M2(J6)3 M2(J8)3 M3(J3)4 M5(J3)4 M5(J4)4 M5(J6)4 M2(J1)5 M3(J1)5 M3(J8)5 M4(J2)5 M1(J3)6 M4(J5)6 M5(J1)6 M5(J5)6 M2(J7)7 M4(J1)7 M4(J7)7 M5(J7)7 M5(J8)7 M2(J4)8 M4(J6)8 M4(J8)8 M2(J2)9 M2(J3)9 M3(J2)9 M3(J5)9 M4(J3)9 M1(J8)10 M2(J5)10 M3(J4)10 M3(J6)10

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

Step 5 continued: Pj M1(J4)1 M1(J5)1 M3(J7)1 M5(J2)1 M1(J1)2 M1(J2)2 M4(J4)2 M1(J6)3 M1(J7)3 M2(J6)3 M2(J8)3 M3(J3)4 M5(J3)4 M5(J4)4 M5(J6)4 M2(J1)5 M3(J1)5 M3(J8)5 M4(J2)5 M1(J3)6 M4(J5)6 M5(J1)6 M5(J5)6 M2(J7)7 M4(J1)7 M4(J7)7 M5(J7)7 M5(J8)7 M2(J4)8 M4(J6)8 M4(J8)8 M2(J2)9 M2(J3)9 M3(J2)9 M3(J5)9 M4(J3)9 M1(J8)10 M2(J5)10 M3(J4)10 M3(J6)10 Jobs Idenitified R1:4, 6, 7, 2 R2:5, 8, 3 R3:1 FINAL

Step 6: List all possible combinations found in the rounds for the jobs that were not assigned in Step 1. Pj M1(J4)1 M1(J5)1 M3(J7)1 M5(J2)1 M1(J1)2 M1(J2)2 M4(J4)2 M2(J6)3 M2(J8)3 M3(J3)4 M5(J3)4 M5(J4)4 M5(J6)4 M2(J1)5 M3(J1)5 M3(J8)5 M4(J2)5 M4(J5)6 M2(J7)7 M4(J1)7 Job1Job2Job3Job4Job5Job6Job7Job8 ASSIGNED M3(J3) ASSIGNED M2(J6) ASSIGNED M5(J3)M5(J6)

Step 7: Identify the shortest processing time, Pj, for each unassigned job. Job3PjJob6Pj M3(J3)4M2(J6)3 M5(J3)4M5(J6)4

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. Pj = 4 Tie: M3 and M5 M3: M5:1 + 46

Step 9: Repeat Step 8, selecting the job having the next highest SPT value, and continue until all un-assigned jobs are evaluated. Pj = 3 M2: M5: Assign J6 on M5 M5 J2J6 M4 M3 J7 M2 J8 M1 J1J4J5

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. M3: M5: Likewise, J3 will then be on M3

Step 11: Create a complete Gantt chart containing all final selections in the order in which they were assigned. M5 J2J6 M4 M3 J7J3 M2 J8 M1 J1J4J5

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. Job 1Job 2Job 3Job 4Job 5Job 6Job 7Job 8 M Pj GivenCj on Current J17>2 J25>1 J39>4 J42<3 J56>4 J68>5 J77>1

Step 13: Update complete Gantt chart. M5 J2J6 M4 J4 M3 J7J3 M2 J8 M1 J1J5

Step 14: Arrange the machines in SPT order on the Gantt chart if multiple jobs are to run on the same machine. M5 J2J6 M4 J4 M3 J7J3 M2 J8 M1 J5J1

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

Conclusions The A 2 L 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.

References Pinedo, M. (1995). Scheduling: Theory, Algorithms, and Systems, Prentice-Hall, , New Jersey Baker, K. R. (1974). Introduction to Sequencing and Scheduling, John Wiley & Sons, , 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 ,