A Jumper Based Ant Colony Optimization for Software Project Scheduling and Staffing with an Event-Based Scheduler



Similar documents
A Proposed Scheme for Software Project Scheduling and Allocation with Event Based Scheduler using Ant Colony Optimization

Software Project Planning and Resource Allocation Using Ant Colony Optimization with Uncertainty Handling

An Improved Ant Colony Optimization Algorithm for Software Project Planning and Scheduling

An Implementation of Software Project Scheduling and Planning using ACO & EBS

ANT COLONY OPTIMIZATION FOR SOFTWARE PROJECT SCHEDULING AND STAFFING WITH AN EVENT-BASED SCHEDULER

An Application of Ant Colony Optimization for Software Project Scheduling with Algorithm In Artificial Intelligence

International Journal of Emerging Technology & Research

STUDY OF PROJECT SCHEDULING AND RESOURCE ALLOCATION USING ANT COLONY OPTIMIZATION 1

Review of Solving Software Project Scheduling Problem with Ant Colony Optimization

Practical Human Resource Allocation in Software Projects Using Genetic Algorithm

Time-line based model for software project scheduling

SCHEDULING RESOURCE CONSTRAINED PROJECT PORTFOLIOS WITH THE PRINCIPLES OF THE THEORY OF CONSTRAINTS 1

Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling

Management of Software Projects with GAs

An Improved ACO Algorithm for Multicast Routing

vii TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK


A Hybrid Heuristic Rule for Constrained Resource Allocation in PERT Type Networks

A Genetic Algorithm Approach for Solving a Flexible Job Shop Scheduling Problem

Finding Liveness Errors with ACO

An ant colony optimization for single-machine weighted tardiness scheduling with sequence-dependent setups

A Computer Application for Scheduling in MS Project

An ACO Approach to Solve a Variant of TSP

Scheduling Shop Scheduling. Tim Nieberg

A SIMULATION MODEL FOR RESOURCE CONSTRAINED SCHEDULING OF MULTIPLE PROJECTS

HYBRID GENETIC ALGORITHM PARAMETER EFFECTS FOR OPTIMIZATION OF CONSTRUCTION RESOURCE ALLOCATION PROBLEM. Jin-Lee KIM 1, M. ASCE

CLOUD DATABASE ROUTE SCHEDULING USING COMBANATION OF PARTICLE SWARM OPTIMIZATION AND GENETIC ALGORITHM

Using Ant Colony Optimization for Infrastructure Maintenance Scheduling

A hybrid Approach of Genetic Algorithm and Particle Swarm Technique to Software Test Case Generation

Review of Ant Colony Optimization for Software Project Scheduling and Staffing with an Event Based Scheduler

HYBRID ACO-IWD OPTIMIZATION ALGORITHM FOR MINIMIZING WEIGHTED FLOWTIME IN CLOUD-BASED PARAMETER SWEEP EXPERIMENTS

ANT COLONY OPTIMIZATION ALGORITHM FOR RESOURCE LEVELING PROBLEM OF CONSTRUCTION PROJECT

Journal of Theoretical and Applied Information Technology 20 th July Vol.77. No JATIT & LLS. All rights reserved.

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET)

Optimization and Ranking in Web Service Composition using Performance Index

ACO Based Dynamic Resource Scheduling for Improving Cloud Performance

Introduction to Scheduling Theory

Ant Colony Optimization (ACO)

A GENETIC ALGORITHM FOR RESOURCE LEVELING OF CONSTRUCTION PROJECTS

Projects - Neural and Evolutionary Computing

Classification - Examples

The Application of Bayesian Optimization and Classifier Systems in Nurse Scheduling

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Hybrid Algorithm using the advantage of ACO and Cuckoo Search for Job Scheduling

MuACOsm A New Mutation-Based Ant Colony Optimization Algorithm for Learning Finite-State Machines

A Shift Sequence for Nurse Scheduling Using Linear Programming Problem

A RANDOMIZED LOAD BALANCING ALGORITHM IN GRID USING MAX MIN PSO ALGORITHM

Project Scheduling: PERT/CPM

An ACO/VNS Hybrid Approach for a Large-Scale Energy Management Problem

Web Mining using Artificial Ant Colonies : A Survey

Real Time Scheduling Basic Concepts. Radek Pelánek

A New Nature-inspired Algorithm for Load Balancing

CHAPTER 3 SECURITY CONSTRAINED OPTIMAL SHORT-TERM HYDROTHERMAL SCHEDULING

STUDY ON APPLICATION OF GENETIC ALGORITHM IN CONSTRUCTION RESOURCE LEVELLING

Obtaining Optimal Software Effort Estimation Data Using Feature Subset Selection

Scheduling Resources and Costs

The Trip Scheduling Problem

A Beam Search Heuristic for Multi-Mode Single Resource Constrained Project Scheduling

Determination of the normalization level of database schemas through equivalence classes of attributes

EA and ACO Algorithms Applied to Optimizing Location of Controllers in Wireless Networks

A Hybrid Tabu Search Method for Assembly Line Balancing

Performance Evaluation of Task Scheduling in Cloud Environment Using Soft Computing Algorithms

THE ACO ALGORITHM FOR CONTAINER TRANSPORTATION NETWORK OF SEAPORTS

A Multi-objective Scheduling Model for Solving the Resource-constrained Project Scheduling and Resource Leveling Problems. Jia Hu 1 and Ian Flood 2

Dimensioning an inbound call center using constraint programming

Construction Scheduling using Non Traditional Optimization.

Schedule Risk Analysis Simulator using Beta Distribution

Research Article Scheduling IT Staff at a Bank: A Mathematical Programming Approach

A Binary Model on the Basis of Imperialist Competitive Algorithm in Order to Solve the Problem of Knapsack 1-0

HYBRID GENETIC ALGORITHMS FOR SCHEDULING ADVERTISEMENTS ON A WEB PAGE

Solving the Vehicle Routing Problem with Multiple Trips by Adaptive Memory Programming

Module 11. Software Project Planning. Version 2 CSE IIT, Kharagpur

TEST CASE SELECTION & PRIORITIZATION USING ANT COLONY OPTIMIZATION

ECONOMIC GENERATION AND SCHEDULING OF POWER BY GENETIC ALGORITHM

ANALYSIS OF WORKFLOW SCHEDULING PROCESS USING ENHANCED SUPERIOR ELEMENT MULTITUDE OPTIMIZATION IN CLOUD

OPTIMIZATION MODEL OF EXTERNAL RESOURCE ALLOCATION FOR RESOURCE-CONSTRAINED PROJECT SCHEDULING PROBLEMS

VEHICLE ROUTING PROBLEM

Resource-constrained Scheduling of a Real Project from the Construction Industry: A Comparison of Software Packages for Project Management

Nonlinear Model Predictive Control of Hammerstein and Wiener Models Using Genetic Algorithms

Multi Objective Project Scheduling Under Resource Constraints Using Algorithm of Firefly

Wireless Sensor Networks Coverage Optimization based on Improved AFSA Algorithm

A Brief Study of the Nurse Scheduling Problem (NSP)

An Ant Colony Optimization Approach to the Software Release Planning Problem

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

A Direct Numerical Method for Observability Analysis

Nurse Rostering. Jonathan Johannsen CS 537. Scheduling Algorithms

a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2.

Transcription:

A Jumper Based Ant Colony Optimization for Software Project Scheduling and Staffing with an Event-Based Scheduler Nithya.G 1, Dhivya priya R 2, Harini S 3, Menakapriya S 4 1,2,3,4 Sri Krishna College of Engineering and Technology & Coimbatore, India Abstract- Many computer aided techniques have been developed in recent years for managing the software projects which is challenging in the environment of software engineering. Measures in software project management involves project planning, project scheduling, risk management and managing people. The task of project scheduling and human resource allocation leads to poor management in most of the companies. Thus an effective model has to be developed to deal with both the allocation of human beings to various projects and to schedule them without restricting the flexibility. This paper puts forth a new concept of jumper based technique to concern with project scheduling and human resource allocation. To work with task lists and employee allocation matrix, an ant colony optimization algorithm is further designed and an event based scheduler(ebs) is used to deal with the events. The proposed approach enables an adequate modeling for software crisis and task preemption preserving the flexibility in human resource allocation. Index Terms- ant colony optimization (ACO), Event based scheduler(ebs), Jumper, project scheduling, Risk management, resource allocation, Software project planning(spp), workload assignment I. INTRODUCTION With the quickened development of the software companies, industries are now facing a heavy competitive market. companies have to make accurate and efficient project plans to reduce the cost in the construction of software. On the other hand, in case of large-scale projects, project planning seems to be very complex. In China it was revealed that more than 50 percent of software projects failed because of inefficient planning of project tasks and human ability. These result in a growing demand for developing effective computer aided appliances for project planning due to the need and troubles in project sketching process in recent years. In case of workload and cost estimation, some famous models like COCOMO have been developed and widely used. For managing scheduling and staffing, similarly to other projects management is usually conducted by project management tools and techniques. For example, project management techniques like the program evaluation and review technique (PERT), the critical path method (CPM), and the resource-constrained project scheduling problem (RCPSP) model have been applied in software project planning. Furthermore, as the main resources in software development are humans instead of machines, resources in software projects can usually be allocated in a more adjustable way than those in producing projects. If task preemption is accurately designed, availability of humans can be organized in a more adequate way. presently, task preemption is still sparsely considered in project management models and tools. Many existing models have the guess that each employee can only be assigned to a single task at a time. This guess reduces the flexibility of resource allocation in project planning. Search-based approaches may also become a promising way for software project planning. Duggan et al. and Barreto et al. built models for the staffing problem of software projects and proposed genetic algorithm (GA) approaches. But, their models only focused on staffing and the problem of task scheduling was not considered. Chang et al. proposed the software project management net (SPMnet) model and the project management net (PM-net) model successively, and then further improved the models to a richer version with a GA. Bellenguez and Ne ron proposed a multiskill scheduling model by extending the traditional RCPSP model. The model considers both the problems of human resource allocation and task scheduling, and takes the skill proficiency of employees and resource conflict into consideration. Tabu search (TS), branch and bound, and GA have been developed for the model. In this paper, we develop a practical and effective approach for the task scheduling and human resource allocation problem in software project planning with an ant colony optimization (ACO) algorithm. Different from the existing approaches, the proposed method is characterized by the following two features. First, a representation scheme with event-based scheduler (EBS) is developed. The proposed scheme reduces the size of the search space and thus accelerates the search process.. 378

ACO promises to assemble fast and perform well on the given problemthe rest of this paper is organized as follows: 1. Section 2 formulates the model for software project task scheduling and human resource allocation. 2. Section 3 reviews the related work of scheduling and staffing for software projects. 3. Section 4 introduces the representation scheme and the EBS. 4. In Section 5, the ACO algorithm with jumper concept is proposed. II. MODEL DESCRIPTION This paper considers real time problems such as human resource allocation and task scheduling and proposes a software project planning model that addresses the same. The model is described as follows. A. Description of Employees Software development is considered as vital humanintensive activity. A data storage such as an employee database to store employees information of wages, skills, and working constraints is required to manage employees. For efficient handling of tasks, it is required to assign employees to suitable tasks which involves human effort. Suppose m employees are involved in the project, for the i th employee (i = 1, 2,.., m) the following attributes are considered. bs i - Basic salary for an employee per time period (e.g., month) hs i - Salary for an employee s per-hour normal work ohs i - Salary for an employee s per-hour overtime work nh - Legal normal working hours per month maxh i - Maximum working hours per month of the employee for a project [join i, leave i ] - Time window when the employee is available for a project {s i 1,s i 2, s i ɸ } - Skill set for an employee where ɸ is the number of skills and s i j [0,5] is the proficiency score of jth skill. The skills can be documenting, C++ programming, GUI design, and any other technical abilities. s i j = 0 means the employee does not possess the skill and s i j = 5 means the employee is extremely good on that particular skill. salary t i = bs i + hours t i. hs i, hours t i nh, bs i + nh. his + ( hours t i nh). ohs i,, nh < hours t i maxh i,, hours t i > maxh i. B. Description of Tasks A commonly used technique for task description is the task precedence graph (TPG).For a task tj(j = 1, 2, n), the following attributes should be considered: pm j - The estimated work effort required for the task in person months. Several famous methods, for example, the COCOMO models [7], [8], can be adopted for work effort estimation. SK j - The set of skills required by the task. maxhead j - The maximum headcount for a task deadline j and penalty i - The deadline and penalty of the task. Based on the above definitions, suppose wh t ij is the number of working hours of the i th employee for t j at the t th month; according to [6], [8], the achievement A t j yielded by the employees for tj at time t can be evaluated by the following steps: 1. The proficiency prof ij of the i th employee for t j can be evaluated by prof i j= s id i / 5 (2) 2. The total fitness F t j of the employees for t j on the t th month is given by F t j = m i=1 prof i j. wh t ij / m i=1 wh t ij (3) 3. Convert F t j to a cost driver value V = 8 round(f t j. 7 + 0.5), where the value of V belongs to 1-7. V = 1 means the employees are the most suitable for the task and vice versa 4. The achievement A t j for t j on the t th month is calculated by C. Planning Objective A t j = m i=1 wh t ij / V (4) As this software project planning involves task scheduling and employee allocation as the basic criteria, the plan has to determine the start time start j and the finish time finish j of each task t j ( j {1,2, n}), and the working hours wh t ij of all employees where i {1,2, m} to the task t j during the time window t [start j, finish j ]. The plan must satisfy the following constraints: 379

1. The processing order of tasks must definitely obey the precedence constraint defined by the TPG. 2. The working hours of the i th employee per month must not exceed the limit maxh i, i.e., j=1 n wh t ij = hours t i maxh i, t = 1,2,. (5) 3. The number of employees assigned to a task t j is limited by the maximum headcount, i.e., i=1 m sign t= startj finish wh t ij maxhead j, where sign(x) = 1; if x > 0, = 0; if x ¼ 0. 4. All tasks have to be complete. In other words, for a task t j, the sum of the achievements for t j during the time window [start j, finish j ] must satisfy t= startj finish A t j pm j This paper considers cost minimization as the objective function, which is given by min f = t=1 end salary t i + j=1 n penalty j Where the first item denotes the salary expenditure and the second item denotes the total penalty. III. RELATED WORK REVIEW This paper resolve to propose a representation scheme with a jumper based ant colony optimization for project scheduling and staffing with an event-based scheduler approach for the above mentioned problem. In order to better depict why the representation scheme with jumper concept and the EBS are designed, we briefly review the existing software project planning models in this area. A. The Resource Constrained Project Scheduling Problem Model The RCPSP is a classical model in project management which is NP-hard. This involves scheduling the tasks of a project subject to precedence and resource constraints. But, the RCPSP is still deficient for modeling the software project planning problem. B. Employee Allocation Models Employee allocation issues have drawn a considerable amount of research effort made in recent years and various models like nurse rostering and personnel planning have already been proposed.the employee allocation models for software project planning have to implicitly consider that a task can be conducted by an infinite number of employees and an employee can be assigned to an limitless number of tasks at one time, which is usually not the case in practice presently. C. Multi Skill Scheduling Models Considering the truth that software development involves a bunch of employees with many different skills, After comparing with the models above mentioned, as the multiskill scheduling model is derived from the original RCPSP and couples the modeling of employees with various other skills, it also provides a more practical way for software project planning as it could deal with both the problems of task scheduling and employee allocation. The following situation may reduce the resource efficiency of the software project. To model the task scheduling and human resource allocation problem in a more flexible way this model is used. IV. THE EVENT-BASED SCHEDULER AND ITS REPRESENTATION The drawbacks of mentioned review documents is met by the use of Event based scheduler.like multischeduling problem in survey paper,we combine the representation of the list of tasks and employee allocation matrix so that the human resource allocation and project planning can be accomplished. The algorithm is designed as 380

Initialize the no of human resources available during the whole scheduling window; Set the starting time and the time when employees join or leave the software project as events; T=1; while the softwareproject is not completed if T is an event find the tasks that can be constructed at time T and arrange these tasks into a sequence based on the order defined by the task list; while the sequence is not empty; set task as the first task in the sequence and remove that task from sequence; for i=1 to noofemployees //for each and every employee if the planned working hours plannedworkhours is not larger than theremainingavailableworkhours of the i-th employee at f; remainingavailableworkhours^t = plannedworkhours ; else remainingavailableworkhours^t is set to the remaining available working hours of the i-th employee at T; end if-else end for end while Else the workload assignments are the same as those at T-1; end if-else evaluate the final situation of the tasks at time T; if there are any tasks completed at time T set the time T+1 as an event; end if T=T+1; end while end procedure V. ANT COLONY OPTIMIZATION APPROACH A. Overview of the ACO Algorithm The software project planning problem is solveusing the ant colony optimisation approach in this paper.the actual idea of ACO algorithm is to simulate the behaviour of ants.when there is a search for food by ants,they deposit some type of chemical on the path called pheromone and pass along with that.this serves as a medium of communication between ants. The ants senses the pheromone concentration and finds the path in search of food, This is one of the swarm intelligence phenomenon inspired by Dorigo,Developer of ACO. 381 It is applied to different optimisation problems and successfully proved its application.it is a work of dispatching finite group of ants to bring out solutions for a problem constructively.fundamentally, an ACO algorithm is viewed as a medium and there is a repeated execution of three procedures: A. Solution construction B. Pheromone management C. Daemon actions By the above mentioned procedures and ACS variants, a 1. Flow Chart has been defined in this paper.

In the beginning,all the parameters are initialised. The build plans are set out then and the iteration being with jumper can find a best solution forwarding to any other iterations it needs. A plan for the problem incudes task list and employee allocation matrix. Thus the solution construction procedure in the algorithm must include this with the training model and work experience of an employee. Pheromone values are updated by by the global and the local updating rules.at last,local mutation procedure is designed to show the local search in improving the performance of algorithm. B. Construction Procedure for Solutions A feasible task list is built by an ant by maintaining an eligible set of tasks which satisfies the precedence constraints.the following steps are involved in the construction of task list are: Step a: Make the tasks that should be implemented as the beginning of the project (i.e., the tasks that do not have precedence tasks) into eligibleset. Step b: For k( ¼) 1 to n, process the following substeps b1 and b2 is repeated Step b1: A task is selected from the eligibleset and assign it to the kth position of the task list. In the selection rule, at first a random number q uniformly distributed in ½[0; 1] is generated and it is compared with a parameter qt. It is the selection rule designed based on the pseudo proportional rule in ACS.so the charecterisitic means that the ants have probability qt.an example task list construction on TPG is shown. The construction of the employee allocation matrix is based on the following steps: Step a: Set all values in the employee allocation matrix to 0. Step b: For each task tj,assign the workloads for tj by the following substeps: Step b-1: Evaluate the value for all employees, where β is a parameter. Step b-2: Select an employee u from the set of employees which have not yet been chosen for tj using the pseudorandom proportional rule in the ACS Step b-3: Assign the working hours for the employee selected to work for tj using the pseudorandom proportional rule. Step b-4: If the number of the employees selected to work for tj reaches maxheadj, the workload assignment process for tj is finished. Otherwise, go to Step b-2 to select other employees to work for tj.after the workloads for all tasks have been assigned, the procedure for building the employee allocation matrix is complete. VI. CONCLUSION A new concept is developed for understanding and resolving the problem of human resource allocation and scheduling.consideration of training model and experience of employees adds flexibility and the paper promises that this method is effective to be used for other applications also. 1. FlowChart 382

REFERENCES [1] J. Duggan, H. Byrne, and G.J. Lyons, A Task AllocationOptimizer for Software Construction, IEEE Software, vol. 21, no. 3, pp. 76-82, May/June 2004. [2] R.-G. Ding and X.-H. Jing, Five Principles of Project Management in Software Companies, Project Management Technology (in Chinese), vol. 1, 2003. [3] A. Barreto, M. de O. Barros, C.M.L. Werner, Staffing a Software Project: A Constraint Satisfaction and Optimization-Based approach, Computers & Operations Research, vol. 35, pp. 3073-3089,2008. [4] E. Alba and J.F. Chicano, Software Project Management with GAs, Information Sciences, vol. 177, pp. 2380-2401, 2007. [5] C.K. Chang, H. Jiang, Y. Di, D. Zhu, and Y. Ge, Time-Line Based Model for Software Project Scheduling with Genetic Algorithms, Information and Software Technology, vol. 50, pp. 1142-1154, 2008. [6] B. Boehm, Software Engineering Economics. Prentice-Hall, 1981. [7] B. Boehm et al., Software Cost Estimation with COCOMO II. Prentice-Hall, 2000. [8] A. Shtub, J.F. Bard, and S. Globerson, Project Management: Processes, Methodologies, and Economics, second ed. Prentice Hall, 2005. [9] P. Brucker, A. Drexl, R. Mohring, K. Neumann, E. Pesch, Resource-Constrained Project Scheduling: Notation, Classification, Models and Methods, European J. Operational Research, vol. 112, pp. 3-41, 1999. [10] C.K. Chang and M. Christensen, A Net Practice for Software Project Management, IEEE Software, vol. 16, no. 6, pp. 80-88, Nov./Dec. 1999. 383