Genetic Algorithms for Project Management
The scheduling of tasks and the allocation of resource in medium to large-scale development projects is an extremely hard problem and is one of the principal challenges of project management due to its sheer complexity. As projects evolve any solutions, either optimal or near optimal, must be continuously scrutinized in order to adjust to changing conditions. Brute force exhaustive or branch-and-bound search methods cannot cope with the complexity inherent in finding satisfactory solutions to assist project managers. Most existing project management (PM) techniques, commercial PM tools, and research prototypes fall short in their computational capabilities and only provide passive project tracking and reporting aids. Project managers must make all major decisions based on their individual insights and experience, must build the project database to record such decisions and represent them as project nets, then use the tools to track progress, perform simple consistency checks, analyze the project net for critical paths, etc., and produce reports in various formats such as Gantt or Pert charts.
Our research has developed a new technique based on genetic algorithms (GA) that automatically determines, using a programmable goal function, a near-optimal allocation of resources and resulting schedule that satisfies a given task structure and resource pool. We assumed that the estimated effort for each task is known a priori and can be obtained from any known estimation method such as COCOMO. Based on the results of these algorithms, the software manager will be able to assign tasks to staff in an optimal manner and predict the corresponding future status of the project, including an extensive analysis on the time-and-cost variations in the solution space. Our experiments utilized Wall's GALib as the search engine. The algorithms operated on a richer, refined version of project management networks derived from Chao's seminal work on GA-based Software Project Management Net (SPMnet). Generalizing the results of Chao's solution, the new GA algorithms can operate on much more complex scheduling networks involving multiple projects. They also can deal with more realistic programmatic and organizational assumptions. The results of the GA algorithm were evaluated using exhaustive search for five test cases. In these tests our GA showed strong scalability and simplicity. Its orthogonal genetic form and modularized heuristic functions are well suited for complex conditional optimization problems, of which project management is a typical example.
Unable to display preview. Download preview PDF.
- Blazewicz, J., J.K. Lenstra and A.H.G. Rinnooy Kan (1983), “Scheduling Subject to Resource Constraints: Classification and Complexity,” Discrete Applied Mathematics 5, 11-24.Google Scholar
- Boehm, B. (1981), Software Engineering Economics, Prentice-Hall, Englewood Cliffs, NJ.Google Scholar
- Chang, C.K. (1993), “Is existing software engineering obsolete?” IEEE Software, September, 4-5.Google Scholar
- Chao, C. (1995), “SPMNET: A New Methodology for Software Management”, Ph.D. Thesis, The University of Illinois at Chicago.Google Scholar
- Chang, C.K. and M. Christensen (1999), “A Net Practice for Software Project Management,” IEEE Software, November/December, 80-88.Google Scholar
- Davis, E.W. and G.E. Heidorn (1971), “An Algorithm for Optimal Project Scheduling under Multiple Resource Constraints,” Management Science 17, 12, B803-B817.Google Scholar
- Forrest, S. (1993), “Genetic Algorithms: Principles of Natural Selection Applied to Computation,” Science 261, 872-878.Google Scholar
- Gallagher, K., M. Sambridge and G. Drijkoningen (1991), “Genetic Algorithms: An Evolution from Monte Carlo Methods for Strongly Non-Linear Geophysical Optimization Problems,” Geophysical Research Letter 18, 12, 2177-2180.Google Scholar
- Goldberg, D.E. (1989), Genetic Algorithm in Search, Optimization and Machine Learning, Addison-Wesley, Reading, MA.Google Scholar
- Goodman, E.D. (1996). “An Introduction to GALOPPS Release 3.2 (July 31, 1996),” Technical Report No. 96-07-01, Genetic Algorithms Research and Applications Group (GARAGe), Michigan State University.Google Scholar
- Holland, J.H. (1992), “Genetic Algorithms,” Scientific American, 66-72.Google Scholar
- Knjazew, D. (2000), “Ordering Messy Genetic Algorithm in C++,” IlliGAL Report No. 2000034.Google Scholar
- Ozdamar, L. and G. Ulusoy (1995), “A Survey on the Resource-Constrained Project Scheduling Problem,” IIE Transactions 27, 574-586.Google Scholar
- Schraudolph, N.N. and J.J. Grefenstette, (1992), “A User's Guide to GAUCSD 1.4”, Technical Report CS92-249, CSE Department, UC San Diego.Google Scholar
- Wall, B.M. (1996), “A Genetic Algorithm for Resource-Constrained Scheduling”, Ph.D. Thesis, MIT; http://lancet.mit.edu/ga.Google Scholar