## 2 Literature Review
### Objectives Solved and Solution Procedures  
Though the most solved objective functions for the MRCPSP and its variations are concerned with the minimization of makespan [PERSON] and [PERSON] [11], other performance indicators have also been considered. Some researchers have examined time performance indicators, such as the components of lateness, \(L_{j}\), and the deviation of an activity's completion time (\(C_{j}\)) from a given due date (\(d_{j}\)). Tardiness (\(T_{j}\)), the positive value of lateness (\(C_{j}\geq d_{j}\)) and earliness (\(E_{j}\)), the negative value of lateness (\(C_{j}\leq d_{j}\)), have been researched within the last 15 years by [12].  
Other researchers have focused on financial performance indicators, such as activity and total project costs. For example, [PERSON] and [PERSON] [13; 14] and [PERSON] and [PERSON] [9] minimized the costs of activities, while [PERSON] and [PERSON] [15] minimized the total project costs based on earliness and tardiness costs, as well as [PERSON] and [PERSON] [16] aimed at minimizing costs for activity crashing, material costs and inventory holding costs. Another financial indicator used asan objective function is the maximization of the Net Present Value (NPV), including [17; 18]. In [19], they investigated the negotiation process to find the timing of payments and the amount of each specific payment between a client (who seeks to minimize its NPV) and a contractor (seeks to maximize NPV). Furthermore, variations of NPV objective functions can be found in [20]. [PERSON] and [PERSON] [21] treated a similar problem, but restricted themselves to the client's point of view.  
Thanks to significant improvements in computing power and as increased complexity highlights the limitations of exact methods, many researchers have opted to use time-proven meta-heuristic algorithms to solve the MRCPSP and its variations. Some meta-heuristic algorithms used with the last two decades include two versions of the Simulated Annealing (SA) algorithm by [22], a version of the Genetic Algorithm (GA) developed by [23]. Other approaches include Particle Swarm Optimization (PSO) by [24] and a combinatorial version for PSO in [25]. Furthermore, many hybrid forms have been implemented, such as a scatter search algorithm with a path re-linking methodology in [26], a hybrid Ant Colony Optimization and Scatter Search (ACOSS) in [27], a Tabu Search (TS) with scatter search implemented by [28], as well as a neuro-genetic approach, which is a hybrid of GA and a neural network, proposed by [29], and more recently, ANGEL, a hybrid that combines ANt colony, GEnetic algorithm and Local search can be found in [30]. Finally, the newest meta-heuristic implementations can be found, including Differential Evolution (DE) [31], Artificial Immune System (AIS) [32] and, most recently, Estimation of Distribution Algorithm (EDA) [33], the shuffled frog-leaping algorithm (SFLA) [34], a hybrid EDA with a new local search based on a random walk and the delete-then-insert operator proposed by [35] along with the use of a discrete version of the ABC algorithm in [36] and an implementation of a discrete cuckoo search in [37].