Project Resource Allocation Optimization using ...

3 downloads 462 Views 105KB Size Report
already implemented in various project management software. But, Resource Leveling is a resource smoothing technique not an optimization technique neither ...
Project Resource Allocation Optimization using Search Based Software Engineering – A Framework Nazia Bibi, Ali Ahsan and Zeeshan Anwar Center for Advanced Studies in Engineering (CASE), Islamabad, Pakistan [email protected], [email protected], [email protected] that SBSE algorithms can be applied to wide range of software engineering problems and RA optimization problem is one of them. Existing techniques implemented for SBSE not addressed all objectives which are considered important during resource allocation to project activities like human skills, skills required to perform activity, activity criticality, activity precedence, cost and time. [1-5] Human RA optimization problem is NP-Hard problem because for this type of problems exact solution cannot be determined. [6, 15] Therefore, near optimal solution can be found using SBSE algorithms. Many techniques for human resource allocation have been proposed over years that focus on helping PMs at various factors like project cost, duration and most of techniques takes scheduling and RA as an optimization problems. [4] Many researchers use SBSE techniques to solve software Engineering problems because SBSE theses have proven extremely capable to handle software engineering problems as optimization problems. The most common SBSE techniques used are Simulated Annealing (SA), Ant Colony (ACO), Genetic algorithm (GA), Integer Programming (IP), Hill Climbing (HC), Particle Swarm Optimization (PSO), Sequential Quadratic Programming (SQP), Genetic Programming (GP), and Neural Network (NN). These all techniques are evolutionary techniques and can be used to solve NP-Hard problems effectively.

Abstract—Human Resource Management is an important area of project management. The concept of Human Resource Allocation is not new and it can also be used for resource allocation to software projects. Software projects are more critical as compared to projects of other disciplines because success of software projects dependents on human resources. In software projects, Project Manager (PM) allocates resources and level resources using Resource Leveling techniques which are already implemented in various project management software. But, Resource Leveling is a resource smoothing technique not an optimization technique neither it ensures optimized resource allocation. Furthermore, Project duration and cost may increase after resource leveling. Therefore, resource leveling is not always a reliable method for resource allocation optimization. Exact solution of resource optimization problem cannot be determined because resource optimization is a NP-Hard problem. To solve resource optimization problems Search Based Software Engineering (SBSE) is used in various studies. However, in existing SBSE algorithms implementation for resource allocation optimization many objectives are not considered. Resource allocation optimization is a multi-objective optimization problem and many important factors like activity criticality, resource skills, activity precedence, skill required to perform activities must be addressed. Our research fills this gap and uses multiple objectives for resource allocation optimization which are 1: increase resource utilization, 2: decrease project duration and 3: decrease project cost. A framework and mathematical model for the implementation of resource allocation optimization is also proposed.

Existing techniques of SBSE implemented for resource allocation target fewer objectives and most of the techniques are not multi-objective. Many important factors which are important for software project scheduling that includes time, cost, resource utilization and human skills [31] are being ignored.[1-5] Human skills is vital objective during RA and is must not be ignored during RA [4]. Search Based algorithms have been implemented for RA, For example GA have been implemented for RA in various studies [1,6-8]. But GA has some inherit flaws like finding exact Global Optima (GO). [9]. Researcher use PSO [3-4, 10] for RA but POS may caught in local optima (LO) [11]. Therefore, these algorithms implemented for RA does not produce satisfactory results in finding best solution. [3-4] Moreover, in existing implementations for RA, PSO do not target multi-objectives simultaneously. [3-4, 10-11]

Keywords—Skills Management; Resource Allocation; Search Based Software Engineering; Evolutionary Algorithms; Resource Allocation Optimization

I. INTRODUCTION Resource Allocation is a critical task but it is frequently overlooked. Human resource allocation to software project activities is very important because project’s success depends on how resources are set out to software project activities. [3] Standish Group’s CHOAS report 2009 [4] statistic shows that only 32% software projects are successful and completed in time and budget. According to Standish group, software companies failed to deliver successful projects and this has been the focal point for Software Engineering researchers. One of the reasons of project failure is improper human resource allocation to software project’s activities. [4]

Resource allocation is an important activity and for optimal RA various factors like minimize project time, cost and maximize Resource Utilization are considered in many studies[17-18, 2, 4] For RA different techniques have already been implemented like POS,GA, MOPSO and MOGA but these techniques not considered all objectives. [19] In this research, RA optimization problem is discussed and all factors that are necessary for RA are considered to formulate fitness function.

PERT and CPM are traditional methods and assist project managers to analyze network diagrams to allocate Human Resources to project activities. These are not resource allocation techniques. [34] Traditional approaches [16] do not ensure optimal resource allocation. Harman first time suggests

978-1-4799-5421-6/14/$31.00 © 2014 IEEE

226

tasks. GA is used to implement the model and results of optimization are compared with HC. [29]

II. RELATED WORK In various studies SBSE algorithms are already implemented for RA optimization. A detailed discussion of SBSE algorithms for RA is given below:

· Rahman et al target problem of RA in his research. They propose a model for optimal Resource assignment and use GS-X (Greedy Search) algorithm to implement the model. [27]

· Shan et al proposed approach which use GA for HRA. In his research he proposed a model which assigns resources optimally to activities. COCOMO-II model is used for Cost estimation and for implementation of model MATLAB is used. [2]

III. RESOURCE OPTIMIZATION WITH SBSE A. Problem Formulation Resource Allocation optimization problem can be solved in different ways. In our research, we addressed RA optimization problem so that we can achieve objective functions, which includes maximize resource utilization, minimize project cost and project duration. In Table 1 notations are defined which are used to formulate mathematical model for optimal RA.

· Chi-Ming Lin and Feng Wen proposed “Multi-Stage Human Rresources Allocation” (MHRAP) technique. Author use MOGA to address problem of MHRAP and their method assign weights to activities by considering optimal RA. [17] · Ngo et al addressed problem of “Resource Allocation for Software Release Planning” (RASORP). ILP (Integer Liner Programming) and GA is used for Resource allocation. [22] ·

TABLE I. Notation R S T Sk

Wang et al use PSO to implement a mathematical for RA. MATLAB is used for implementation of model. [3]

· Gerasimou et al approach helps project managers to make project schedule within time and budgets by utilizing resource best skills. They use PSO to implement their approach. [4]

Rs Cij Tij

· Wang et al addressed “Testing Resource allocation problem” (TRAP) and this is multi-objective problem. Authors use NSGA-II and MODE algorithm to implemented their approach. [23]

Sij I J

· Wang et al addressed problem of “Optimally Testing Resource Allocation” (OTRAP). In order to addressed problem of OTRAP they use HAD-MOEA (Harmonic Distance Based Multi-Objective Evolutionary Algorithm). [24]

PROBLEM FORMULATION NOTATIONS

Description Total number of Resources Total number of skills Maximum project duration Skill Set Sk= { Expert, Moderate, Intermediate, Beginner} Skills possessed by resources Rs= {Sk1, Sk2 ,Sk3……….Skn} Cost of each activity i, when j resources are assigned Completion time of activity i, when j resources are assigned Skill possessed by jth resource when assigned to ith activity No: of activities i.e. i=1,2,3……..,n No: of resources i.e. j=1,2,3…….,n

K1= ∑ni=1∑mj=1 jAij ≤ R MinP(C)=K2=∑

n

m

i=1∑ j=1jCij Aij ≤

MaxP(Rs)=K3=∑ni=1∑mj=1 MinP(T)= K4= ∑

· Wei-Neng Chen and Jun Zhang describe RA problem. They proposed an approach and use ACO and EBS (“Event Based Scheduler”) to solve RA problem. [25]

(1)

n

C

Sij Aij ≤ S

m i=1∑ j=1 t ij Aij

≤T

(2) (3) (4)

By Equation 1, we cannot assign human resources more than available resources. By equation 2, cost Cij of ith activity do not exceed with total project cost. By equation 3, skills possessed in certain resource must be from available skill set [31]. By equation 4, activity time cannot exceed with the total project time T when jth resource are working on ith activity.

· Sebt et al addressed problem of RA and proposed a model for optimal RA. Their model uses “Linear Integer Programming” (LIP) and CPLEX software is used for simulations. [26] · Rahman et al use GS-X1 (Greedy Search) algorithms to address problem of Human Resource Allocation. [27]

B. Input Variables After extensive literature review, Input variables were selected [3, 16 and 18]. Description of input variable is given below: Time: Time of each activity can be calculated using three point estimation formula[32]: Te=(To+4Tm+Tp)/6 (5) Cost: We use three-point estimation formula to calculate Cost of each activity [48] Ce=(Co+4Cm+Cp)/6 (6)

· Sebt et al describe problem of RA. They use MIP (“Mixed Integer Programming”) model for optimal RA. Their proposed approach has capability to calculate managerial level cost and to calculate time in case of change in working hours. CPLEX software is used to simulate proposed approach. [28] · Junchao Xiao and Wasif Afzal also described problem of HRA to bug fixing activities. SB resource scheduling model proposed by author for bug fixing

227

minimize time, minimize cost) and analyze optimal solution using Pareto technique.

Human Skills: Human resource possessed certain skills which are needed to perform specific task. It can be calculated using formula [32]: Skill Set=Skill Set * EI Rating (7)

V. CONCLUSION AND FUTURE WORK SBSE algorithms are effective to solve RA optimization problem. For project plan/ resource plan optimization SBSE algorithm can be used efficiently. We hope that SBSE algorithms (MOPSO, MOGA and ENSES) not only increase resource utilization but also help to decrease project cost and duration. After experimentation we will proposes best SBSE algorithm for resource optimization.

C. Output variables Optimized resource allocation plan is the output of the research. D. Experimental Setup Mean normalization of project plan/resource plan will be done before implementation. Multivariate method will be used to model objective functions. Objective functions (eq1, eq2, eq3) will be implemented using MOPSO, MOGA and ENSES algorithms and four separate colonies will be created. One colony for each SBSE algorithm. Results obtained from these algorithms will be de-normalized for further analysis.

In our future work we will implement MOPSO, MOGA and ENSES in Matlab and perform our experiments to optimize resource allocation.

References [1]

Case Study

MOGA

MOPSO

ENSES

[2]

NSGA-II

Input Variables are Cost, Time and Resource Utilization

[3]

G. Antoniol, M. Di Penta, and M. Harman., “Search – based techniques for optimization software project resource allocation.” In Genetic and Evolutionary Computation–GECCO, Springer Berlin Heidelberg, January 19, 2004, pp.1425-1426. Z . Anwar., and A. Ahsan , “Comparative analysis of MOGA, NSGA-II and MOPSO for regression test suite optimization.” International Journal of Software Engineering (IJSE), vol. 1, No. 7, pp. 41-56, January 2014. Q.Bai, “Analysis of particle swarm optimization algorithm.” Computer and Information Science, CCSE, Vol. 3, No. 1, pp 180-184, feb 2010.

[4] MOGA Colony

MOPSO Colony

ENSES Colony

WN. Chen, and J. Zhang , “Ant colony optimization for software project scheduling and staffing with an event-based scheduler.” IEEE Transactions on Software Engineering, Vol. 39, NO. 1, January 2013, pp 1- 17. [5] TA. El-Mihoub, AA. Hopgood, L.Nolle and A. Battersby, "Hybrid genetic algorithms: a review,” Engineering Letters, vol.13, No.2, 2006, pp. 124-137. [6] S. Gerasimou, C. Stylianou and A. S. Andreou, “An investigation of optimal project scheduling and team staffing in software development using particle swarm optimization.” In ICEIS (2), June, 2012, pp. 168171. [7] T. Gonsalves and K. Itoh, “Multi-objective optimization for software development projects.” Proc. of the International MultiConference of Engineers and Computer Scientists (IMECS), Hong Kong vol. 1. 1, 2010, pp 17 – 19. [8] M. Harman, and BF. Jones, “Search-based software engineering.” Information and Software Technology, vol. 43, No.14, 2001, pp. 833839. [9] M. Harman, SA. Mansouri and Y. Zhang,“Search based software engineering: a comprehensive analysis and review of trends techniques and applications.” Department of Computer Science, King’s College London, Tech. Rep. TR-09-03, April 9, 2009. [10] M. Harman, P. McMinn, JT. De Souza and S. Yoo, “Search based software engineering: techniques, taxonomy, tutorial, empirical software engineering and verification.” Springer Berlin Heidelberg, 2012, pp. 1-59. [11] T. Hegazy., “Optimization of resource allocation and leveling using genetic algorithms.” Journal of construction engineering and management, vol.125, no.3, pp.167-175,1999.

NSGA-II Colony

Evaluation Criteria 1. Pareto 2. Time, Cost and RU 3. Resource Histograms

Note: Select best colony which have Minimum time and cost but Maximum resource utilization

}

Selection of best colony

Use Best Colony to Prepare Project Plan

Fig. 1. Experimental Setup

IV. ANALYSIS Three SBSE algorithms namely MOGA, MOPSO and ENSES will be implemented for optimal RA. Results obtained from these algorithms will be analyzed using two methods i.e., Pareto Front and resource histograms respectively. Histogram is an efficient method for summarizing large data set graphically. By observing resource histogram one can easily see that how many values falls in a sale and how much variation is there. We use histogram to analyze resource utilization during project duration. Pareto front is a set of choices which are Pareto efficient. Rather than considering all choices only Pareto efficient choices are considered by person. Moreover, Pareto optimization is used when there is more than one objective functions to be optimized simultaneously. We will optimize three objective functions (Maximize resource utilization,

[12] M. Javidi and R. HosseinpourFard, “Chaos genetic algorithm instead genetic algorithm.” International Arab Journal of Information Techonology, 2014 [13] Z W. Lee, DN.Ford and N. Joglekar, “Effects of resource alloaction policies for reducing projects durations: a system modeling approach.” Systems Research and Behavioral Science, vol. 24, No. 6,2007, pp. 51566. [14] MH. Sebt, V. Shahhosseini and M. Rezaei, “Competency based optimized assignment of project managers to projects." 12th

228

International Conference on Computer Modelling and Simulation, UKSim, IEEE, 2010, pp. 311- 316. [15] A. Ngo and G. Ruhe, “Optimized resource allocation for software release planning." 2009, IEEE Transactions on Software Engineering, vol. 35. No.1, 2009, pp. 109-123. [16] MM. Rahman, G. Ruhe and T. Zimmermann , “Optimized assignment of developers for fixing bugs an initial evaluation for eclipse projects.” Third International Symposiumm on Empirical Software Engineering and Measurement, IEEE, 2009, pp 439-442. [17] S. Labed , A. Gherboudj , S. Chikhi, “A modified hybrid particle swarm optimization algorithm for solving the traveling salesmen problem.” Journal of Theoretical and Applied Information Technology (JATIT), Vol. 39 , 15 May 2012. [18] MH. Sebt, A. Akrami,MT. Banki and V. Shahhosseini, “Optimized allocation of expert human resources to project.” Proc. In Modelling & Simulation, 2009. AMS'09. Third Asia International Conference IEEE, May, 2009, pp. 386-391. [19] X. Shan, G. Jiang and T. Huang, “The optimization research on the human resource allocation planning in software projects.” Proc. 2010 International Conference In Management and Service Science (MASS), IEEE,August , 2010, pp. 1-4. [20] AM. Sharaf and AA. El-Gammal, “A multi objective multi-stage particle swarm optimization mopso search scheme for power quality and loss reduction on radial distribution system.” Proc. 15th to 17th April In International Conference on Renewable Energies and Power Quality, Valencia (Spain), 2009. [21] B. Siddharth and G.Umaranisrikanth, “Evolutionary computing in software project management using event based scheduler.” International Journal of Societal Applications of Computer Science, vol 2 ,Issue 3, pp. 2319 – 8443, March 2013. [22] D.Sundar, B. Umadevi and K. Alagarsamy, “Multi-objective genetic algorithm for the optimized resource usage and the prioritization of the constraints in the software project planning.” International Journal of Computer Applications, vol.3, No. 3, pp. 1-4. 2010 [23] P.Visalakshi and SN. Sivanandam, “Dynamic task scheduling with load balancing using hybrid particle swarm optimization.” Int. J. Open Problems Compt. Mat., Vol. 2, No. 3, pp. 475-488, 2009. [24] SQ. Wang, LH. Gong and SL. Yan, “The allocation optimization of project human resource based on particle swarm optimization algorithm.” Services Science, Management and Engineering, SME'09. IITA International Conference on. IEEE, 20009, pp. 169-172. [25] Z. Wang., K. Tang and X. Yao, “Multi-objective approaches to optimal testing resource allocation in modular software systems.” IEEE Transactions on Reliability, Vol. 59, No. 3,September, 2010, pp. 563 – 575. [26] Z. Wang, K. Tang and X. Yao, “A multi-objective approach to testing resource allocation in modular software systems.” IEEE Congress on Computational Intelligence (CEC 2008), 2008, pp. 1148- 1153. [27] F. Wena and CM. Lin,“Multistage human resource allocation for software development by multiobjective genetic algorithm.” Open Applied Mathematics Journal 2, 2008, pp. 95-103. [28] X. Xiao, and W. Afzal, “Search-based resource scheduling for bug fixing tasks.” 2nd International Symposium on Search Based Software Engineering(SBSE), IEEE, 2010, pp. 133-142. [29] J. Xiao, LJ. Osterweil, Q. Wang, and M. Li, “Dynamic scheduling in systems with complex resource allocation requirements”, Department of Computer Science at the University of Massachusetts Amherst, pp.1-10, 2009. [30] JR. Meredith, and SJ. Mantel Jr, Project management: A managerial approach, John Wiley & Sons,2011. [31] Z. Anwar, B. Nazia, A. Ahsan, Expertise based skill management model for effective project resource allocation under stress in software industry of Pakistan, Information Management, Innovation Management and Industrial Engineering (ICIII), 2013 6th International Conference on (Volume:1 ) IEEE.

229