Time-line based model for software project scheduling



Similar documents
Practical Human Resource Allocation in Software Projects Using Genetic Algorithm

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

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

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

Integer Programming: Algorithms - 3

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

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

HYBRID GENETIC ALGORITHMS FOR SCHEDULING ADVERTISEMENTS ON A WEB PAGE

Management of Software Projects with GAs

Real Time Scheduling Basic Concepts. Radek Pelánek

A SIMULATION MODEL FOR RESOURCE CONSTRAINED SCHEDULING OF MULTIPLE PROJECTS

Real-Time Scheduling (Part 1) (Working Draft) Real-Time System Example

Parametric Analysis of Mobile Cloud Computing using Simulation Modeling

Memory Allocation Technique for Segregated Free List Based on Genetic Algorithm

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

Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling

ANT COLONY OPTIMIZATION ALGORITHM FOR RESOURCE LEVELING PROBLEM OF CONSTRUCTION PROJECT

ICS Principles of Operating Systems

Evaluation of Different Task Scheduling Policies in Multi-Core Systems with Reconfigurable Hardware

Staff Scheduling in Health Care Systems

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

Problems, Methods and Tools of Advanced Constrained Scheduling

Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines

OPTIMIZED STAFF SCHEDULING AT SWISSPORT

Project Scheduling: PERT/CPM

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

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

ESQUIVEL S.C., GATICA C. R., GALLARD R.H.

GASolver-A Solution to Resource Constrained Project Scheduling by Genetic Algorithm

Genetic Algorithm. Based on Darwinian Paradigm. Intrinsically a robust search and optimization mechanism. Conceptual Algorithm

Scenario: Optimization of Conference Schedule.

Effect of Using Neural Networks in GA-Based School Timetabling

A genetic algorithm for resource allocation in construction projects

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

Review of Solving Software Project Scheduling Problem with Ant Colony Optimization

Model-based Parameter Optimization of an Engine Control Unit using Genetic Algorithms

An Ant Colony Optimization Approach to the Software Release Planning Problem

Chapter 5. Linear Inequalities and Linear Programming. Linear Programming in Two Dimensions: A Geometric Approach

A Shift Sequence for Nurse Scheduling Using Linear Programming Problem

CLIENT-CONTRACTOR BARGAINING ON NET PRESENT VALUE IN PROJECT SCHEDULING WITH LIMITED RESOURCES

Linear Programming Notes V Problem Transformations

On the effect of forwarding table size on SDN network utilization

Scheduling Shop Scheduling. Tim Nieberg

Keywords revenue management, yield management, genetic algorithm, airline reservation

A Study of Crossover Operators for Genetic Algorithm and Proposal of a New Crossover Operator to Solve Open Shop Scheduling Problem

The Dynamics of Software Project Staffing: A System Dynamics Based Simulation Approach

Generating Personnel Schedules in an Industrial Setting Using a Tabu Search Algorithm

Resource Dedication Problem in a Multi-Project Environment*

Real-time scheduling algorithms, task visualization

An Efficient load balancing using Genetic algorithm in Hierarchical structured distributed system

M. Sugumaran / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (3), 2011,

Integrated support system for planning and scheduling /4/24 page 75 #101. Chapter 5 Sequencing and assignment Strategies

The Problem of Scheduling Technicians and Interventions in a Telecommunications Company

Lab 4: 26 th March Exercise 1: Evolutionary algorithms

A progressive method to solve large-scale AC Optimal Power Flow with discrete variables and control of the feasibility

Web based Multi Product Inventory Optimization using Genetic Algorithm

IEOR 4404 Homework #2 Intro OR: Deterministic Models February 14, 2011 Prof. Jay Sethuraman Page 1 of 5. Homework #2

Multi-Objective Optimization to Workflow Grid Scheduling using Reference Point based Evolutionary Algorithm

D A T A M I N I N G C L A S S I F I C A T I O N

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

An Evolutionary Algorithm in Grid Scheduling by multiobjective Optimization using variants of NSGA

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

SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis

Mastering Microsoft Project 2010

ECONOMIC GENERATION AND SCHEDULING OF POWER BY GENETIC ALGORITHM

A Multi-objective Genetic Algorithm for Employee Scheduling

ACO Hypercube Framework for Solving a University Course Timetabling Problem

Genetic Algorithms for Multi-Objective Optimization in Dynamic Systems

Scheduling Real-time Tasks: Algorithms and Complexity

Agenda. Real System, Transactional IT, Analytic IT. What s the Supply Chain. Levels of Decision Making. Supply Chain Optimization

A Comparison of Genotype Representations to Acquire Stock Trading Strategy Using Genetic Algorithms

4.6 Linear Programming duality

Genetic Algorithm Based Interconnection Network Topology Optimization Analysis

A Reactive Tabu Search for Service Restoration in Electric Power Distribution Systems

Load Balancing. Load Balancing 1 / 24

Appendix: Simple Methods for Shift Scheduling in Multi-Skill Call Centers

Optimal shift scheduling with a global service level constraint

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

Revolutionized DB2 Test Data Management

Fuzzy Genetic Heuristic for University Course Timetable Problem

A Hybrid Tabu Search Method for Assembly Line Balancing

Transcription:

Time-line based model for software project scheduling with genetic algorithms Carl K. Chang, Hsin-yi Jiang, Yu Di, Dan Zhu, Yujia Ge Information and Software Technology(IST), 2008 2010. 3. 9 Presented by Dongwon Kang c KAIST SE LAB 2008

Introduction Contents Overview of the previous model Specification of the new model Experiments Related work Conclusion Discussion c KAIST SE LAB 2008 2/ 16

Introduction Task assignments are crucial to software development Quality of the assignments greatly influences the projects Most existing project management tools only provide passive project tracking and reporting aids This research proposes GA-based project scheduling approach By extending their previous approach [Annals of SE, 2001] Enabling more fine-grained allocation using time-lines By breaking down development tasks into smaller time-sliced activities Considering dynamics of software projects Effect of learning in project execution (experience and training) c KAIST SE LAB 2008 3/ 16

Overview of the previous model (1/2) Representation of a project: a task precedence graph Example) PM: 10 SR: 0,2 PM: 10 SR: 0,2 PM: 10 SR: 0,1 T5 T0 T1 T2 T3 T4 T6 PM: 15 SR: 2,3 PM: 20 SR: 2,4 PM: 25 SR: 1,4 PM: 10 SR: 1,2 PM: person months SR: skills required Representation of an employee: skills and salary Objective function F= validity x (W 1 /Overload+W 2 /Cost+W 3 /Time) Validity is 1 if the assignment is valid, otherwise 0. Decided by skill matching, precedence of tasks, covering all tasks c KAIST SE LAB 2008 4/ 16

Overview of the previous model (2/2) Problems of the previous approach Execution of tasks in an atomic way Interruption of task execution is not allowed A new critical task can be executed during execution of other tasks Assignment strategy t It is not realistic to assume that adding more employees to a task always produce better schedule It increases communication and coordination cost Skills and experience Different levels of skills and experience are not supported Different scales for objectives Difficulty in setting weight for three objectives c KAIST SE LAB 2008 5/ 16

Specification of the new model (1/6) Introduction of time-line To enable addition and removal of employees during task execution By breaking down development tasks into smaller time-sliced activities Revision of the employee model Skill model The level of skill is measured as a number between 0 and 5 A skill can be obtained during a project through training Proficiency p = min{p 0 + u x trainingtime, 5}» p 0 : proficiency at the beginning, g u: learning speed Experience model Considered effect from on-the-job training related to tasks Experience e = min{e 0 + u x tasktime, 5} Productivity of an employee for a task t: + et ps 5 s S ( t) c KAIST SE LAB 2008 6/ 16 2 5

Specification of the new model (2/6) Assignment scheme in time-line based model Employee can partially participate in each time slot (0%, 25%, 50%, 75%, 100%) c KAIST SE LAB 2008 7/ 16

Specification of the new model (3/6) Revision of the employee model (Cont d) Compensation model according to overtime working Payment= Salary normal xh% (0 h 100) Salary normal x100% + Salary overtime x(h-100)% (100<h h max ) (h max <h) Purpose: integrating different objectives with one measure - cost This approach also assumes that schedule can be considered with cost c KAIST SE LAB 2008 8/ 16

Specification of the new model (4/6) Revision of the task model Deadline issues By imposing penalty when a task exceeds the deadline M is finished time of a task Maximum headcount Setting the limit of the number of employees who can work together effectively for a given task Using COCOMO equation related to the ordinary number of developers» In this study, the team size is simply doubled» max (1, round(2/3 x PM 0.672 )) c KAIST SE LAB 2008 9/ 16

Specification of the new model (5/6) Procedure to decide the fitness of an assignment After creating a new solution by mutation ti or crossover, Start Initialize skill proficiency and task experience for each employee Time_Unit = 1 All tasks finished? Yes Fitness:=Payment +Penalty No Apply heuristics to avoid infeasible assignments Return fitness Time_Unit =Time_Unit+1 Calculate payment Calculate the degree of completion for each task Adjust skill proficiency i and task experience for each employee 10 / 16

Specification of the new model (6/6) Procedure to decide the fitness of an assignment (cont d) Heuristics to avoid infeasible ibl assignments 1. Eliminate employees assigned to finished tasks 2. Eliminate employees assigned to untimely tasks using task dependencies 3. Eliminate unsuitable assignments according to skill matching 4. Eliminate unavailable employees 5. Eliminate contractors from training tasks 6. Limit employee training Employees with proficiency i more than 4.5 are not supposed to be trained 7. Adjust workloads of overly participating employees If they exceeds the maximum value of overtime (invalid) 8. Adjust overstaffed tasks according to maximum headcount c KAIST SE LAB 2008 11 / 16

Experimental design Experiments (1/2) Evaluate the fitness by comparing experts assignment An artificial project environment was created Consists of 15 tasks, 10 employees, and 5 skills Two experts with experience of more than 20-years joined this experiment Expert 1 tried to optimize schedule Expert 2 tried to optimize both cost and schedule c KAIST SE LAB 2008 12 / 16

Experiments (2/2) Result Cost (Fitness) Time spent This approach 527104 (best:385818) 33 min. on average Expert 1 546353 3 hours* on average Expert 2 559920 (including time to understand the project) Allocation from this approach showed better fitness than those from the two experts Best cost can be treated as a lower bound of project cost, and the assignment can be an useful reference to managers c KAIST SE LAB 2008 13 / 16

Related work Goal Unit of allocation Optimization Algorithm Productivity for modules This paper Duggan s (2004) Ngo-The s (2009) My approach Minimize cost of a Optimize schedule Maximize business Generate practical software project and quality in value in release allocation with implementation planning considering constraints A time-sliced task Genetic algorithm(ga) A package in Impl. phase GA A time-sliced phase for each module ILP (integer linear programming)+ GA A phase for each module Simulated annealing O (by considering i O X O Productivity for phases skills for tasks) N/A O O Consideration of software project characteristics Guideline for estimating productivity Effect of learning, Team size Team size X Continuity of allocation, Sharing developers between teams, Team size, Expert allocation X X X O Supporting co-work O O X O Validation Comparing with expert allocation Example illustration Showing results from random samples Using industry project data c KAIST SE LAB 2008 14 / 16

Contribution Conclusion Proposed GA-based scheduling approach Supported more fine-grained optimization of allocation using time-lines Incorporated dynamic nature of software projects Considered training and experience gained in the project Can guide project managers in scheduling software projects Future work Improving system dynamics modeling for software projects Improving representation of skills, employees, and tasks Dealing with various relationships of task dependency End-start, start-start, c KAIST SE LAB 2008 15 /16

Pros Discussion Considering i effect of learning in scheduling software projects Enabling fine-grained optimization using time-lines Cons Unrealistic situation may occur from using this approach Working -> training -> working-> Continuity of allocation is not supported Employees can be frequently exchanged among tasks» Increase overhead due to understanding tasks and context changes No consideration of skill improvement from on-the-job training In experiment, Unfair evaluation in the comparison with expert results Comparison is conducted using cost, but experts focused on the schedule No validation of practicality of allocation results In spite of expert participation in the experiment c KAIST SE LAB 2008 16 /16

Q & A?