Dynamic Scheduling of Aperiodic Jobs in Project Management

Similar documents
SCHEDULING AND CONTROLLING PRODUCTION ACTIVITIES

PMP Exam Preparation Course Project Time Management

Scheduling Resources and Costs

Program Evaluation and Review Technique (PERT)

Learning Objectives. Scheduling. Learning Objectives

CHAPTER 1. Basic Concepts on Planning and Scheduling

Cambridge International AS & A Level Computer Science

Clock-Driven Scheduling

LOADING AND SEQUENCING JOBS WITH A FASTEST MACHINE AMONG OTHERS

Time Management PLANNING

Project Time Management

Project Management in Practice Fifth Edition

Luis R. Garcilaso March 13, Lecture #22. Service Processes & Systems Dept. of Mechanical Engineering - Engineering Mechanics

IST 302 : Project Time Management

Operations and Supply Chain Management Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Graph Optimization Algorithms for Sun Grid Engine. Lev Markov

Operations Management

SCHEDULING IN MANUFACTURING SYSTEMS

Introduction. Project Scheduling. Morgan State University ARCH 738: REAL ESTATE PROJECT MANAGEMENT. Jason E. Charalambides, PhD, M.

Hybrid search method for integrated scheduling problem of container-handling systems

Scheduling. Adapted from John Musser

12/26/2013. Sharif University of Technology. Session#11. Instructor. Class time. Course evaluation. International Campus Kish

Project Time Management

Work Analysis and Design

Project Management Professional (PMP) Exam Prep Course 6 - Project Schedule Management

Exploiting Dynamic Workload Variation in Low Energy Preemptive Task Scheduling

A HYBRID GENETIC ALGORITHM FOR JOB SHOP SCHEUDULING

Artificial Intelligence

PRODUCTION ACTIVITY CONTROL (PAC)

Plan Your Work, Work Your Plan. Dr. R. Rockland Chair and Professor, Department of Engineering Technology New Jersey Institute of Technology

BA /14/2010. PSU Problem Solving Process. The Last Step 5. The Last Step 8. Project Management Questions PLAN IMPLEMENT EVALUATE

Project vs Operation. Project Constraints. Pankaj Sharma, Pankaj Sharma,

Chapter 3 Managing the Information Systems Project

Real-Time and Embedded Systems (M) Lecture 4

1. are generally independent of the volume of units produced and sold. a. Fixed costs b. Variable costs c. Profits d.

Embarking new Project

APPLIED A NEW METHOD FOR MULTI-MODE PROJECT SCHEDULING

Network Diagram 11/10/2016 WORK BREAKDOWN STRUCTURE (WBS)

2. Scheduling issues. Common approaches /2. Common approaches /1. Common approaches / /18 UniPD - T. Vardanega 14/03/2018

6 PROJECT TIME MANAGEMENT

A Sequencing Heuristic to Minimize Weighted Flowtime in the Open Shop

GENERALIZED TASK SCHEDULER

Lab: Response Time Analysis using FpsCalc Course: Real-Time Systems Period: Autumn 2015

IJSRD - International Journal for Scientific Research & Development Vol. 4, Issue 05, 2016 ISSN (online):

CONSTRAINT MODELING AND BUFFER MANAGEMENT WITH INTEGRATED PRODUCTION SCHEDULER

Determination of Routing and Sequencing in a Flexible Manufacturing System Based on Fuzzy Logic

For the PMP Exam using PMBOK Guide 5 th Edition. PMI, PMP, PMBOK Guide are registered trade marks of Project Management Institute, Inc.

Scheduling Concepts and MS. Project AZURITE PROJECT TRAINING AND CONSULTING PVT LTD (OPC) 2014

Modern Systems Analysis and Design Seventh Edition

Optimizing Dynamic Flexible Job Shop Scheduling Problem Based on Genetic Algorithm

INTEGRATED PROCESS PLANNING AND SCHEDULING WITH SETUP TIME CONSIDERATION BY ANT COLONY OPTIMIZATION

Time Management: The Engineering Student Dilemma. Saylisse Dávila, Ph.D. Department of Industrial Engineering University of Puerto Rico at Mayagüez

ISE480 Sequencing and Scheduling

CHAPTER II SEQUENCING MODELS

Rehandling Strategies for Container Retrieval

Project Management. Learning Objectives. What are Projects? Dr. Richard Jerz. Describe or Explain:

Project Management. Dr. Richard Jerz rjerz.com

The recommended guided learning hours for this unit are 30 hours.

Resource-Constrained Multi-Project Scheduling with Resource Moving Time for Construction Projects in Vietnam

Topic # 12. CIS Project Management: an overview

Time has the least. amount of flexibility; Schedule issues are the main reason for

Resource Allocation Optimization in Critical Chain Method

Analysis and Modelling of Flexible Manufacturing System

Design and Implementation of LST Based Dynamic Scheduler on Real Time OS

INDIAN INSTITUTE OF MATERIALS MANAGEMENT Post Graduate Diploma in Materials Management PAPER 18 C OPERATIONS RESEARCH.

JOB SHOP SCHEDULING TO MINIMIZE WORK-IN-PROCESS, EARLINESS AND TARDINESS COSTS ZHU ZHECHENG A THESIS SUBMITTED FOR THE DEGREE OF DOCTOR OF PHILOSOPHY

Implementing a Predictable Real-Time. Multiprocessor Kernel { The Spring Kernel.

ENGR 310. Project Planning. Lecture Mar 2008

A Machine Setup Model for TFT-LCD Cell Back-End Process

Construction Scheduling and Estimating

Fast Edge-Orientation Heuristics for Job-Shop Scheduling Problems with Applications to Train Scheduling

A HYBRID ALGORITHM TO MINIMIZE THE NUMBER OF TARDY JOBS IN SINGLE MACHINE SCHEDULING

Manufacturing Resource Planning

An Evolutionary Solution to a Multi-objective Scheduling Problem

Minimizing Makespan for Machine Scheduling and Worker Assignment Problem in Identical Parallel Machine Models Using GA

Dynamic Vehicle Routing and Dispatching

Planning & Scheduling

Artificial Intelligence Breadth-First Search and Heuristic

International Journal of. Railway Research. Train Scheduling Problem - Phase I: A General Simulation Modeling Framework

A New Priority-Sort Based Optimization Algorithm for Integrated Process Planning and Scheduling

Charting and Diagramming Techniques for Operations Analysis. How to Analyze the Chart or Diagram. Checklist of Questions - Example

MBH1123 Project Scope, Time and Cost Management Prepared by Dr Khairul Anuar. Lecture 6b Project Time Management - II

Evolutionary Algorithms

CHAPTER 5 SUPPLIER SELECTION BY LEXICOGRAPHIC METHOD USING INTEGER LINEAR PROGRAMMING

ONTIME, for creating and managing timetables

Getting Started with OptQuest

3. Scheduling issues. Common approaches /2. Common approaches /1. Common approaches / /17 UniPD / T. Vardanega 06/03/2017

This is a refereed journal and all articles are professionally screened and reviewed

TEXTS IN OPERATIONAL RESEARCH

Uncertain Supply Chain Management

Proceedings of the 2010 Winter Simulation Conference B. Johansson, S. Jain, J. Montoya-Torres, J. Hugan, and E. Yücesan, eds.

Week 5 Project Work Plan

APPENDIX 1 Processing time (pij) Release date (rj) Due date (dj): Weight (wj)

Available online at ScienceDirect. Procedia Engineering 123 (2015 ) Creative Construction Conference 2015 (CCC2015)

Job Batching and Scheduling for Parallel Non- Identical Machines via MILP and Petri Nets

Information Technology Audit & Cyber Security

Research Article Scheduling Methods for Food Resource Management under the Environment of Cloud

EFFICIENCY OF CRITICAL PATH METHOD (CPM) AND PERT TECHNIQUE FOR YACHT CONSTRUCTION

Lecture 6: Scheduling. Michael O Boyle Embedded Software

Transcription:

Dynamic Scheduling of Aperiodic Jobs in Project Management ABSTRACT The research article is meant to propose a solution for the scheduling problem that many industries face. With a large number of machines involved in the each process and task dependencies becoming more and more complex, the scheduling needs better models to represent the system. The authors have created a model that will help in the simplifying the problem and help in allocation by keeping a tab on resource utilization and overall time of completion. Through this authors have proposed an innovative approach towards job scheduling and its status representation. As the transportation time plays an important role in an industry, the article emphasizes on its representation in the model. It also gives a methodology of allocation which will help in best utilization of resources and also giving preference to critical ones. It gives various alternative solutions depending on the overlap time, utilization time and total time for a job and user will be given the choice to select the alternative best suited for its production environment. In today s scenario Process scheduling is facing major challenges in every sector. One of the reason is the excessive dependency on the intuition based scheduling that still dominates many industry. The other reason is that less research is happening in this area especially for the processes where depend activities exist. Industry wise, scheduling plays more critical role in manufacturing industries where 100% machine utilization is a critical issue. But modelling the real time system can only be achieved through few option like Gantt chart, Activity Diagram etc. These models have a lot of constraint and aren t applicable in each and every scenario.

The scheduling is about maintaining a production rate on each machines so that the waiting time or makespan (total time taken to complete the entire job) is minimized [1]. Fig.1. Scheduling Algorithm output Which Activity to be to schedule When to be to schedule Best and Worst time taken to complete the job Fig.2. Scheduling Model output Represent all current projects Represent all activities under each project Current Status of the project and their activities A typical scheduling solutionneeds following information to be defined properly: Machine environment: Number of machines available, time required to finish a job on the machine, scheduling environment i.e. pre-emptive or non- pre-emptive. Optimality criterion: Minimizing Waiting time/makespan time, Maximizing the number of jobs executed Set of constraints: Deadline for each task, Precedence constraint, Number of resources available(man/machine), number of working hours a day Shortcomings of various existing Scheduling Models are: GANTT chart: Can t be used for dynamic scheduling, need detailed breakdown of project activities before developing the chart. Slightest change in dependencies may cause a new chart to be formed[2] CPM/PERT Chart: Difficult to understand and follow if the project has complex dependencies

and simultaneous activities. It is difficult to solve resource conflict under the unclear precedence relations among project activities [4] ACTIVITY Diagram: Can t be used for more than one project activities at a time. TASK Calendars: Not easy to see Connections, dependencies, difficultto use for large teams. Network Diagram Deals with time aspect without considering resource constraints [3] This is useful to find an optimal order of all activities on a machine to find DISJUNCTIVE Graph: out a schedule with minimal length. Can t be used for very complex system. Scheduling Algorithm: Scheduling algorithms have always been an important subject of interest for mathematicians but with advent of computer, algorithms needed for CPU scheduling started dominating this field. But the production process scheduling algorithms are very different from CPU scheduling algorithms in the sense that precedence constraint exist in this area and activities can t be abruptly stopped till the activity releases the ownership of the resource after completion. Based upon these criteria, following are the prominent algorithms that are used for scheduling (source Wikipedia):

Earliest Deadline First [8]: Dynamic scheduling algorithm used in real-time scheduling based on the deadline of thetasks. The one which is closest to the deadline will be executed first. Least Slack time algorithm [9]: In this algorithm priority will be given to the task which is having the least slack time i.e. the time required to complete the remaining job Horn s Algorithm [10]: Dynamic scheduling algorithm that executes the task with earliest deadline first to minimize the maximum lateness Bratley s Algorithm[3]: The algorithm uses branch and bound method to find the best solution based on backtracking in the tree of all solutions Spring Algorithm: Scheduling algorithm that constructs guaranteed schedules based on various constraints Greedy Approach[11]: greedy algorithms make decisions incrementally in small steps based on improving local or current state Heuristic Algorithm[4] : This Approachuses a heuristic function H to guide the search until a feasible schedule is found, otherwise backtrack: add a new node in the search tree if the node has smallest value according to H Above is the research done in the field of scheduling but in terms of models for representing the dynamic status of the activities there is very less research which is done till now. Our solution will use a new model to represent the underlying system which is different from the existing model such as Gantt chart, activity diagram etc. After the system will be modelled like this, we will use our algorithm to schedule the tasks. The algorithm will uses the concept of both static and dynamic scheduling. The algorithm will start allocating the resources based on the static algorithm used in initial scheduling. After the initial allocation, for each incoming job, dynamic

scheduling algorithm will be used. The algorithm uses the concept of project management such as PERT/ CPM to come up with the alternative solutions. The user can choose the best solution from these alternatives according to its need. Once we represent the present state of the system in this model we can use any pre-emption constrained aperiodic scheduling algorithm to get the schedules. In our case we have used FCFS in initial case. After that we have taken input from user for prioritizing the tasks. So this model will offer you the flexibility of using different algorithms to get the best schedule for your system. The model will help in visualizing the status of more than one projects in a typical process industry as against the earlier models where progress of only one project can be seen at a time. This will be a one stop solution for employees at all level. Low level manger can use this model for scheduling. Higher level manger will use it to keep an eye on the current status of the projects under its management. For individual employee this will serve as the model to keep track of the work assigned to them. Same model will be useful for different department. For example Production department will use it for assembly line scheduling, Procurement people will use it for keeping track of the order status, and Sales department will use it for checking the status of sales target met by different people under different regions. The model is very useful in complex systems where there are n number of machines and n number of projects happening simultaneously. In that scenario the model will give you a bird s eye view of the status of the system. Modelling Framework Let s assume that there is a customer order Job J1. Each Job requires certain activities to be performed in order to complete the Job. This list of activities can be chosen from the total set of A1 to An activities. The chosen activities need to be then allotted its time and preceding activities so as to define the project. A typical industrial scenario has various such activities superimposing on each other.

Algorithm to define a Job: Step 1: Receive order Step 2: Select Activities from the activity selection table. Job J1 Allotment Table Activity Facility Time(n1) Previous Activity A1 F3 15 - A2 F5 120 A2 A3 F2 5 A3 A4 F7 35 A4 A5 F1 82 A4; A2 Add New F5 Fig.3.Job Allotment Step 3: The selected activities are shown in the Allotment table. Now define Preceding Activity and allot time for activity with its respective variation (Optimistic and Pessimistic) Transport Table Time(n1) A1-A2 A2-A3 A2-A5 A3-A4 An-Ak

Fig.4.Transport Table Step 4: The display comes in a flow chart fashion, now fill the time for transport time transport table. This will complete the data for a project. With this input all the details about project s median time with deviation can be displayed. This data will now be integrated with already current status of already existing projects with the firm. As all the activities require a particular workshop or a division for service industry, the time is allotted accordingly. The critical facility is determined by the percentage of its overlap and usage. In the same way various other Jobs are entered. Multiple Job handling and optimization: Now what the model does here is to define a criticality of facilities depending on their usage and overlap. This Criticality is then used to prioritize and thus produce different possible solutions. The user has an option to choose between these solutions by analysing the displayed criticality of usage and overlap and the overall time of completion. At the same time user also gets to see how particular allotment effects other jobs. This process is described as follows: Let J define the Jobs. There are numerous projects J1 to Jn. For each project uses come facilities from F1 to Fn, The time taken to travel between to facilities is tn,m. There may be a slack time after Jn using a facility and before Jm starts using the facility.

` F1 F2 Time Line t 2t 3t 4t 5t 6t 7t 8t 9t J1 J2 J3 J4 F3 F4 Fn Fig.5.Facility Allocation for various jobs The concept here is to find critical facilities. The critical facilities are those facilities which are most loaded. These are the facilities that define the speed of the total system. Identifying this will help in finding bottlenecks easily and will help determine capacity of which facility to be increased or which similar facilities to be added. The job function can be defined as: Job: J x J = nth activity of job x J t = Time by nth activity J Es = Early start time of job on particular activity J Ef = Early finish time of job on particular activity J As = Actual start time of job on particular activity J Af = Actual finish time of job on particular activity J Ls = Late start time of job on particular activity

J Lf = Late finish time of job on particular activity J PA = Previous Activities (let there be I activities) Facility used: F Connecting Activities function: C = Connect activity p to q for job x C = From activity C = to activity C t= time Facility Variables (F ym )function: F s = Start of mth activity on Facility y F f = Finish of mth activity on Facility y J F C = Criticality rating of this facility Assumption: Machine process not more than 1 item at a time Fixed processing time of the jobs is known criteria for optimization is minimizing the maximum flow time Algorithm to add new job to Time Line: Step 1: Take data from new Job. Step 2: Fill the first activity in front its facility y. Find an empty slot in F Let it be the mth job using this facility. If this slot is in between some other jobs using this facility, then insert it in between by changing F () = F. Thus shifting all by 1 to make numbering consistent. Assign:

J Es = F () f +1 J As = J Es F s = J As J Ef = J Es + J t J Af = J Ef F f = J Af Step 2: Fill travelling time shown by angled lines. Assign: J Es = J Af + C t Similarly do the same for all connecting activities as a continuous process J Es = J Af + C t J Ef = J Es + J t Step 3: If the facility to be used by J, say F is busy i.e.: Time period between J Es and J Ef clashes with any period between F sf f [m varying from 1 to end covering all usages of F ] then find an empty slot in the ahead. Let this time slot be denoted by J Asand J Af. Step 4: Repeat step 2 & 3 till the allotment completes. Step 5: The initial allotment is complete. Step 6: For critical facility (most loaded) and for all facilities after that: J Ls = J As J Lf = J Lf Step 7: For activities before start with nearest to critical and define J Lf subtract its time C t from J Ls (as say for example here m is next to n). Then define J Ls= J Lf J t. Repeat this step to cover all activities before critical activity. Step 8: Allotment completed on basis of FCFS.

Finding Critical Activity: Step 1: find time taken on all facilities (sum times of all activities using that facility) Step 2: Rank all facilities by their usage Criticality ranking (first rate according to overlaps then according to no of activities in that facility) Step 3: Critical activity for a job is the job using facility with highest usage rank among those used by that job. Optimization of Allotment: Step 1: Find the most critical facility for the job Step 2: If for critical facility (Max F C for all F used) there is any empty slot and Es of any activity using that facility is before start of empty slot. Then use this slot by filling this activity. If there are multiple such activities, then choose one*. Step 3: Re-allot all activities Step 4: Confirm with user on acceptance of new allotment. For taking decision show percentage utilization and change of top 20% utilized facilities. Show job completion time and change due to new allotment. Step 5: If there are multiple such activities* choose the next one and repeat steps 3 & 4 till trial is complete with all. Step 6: Repeat steps 2, 3, 4, and 5 by choosing next level of critical activities. In step 3 reallotment to be done without disturbing the allotment of facility with higher criticality. Select the one chosen by user and update in the system Experiment 1:

Time Line ` 01.04.13 02.04.13 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 Entry and allotment Milling Grinding Surface Finishing Primer and Painting Packaging and dispatch Fig.6. Current Status of facility Allocation Example 1 The above time line shows the above current status of usage of facilities. This shows current plan for coming days. The vertical red line shows the current time. Anything happened before it cannot be changed. And the system keeps on updating the present status. There are 4 jobs going on. There is overlap on milling facility from time 13:00 to 14:00, 01.04.13 and on packaging and dispatch facility from 9:00 to 10:00, 02.04.13. In this overlap period one of the jobs has to wait. The allotment done here is on first come first serve basis. Now critical rating is as follows: 1 st : Milling overlap: 13 % usage = 40% 2 nd : Packaging and dispatch overlap: 13% usage = 33.33% 3 rd Grinding 53.84% Now suppose a new job comes with following requirements: A1: Entry and allotment- 1 hr => even though order may arrive at 10:00 slot but its confirmation can only be given at 13:00 T1: Travel time to milling- 1hr A2: Milling- 2hrs T2: Travel time to grinding- 1hr

A3: Grinding- 2hrs T3: Travel time to Packaging and dispatch- 1hr A4: Packaging and dispatch- 2hr Now the program does and initial allotment on the FCFS basis without disturbing the previous schedules. This is displayed as follows: Time Line ` 01.04.13 02.04.13 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 Entry and allotment Milling Grinding Surface Finishing Primer and Painting Packaging and dispatch Fig.7.Allotment on FCFS basis 1 st : Packaging and dispatch overlap: 23.5% usage = 53.84% 2 nd : Milling overlap: 23.5 % usage = 47% 3 rd Grinding overlap: 5.8% usage =52.9% And total time by new activity = 17 hrs Another suggestion the program may give is:

Time Line ` 01.04.13 02.04.13 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 Entry and allotment Milling Grinding Surface Finishing Primer and Painting Packaging and dispatch Fig.8.Alternative allocation 1 st : Milling overlap: 23.5 % usage = 50% 2 nd : Packaging and dispatch overlap: 18.75% usage = 43.75% 3 rd Grinding overlap: 6.2% usage =56.2% And total time by new activity = 14 hrs If the user is ok with this suggestion he may accept this and when approved this will be updated in the system. Experiment 2: This is an example from a company which is into testing of electrical equipment. The equipment arrive and are to go through various Fig.9.Current allotment status Example 2

At 11AM criticality rating is as follows: 1 st : Final report 2 nd : Pre-test MC-1; Short circuit MC-2; Impulse gen test; Jammer test Say suppose we are to accept a new job now with following requirements: Taking order 1 hour HV test 1 hour: requires HV test facility Travel from HV Facility to Power electronics room: 1hr Impulse gen test at Power electronics room: 1hr Generation and compiling of report: 1hr This is the solution in FCFS Fig.10.FCFS allocation Now critical rating is as follows: 1st: Final report overlap: 84% usage = 69.2% 2nd: Impulse gen overlap: 7.7 % usage = 30.7% 3rd HV room overlap: 7.7% usage = 15.4% And total time by new activity = 13 hrs The other option given to user can be:

Fig.11 Alternative solution for Example 2 Now critical rating is as follows: 1st: Final report overlap: 50% usage = 75% 2nd: Impulse gen overlap: 8.3% usage = 33.33% 3rd HV room overlap: 8.3% usage = 16.66% And total time by new activity = 7 hrs User may choose this one also based on the performance. CONCLUSION There are various constraints while doing scheduling. These constraints keep on changing. In a typical industry a lot of time is spent in travelling from one facility to other. How to represent the facility in usage, travelling time and optimize in order to get best usage and at the same time intuitively representing resources, jobs and their relationships has been the key factor. This article describes new way of presenting resource constrained and travel time bounded scheduling. The proposed model can display facility utilization by different jobs going on simultaneously. These simultaneous jobs are not only displayed but also optimized while allocation.

The user is given various options and depending on priority these can be chosen depending on the figures of the percentage usage, the percentage overlap and the total time. REFERENCES [1]. Herrmann, J.W.(2006) A History of Production Scheduling. Handbook of Production Scheduling. International Series in Operation Research & Management Science, Vol. 89 [2]. Geraldi,J. &Lechter,T.(2008) Gantt charts revisited: A critical analysis of its roots and implications to the management of projects today. [Online] Emerald.International Journal of Managing Projects in Business Vol. 5 Iss 4, pp.578-594. Available from: http://www.emeraldinsight.com [Accessed: 26th February 2014] [3]. Mohanty.R. P.(1988) Project Scheduling Methods: An Evaluation. Management Research News, vol. 11, no. 2, pp. 19-31. [4]. Cui N. F., & Liu.J.A Heuristic Algorithm of Critical Chain Based on Project 2003. Industrial Engineering and Management, vol. 14, no. 3, pp. 60-64, 2009. [5]. Pinedo.M.L (1995).Scheduling - Theory, Algorithms, and Systems. Springer [6]. Buttazzo.G.C(2011).Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications (Real-Time Systems Series).pp. 53-76 [7]. Stankovic.J.A&Spuri.M&Ramamritham.K&Buttazzo.G.C(1998).Deadline scheduling for Real-Time Systems: EDF and Related Algorithms. Springer [8]. Qi Li, Wei Ba (2012). Frontiers of Computer Science, Volume 6, Issue 5, pp 560-567: Springer [9]. Myunggwon Hwang, Dongjin Choi, Pankoo Kim (2010) Complex, Intelligent and Software Intensive Systems (CISIS), 2010 International Conference: IEEE Xplore

[10]. W.F. Dowling and J.H. Gallier, Linear time algorithms for testing the satisfiability of propositional Horn formulae, Journal of Logic Programming 3 (1984) 267 284: Science Direct [11]. Joslin. D & Collins. J (2008). Greedy Transformation of Evolutionary algorithm Search Spaces for Scheduling Problems