POSTER PAPER International Journal of Recent Trends in Engineering, Vol. 1, No. 2, May 2009
Multi-Agent Coordination in Project Scheduling: Priority Rules Based Resource Allocation V.Thiagarasu1 and T.Devi2 1
2
Department of Computer Science, Gobi Arts & Science College Gobichettipalayam-638476, Tamilnadu, INDIA Email:
[email protected] School of Computer Science and Engineering, Bharathiar University Coimbatore-641 046, Tamilnadu, INDIA Email:
[email protected]
Abstract-Project scheduling results in allocation of resources and integration of activities that can share the resources for activity scheduling. The integration can be achieved by relating the activities of the project and hence improved coordination and flow of resource information between activities become essential to minimise the project makespan. Each activity can be viewed as an autonomous agent and process can be carried out by using Multi-Agent System (MAS). The effective resource allocation process depends on task interdependencies, resource interdependencies and constraints. Crucial for the multi-agent coordination in project scheduling is the availability of an effective algorithm for resource allocation. MAS is successful only if the agents in the system are ready to cooperate and there arises a need for resource allocation among competitive multiple agents. This work proposes a model for resource allocation based on priority rules in order to minimise the project duration by overlapping the activities of the project. Therefore, an integrated planning and scheduling algorithm has been developed and employed for better resource allocation and task scheduling to minimise the project makespan.
between the activities become essential to minimise the project makespan. In order to reduce the project duration, to utilize the resources in an optimum way and to meet the changes, project planning and scheduling need to be integrated with Concurrent Engineering (CE) principles which in turn yields Integrated Project Management (IPM)[9, 8]. Coordination defined as the process of managing dependencies between activities is a crucial problem in CE[8]. Crucial for the multi-agent coordination in project scheduling under concurrent engineering environment is the availability of an effective algorithm for resource allocation which would reduce the project duration[5, 2]. Hence, activity dependency, resource allocation and project scheduling in a multi-agent project management environment has been studied and analyzed and an algorithm to identify the interdependencies among tasks, overlapping among activities due to resource constraints in multi-agent project coordination has been designed and developed.
Index Terms - Multi-agent coordination, project scheduling, task overlapping, resource allocation
II.
I. INTRODUCTION
The allocation of resources within a system of autonomous agents requires preferences over alternative allocation of resources and also requires an active participation in computing an allocation[8, 14]. The resource constraint is one of the major constraints that directly impacts on the task execution and another type of constraints is precedence constraint. The resource constraints are introduced that cause the resource dependencies among the task execution of the project and the following functions are designed to manage task dependencies.
This research is concerned with the study and analysis of multi-agent coordination for project scheduling and proposes a model for resource allocation based on priority rules in order to minimise the project duration by overlapping the activities of the project. Complex project that has overlapped and branch-merge activity (task) patterns needs flexible and robust project management. In a project management environment, project planning is carried out first and planning results in a set of activities, and project scheduling is carried out next [1,3]. Project scheduling results in allocation of resources and time to the activities[5, 7]. A project should be managed through the integration of activities that can easily share the information[8]. The integration can be achieved by relating the activities of the project and hence improved coordination and flow of project and resource information
A. Resource require If an execution of the task needs resource r, say task T requires resource r. This can be represented as require (T, r) and it is used to find whether the task T requires a resource r or not.
42
© 2009 ACADEMY PUBLISHER
RESOURCE CONSTRAINTS
POSTER PAPER International Journal of Recent Trends in Engineering, Vol. 1, No. 2, May 2009
To develop the procedure, two or more of renewable resources are used and furthermore, the set of all tasks is partitioned into disjoint subsets, and all tasks forming one subset have to be performed by the same resource.
B. Resource release If an execution of task T releases a resource r, say resource r is released by T. This relation is written as
TABLE I
release (T, r) and it is used to find whether the task T releases a resource r or not.
TASK SCHEDULING ALGORITHM
C. Task dependency based on resource If task T2 requires a resource r that is released by Task Tl, say there is a resource dependency between task T1 and T2, and this can be written as depend_on_for (T2, T1, r). It means that the execution of T2 depends on the execution of T1 because of resource r. By using the three functions, the following constraint is formed and this constraint is used to group the activities based on a particular resource.
Step 1:
Set of tasks, set of indivisible resources, the resource usage time period, resource require / release time points, precedence relations and task durations are received.
Step 2:
Task dependencies are formed by using the precedence relations.
Step 3:
Resource dependencies are formed by using the functions require () and release ( ).
Step 4:
The tasks are grouped into different categories based on the resource dependency using depend_on_for ( ). That is, the set of tasks which are using the resource Ri are brought into a single group.
Step 5:
In case of sequential tasks to be executed, the tasks are allowed to overlap if the relationship between the tasks is start-start. The tasks which are to be executed together (branch-merge pattern) are identified in each group using precedence relations and task dependencies.
Step 6:
The time period and the time points of resource require / release are used for the tasks which are to be executed in branch pattern.
Require (T2, r) ^ Release (T1, r)--> depend_on_for (T2, T1, r).
To meet the objective of this work, two more functions namely require (T, r, treq)and release (T, r, trel) are designed. D. Resource require at time point If the execution of the Task T requires a resource r at time point treq, it means that task T requires the resource r at the intermediate time point treq after the starting of the execution. This can be represented as require (T, r, treq).
Case (a): When the time points for resource require / releases are known. The tasks are allowed to overlap if the time point of resource require (treq) and the time point of resource release (trel) are satisfied and if treq > trel. Then , the schedule is generated.
E. Resource release at time point If the execution of a task T releases a resource r at time point trel, it means that task T releases the resource r at the intermediate time point trel after starting the execution. This can be represented as release (T, r, trel).
Case (b): When the time points for resource require / release are not known and the resource usage time period is known. The utility value for each task is calculated based on the time period over a resource. There arise two cases.
F. Resource constraint
(i) Different utility values:
If task T1, task T2, resource r and time point treq and trel are given, then there is a resource constraint if require (T2, r, treq) and release (T1, r, trel). This is a resource constraint on task T2 from taskT1, which can be represented as Constraint (T2, T1, r, treq, trel).
When the tasks are having different utility values, a resource is allocated to a task based on a priority rule and a feasible schedule is generated. Next, the resource is allocated to tasks based on another priority rule. Repeatedly producing different schedules, the optimal schedule is obtained.
G. Constraint satisfaction
The developed algorithm has two parts: in the first one, every activity belonging to the initial plan is integrated with information regarding its duration as well as the resource instances which are necessary for its execution and it captures the dependency associated with task durations and resource requirements. Thus, the first phase of the algorithm yields a set of tasks, each of which represents one activity in the plan and is constrained by precedence relations and resource usage parameters. Second, it develops a solution procedure that allocates available resources to tasks. The project activities considered here
From the above, the following resource constraint is formed which is then used to identify the task execution overlaps. The resource constraint constrain (T2, T1, r, treq, trel) is satisfied, if exists Require (T2, r, treq), release (T1, r, trel) and treq > trel.
III. ALGORITHM DEVELOPMENT
43
© 2009 ACADEMY PUBLISHER
POSTER PAPER International Journal of Recent Trends in Engineering, Vol. 1, No. 2, May 2009
allocated to a task which is having the shortest SRTP. Then, the resource is allocated to a task which is having next shortest SRTP. In this way the resource is allocated to tasks from the shortest SRTP to the highest SRTP. In case of tie (two tasks are having the same SRTPs), then the resource is allocated to a task which is having longer task duration.
includes sequential and branch-merge patterns with synchronization time rule. Overlapping is concerned with shortening the project duration not by shortening the individual activities, but by increasing the overlap period among them. IV. DESIGN OF PRIORITY RULES
V. MULTI-AGENT COORDINATION
In order to achieve effective project scheduling, a multipass priority rule is proposed in this research and priority rules such as Resource require Time Point (RrTP), Resource release Time Point (RlTP), Longest Resource usage Time Period (LRTP) and Shortest Resource usage Time Period (SRTP) have been designed and these rules are used to allocate the resources to tasks. The priority value for each agent over a resource is calculated in such a way that it should minimise the finish time of the tasks. Also, it is found that the number of coordinated relationships with the tasks and the start time of the task should both be considered when computing the priority of a task. The reason for considering the coordinated relationships is apparent: a task that requires the resource at the beginning has higher priority. To summarise, the resource is allocated to the task which is the earliest task from the set with the highest priority. When the RrTP priority rule is selected for the resource allocation, the next task to be scheduled from the branch tasks is selected based on the RrTP and the resource is allocated first to a task which requires the resource at the beginning. Then, the resource is allocated to the task which requires the resource at the time point after starting. In case of two tasks which are having the same RrTPs, then the resource is allocated to the task which is having shorter task duration. When RlTP priority rule is selected for the resource allocation, the next task to be scheduled from the branch tasks is selected based on the RlTP and the resource is allocated first to a task which releases the resource before completion. Then, the resource is allocated to the task which releases the resource at the end. In case of two tasks which are having the same RlTPs, then the resource is allocated to the task which is having longer task duration. When the LRTP priority rule is selected for the resource allocation, then the next task to be scheduled is selected from the branch tasks based on LRTP rule and the resource is allocated to a task which is having the highest LRTP. Then, the resource is allocated to a task which is having next highest LRTP. In this way the resource is allocated to tasks from the highest LRTP to the lowest LRTP. In case of tie (two tasks are having the same LRTPs), then the resource is allocated to a task which is having shorter task duration. When the SRTP priority rule is selected for resource allocation, then the next task to be scheduled in the branch tasks is selected based on SRTP rule and the resource is
A multi-agent system approach is an implementation of project management approach consisting of a standard operating procedure and a coordination mechanism[9, 12]. Activities, resources and important functions are represented as agents and this is implemented as a distributed collection of agents and the agents are allowed to execute tasks based on the event-control-action rule[11, 13, 20]. Instead of the traditional use of schedules, control policies have been developed in the form of planned resource allocation to tasks that capture the dependencies associated with task execution and the impact of resource allocation on those executions. VI. PROTOTYPE DESIGN A software prototype has been designed and developed to test the validity of the proposed concepts and three algorithms for (i) identification of task dependency, (ii) identification of resource dependency and (iii) resource allocation. The prototype is designed using top-down approach and developed through bottom-up approach using the object oriented language Java. The prototype includes five modules: (i) User interface agent module, (ii) project management module, (iii) scheduling agent module, (iv) resource management agent module and (v) service agent module. The prototype integrates the functions of project management and administration of task agents and resource agents. The scheduling agent creates instances of task agents and the resource management agent has the similar functions such as resource dependency identification, resource release and resource requirement. The scheduling agent sends out task agents to carry out tasks. From the user interface, one can get an overview of the project and gather the status of the project. Each agent is defined as a set of well-defined software objects, and the communication between them is allowed by well-defined rules. VII. TESTING AND RESULTS In order to evaluate the performance of the algorithm, computational experiments are done with two cases such as sequential and branch-merge patterns. The durations of activities for the case with equal task durations are taken as 10 time units and the values for the unequal task durations are taken in between 5 to 15 time units and distributed to all the test problems studied. For each test problem, the
44
© 2009 ACADEMY PUBLISHER
POSTER PAPER International Journal of Recent Trends in Engineering, Vol. 1, No. 2, May 2009
developed prototype has been applied to estimate the overlapped project makespan. Tests have been conducted for the projects with 2, 3 and 4 branch-merge patterns using 2 and 3 resources with equal and unequal task durations. Number of activities in each project varies from 11 to 34 activities and the durations of the task are in between 5 to 15 time units. For each test, 10 projects are used and the number of activities in the branch-merge pattern is limited to 3. The percentage of reduction in project duration is more or less equal in the case of equal and unequal task durations for the 2 branch-merge patterns. In case of 3 branch-merge patterns, the percentage of reduction in project duration is getting increased when the number of overlaps and the percentage of overlaps are increased. But, after the 3rd overlap and 40% overlap, the critical path is changed. In some cases, the alternate critical path is obtained. For 4 branch-merge patterns, the percentage of reduction in project duration for both equal and unequal task durations is increased according to the number of overlaps and the percentage of overlaps. The percentages of reduction in project makespan are measured and the same is plotted on bar charts (Fig. 1 Fig.2 and Fig 3) for 2 branch-merge patterns, 3 branch-merge patterns and 4 branch-merge patterns.
Four branch-merge patterns with 2 and 3 resources : Equal and Unequal task durations
16.67 18.16 15.40
21.46
9.08
18.93
18.01
15.58
12.62 10.53
17.23 14.63
10% Equal 10% Unequal 20% Equal 20% Unequal 40% Equal 40% Unequal 60% Equal 60% Unequal
6.31 5.72
6.56 3.54 3.32
5.00
1.77 1.54 3.54 2.91
10.00
7.08 6.05
10.62
15.00
7.98
12.16
20.00
7.08 5.14
Percentage of overlap
25.00
23.27
27.00
30.00
27.10
31.08
35.00
0.00 1
2
3
4
No.of overlaps
Figure 3. Percentages of reduction in project makespan for 4 branch-merge patterns with equal and unequal task durations
By measuring results such as percentage of reduction in project makespan with overlapping and without overlapping for sample projects, the results reveal that the algorithm reduces project makespan with respect to number of overlaps and it is found that the values are significant at 0.01. Thus, the results show that the prototype is producing significant percentage of reduction in project makespan for resource constrained project scheduling
Two branch-merge patterns with 2 and 3 resources : Equal and Unequal task durations
36.1 34.99
40.00
22.91 23.03
15.28 15.5
Equal Unequal Equal Unequal Equal Unequal Equal Unequal
One of the critical goals of the project management is to reduce the project duration and towards this, planning and scheduling methodologies exist and concurrent engineering is being practiced in project scheduling. Coordination among dependent activities in terms of precedence relations and resources need to be carefully planned. A detailed study and analysis on multi-agent coordination for project scheduling have been carried out and an approach for multi-agent coordination environment consisting of a standard operating procedure and a coordination mechanism has been framed and presented. The coordination process includes overlapping of activities, task scheduling and the effective resource allocation. In order to achieve the effective project scheduling, priority rules for the resource allocation are proposed.
7.64 7.75
5.73 5.84
3.82 3.92
1.91 1.91 3.82 3.83
10.00
5.00
7.64 7.85
11.46 11.47
15.00
VIII. CONCLUSION 10% 10% 20% 20% 40% 40% 60% 60%
11.46 11.67
15.28 15.69
20.00
19.09 17.1
25.00
7.64 7.65
Percentage of overlap
30.00
27.55 25.79
30.55 28.56
35.00
0.00 1
2
3
4
No.of overlaps
Figure 1. Percentages of reduction in project makespan for 2 branch-merge patterns with equal and unequal task durations
32.92 32.37
Three branch-merge patterns with 2 and 3 resources : Equal and Unequal task durations 35.00
16.67 14.35
20.00 21.26
10% 10% 20% 20% 40% 40% 60% 60%
Equal Unequal Equal Unequal Equal Unequal Equal Unequal
A prototype for resource allocation based on priority rules in order to minimise the project duration by overlapping the activities of the project has been designed and developed. The developed software prototype has been tested for the project scheduling problems with time points and time periods, and tests for equal time periods have also been conducted. The results clearly show that the developed system is capable of producing consistently good results for the resource-constrained project scheduling.
8.34 8.34
6.25 6.39
4.17 4.57
5.00
2.09 2.12 4.17 4.24
10.00
12.50 12.26
12.92 14.78 17.50 18.35
15.00
8.34 8.64
12.50 12.55
20.00
8.34 8.47
Percentage of overlap
25.00
22.09 24.64
26.67 25.16
30.00
0.00 1
2
3
4
No.of overlaps
Figure 2. Percentages of reduction in project makespan for 3 branch-merge patterns with equal and unequal task durations
45
© 2009 ACADEMY PUBLISHER
POSTER PAPER International Journal of Recent Trends in Engineering, Vol. 1, No. 2, May 2009
[13].
REFERENCES [1].
A. Abdelhakim and A. El-Houssaine, “Recent developments in the design, control, planning and scheduling of productive systems”, International Journal of Production Systems, 112, vol. 1, pp.1-4, March 2008. [2]. K. Cengiz, E. Orhan, K.Ihsan and K.Y. Mustafa , “An application of effective genetic algorithms for Solving Hybrid Flow Shop Scheduling Problems”, International Journal of Computational Intelligence Systems, 1, vol. 2 , pp. 134-147, May 2008. [3]. F. Chen, N.Romano and J.F. Nunamaker, “A Collaborative Project Management Approach and a Framework for its Supporting Systems”, Journal of International Technology and Information Management, 15, vol. 2 , pp. 1-16, 2006. [4]. T.C.E. Chennai, C.T. Ng and J.J. Yuan , “Singlemachine scheduling of multi-operation jobs without missing operations to minimize the total completion time”, European Journal of Operational Research , 191, vol. 2, pp. 320-331, December2008. [5]. B. C. Csaji and L. Monostori, “Adaptive Stochastic Resource Control: A Machine Learning Approach”, International Journal of Artificial Intelligence Research, 32 , pp.453-486, 2008. [6]. B. David and R. Mikael, Combined vehicle routing and scheduling with temporal precedence and synchronization constraints, European Journal of Operational Research 191, vol. 1, pp. 19-31, 2008. [7]. F.Deblaere, E.Demeulemeester and W.S. Herroelen, “Proactive Resource Allocation Heuristics for Robust Project Scheduling”, Research Center for Operations Management, K.U. Leuren, Belgium, vol. 9, June 2006. [8]. T.Devi and R.Rajat,, “Concurrent Engineering in Product Introduction: Some Requirements for Information Management”, Proceedings of the First International Conference: Managing EnterprisesStockholders, Engineering, Logistics and Achievements (ME-SELA’97), Longhborongh University, UK, pp. 556-561, July 1997. [9]. D.A.Dolgov, “Integrated Resource Allocation and Planning in Stocastic Multi-Agent Environments”, Ph.D., Thesis, The University of Michigan, 2006. [10]. D.A. Dolgov and E.H.Durfee, “Resource Allocation among Agents with MDP-Induced Preferences”, Journal of Artificial Intelligence Research, vol. 27 , pp. 505-549, 2006. [11]. V.P.Eswaramurthy and A.Tamilarasi, “Tabu Search Strategies for Solving Job Shop Scheduling Problems”, Journal of Advanced Manufacturing Systems, 6, vol. 1, pp. 59-75, June 2007. [12]. V.P.Eswaramurthy, V.Thiagarasu and T. Devi, “Implementation of Coordination Agent for Team
[14].
[15].
[16].
[17].
[18].
V.Thiagarasu received his Masters Degree in Mathematics from Gobi Arts & Science College, Gobi in 1985 and the M.Phil in Computer Science from Bharathiar University, Coimbatore. He is working as a Lecturer in Computer Science, Gobi Arts & Science College since 1989. He has also completed a UGC sponsored minor research project during 2004 and served as an organizing secretary for UGC sponsored national conferences. His research interest includes Networking, Multi-agent systems, Concurrent Engineering and Project Scheduling. T.Devi received the Master of Computer Applications from P.S.G. College of Technology, Coimbatore in 1987 and the Ph.D from the University of Warwick, United Kingdom in 1998. She is presently working as a Reader in Computer Science, School of Computer Science Engineering, Bharathiar University, Coimbatore. Prior to joining Bharathiar University, she was an Associate Professor in Indian Institute of Foreign Trade, New Delhi. Her current research centered on the Software Engineering, Product Introduction, Technical Process Management and Concurrent Engineering. She has contributed more than 60 papers in various National / International / conference/ Seminars / Symposia.
46
© 2009 ACADEMY PUBLISHER
Working in Multi-agent System for Concurrent Engineering”, Proceedings of the National Conference on Soft Computing, pp. 119-132, February 2002. Y. Gal and A. Pfeffer, “Networks of Influence Diagrams: A Formalism for Representing Agents' Beliefs and Decision-Making Processes”, International Journal of Artificial Intelligence Research, vol. 33, pp.109-147, 2008. J.Germou and S.M.Jonathan, “Exact Algorithm for Solving Project Scheduling Problems under Multiple Resource Constraints”, Journal of Construction Engineering and Management, 131, vol. 9, pp. 986-992, September 2005. M. Hokey and Y. Wen-Bin, “Collaborative planning, forecasting and replenishment: demand planning in supply chain management”, International Journal of Information Technology and Management (IJITM), 7, vol. 1, 2008. R.Kolisch and S.Hartmann, “Experimental Investigation of Heuristics for Resource-Constrained Project Scheduling: An Update”, European Journal of Operational Research, February 2005. B. van den Broek, W. Wiegerinck and B. Kappen, “Graphical Model Inference in Optimal Control of Stochastic Multi-Agent Systems”, International Journal of Artificial Intelligence Research, vol. 32, pp.95-122., 2008. Y.Yuhong,, K.Torsten and B.Jurgen, “Applications of Multi-Agent Systems in Project Management”, International Journal of Production Economics, vol. 68, pp. 185-197, 2008.