Problem: assign employees to tasks with a given dedication degree. ⢠What is the ... Maximum dedication. Skills ..... Rank the fireflies and find the current best.
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
On the Scalability of Multi-objective Metaheuristics for the Software Scheduling Problem
Francisco Luna, David L. González-Álvarez, Francisco Chicano, Miguel A. Vega-Rodríguez ISDA 2011, Córdoba, Spain, November 22-24
1 / 28
Introduction
Software Project Scheduling
Experiments & Results
Algorithms
Conclusions & Future Work
Introduction • • • • •
Current software projects are very complex They can involve hundreds of people and tasks An efficient way of assigning employees to tasks is required An automatic software tool can assist to the software project manager Problem: assign employees to tasks with a given dedication degree
Employee
•
Task
Salary
Effort
Maximum dedication
Required skills
Skills
TPG
What is the performance of metaheuristics when the problem size increases?
ISDA 2011, Córdoba, Spain, November 22-24
2 / 28
Introduction
Software Project Scheduling
Experiments & Results
Algorithms
Conclusions & Future Work
Problem Formulation: duration •
Project duration (computation)
T1
T2
T3
T4
T5
T6
E1
0.3
0.2
0.5
0.7
1.0
0.0
E2
0.0
0.0
0.2
0.1
0.5
0.8
E3
0.2
0.0
0.0
0.6
1.0
1.0
E4
0.4
0.6
0.0
0.0
0.0
1.0
∑ 0.8
Effort T2
= Duration T2
Task duration
TPG
Gantt diagram of the project T1 T2 T3 T4 T5 T6
Project duration
Time ISDA 2011, Córdoba, Spain, November 22-24
3 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Problem Formulation: cost •
Project cost (computation)
E1
T1
T2
T3
T4
T5
T6
0.3
0.2
0.5
0.7
1.0
0.0
0.5
0.8
E2
0.0
0.0
0.2
Dur. 0.1 T4
E3
0.2
0.0
0.0
0.6
1.0
1.0
E4
0.4
0.6
0.0
0.0
0.0
1.0
×
Time employee E3 spends on task T4 ISDA 2011, Córdoba, Spain, November 22-24
4 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Problem Formulation: cost •
Project cost (computation)
T1
T2
T3
E1
0.3
0.2
0.5
E2
Dur. T1 0.0 ×
Dur. T2 0.0 ×
Dur. T3 0.2 ×
Dur. Dur.T4 0.1 T4 ×
E3
0.2
0.0
0.0
E4
0.4
0.6
0.0
ISDA 2011, Córdoba, Spain, November 22-24
T4
T5
T6
∑ = time the employee
0.7 1.0 0.0 spends on the project Dur. T5 0.5 ×
Dur. T6 0.8 ×
0.6
1.0
1.0
0.0
0.0
1.0
×
Salary of E3
Cost of employee E3 due to its participacion
5 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Problem Formulation: cost •
Project cost (computation)
E1
T1
T2
T3
T4
T5
T6
0.3
0.2
0.5
0.7
1.0
0.0
Cost of employee E1 due to its participation
E2
0.0
0.0
0.2
0.1
0.5
0.8
Cost of employee E2 due to its participation
E3
0.2
0.0
0.0
0.6
1.0
1.0
Cost of employee E3 due to its participacion
E4
0.4
0.6
0.0
0.0
0.0
1.0
Cost of employee E4 due to its participacion
∑= ISDA 2011, Córdoba, Spain, November 22-24
Project cost 6 / 28
Introduction
• Constraints
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
T1 T2 T3 T4 T5 T6
E1 0.3 0.2 0.5 0.7 1.0 0.0 Conference 2005 6th Metaheuristics International Conference PSP 6th Problem Formulation: constraints 6thMetaheuristics MetaheuristicsInternational International Conference 2005 E2 0.02005 0.0 0.2 0.1 0.5 0.8 Fitness Funct. E3 0.2 Problem 0.0 0.0 0.6 1.0 1.0 Project Problem Project Scheduling • Constraints Scheduling Representation E4 0.4 0.6 0.0 0.0 0.0 1.0 onstraints Constraints Introduction
Experiments
Conclusions & E1 Future Work E1 E1 E2 E2 E2 E3 E3 E3 E4 E4 E4
T1 T2 T2 T3 T3 T4 T4 T5 T5 T60 T1 T1 T2 T3 T4 T5 0.9 T6 >T6 0.3 0.2 0.2 0.5 0.5 0.7 0.7 1.0 1.0 0.0 0.0 0.3 0.3 0.2 0.5 0.7 1.0 0.0 1. All tasks must be 0.0 0.0 0.2 0.2 0.1 0.1 0.5 0.5 0.8 0.8 0.0 0.0 0.0performed 0.0 0.2 0.1 0.5 0.8 by somebody 0.2 0.0 0.0 0.0 0.0 0.6 0.6 1.0 1.0 1.0 1.0 0.2 0.2 0.0 0.0 0.6 1.0 1.0 2. The 0.4 0.6 0.6 0.0 0.0 0.0 0.0 0.0 0.0 1.0union of the employees 0.4 1.0 0.6 0.0 0.0 0.0 1.0 0.4 skills must include the required
∑ 0.9 0.9>>> 0.9 00 0
Alltasks tasksmust mustbe be be 1.1.All R1. Allby tasks must be erformed somebody by somebody erformed somebody performed ISDA 2011, Córdoba, Spain, November 22-24
skills must include the required skills of the task they perform R2. The union of the work team skills must include Vienna, Austria, August 22-26, 2005 August 22-26,the 2005required skills of the task they perform
7 / 28
Introduction
Software Project Scheduling
Experiments & Results
Algorithms
Conclusions & Future Work
Problem Formulation: constraints •
Constraints (cont.) E1
T1
T2
T3
T4
T5
T6
0.3
0.2
0.5
0.7
1.0
0.0
T1 T2 T3 T4 T5 T6 Maximum dedication
Dedication
Overwork
Project duration
Time
R3. No employee must exceed her/his maximum dedication Time
ISDA 2011, Córdoba, Spain, November 22-24
8 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Algorithms in the comparison
NSGA-II
• Generational GA • Ranking & Crowding
PAES
• (1+1) Evolution Strategy + External Archive • Adaptive Grid
DEPT
• Differential Evolution • Pareto Tournament
MO-FA
• Firefly Algorithm • Light intensity & Firefly attraction
ISDA 2011, Córdoba, Spain, November 22-24
9 / 28
procedure and a density estimator known as crowding distance ( Conclusions Software Project Experiments Introduction Algorithms see [19]). Finally, the population is updated with the best ind Scheduling & Results & Future Work are repeated until the termination condition is fulfilled.
Algorithms: NSGA-II Algorithm 1 Pseudocode of NSGA-II. 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
proc Input:(nsga-II) //Algorithm parameters in ‘nsga-II’ P Initialize Population() // P = population // Q = auxiliary population Q while not Termination Condition() do for i to (nsga-II.popSize / 2) do parents Selection(P) offspring Recombination(nsga-II.Pc,parents) offspring Mutation(nsga-II.Pm,offspring) Evaluate Fitness(offspring) Insert(offspring,Q) end for R P Q Ranking And Crowding(nsga-II, R) P Select Best Individuals(nsga-II, R) end while end proc
ISDA 2011, Córdoba, Spain, November 22-24
10 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Algorithms: PAES Algorithm 4 Pseudocode of PAES. 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
proc Input:(paes) //Algorithm parameters in ‘paes’ archive currentSolution Create Solution(paes) // Creates an initial solution while not Termination Condition() do mutatedSolution Mutation(currentSolution) Evaluate Fitness(mutatedSolution) if IsDominated(currentSolution, mutatedSolution) then mutatedSolution currentSolution else if Solutions Are Nondominated(currentSolution, mutatedSolution) then Insert(archive, mutatedSolution) Select(paes, archive) currentSolution end if end if end while end proc
ISDA 2011, Córdoba, Spain, November 22-24
11 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Algorithms: DEPT Algorithm 1 Pseudocode of DEPT. 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
proc Input:(dept) //Algorithm parameters in ‘dept’ P Initialize Population() while not Termination Condition() do for i 1 to dept.popSize do Randomly select three di↵erent indices i1 , i2 and i3 v = P [i1 ] + · (Best P [i]) + F · (P [i2 ] P [i3 ]) // Trial vector u=Recombine(v, P [i]) Evaluate(u) P [i] = Replacement(u, [i]) trial // Taking into accountTo Pareto dominance case, the target and Pthe individuals). do this we end for a multiobjective fitness value (MOF) for each endcalculate while endindividual proc by using the following equation:
(10) where is the processed individual and the population size. In Equation (10) we consider the number of solutions ISDA 2011, Córdoba, Spain, November that dominate the 22-24 individual and the number of solutions of12
a di th no bu co pr us / 28 H
Conclusions 1 Software Project Experiments anIntroduction be used as a typical initial value. That is γ = . Algorithms Scheduling & Results & Future Work Γ m
172
X.-S. Yang
Distance and Movement
Algorithms: MO-FA Firefly Algorithm
e distance between any two fireflies i and j at xi and xj , respectively, Objective function f (x), x = (x1 , ..., xd )T rtesian distance Generate initial population of fireflies xi (i = 1, 2, ..., n) Light intensity Ii at xi is determined by f (xi ) ! Define light absorption coefficient γ" d "$ while (t Ii ), Move firefly i towards Attractiveness varies with distance r via exp[−γr] Evaluate new solutions andspatial update lightcoordinate intensity ere xi,k is the kth component of the xi of ith firefly. I %for j end i i − xj )2 + (yi − yj )2 . = for(x e, we have rij end the fireflies and find the current best The movementRank of a firefly i is attracted to another more attractive (brig end while Postprocess fly j is determined byresults and visualization
1 (xj − xi ) + α (rand − ), 2
Fig. 1. Pseudo 2code of the firefly algorithm (FA)
xi = xi + β0 e
−γrij
adjustable visibility and more versatile in attractiveness variations, which usually leads toterm higher is mobility thus the search spacewhile is explored efficiently. second due and to the attraction themore third term
ere the ISDA 2011, Córdoba, Spain, November 22-24
is ran
13 / 28
Introduction
Software Project Scheduling
Algorithms
endowed with problem-specific Conclusions Experiments & Results & Future in Work find assignments which one
knowledge so it is usu or more employees ex their maximum dedication. In order to deal with such is we have used a repair operator that, whenever an overw in the assignment is detected, it is fixed by dividing dedication of all the employees to all the tasks by maximum overwork of the employees. That is, the e of the operator is:
Algorithms: repair mechanism •
For constraint R3
Maximum dedication
Dedication
Overwork
Dedication
Time
where is used in order to prevent f inaccuracies in the floating-point operations. Repair mechanism This operator increases the project duration of the tative solution and keeps the cost unchanged. Tha and In addition, the new solution satisfies the third const (the one related to the overwork). From the point of vie the algorithmic complexity, thededication overhead introduced is Maximum same as the evaluation of the solution, since the coeffic used in the denominator is computed at the same that the solution is evaluated. If a solution violates other constraints of the problem, then it is penalize the selection and replacement operators (it is the last selected). Time
ISDA 2011, Córdoba, Spain, November 22-24
14 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Experiments: Quality Indicators • Hypervolume (HV) – Volume covered by members of the non-dominated set of solutions – Measures both convergence and diversity in the Pareto front – Larger values are better
• Attainment surfaces – Localization statistics for fronts – The same as the median and the interquartile range in the mono-objective case
ISDA 2011, Córdoba, Spain, November 22-24
15 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Experiments: Quality Indicators • Hypervolume (HV) – Volume covered by members of the non-dominated set of solutions – Measures both convergence and diversity in the Pareto front – Larger values are better 1.0
• Attainment surfaces – Localization statistics for fronts – The same as the median and the interquartile range in the mono-objective case
0.8
0.6
0.4
0.2
0.0 0.0
ISDA 2011, Córdoba, Spain, November 22-24
0.2
0.4
0.6
0.8
1.0
16 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Experiments: Quality Indicators • Hypervolume (HV) – Volume covered by members of the non-dominated set of solutions – Measures both convergence and diversity in the Pareto front – Larger values are better 1.0
• Attainment surfaces – Localization statistics for fronts – The same as the median and the interquartile range in the mono-objective case
0.8
0.6
0.4
0.2
0.0 0.0
ISDA 2011, Córdoba, Spain, November 22-24
0.2
0.4
0.6
0.8
1.0
17 / 28
Introduction
Software Project Scheduling
Algorithms
Conclusions & Future Work
Experiments & Results
Experiments: Quality Indicators • Hypervolume (HV) – Volume covered by members of the non-dominated set of solutions – Measures both convergence and diversity in the Pareto front – Larger values are better 1.0
• Attainment surfaces – Localization statistics for fronts – The same as the median and the interquartile range in the mono-objective case
0.8
0.6
0.4
0.2
0.0 0.0
ISDA 2011, Córdoba, Spain, November 22-24
0.2
0.4
0.6
0.8
1.0
18 / 28
Introduction
Software Project Scheduling
Algorithms
Conclusions & Future Work
Experiments & Results
Experiments: Quality Indicators • Hypervolume (HV) – Volume covered by members of the non-dominated set of solutions – Measures both convergence and diversity in the Pareto front – Larger values are better 1.0
• Attainment surfaces – Localization statistics for fronts – The same as the median and the interquartile range in the mono-objective case
75%-EAS
0.8
50%-EAS
0.6
0.4
25%-EAS
0.2
0.0 0.0
ISDA 2011, Córdoba, Spain, November 22-24
0.2
0.4
0.6
0.8
1.0
19 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Experiments: Instances and Parameters Problem instances • 36 instances of increasing number of tasks (16-512) and employees (8-256) • Labeled as i- Global Parameters • • • • •
Stopping condition: 100 000 function evaluations Approximated Pareto front size: 100 solutions 100 independent runs for each algorithm-instance Statistical tests for significance differences Representation: vector of real numbers
ISDA 2011, Córdoba, Spain, November 22-24
20 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Experiments: Algorithm-Specific Parameters
NSGAII
PAES
Population: 100
DEPT Population: 32
Population: 32
Population: 1 SBX (ηc=20, pc=0.9) Polynomial mutation (ηm=20, pm=1/L)
MO-FA
RandToBest/1/ Binomial Polynomial mutation (ηm=20)
ISDA 2011, Córdoba, Spain, November 22-24
CR=0.9, F=0.5
Mutation factor: 0.5
21 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Results: Hypervolume Comparison
Hypervolume (HV) • PAES is the clear winner in HV • MO-FA is the second best for small instances • NSGA-II is the second best for large instances • DEPT is the worst algorithm in the comparison
ISDA 2011, Córdoba, Spain, November 22-24
22 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Results: 50%-Empirical Attainment Surfaces (EAS) i32-8 3500
RPF NSGA-II PAES DEPT MO-FA
3000
MO-FA
Duration
2500
2000
1500
1000
NSGA-II
PAES
DEPT
500
0 2.7e+06
2.75e+06
2.8e+06
ISDA 2011, Córdoba, Spain, November 22-24
2.85e+06 Cost
2.9e+06
2.95e+06
3e+06
23 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Results: 50%-Empirical Attainment Surfaces (EAS) i32-16 1400
RPF NSGA-II PAES DEPT MO-FA
1200
Duration
1000
800
600
MO-FA
PAES
400
DEPT
200
NSGA-II 0 2.2e+06
2.3e+06
2.4e+06
2.5e+06
ISDA 2011, Córdoba, Spain, November 22-24
2.6e+06 2.7e+06 Cost
2.8e+06
2.9e+06
3e+06
3.1e+06
24 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Results: 50%-Empirical Attainment Surfaces (EAS) i32-32 800
RPF NSGA-II PAES DEPT MO-FA
700
600
Duration
500
MO-FA
400
PAES 300
DEPT
200
NSGA-II 100
0 2.6e+06
2.7e+06
2.8e+06
2.9e+06
3e+06
3.1e+06
3.2e+06
3.3e+06
3.4e+06
Cost
ISDA 2011, Córdoba, Spain, November 22-24
25 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Results: 50%-Empirical Attainment Surfaces (EAS) i32-64 900
RPF NSGA-II PAES DEPT MO-FA
800
700
Duration
600
500
400
MO-FA
PAES 300
DEPT
200
NSGA-II
100
0 2.5e+06
2.6e+06
2.7e+06
2.8e+06
ISDA 2011, Córdoba, Spain, November 22-24
2.9e+06 3e+06 Cost
3.1e+06
3.2e+06
3.3e+06
3.4e+06
26 / 28
Introduction
Software Project Scheduling
Algorithms
Experiments & Results
Conclusions & Future Work
Conclusions & Future Work Conclusions • • • • •
PAES is the algorithm with better scalability behaviour MO-FA is the second best in small instances NSGA-II is the second best in large instances DEPT is the worst algorithm in the comparison HV not always provides enough information to determine the best algorithm. EAS is a good alternative.
Future Work • Use real-world instances of the problem • Change the formulation of the problem to get closer to reality
ISDA 2011, Córdoba, Spain, November 22-24
27 / 28
On the Scalability of Multi-objective Metaheuristics for the Software Scheduling Problem
Thanks for your attention !!!
ISDA 2011, Córdoba, Spain, November 22-24
28 / 28