Download - Cooperative Co-evolutionary Optimisation on Work Package Scheduling and Staff Assignments
Cooperative Co-evolutionary Optimisation on Work Package Scheduling and Staff Assignments
Jian Ren, Mark Harman
CREST Centre, SSE Group, UCL23 Feb, 2011, 11th COW
Outline
Research MotivationsSolutions Representations: WPO and StaffingFitness Evaluation: Simulation of ExecutionCooperative Coevolution ProcessEmpirical Results and Issues
Motivations
Staff Assignments (Team Construction)How to assign staff into project teams?
Work Packages Scheduling (WP Ordering)How to put the WPs in a good order to execute?
ObjectiveFind earlier completion time of a project by optimising TC and WPO simultaneously
Solution Representation of TC How to assign N staff into M teams?
Staff1
Staff 2
Staff3
Staff4
Staff5
… Staff29
Staff 30
To Team
3 4 2 3 5 … 3 2
N staff
Species #1: assignment of staff to teams
Cooperative Coevolutionary Optimisation on Work Package Scheduling and Staff Assignments Jian Ren & Mark Harman
5
Genetic Operator on TC
3 4 2 3 5 … 3 2Parent_1
Cooperative Coevolutionary Optimisation on Work Package Scheduling and Staff Assignments Jian Ren & Mark Harman
6
Genetic Operator on TC
3 4 2 3 5 … 3 2
4 2 5 2 4 … 2 1
4 2 5 2 5 … 3 2
3 4 2 3 4 … 2 1
Parent_1
Parent_2
Child_1
Child_2
Single Point Crossover
Solution Representation of WPOHow to put the WPs in a perfect or near perfect order?
Perfect ordering = All teams are busy all the time and finish their last WP at the same time
Solution:
Attributes of WP ID Efforts: total efforts required by executing the WP Dependency: ID of its predecessor
WP1 WP4 WP6 … WP56 WP60
Species #2: orderings of the WPs
Cooperative Coevolutionary Optimisation on Work Package Scheduling and Staff Assignments Jian Ren & Mark Harman
9
Genetic Operator on WPO
WP1 WP4 WP6 … WP56 WP60Parent_1
Cooperative Coevolutionary Optimisation on Work Package Scheduling and Staff Assignments Jian Ren & Mark Harman
10
Genetic Operator on WPO
WP1 WP4 WP6 … WP56 WP60Parent_1
WP2 WP3 WP1 … WP60 WP59Parent_2
WP1 WP4 WP6 … WP60 WP59Child_1
WP2 WP3 WP1 … WP56 WP60Child_2
B: the rest of the other parent after WPs in A are deleted
A: copied from one parent
Fitness Evaluation
Objective Earlier Overall Completion Time = Higher Fitness
WP1 WP4 … WP60
Efforts
8 4 12
Processing Simulator The `Best` available team picks the next WP before other available teams. First Come First Served One WP blocks the queue of waiting WPs until its predecessors are all finished.
Staff1
Staff2
Staff3
… Staffn-1
Staff n
To Team
3 4 2 … 3 2
Processing Simulator
Fitness Evaluation
Objective Earlier Overall Completion Time = Higher Fitness
T1 T2 … T5
Capacity 6 staff 8 staff … 7 staff
Date (it becomes available
)
0 0 … 0
WP1 WP4 … WP60
Efforts
8 4 12
StartTime
FinishTime
To Team
Processing Simulator
Fitness Evaluation
Objective Earlier Overall Completion Time = Higher Fitness
T1 T2 … T5
Capacity 6 staff 8 staff … 7 staff
Date (it becomes available
)
0 1st Day
… 0
WP1 WP4 … WP60
Efforts
8 4 12
StartTime
0th Day
FinishTime
1st Day
To Team
T2
Processing Simulator
Fitness Evaluation
Objective Earlier Overall Completion Time = Higher Fitness
T1 T2 … T5
Capacity 6 staff 8 staff … 7 staff
Date (it becomes available
)
22nd Day
21st Day
… 21st Day
WP1 WP4 … WP60
Efforts
8 4 12
StartTime
0th Day
0th Day
20th Day
FinishTime
1st Day
0.5th Day
22nd Day
To Team
T2 T3 T1
The latest finishing time is the overall completion time of a simulation.
Cooperative Coevolutionary ProcessInitialisation for both species //(S1: TC, S2: WPO)FOR (E = 1 : External_Generations)
FOR (I = 1 : Internal_Generations)internal evolutionary progress for
Species #1end FORFOR (I = 1 : Internal_Generations)
internal evolutionary progress for Species #2
end FORend FOR
Cooperative Coevolutionary Optimisation on Work Package Scheduling and Staff Assignments Jian Ren & Mark Harman
16
Cooperative Co-Evolution Algorithm
Internal evolutionary
process for TC
Internal evolutionary process for
WPO
Evolved TC Evolved WPO
18
Coevolutionary Process on Boxplot
Internal Generation Num = 10External Generation Num = 10X: Generation Num (Time)Y: Project Completion Time
Given the same number of evaluation efforts, CCEA finds better solutions than single population EA.
Optimisation on WPO contributes more benefit than on TC.
Preliminary Empirical Results
Cooperative Coevolutionary Optimisation on Work Package Scheduling and Staff Assignments Jian Ren & Mark Harman
20
Configurations for CCEA
Internal Generation Num
External Generation Num
I 1 100
II 10 10
III 100 1
CCEA finds better solutions than single-species EA
* Configuration III can be considered as single-species EA, as the FOR loop has only been executed once. No interactions between two population have chance to happy before the end of the FOR loop. It is an extreme case of CCEA.
3 sets of configurations are applied to 4 real-world projects.Comparing the earliest finishing time found by I, II and III:
Configurations’ Achievement
#First Place
#Second Place
#Third Place
I 6 1 1
II 2 6 0
III 0 1 7
21
Optimisation on WPO contributes more benefit than on TCInternal Generation Num =
100External Generation Num = 1X: Generation Num (Time)Y: Project Completion Time
Cooperative Coevolutionary Optimisation on Work Package Scheduling and Staff Assignments Jian Ren & Mark Harman
22
Given the same number of evaluation efforts, CCEA finds better solutions than single population EA.
Optimisation on WPO contributes more benefit than on TC.
Different configurations of the CCEA produce results with different characteristics.
Preliminary Empirical Results
Cooperative Coevolutionary Optimisation on Work Package Scheduling and Staff Assignments Jian Ren & Mark Harman
23
Problem ModelStaffing
skills, changing teams during the project, absence, etcWP
changed during the project, mis-estimate efforts
The configurations of CCEA is complex.Diversity of the species of Team Constructions,
Processing Simulator (execution of WPs)Job-shop scheduling permutation, etc
Comparison and ValidationSingle-species EA (Statistics Analysis)
Verification by More Real-world Data fromSoftware Project Management, Cloud Computing
Issues & Future Work