Font Size: a A A

Software Project Scheduling With Genetic Algorithms

Posted on:2009-12-27Degree:MasterType:Thesis
Country:ChinaCandidate:L F KongFull Text:PDF
GTID:2178360242481561Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
The project manager's main duty is to coordinate the limited resource and money, lead the team to develop high quality software. However, the task scheduling is also a complicated optimization problem, which is one kind of NP hard question. If the whole process is solely dependent on the manager to handle manually, it is very hard to figure out the most optimal scheduling plan within the rational framework. Therefore, scheduling is of great significance to the development process of software, the whole project's success also depends on the quality of the scheduling to a big extent. In my opinion, it is necessary to introduce the computer modeling and algorithms to assist the project managers in making human and time resources allocation plans in order to reduce the duration and cost of the project.Generally speaking, the scheduling of a project includes factors such as what types of resources are necessary for each task and the people, machines and time which are required by each individual resource. The objective is usually either the minimization of the duration and cost or the maximization of product's quality. our software project after modeling often belongs to the Resource-constrained project scheduling problem. The main objective of Resource-constrained project scheduling problem is to schedule each activity within a project while conforming to the restrictions on production order, resources and makespan. Resource restriction refers to nonrenewable resources such as human capital, materials and machines. These are all the active factors to execute a project. The problem can be described as following:A project contains many interconnected activities; each one has a specific duration time and resource requirement. The amount of resources is limited but can be updated as time passes. One type of resource can be replaced by another and interruption is not allowed in each activity. The solution is the beginning time of an activity with the restrictions being taken into consideration: We often make assumptions as following: (1) We can predict each job's duration time.(2) Priority restrictions: each job's beginning time is decided by other job's completion time.(3) Job can not be interrupted, and there is only one way of execution.(4) The goal of scheduling is to minimize the duration of the project.Resource-constrained project scheduling problem commonly exists in architecture, software engineering, airplane and ship-building. Theoretically, it is one kind of NP hard question, which has always drawn the attention of both domestic and foreign scholars. A lot of optimization methods have been put forward. Recently a lot of research focused on project scheduling problem are based on simple model or relax some restraints. These algorithms mainly include precise algorithm and intelligent algorithm. The precise algorithm can find the optimal solution but the solution range is small. The intelligent algorithms include algorithm with limited rules, sample algorithms and intelligent optimal algorithm. These algorithms can not achieve a global optimization but they are faster and more capable when the solution space is huge.Software project management means the manager uses the viewpoint and theory of systematic project to realize his goal, in order to gain good profit; he must plan, organize, control, and communicate in each stage of the project. The project planning is the foundation of effective management during the project execution. A good planning can achieve the best management of a project so the maximum profit can be gained with minimum cost. Though the software project has some similarity with common projects, but the flexibility of the software, the human resources'capability and function have more impact on the project's success than other projects. As far as the project manager is concerned, in order to develop a high quality system,A lot of problems needed to be solved. Including the usage of the existing management method to manage and maintain the needs. Make the project development plan, confirm the projects'Budget and task scheduling so the resource confliction can be solved and the project management process can be monitored.The software project scheduling has the features of scheduling of projects with restrictions, the software development is a sequence of activities with order, it usually contains architecture,Overall design, specific design, database design, interface design, testing and employment. There is a limitation for the developers'working time. In a nutshell, software project scheduling belongs to Resource-constrained project scheduling problem.This article uses the genetic algorithm to solve this problem, and find out a solution which can meet the goal. Genetic Algorithm is a random-searching algorithm which takes the cue from the biological world (the fittest survival) .GA is proposed by J.Holland professor in 1975,its main feature is to work on the structural object directly. The GA has no limitation about the derivative and the continuation about the function; The GA also has the inherent parallelization and better global search ability; the probability optimal searching, can obtain the searching space which guides the process of optimization, specific rules are not needed. These features of GA have been widely applied optimization, machine learning, signal handling, self-adaptive control and other fields like artificial life. It is a key technology about modern intelligent calculation.This article creates a model on minimum project duration, due to the relationships among tasks in the software development circle; the encoding method based on priority has been introduced. In this way, the order of each task can be satisfied. The selection uses the roulette selection, the mutation uses local search based mutation, and finally it is the evaluation of the fitness that finds out the schedule for the project which can achieve the minimum duration. in the meantime, this article calculate the ball park figure of the labor cost, in other words the total duration time and general cost can be obtained. These factors are very important for the managers to plan different development projects reasonably.The experiment result shows that the GA is both applicable and accurate. In the meantime, it can also be used as a referential tool for the project management.
Keywords/Search Tags:Resource-constrained project scheduling problem, Genetic Algorithms, Software project Scheduling
PDF Full Text Request
Related items