220 likes | 611 Views
Ant Colony Optimization for Software Project Scheduling and Staffing with an Event-Based Scheduler. Presented by: Qui Nguyen Ying Jiang. submitted to: Professor Sherwin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100. Agenda. Introduction
E N D
Ant Colony Optimization forSoftware Project Scheduling and Staffingwith an Event-Based Scheduler Presented by: Qui Nguyen Ying Jiang submitted to: Professor Sherwin Shirmohammadi in partial fulfillment of the requirements for the course ELG 5100
Agenda • Introduction • Model Description • Related Models • Event-Based Scheduler(EBS) • Ant Colony Optimization(ACO) • Experimental Studies • Conclusion and Future Works • Q&A
Introduction(1) • Software project planning challenges • Workload, cost estimation. • Project scheduling, resource allocation. • Solutions: • Program evaluation and review techniques(PERT). • Critical path method(CPM). • Resource-constraints project scheduling problem(RCPSP) • Problems? • PERT, CPM: not consider resource allocation. • RCPSP: not consider resource allocation with various skills. • Task scheduling and resource allocation separated! • ...inefficient resource allocation, poor mgmnt. performance
Introduction(2) • Other modern approaches: • Event-Based Scheduler(EBS) • Task list + planned employee allocation matrix. • Solve task scheduling and resource allocation issues • Adjust workload, d/w resource conflicts efficiently. • More practical, flexible with task preemption. • Reducesearch space size, increase search process. • Ant Colony Optimization(ACO) • Schedule critical tasks as early as possible. • Assign tasks to suitable employees with required skills • Converge fast and perform well.
Model Description(1) • Description of Employees • People-intensive activity. • Wages, skills, working constraints. • Objective: assign employees to suitable tasks • Salary= • bsi-basic salary/month • hsi-normal work salary/hr • ohsi-overtime salary/hr • nh-legal working hr/month • maxhi-max. working hr/month • [joini,leavei]-time window • {S1i,S2i,... Sφi}-skill list • φ: # of skills • Sjiϵ[0,5]
Model Description(2) • Description of Tasks • Precedence graph(TPG). • Proficiency of ith employee for task tj. • Total fitness of employee for tj on tth month • V=8-round(Ftj*7+0.5) • whtij# working hr of ithempl. for tj at tth month • Achievement for tj on tth month • Object function:
Related Models • RCPSP: • Schedule tasks to satisfy precedence constraints • Determine order of tasks • ...empl. allocation issue? • Employee Allocation Model: • Multiskill Scheduling Model: • RCPSP extention: RCPSP + multiskillempl. modeling. • Address task scheduling, empl. allocation issues. • Task preemption?...less efficiency! • Time-Line-Based Model: • Solve RCPSP prob...but • whij-working hr of ithempl. for tj • Task scheduling, resource conflict? • Desultorytask • Large scale!
Event-Based Scheduler(1) • pwhij-orig. planned working hr of ithempl. for tj • Enable task preemption. • How to adjust pwhij to whij ? • Event: t=1,join/leave,finished task.
Event-Based Scheduler(2) • Advantages: • Compared to RCPSP: • Solve task scheduling and empl. allocation. • Task preemption, resource conflict addressed. • Compared to Time-Line-Based Model: • Reduce search space: O(m.n.end) to O(m.n) • Moderate granularity to tasks • More flexible. • Sufficient info for modeling.
Ant Colony Optimization(1) • Algorithm solves planning problem. • Idea: • Ants search food based on special chemical(pheromone) • ACO types: • Ant colony system (ACS): chosen • Fast convergence speed based on past search experience. • Pheromone update rules • Global: best-so-far solution • Local: reduce pheromone on path to more diversity • Max-min ant system (MMAS). • How to use this idea to construct • Task list. • Employee allocation matrix
Ant Colony Optimization(2) • Construct task list. • absolute position model: • Find order of tasks • Define pheromone of putting tj to kth position. • eligibleSet: tasks satisfied precedence graph constraint • 2 steps: • Step a: Put eligible tasks into eligibleSet. • Step b: k=1:n do • {- select a task from eligibleSet, put to kth of task list. • - Update eligibleSet by removing selected task, add eligible tasks • }
Ant Colony Optimization(3) • Construct employee allocation matrix. • Pheromones and heuristic value • :choose ith employee for task tj • :assign k (k=25%nh,50%nh,...maxhi) of ith employee’s working hrs to tj . • : choose lower salary, higher proficiency employee.
Ant Colony Optimization(4) • 2 steps construction • step a: Set all values=0 • step b: Each task, assign workload for tjby • step b1: evaluate for all employees • step b2: select available employee from eligibleSet • step b3: Assign working hrs of selected employee for tj • step b4:if (# of selected employees for tj)>= maxheadj • then: done workload assignment for tj • otherwise: go to step b2 • (maxheadj: max # of employees for task tj)
Experimental Studies(1) • Experiment settings: • 80 randomly generated instances + 3 real instances • Algorithms comparison • ACO • ACO-L: ACO with local mutation • 3dGA: Time-Line-based GA using 3D with task preemption • KGA: Knowledge-based genetic for multiskill scheduling • KGA-p: task preemption from EBS implemented. • TS: tabu search (no task preemption).
Experimental Studies(2) • Costs: • ACO, ACO-L: better others, ACO-L best due to local mutation • KGA-p better KGA: task premptionfrom EBS is effective • ACObetter KGA-p all cases: ACO algorithm is effective.
Experimental Studies(2) • Convergence: • ACO, ACO-L: find good solutions at very beginning of search process • ACO-L further improve the performance with local mutation.
Experimental Studies(3) • Plan structures: • Workload assignment stable • Resource released once task is done • Workload assignment unstable • Impractical: same task, dif. group • Delay staff #1 done to work for task 2
Conclusion and Future Works • New Method Proposed • Event-Based scheduler • ACO to solve complicated planning problems • Experiments show • Representation scheme with EBS is efficient. • ACO yields better plans with lower costs, fast convergence • Future works • Employee experience implemented. • Training model implemented.
References • [1] Wei-Neng Chen, and Jun Zhang, “Ant Colony Optimization for Software Project Scheduling and Staffing with an Event-Based Scheduler,” IEEE transactions on software engineering, vol39, January, 2013 • [2] 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 • [3]C.K.Chang, M.J.Christensen, and T.Zhang, “Genetic Algorithms for Project Management,” Annals of Software Eng., vol15,no.10,pp.107-139,2001 • [4] M.Dorigo and T.Stutzle, Ant Colony Optimization. MIT Press, 2004 • [5] M.Dorigo and L.M.Gambardella, “Ant Colony System: A Cooperative Learning Approach to TSP,” IEEE trans. Evolutionary Computation, vol.1,no.1,pp53-66, 1997 • [6] K.Praditwong, M.Harman, and X.Yao, “Software Module Clustering as a Multi-Objective and Search Problem,” IEEE Trans. Software Eng., vol.37, no.2,pp.264-282, Mar 2011