Dynamic Scheduling of Aperiodic Jobs in Project Management
-
Upload
universal-multidisciplinary-research-institute-pvt -
Category
Documents
-
view
215 -
download
0
description
Transcript of Dynamic Scheduling of Aperiodic Jobs in Project Management
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
Published By: Universal Multidisciplinary Research Institute Pvt Ltd
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 todays 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 arent
applicable in each and every scenario.
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
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].
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: Cant 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
Which Activity to be to schedule
When to be to schedule
Best and Worst time taken to complete the job
Represent all current projects
Represent all activities under
each projectCurrent Status of the project and their activities
Fig.2. Scheduling Model output
Fig.1. Scheduling Algorithm output
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
Published By: Universal Multidisciplinary Research Institute Pvt Ltd
and simultaneous activities. It is difficult to solve resource conflict under
the unclear precedence relations among project activities [4]
ACTIVITY Diagram: Cant 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]
DISJUNCTIVE Graph:
This is useful to find an optimal order of all activities on a machine to find
out a schedule with minimal length. Cant 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 cant 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):
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
Published By: Universal Multidisciplinary Research Institute Pvt Ltd
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
Horns Algorithm [10]: Dynamic scheduling algorithm that executes the task with earliest
deadline first to minimize the maximum lateness
Bratleys 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
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
Published By: Universal Multidisciplinary Research Institute Pvt Ltd
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 birds eye view of the status of the system.
Modelling Framework
Lets 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.
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
Published By: Universal Multidisciplinary Research Institute Pvt Ltd
Algorithm to define a Job:
Step 1: Receive order
Step 2: Select Activities from the activity selection table.
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)
Activity Facility Time(n1) Previous Activity
A1 F3 15 -A2 F5 120 A2A3 F2 5 A3A4 F7 35 A4A5 F1 82 A4; A2
Add New F5
Job J1 Allotment Table
Time(n1)
A1-A2
A2-A3
A2-A5
A3-A4
An-Ak
Transport Table
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
Published By: Universal Multidisciplinary Research Institute Pvt Ltd
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 projects 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.
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
Published By: Universal Multidisciplinary Research Institute Pvt Ltd
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:
= nth activity of job x
= Time by nth activity
Es = Early start time of job on particular activity Ef = Early finish time of job on particular activity = Actual start time of job on particular activity
= Actual finish time of job on particular activity
= Late start time of job on particular activity
`t 2t 3t 4t 5t 6t 7t 8t 9t
J1F1 J2
J3F2 J4
F3
F4
Fn
Time Line
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
Published By: Universal Multidisciplinary Research Institute Pvt Ltd
= Late finish time of job on particular activity
= Previous Activities (let there be I activities)
Facility used:
Connecting Activities function:
= Connect activity p to q for job x
= From activity
= to activity
= time
Facility Variables ()function:
s = Start of mth activity on Facility y = Finish of mth activity on Facility y
= 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 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 () = . Thus shifting all by 1 to make numbering consistent. Assign:
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
Published By: Universal Multidisciplinary Research Institute Pvt Ltd
Es = () +1 = Es s = Ef = Es + = Ef f =
Step 2: Fill travelling time shown by angled lines. Assign:
Es = + Similarly do the same for all connecting activities as a continuous process
Es = + Ef = Es +
Step 3: If the facility to be used by , say is busy i.e.:
Time period between Es and Ef clashes with any period between sf [m varying from 1 to end covering all usages of ] then find an empty slot in the ahead. Let this time
slot be denoted by and .
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:
= = Step 7: For activities before start with nearest to critical and define subtract its time
from (as say for example here m is next to n). Then define = . Repeat this step to cover all activities before critical activity. Step 8: Allotment completed on basis of FCFS.
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
Published By: Universal Multidisciplinary Research Institute Pvt Ltd
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 for all 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 re-
allotment 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:
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
Published By: Universal Multidisciplinary Research Institute Pvt Ltd
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:
1st: Milling overlap: 13 % usage = 40%
2nd: Packaging and dispatch overlap: 13% usage = 33.33%
3rd 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
`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
01.04.13 02.04.13
Time Line
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
Published By: Universal Multidisciplinary Research Institute Pvt Ltd
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:
Fig.7.Allotment on FCFS basis
1st: Packaging and dispatch overlap: 23.5% usage = 53.84%
2nd: Milling overlap: 23.5 % usage = 47%
3rd Grinding overlap: 5.8% usage =52.9%
And total time by new activity = 17 hrs
Another suggestion the program may give is:
`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
Time Line
01.04.13 02.04.13
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
Fig.8.Alternative allocation
1st: Milling overlap: 23.5 % usage = 50%
2nd: Packaging and dispatch overlap: 18.75% usage = 43.75%
3rd 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
`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
Time Line
01.04.13 02.04.13
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
At 11AM criticality rating is as follows:
1st: Final report
2nd: 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:
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
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.
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
Published By: Universal Multidisciplinary Research Institute Pvt Ltd
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
-
SOUTH ASIAN JOURNAL OF MULTIDISCIPLINARY STUDIES (SAJMS) ISSN:2349-7858 VOLUME 1 ISSUE 1
Published By: Universal Multidisciplinary Research Institute Pvt Ltd
[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) 267284: Science Direct
[11]. Joslin. D & Collins. J (2008). Greedy Transformation of Evolutionary algorithm Search Spaces
for Scheduling Problems