In this article, we present a parallel graphical processing unit (GPU)-based genetic algorithm (GA) for solving the resource-constrained multi-project scheduling problem (RCMPSP). We assumed that activity pre-emption is not allowed. Problem is modeled in a portfolio of projects where precedence and resource constraints affect the portfolio duration. We also assume that the durations, availability of resources are deterministic and portfolio has a static nature. The objective in this article is to find a start time for each activity of the project so that the portfolio duration is minimized, while satisfying precedence relations and resource availabilities within a reasonable amount of time for small and large problem instances. In order to compare the efficiency of the proposed parallel GPU-based GA, problem is solved together with a CPU and a GPU.The results showed that GPU-based parallel GA has high potential for improving the performance of GAs for the RCMPSP particularly, for large-scale problems.
K E Y W O R D Sparallel genetic algorithm, resource constrained multi-project scheduling problem, resource constrained project scheduling problem, resource management
INTRODUCTIONThe objective of an optimization problem is to find the global optimal solution among all feasible solutions for a given search space. It is very common in engineering, management and other disciplines where an objective function defines optimality. Very often, mathematical models' complexity force to look for a good quality near optimal solution in a reasonable amount of time instead of finding the global optimal solution. Hence numerous research focus on developing meta-heuristics for finding good solutions in a short amount of computation time, in particular for complex problems.Metaheuristics are higher level heuristic methods which can be applied for different types of optimization problems. Among all meta-heuristics genetic algorithms (GAs) have extensive civil/construction engineering applications from structural optimization to scheduling. GAs are stochastic search methods which explores the search space while exploiting good solutions. 1 GAs depend on the randomness and use crossover and mutation to increase diversification. Solution of a problem can be represented as chromosomes and the best solution is selected according to fitness function calculations. Being a population-based method, GAs' performance highly depends on fitness calculations. GAs are effective in optimization problems but as problem size gets bigger several fitness calculations increase the computation time which reduces the efficiency of the algorithm. Fortunately, GAs are suitable for distributing the computational load to different cores which can increase the efficiency of the algorithm. 2 Therefore, there is a great potential to increase the efficiency of a GA by applying parallel computation methods.Early parallel computing attempts of a GA can be traced back to 1976. 3 Basic idea was to distribute the computational load among multiple computers within a lo...