Skip to main content

Taking advantage of solving the resource constrained multi-project scheduling problems using multi-modal genetic algorithms


In this paper, for the first time, multi-modal genetic algorithms (MMGAs) are proposed to optimize the resource constrained multi-project scheduling problem (RCMPSP). In problems where the landscape has both multiple local and global optima, such as the RCMPSP, a MMGAs approach can provide managers with an advantage in decision-making because they can choose between alternative solutions equally good. Alternative optima are achieved because the diversification techniques of MMGAs introduce diversity in population, decreasing the possibility of the optimization process getting caught in a unique local or global optimum. To compare the performance of a MMGAs approach with other alternative approaches, commonly accepted by researchers to solve the RCMPSP such as classical genetic algorithms and dispatching heuristics based on priority rules, we analyse two time-based objective functions (makespan and average percent delay) and three coding systems [random keys (RK), activity list (AL), and a new proposal called priority rule (PR)]. We have found that MMGAs significantly improve the efficacy (the algorithm’s capability to find the best optimum) and the multi-solution-based efficacy (the algorithm’s capability to find multiple optima) of the other two approaches. For makespan the PR is the best code in terms of the efficacy and multi-solution-based efficacy, and the RK is the best code for the average percent delay.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3


  1. The RCMPSP is the generalization of the resource constrained project scheduling problem (RCPSP) (Brucker et al. 1999; Herroelen 2005; Kolisch and Hartmann 1999, 2006).


  • Ash R (1999) Activity scheduling in the dynamic multi-project setting: choosing heuristics through deterministic simulation. In: Farrington PA, Nembhard HB, Sturrock DT, Evans GW (eds) Proceedings of the 1999 Winter Simulation Conference, Pheoenix, pp 937–941

  • Baker K (1974) Introduction to sequencing and scheduling. Wiley, New York

    Google Scholar 

  • Beasley JE (1990) OR-Library: distributing test problems by electronic mail. J Operat Res Soc 41(11):1069–1072

    Article  Google Scholar 

  • Boctor FF (1990) Some efficient multi-heuristic procedures for resource constrained project scheduling. Eur J Oper Res. doi:10.1016/0377-2217(90)90116-S

    Google Scholar 

  • Browning T, Yassine A (2010) Resource-constrained multi-project scheduling: priority rule performance revisited. Int J Prod Econ. doi:10.1016/j.ijpe.2010.03.009

  • Browning T, Yassine A (2010b) A random generator of resource-constrained multi-project network problems. J Sched. doi:10.1007/s10951-009-0131-y

  • Brucker P, Drexl A, Möhring RH, Neumann K, Pesch E (1999) Resource-constrained project scheduling: notation, classification, models and algorithms. Eur J Oper Res. doi:10.1016/S0377-2217(98)00204-5

    MATH  Google Scholar 

  • Cavichio D (1970) Adaptive search using simulated evolution. PhD Thesis, University of Michigan

  • Chen P, Shahandashti S (2009) Hybrid of genetic algorithm and simulated annealing for multiple project scheduling with multiple resource constraints. Autom Constr. doi:10.1016/j.autcon.2008.10.007

  • Chen JC, Jaong W, Sun C, Lee H, Wu J, Ku C (2010) Applying genetic algorithm to resource contsrained multi-project scheduling problems. Key Eng Mater. doi:10.4028/

  • Chiu HN, Tsai DM (2002) An efficient search procedure for the resource-constrained multi-project scheduling problem with discounted cash flows. Constr Manag Econ. doi:10.1080/01446190110089718

  • Confessore G, Giordani S, Rismondo S (2002) An auction based approach in decentralized project scheduling. In: International workshop on project management and scheduling, Valencia, pp 110–113

  • Davis L (1989) Adapting operators probabilities in genetic algorithms. In: Schaffer JD (ed) Proceedings of the 3th international conference on genetic algorithms. Kaufmann, San Mateo, pp 375–378

    Google Scholar 

  • De Reyck B, Herroelen W (1996) On the use of the complexity index as a measure of complexity in activity networks. Eur J Oper Res. doi:10.1016/0377-2217(94)00344-0

    MATH  Google Scholar 

  • Deckro RF, Winkofsky EP, Hebert JE, Gagnon R (1991) A decomposition approach to multi-project scheduling. Eur J Oper Res. doi:10.1016/0377-2217(91)90149-P

    MATH  Google Scholar 

  • Dodin B, Elimam AA, Rolland E (1998) Tabu search in audit scheduling. Eur J Oper Res. doi:10.1016/S0377-2217(97)00280-4

    MATH  Google Scholar 

  • Eiben AE, Smith JE (2007) Introduction to evolutionary computing (Natural Computing Series). Springer, Berlin

    MATH  Google Scholar 

  • Forrest S, Mitchell M (1993) What makes a problem hard for a genetic algorithm? Some anomalous results and their explanation, Mach Learn. doi:10.1007/BF00993046

  • García S, Molina D, Lozano M, Herrera F (2009) A study on the use of non-parametric tests for analyzing the evolutionary algorithms’ behaviour: a case study. CEC’2005 Special session on real parameter optimization. J Heuristics, 1007. doi:10.1007/s10732-008-9080-4

  • García S, Fernández A, Luengo J, Herrera F (2010) Advanced nonparametric tests for multiple comparisons in the design of experiments in computational intelligence and data mining: experimental analysis of power. Inf Sci. doi:10.1016/j.ins.2009.12.010

  • Gento AM, Pérez ME (2002) Study on the genetic operators for the job shop problem. In: Proceedings of the first Spanish conference on evolutionary and bioinspired algorithms. Mérida, pp 523–530 (in spanish)

  • Goldberg DE (1989) Genetic algorithms in search, optimization and machine learning. Addison-wesley, Massachusetts

    MATH  Google Scholar 

  • Goldberg DE (2002) The design of innovation: lessons from and for competent genetic algorithms. Kluwer Academic Publishers, Boston

    Book  MATH  Google Scholar 

  • Gonçalves JF, Mendes JJM, Resende MGC (2008) A genetic algorithm for the resource constrained multi-project scheduling problem. Eur J Oper Res. doi:10.1016/j.ejor.2006.06.074

    MATH  Google Scholar 

  • Grefenstette J, Gopal R, Rosmaita R, Gucht D (1985) Genetic algorithms for the traveling salesman problem. Proceedings of the first international conference on genetic algorithms. Lawrence Eribaum Associates, Mahwah, NJ, pp 160–168

    Google Scholar 

  • Hartmann S, Kolisch R (2000) Experimental evaluation of state-of-the-art heuristics for the resource-constrained project scheduling problem. Eur J Oper Res. doi:10.1016/S0377-2217(99)00485-3

    MATH  Google Scholar 

  • Herroelen WS (2005) Project scheduling: theory and practice. Prod Oper Manag. doi:10.5555/ijop.2005.14.4.413

  • Jinghua L, Wenjian L (2005) An agent-based system for multi-project planning and scheduling. In: Proceedings of the IEEE international conference on mechatronics and automation, pp 659–664

  • Kim JL (2009) Proposed methodology for comparing schedule generation schemes in construction resource scheduling. In: Proceedings of the winter simulation conference (WSC), pp 2745–2750

  • Kolisch R, Schwindt C, Sprecher A (1998) Benchmark instances for scheduling problems. In: Weglarz J (ed) Handbook on recent advances in project scheduling. Kluwer, Amsterdam, pp 197–212

    Google Scholar 

  • Kolisch R, Hartmann S (1999) Heuristic algorithms for solving the resource-constrained project scheduling problem: classification and computational analysis. In: Weglarz J (ed) Handbook on recent advances in project scheduling, Kluwer Academic Publishers, Boston pp 147–178

  • Kolisch R, Hartmann S (2006) Experimental investigation of heuristics for resource-constrained project scheduling: an update. Eur J Oper Res. doi:10.1016/j.ejor.2005.01.065

  • Kotwani K, Yassine A, Zhao Y (2006) Scheduling resource constrained multi project DSM using modified simple GA and omeGA. Working Paper, Dept. of IESE, UIUC

  • Kumanan S, Jegan G, Raja K (2006) Multi-project scheduling using a heuristic and a genetic algorithm. Int J Adv Manuf Technol. doi:10.1007/s00170-005-0199-2

  • Kurtulus I, Davis EW (1982) Multi-project scheduling: categorization of heuristic rules performance. Manag Sci. doi:10.1287/mnsc.28.2.161

  • Liberatore MJ, Pollack-Johnson B (2003) Factors influencing the usage and selection of project management software. IIEEE Trans Eng Manag. doi:10.1109/TEM.2003.810821

  • Linyi D, Yan L (2007) A particle swarm optimization for resource-constrained multi-project scheduling problem. In: International conference on computational intelligence and security, pp 1010–1014

  • Lova A, Maroto C, Tormos P (2000) A multicriteria heuristic algorithm to improve resource allocation in multi-project scheduling. Eur J Oper Res. doi:10.1016/S0377-2217(99)00490-7

  • Lova A, Tormos P (2001) Analysis of scheduling schemes and heuristic rules performance in resource-constrained multiproject scheduling. Ann Oper Res. doi:10.1023/A:1010966401888

  • Mahfoud SW (1992) Crowding and preservation revisited. In: Manderick B, Männer R (ed) Parallel problem solving form nature II. Elsevier, pp 27–36

  • Man Z, Wei T, Xiang L, Lishan K (2008) Research on multi-project scheduling problem based on hybrid genetic algorithm. Int Conf Comput Sci Softw Eng 1:390–394

    Google Scholar 

  • Maroto C, Tormos P, Lova A (1999) The evolution of software quality in project scheduling. In: Weglarz J (ed) Project scheduling: recent models algorithms and applications. Kluwer, Boston

    Google Scholar 

  • Mattfeld DC (1995) Evolutionary search and the job shop Investigations on genetic algorithms for production scheduling. Springer, Berlin

    MATH  Google Scholar 

  • Michalewicz Z (1995) Genetic algorithms + Data structures + Evolutions programs. Springer, Berlin

    Google Scholar 

  • Payne JH (1995) Management of multiple simultaneous projects: a state-of-the-art review. Int J Proj Manag. doi:10.1016/0263-7863(94)00019-9

    Google Scholar 

  • Pérez E, Herrera F, Hernández C (2003) Finding multiple solutions in job shop scheduling by niching genetic algorithms. J Intell Manuf. doi:10.1023/A:1024649709582

    Google Scholar 

  • Pérez E, Posada M, Martín P (2013) Learning process on priority rules to solve the RCMPSP. J Intell Manuf. doi:10.1007/s10845-013-0767-5

    Google Scholar 

  • Pétrowski A (1996) A clearing procedure as a niching algorithm for genetic algorithms. In: Proceedings of IEEE International conference on evolutionary computation. Japan, pp 798–803

  • Pétrowski A (1997) A new selection operator dedicated to speciatin. In: Bäck T (ed). Proceedings of the 7th international conference on genetic algorithms, pp 144–151

  • Pritsker B, Watters LJ, Wolfe PM (1969) Multi-project scheduling with limited resources: a zero-one programming approach. Manag Sci 16:93–108

    Article  Google Scholar 

  • Sareni B, Krahenbuhl L (1998) Fitness sharing and niching algorithms revisited. IEEE Trans Evol Comput. doi:10.1109/4235:735432

  • Schwindt C (1995) ProGen/max: a new problem generator for different resource-constrained project scheduling problems with minimal and maximal time lags. Technical report WIOR-449, Universitat Karlsruhe, Germany

  • Sivanandam SN, Deepa SN (2007) Introduction to genetic algorithms. Springer, Berlin

    MATH  Google Scholar 

  • Sprecher A, Kolisch R, Drexel A (1995) Semi-active, active, and non-delay schedules for the resource-constrained project scheduleing problem. Eur J Oper Res. doi:10.1016/0377-2217(93)E0294-8

    MATH  Google Scholar 

  • Steward D (1981) The design structure system: a method for managing the design of complex systems. IEEE Trans on Eng Manag 28:71–74

    Article  Google Scholar 

  • Syswerda G (1991) Schedule optimization using genetic algorithms. In: Davis L (ed) Handbook of genetic algorithms, Van Nostrand Reinhold, pp 332–349

  • Turner JR (1993) The handbook of project-based management. McGraw-Hill, UK

    Google Scholar 

  • Vanhoucke M, Coello J, Debels D, Tavares LV (2004). On the morphological structure of a network. Vlerick Leuven Gent Management School, Working Paper no 2004/9

  • Zhuang M, Yassine AA (2004) Task scheduling of parallel development projects using genetic algorithms. In: Proceedings of 30th international design engineering technical conferences and computers and information in engineering conference, pp 215–224

Download references


This work was supported by the Junta of Castilla y Leon under Project VA003B08.

Author information

Authors and Affiliations


Corresponding author

Correspondence to E. Pérez.

Additional information

Communicated by V. Loia.


Appendix 1: OX and OBM operators

In the adapted OX operator, two random integers (between 0 and the string size \(-\)1) are generated. These numbers indicate the string positions to create the parents substrings. The parent substrings are directly inherited by their children. To better understand, we focus on the example of Fig. 4 where the random numbers are 5 and 7. The father 1’s substring [2 1 3] is inherited by the child-1 and the father-2’s substring [3 2 1] is inherited by the child-2.

Fig. 4
figure 4

OX crossover operator adapted to permutation coding with repetition

The other children string items are reached as follows: For child-1, a new string is created inheriting the father-2’s string items beginning from the next position of the second random number, going back to the beginning of the father-2’s sequence, and finishing at the second random number position: (2 3 3 1 1 3 / 2 2 1 1 3 2 1). The inherited activities from the father 2 (that is, the second activity of project 2, the third activity of project 1, and the second activity of project 3) are removed from the previous string (2 3 X 1 1 3 X 2 X 1 3 2 1) and the following string is obtained (2 3 1 1 3 2 1 3 2 1). The child-1’s string is filled beginning from the next position of the second random number: (2, 3, 1, 1, 3, 2), going back to the beginning of the child-1’s sequence, and finishing at the first random number position: (1, 3, 2, 1). The other child-2 string items can be found in a similar way.

In the OBM operator, two random integers (between 0 and the string size minus 1) are generated. These numbers indicate the string positions whose items exchange their values (see Fig. 5).

Fig. 5
figure 5

OBM mutation operator

Appendix 2

See Table 15.

Table 15 Priority rules for the RCMPSP and for PR code

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Pérez, E., Posada, M. & Lorenzana, A. Taking advantage of solving the resource constrained multi-project scheduling problems using multi-modal genetic algorithms. Soft Comput 20, 1879–1896 (2016).

Download citation

  • Published:

  • Issue Date:

  • DOI:


  • Genetic algorithms
  • Multi-modal problems
  • Multi-project management
  • Niching algorithms