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.
This is a preview of subscription content, access via your institution.
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.
Boehm, B. (1981), Software Engineering Economics, Prentice-Hall, Englewood Cliffs, NJ.
Chang, C.K. (1993), “Is existing software engineering obsolete?” IEEE Software, September, 4-5.
Chao, C. (1995), “SPMNET: A New Methodology for Software Management”, Ph.D. Thesis, The University of Illinois at Chicago.
Chang, C.K. and M. Christensen (1999), “A Net Practice for Software Project Management,” IEEE Software, November/December, 80-88.
Davis, E.W. and G.E. Heidorn (1971), “An Algorithm for Optimal Project Scheduling under Multiple Resource Constraints,” Management Science 17, 12, B803-B817.
Forrest, S. (1993), “Genetic Algorithms: Principles of Natural Selection Applied to Computation,” Science 261, 872-878.
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.
Goldberg, D.E. (1989), Genetic Algorithm in Search, Optimization and Machine Learning, Addison-Wesley, Reading, MA.
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.
Holland, J.H. (1992), “Genetic Algorithms,” Scientific American, 66-72.
Knjazew, D. (2000), “Ordering Messy Genetic Algorithm in C++,” IlliGAL Report No. 2000034.
Ozdamar, L. and G. Ulusoy (1995), “A Survey on the Resource-Constrained Project Scheduling Problem,” IIE Transactions 27, 574-586.
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.
Wall, B.M. (1996), “A Genetic Algorithm for Resource-Constrained Scheduling”, Ph.D. Thesis, MIT; http://lancet.mit.edu/ga.
About this article
Cite this article
Chang, C.K., Christensen, M.J. & Zhang, T. Genetic Algorithms for Project Management. Annals of Software Engineering 11, 107–139 (2001). https://doi.org/10.1023/A:1012543203763
- genetic algorithm
- objective function
- project management