A multi-objective scheduling algorithm for multi- mode resource constrained projects in the presence of uncertain resource availability

Goal: The issue of resource allocation is a major concern for project engineers in the scheduling process of a project. Resources over-allocation are often seen in practice after the scheduling of a project, which makes scheduling unhelpful. Modifying an over-allocated schedule is very complicated and requires a lot of effort and time. Besides, during the scheduling process of resource-constrained projects in the constructing companies, managers should concern more than one objective at the same time. This research aims to propose a new heuristic algorithm for minimizing project completion time, cost or maximizing quality of execution of activities simultaneously while multi-mode activities are taken into consideration. Design / Methodology / Approach: In this research, a new heuristic method is proposed for solving multiobjective scheduling problem for multi-mode resource constrained project scheduling problems (MRCPSPs) where the aim is maximizing the net present value (NPV) of project, minimize completion time and maximize the quality of executing activities simultaneously and along with emerging the uncertainty of resources availability and activity durations. The proposed method is then coded by Matlab® 2016. Results: The outcomes of solving small, medium and large scale case studies, the following results achieved: (i) the algorithm could solve all problems in different circumstances with no difficulties; (ii) the large scale problems (with 200 activities, 20 resources and 3 execution modes for each activity) could be solved in 4.43 seconds. (iii) in none of the studied cases over-allocation problem. The proposed method can be considered among the fastest scheduling algorithms found in the literature. In addition, it is found that makespan, NPV and quality have co-relation must be taken into consideration during the scheduling process. Limitations of the investigation: The main limitations of this research is that it only covers resource constrained project scheduling. Moreover, risk factors associated with the objectives of this research have yet to be addressed in future research studies. Practical implications: The performance of the algorithm is validated by using 24 series of dataset that are found in the literature. In order to verify its performance in real practice, it has been applied for a part of a construction project in Malaysia. The outcomes indicated that the algorithm scheduled the problem with 23 activities, 5 constrained resources and 2 execution modes in less than a second and with no over-allocations. The proposed multi-objective algorithm allows the project managers to consider NPV, completion time and quality of activities while scheduling a multi-mode project. In practice, this algorithm can provide a better atmosphere for managers while they aim to consider more than one objective during the scheduling process. Originality / Value: The proposed algorithm is original and can be of great value for future studies and managers in preventing resource over-allocation during the scheduling of multi-objective multi-mode resource constraint project scheduling. Moreover, it can help project managers to find near optimum solutions for complex multi-objective resource constraint projects faster and also with more accuracy.


INTRODUCTION
Manufacturing projects can directly or indirectly affect the economy of a country, and therefore the annual budget of each country is planned on the basis of production projects (Othman and Ahmed, 2013). For example, Singapore which is a good illustration of a developed country started its journey a half of a century ago where it was suffering from a poor economy. Thanks to the mega projects for building its economy, Singapore is now considered among the top countries with strongest economies (Grice and Drakakis-Smith, 1985). Today, in the world of manufacturing competition, companies must plan, plan and control their production projects in order to prevent severe financial harm to their companies.
While planning a project, there are several important factors that play key roles in success of it. Completion time, cost, profit, activity tardiness, quality and resources are among the crucial factors must be taken into account (Tirkolaee et al., 2019). Consequently, while a project manager decide to plan a project, he/she considered more than one of the aforementioned factors which make the scheduling process to be even complicated and distracting (Sajadi et al., 2017). It is obvious that a single day delay in completing a project can impose thousands of dollars to a construction company or the project owner. Therefore, considering multi-objective scheduling is a vital need and unfortunately most of the scheduling software can only schedule according to single objective (Time, cost or quality).
The purpose of this study is to provide a rapid multi-objective scheduling method for scheduling MRCPSPs while duration of activities and resource availability are not fixed and can be varied due to technical, resource provision, transporting and engineering problems. The proposed method shall be a bale to prevent resource over-allocation, which is a major shortcoming in scheduling process, by considering resource availability in projects while minimizing project costs, completion time of a project, and maximizing the net present value simultaneously. The outcomes shall be flexible enough to be used for real projects and help project managers to choose the best schedules among the feasible alternatives.

LITERATURE REVIEW
One of the major goals in research on project management and control is reducing costs (maximizing project profits). The purpose of this group of research is to plan and schedule the activities of the project to reduce project costs and increase project profits. The following research are presented: Chen and Askin (2009) examined the issues of project selection and work scheduling. They reviewed the situation where the manager had many alternative projects seeking to develop new systems or new products, enhance incremental products, or continue training in human resources. Returning the project as a well-known work since the completion of the project. In their reference, they considered limited and renewable resources. Their goal in this reference was to maximize the current profit of the project. Ke and Liu (2010) proposed three types of fuzzy models to solve the design planning problem based on some management objectives. In addition, the fuzzy simulation technique and the GA are integrated to design an intelligent algorithm to solve fuzzy models. Delgoshaei et al. (2014) used simulated annealing algorithms to maximize NPV in the MRCPSPDC, while cash flows are discounted. For this purpose, a backward method has been used to use the remaining resources through the resource calendar of a program. Coughlan et al. (2015) used a branch and bound algorithm to level resources of multimode-constrained resource projects to reduce project costs. Delgoshaei et al. (2017) proposed a methodology for modifying the allocation of multiple constrained resources with allowance for discontinuity to carry out activities aimed at increasing the profitability of the project. Ning et al. (2017) presented a scheduling model for multimodal resource projects in order to increase the project's profit and taking into account the random duration of activities. To solve the model, they used refrigeration simulation algorithm and banned search algorithm. Van Den Eeckhout et al. (2019) presented a heuristic method for solving the problem of constrained resource projects with the goal of reducing project costs and solved their model using the algorithm proposed by Lourenço et al. (2010).

Minimizing Makespan
One of the other important goals in project management and control is to minimize project completion time, which in this group of research aims to plan and plan the activities of the project, which is the time to complete the project with the optimal use of the floating times of activities. Chtourou and Haouari (2008) presented an algorithm based on two priority principles for the robust scheduling of constrained resource projects. Yan et al. (2009) used one of the heuristic ways to solve the problem of project scheduling to provide a quick response structure in the face of marine disasters. Van Peteghem and Vanhoucke (2010) used a GA to minimize the time of the MRCPSP problem by considering the capability of the activity. Węglarz et al. (2011) presented a comprehensive study for multiple project scheduling with the goal of minimizing the completion time of projects. Lombardi and Milano (2012) proposed a minimum-current algorithm for identifying the minimum critical setup (RCPSP) problems. Delgoshaei et al. (2015) focused on minimizing the completion time of a project resource scheduling problem using a combination of hybrid greedy algorithms and GA algorithms. Their research innovation was to use the remaining resources through the project calendar to minimize the completion time of the project. Asta et al. (2016) presented a solution to solve the problem of scheduling multi-state constrained resource projects to minimize the completion time of a project. They used a combination of the Monte Carlo method and hyper-algorithms to solve the scheduling problem. Schnell and Hartl (2017) improved the multimodality resource scheduling project model and satisfactory solutions with the aim of reducing the completion time of the project and solved their model using the branch and limit algorithm. Kassandra et al. (2018) presented a single-objective model for solving the problem of scheduling constrained resource projects with the goal of reducing the completion time of the project and solving their model with the help of FFA algorithm. Arkhipov et al. (2019) used a polynomial algorithm to find the limit of the time schedule of constrained resource projects with the goal of reducing project time. Wang et al. (2019) proposed a model for routing high-speed trains in China and provided a generic general model for solving the problems of maintenance of fast trains with the aim of reducing the repair time of these trains with a two-day horizons. They provided a heuristic algorithm to solve their model.

Multi-objective MRCPSPs
Due to the fact that in real projects of project managers only one goal is not considered for project scheduling, the attention of researchers in recent years has been focused on scheduling of constrained resource projects. Amiri et al. (2013) presented a new mathematical formula for modeling the multiobjective multimode project scheduling (time-cost-quality), which has a generalized default. In order to solve the proposed model, the correction algorithm an unsatisfactory ranking genetic algorithm (NSGA-II) is used. Kaiafa and Chassiakos (2015) used the GA to reduce project costs and prevent resource over-allocation in constrained resource projects. Cheng and Tran (2015) addressed a heuristic algorithm for solving the problem of business shifting by organizations aimed at reducing the time and cost of organization projects was presented. Gutjahr (2015) solved the branching algorithm and the limit of a multi-objective programming model with goals for reducing project time and reducing project costs by taking into account the risks of the project. Maghsoudlou et al. (2016) presented a three-objective model for multimodal resource projects with goals of reducing project costs, reducing the time of completion of the project, and improving the quality of the project. They solved their model using weed emergence algorithm. The scheduling of the activities and the amount of use of activities from sources in this paper are assumed and they do not consider the possibility of disconnection in their reference for their project activities. Elloumi et al. (2017) developed multi-objective algorithms of constrained resource projects in their paper. Their goal was to reduce the time of the project and reduce scheduling disruption, due to changes. Tao and Dong (2018) used NSGA-II to reduce the cost and reduce the time of the project to solve the time-limited problem of multi-objective multimodal resource projects with alternative project structures. Zoraghi et al. (2017) proposed a model to solve the problem of supplying materials in order to reduce project completion time, reducing costs, and increasing the scheduling stability, and solving this model using NSGA-II. Ansarifar et al. (2018) provided a multi-objective model with a heuristic algorithm to find the optimal points for allocating the location of the ambulance stations and helicopter ambulances in order to respond quickly (reduce service delivery time) and reduce the cost of providing emergency services.

Analytical Comparison of the opted researches
In this section an analytical review over the opted researches in RCPSPs will be performed. The Table 1 shows all the researchers investigated in this study, based on their year of publication, by model and method of resolution. As shown by Figure 1, a large number of heuristics and meta-heuristics have been used for solving project scheduling problems. Besides, less than 13% of the opted researches used multi-objective methods ( Figure 2). Regarding the literature of research on the scheduling of constrained resource projects, it is found that although there are some researches that focused on makespan, quality and cost objectives solely, but a multi-objective research by considering makespan, quality and cost simultaneously has not been developed yet.  Based on the reviewed research studies, there are no references found that used multiobjective mathematical models for scheduling resources constrained multi-mode projects in the presence of resource uncertainty. Moreover, the findings showed that almost all studied cases are NP-hard. Therefore, in the next section, a mathematical model will be developed to schedule multi-objective MRCPSPs. Then, the complexity of high-performance algorithms will be analyzed before proposing the heuristic algorithm for solving the model.

RESEARCH METHODOLOGY
In this section, based on the research studies of Delgoshaei et al. (2017), Delgoshaei et al. (2015) and Amiri et al. (2013), the mathematical model will be developed. The aims are to minimizing makespan, maximizing profit and quality of a project in scheduling process while resource availability is uncertain. Then, the impact of resource availability and execution modes of activities on resource over-allocation will be examined.
The contribution of the proposed model can be summarized as increasing project profitability and quality; reducing the makespan; considering constrained resources; considering uncertain duration of activities and considering uncertain resource availability.

Assumptions
1. The model is presented in the form of activity on the node (AON).
2. The payment model in this project is Progress Payment; in this payment model, the contractor receives project costs at regular intervals until the end of the project from the employer.
3. Allocation of activities is permitted through the scheduling horizon.
4. Activities can be performed in different modes, which should be used for the activity when selected for an activity.
5. Activities are only allowed to move freely during their buoyancy.
6. Improvement movements are planned and implemented in both progressive and progressive fashion.
7. Exceeding over projected Makespan is prohibited.
8. Resources for carrying out a renewable project with limited capacity.

Indexes
For easy classification of the model, the problems are defined with the exclusive code below: Where n is the number of activities, m is the number of activity modes, k is the number of resource types and CT is the project horizon.
The symbols in this model are considered as follows: i: is the number of activities k: The number of types of resources t: Available time horizons for a project m: Number of execution modes

TH= Time horizon of a project
The list of parameters and their symbols are as follows: Activity Sequence Matrix is used to illustrate prioritized relationships between activities.
The sequence of project activities can be as follows: End to start (FS), Start to start (SS), End to Finish (FF) and Start to Finish (SF).

ESj ESi Di Lagi
LAG matrix: Indicates delays between related activities in the activity chain matrix.
Required amount of resource type k for executing activitiy i = i,k r ~triangular (β 1i,k ,γ 1i,k ) Resource Capacity: The resources available in the project periods are as follows: A multi-objective scheduling algorithm for multi-mode resource constrained projects in the presence of uncertain resource availability  As discussed in previous sections, the study of the problem of MRCPSP is the main goal of this reference. The number of n activities in a grid (AON) is assumed to be for us. Hence, the mathematical model for the multi-objective time-stamp scheduling of the multimodal resource project is developed as follows: S.t: The first objective function is to maximize project profits in a way that can easily compute the NPV at any time using the advanced payment method. For example, suppose an activity (let's say activity A) is scheduled. Table 2 shows the different conditions of activity scheduling (α=0.05). As it is shown by the Table 2, when the activity was previously planned, the NPV of activity A is greater than that of the later Planned or for any reason. The second objective of the model is to minimize the Makespan (the time of completion of the project). In the third objective, the average weighted value of the quality of all project activities in all modes of implementation will be maximized.
The first constraint is defined in this model to determine the initial start of activities, which ensures that the algorithm remains solvable throughout the process. ). The problem is more critical if the split of activities is allowed. In the right image of Figure 3, where the split occurred on activity C, the D ES cannot be calculated correctly. Therefore, it is necessary to re-write the traditional formula of calculating early start of an activity while Start-to-Start relation and split on activities are taken into account.
The second constraint ensures that the next activity does not begin before the end of the pre-activity activity. Similar to the logic used to calculate the initial start of activities While the division of activity is permissible, the standard formula of the earliest execution time The third constraint is developed to determine the rationale of a start day for each project. The fourth constraint is used for those activities that are related to the end-to-end relationship (FS). In this model, the FS equation for use in the model is converted to the following: The next set of constraints, in which the priority relation between activities SS, is converted to the following equation for use in the model: Similarly, the sixth set of constraint is for use in developed environments that connect the end of activities to each other (FF): Seventh constraint is a rare case in which the end of an activity is related to the start of another activity; the SF priority relation is used as follows: Since the model is considered to be a real timetable, which must be completed before the precondition, the eighth constraint is set to ensure that the initial end of the previous activity is not overdue. Due to the ability to split activities, the solving algorithm should be able to divide an activity into a minimum time interval (1 day) for scheduling it throughout the project calendar to avoid over-allocation of resources. This may lead to the initial passage of activities in the dynamic process of scheduling. To avoid this mistake, the ninth constraint is set, which ensures that the number of working days per activity will not exceed the original duration of the activity. The tenth constraint in order to maintain the selected execution mode is considered to be an activity during the implementation period. The eleventh set of constraints is to avoid over-allocation of resources over any period of time during the project.
The twelfth constraint ensures that activities will not start sooner than their predecessor while the split on predecessor activities occurred. The thirteenth constraint is used to find a logical relationship between imt Y and ESi, which ensures that imt Y does not start earlier than the earliest calculated time. The next constraint defines the minimum quality required by the project. The last two constraints series are used to show the domain of the variables.
Similar to the many related researches in the literature, the developed model is complex. The factors that increases the complexity of the model are: 1. Non-linearity of objective functions and constraints 2. Discrete problem solving space 3. The size of the problem Since the first objective function of the developed model and the first and second constraints are non-linear. Such non-linearity increase the complexity the model. Therefore, in the next step a heuristic algorithm will be proposed to solve the model.

A Heuristic Method for Solving the Developed Model
By examining the advantages and disadvantages of heuristic and meta-heuristic algorithms in the previous sections, a heuristic algorithm is proposed for solving the model presented. Figure 4 shows the flowchart of the proposed algorithm. In continue, steps of the proposed algorithm are described: Step 1: In the first step, in order to start scheduling for constrained resource projects, some information must be entered that are listed in section 3.1.2.
Step 2: At this stage, the algorithm calculates the time of activities according to the triangular distribution function, according to the information entered in the previous step, and shows the matrix of the time of the activities.
Step Three: Calculate the amount of resources used to perform activities at this stage and show them.
Step 4: At this point, the algorithm identifies the type of relationship between the project activities and the required latency between the activities using the values entered in the priority matrix, Relation type, and Lag in the first step.
Step 5: Algorithm After calculating the time and amount of resources used to perform activities and identifying the need for our relationships between activities, the algorithm chooses, using MODM techniques, a state of each activity that has the lowest cost, the maximum profit, the minimum time, and the highest Have quality.
Step 6: The project starts in day 1.
Step 7: At this point, the algorithm starts the scheduling of the other project activities with the necessary relationship between them after scheduling the first activity.
Step 8: At this point, the algorithm calculates the amount of resource use per working day.
Step 9: Algorithm This step calculates the number of activities that are divided to avoid over-allocation of resources per business day.
Step 10: The algorithm calculates the value of each of the target functions and the value of the multiple-objective function.
Step 11: The Gantt algorithm shows the proposed chart for the project.
Step 12: The number of divided activities, the desired value of the multi-OFV, the project completion time, the total cost of the project, the quality of the project, and the project's profit.
Step 13: At this point, the algorithm shows the cumulative graph of resource usage separately for each source and the duration of the problem.

RESULTS AND DISCUSSION
In this section, indicators for analyzing and interpreting the results and describes the preliminary information of the experiments will be explained first. Then, the experiments that are extracted in Delgoshaei et al. (2017) will be solved using the proposed method and results are compared with the mentioned reference. In continue the results will be analyzed using the measuring indexes. Finally, the proposed algorithm will be used for a project with real data to verify the performance of it. A heuristic algorithm is coded in Matlab® 2016 software that is installed on a Core i7 laptop with a dual-core processor and 8 GB of RAM.

Measuring the performance of the proposed Heuristic
In this section 2 indicators are defined to check the performance of the proposed algorithm.

Upper Limit Index
The upper bound depicts a practical solution space for the algorithm. This value helps to calculate the horizons of the project and verify its accuracy, which means that if the time horizon or project does not exceed than the upper bound value, the scheduling that is considered by the algorithm as an alternative schedule.
This method calculates the upper bound of the problem by finding a possible initial solution to the problem while all activities are executed one by one respecting to their priorities and lags (if any): To calculate the boundary of the project, it is necessary to find the maximum amount of time for each project activity in different scenarios from the matrix d and sum these maximal values with the sum of the values of the delay matrix (Lag).

MSI
Another method for evaluating the results is to calculate the MSI index for schedules. The purpose of this index is to assess the impact of constrained resources on project time. The upper bound is considered as the upper limit of the MSI index of a project, and any greater value can be considered as an unfeasible solution.
MSI index can help to measure the percentage of a delayed project due to constraints in resource provision:

Solving Numerical Experiments Using the Proposed Method
In this section, the a number of case studies that are solved by Delgoshaei et al. (2017) will be used. To examine performance of the proposed algorithm, 24 small, medium and large scale experiments with 5, 6, 13, 15, 18, 20, 25, 30, 40, 50, 100 and 200 variables are taken into account in 2 modes of fixed resource and durations of activities and uncertainty of resource availability and multimode activities. For this purpose, a triangulation distribution function is defined in the algorithm to estimate the amount of resource availability in pestimistic, optimistic and most probable conditions. To evaluate the effectiveness of the proposed model, each probabilistic experiment is solved in two modes: normal scheduling and resource constrained scheduling. Then, to examine the quality of the gained solutions, the upper bound and the MSI index are applied. The parameters of each case study are shown by Table 3. The results of solving the experiments while resource availability is fixed are shown by Table 4. Then, the outcomes of the case studies while resource availability are limited, are presented in Table 5. The results of the experiments where parameters are gained from Delgoshaei et al. (2017) are presented in Table 6.     In order to evaluate the proposed algorithm, the results presented in Table 4 will be compared with the solutions that are gained by Delgoshaei et al. (2017). Figure 5 shows that in almost all cases, the proposed heuristic could achieve the same or even shorter makespan. Figure 6 represents the results of profits gained by solving the case studies. It is shown that the proposed algorithm can provide better results comparing to the Delgoshaei et al. (2017). Similarly Figure 7 compares the solving time of the proposed algorithm comparing to the base research. The outcomes also indicated that there are no resource over allocation observed in the solved case studies.

Solving a Medium Scale Experiment in Detail
The experiment 8 is solved with the same parameters and considering the possible modes for activity execution, which leads to different possible durations for each activity and the limited resources used to perform the activities by the algorithm. In this section, the allocation of resources for experiment 8 in normal scheduling and constrained resource scheduling will be compared. The Gantt chart that proposed by the algorithm using relaxed and constrained resources is shown by Figures 8 and 9 respectively. Figures 10 to 15 show that since the experiment with the uncertainty of the time of activities and the volume of resources usage are more likely to resource over-allocation, the algorithm used more splits on activities to prevent resource over-allocation.
1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 8 8 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 12 12 12 12 12 13 13 13  Activity ID Calender Figure 8. Chart Gantt Chart Experiment 8 (before using the method) 1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 8 8 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 12 12 12 12 12 13 13 13   The cumulative resource consumptions are shown by Figure 10 and Figure 11, with regard to the uncertainty of the time of activities and the amount of resources used during the project calendar for each resource. As shown by Figures 10 and 11, the slope of the cumulative use graph of the resources is matched after the proposed method. The cumulative usage graphs in Figures 10 and 11 show that the proposed method scheduling can provide accurate schedules to use. Figure 16 compares the amount of the days where resource overallocation is observed before and after using the heuristic while there are no resource access limitations. Similarly, the same experiments are solved again while the resource constrained are taken into consideration ( Figure 17).   According to Tables 6 and 7 and Figure 18, the algorithm for small-scale experiments can prevent resource over-allocation by postponing the activities in their floating time; and therefore, the makespan of the project does not exceeded than the due date.  The chart of the makespan of the experiments in Figure 19 shows that in all investigated trials, the completion time of the project is shorter than the boundary. The upper bound is considered as the upper limit for the completion time of the project, and any greater value can be considered as an impractical solution. Therefore, given the fact that the number of days of the performed experiments has not been increased from the upper bound and does not exceed the value of the upper bound, the solutions obtained from our proposed algorithm are practical and their results are acceptable in terms of number of days. The results show that the proposed method can prevent over-allocation of resources, but constrained resources cause delays at the completion of the project, but as noted above, after the constrained resources, the completion time of the projects from the upper bound is not increased. The constrained resources in the experiments that have been reviewed can lead to a delay of up to 62% at the time of completion of the project. In this section, the duration of the experiment with the probable amount of time spent doing the activities and the amount of resources used to carry out the activities is compared with the time spent solving the experiments by the heuristic algorithm Delgoshaei et al. (2017).

Verification of the Algorithm with a Real Case Study
After examining the results of the experiment, using the proposed algorithm, the data is used as a part of the project to install electrical and mechanical installations of a construction project as a case study. Using this information given in Tables 8 and 9, the project will be scheduled using the proposed algorithm. To solve the algorithm, the data of one of the largest metal production and design companies in the oil and gas and petrochemical industries and the design and construction of a variety of metal skyscrapers of high towers have been used.  By requesting the company, all cash flow data has been kept secret and for this purpose, cash flows have been changed in a logical way. The results of the project can be found in the Table 10. After the project is solved by the proposed method, the upper limit of the project is 294 working days. Then, as with solved experiments, this project will first be solved by considering sufficient resources throughout the project. As shown by Table 10, in these conditions the project completion time is calculated to be 85 working days. Once again, the experiment is limited to resources by the algorithm, in which case the completion time of the project is 92 working days. The algorithm can be achieved by delaying activities during their free float period and preventing resource over-allocation. Therefore, the division of no activity into this project is not observed in the form. The symbolic profit of the project is reported at $ 32,325.

CONCLUSION AND RECOMMENDATIONS
During the project scheduling process, managers are usually concern with more than one single objective. In most of the cases, they aim to utilize objectives such as makespan, cost and quality simultaneously. Moreover, one major shortcoming of RCPSs is resource over-allocation. Eventually, existence of uncertainty in resource availability and activity duration, which is unavoidable, causes project scheduling to be more complicated. So far, various research has been presented in the area of the scheduling of constrained resource projects. These papers feature various features such as uncertainty at the time of project execution, discontinuation and division of activities and preparation time are considered. In this research, a new multi-objective method is proposed for scheduling MRCPSPs in the presence of resource and duration uncertainty. To solve the developed model, a heuristic algorithm is proposed which is able to consider preceding relations and lags between activities and improve NPV, Makespan and quality of activities simultaneously.
Using outcomes of the 24 case studies from the literature, it is found that the proposed algorithm could solve all studied cases in small, medium and large scales very fast and accurate and provided high quality schedules to utilize time, cost and quality objectives. The outcomes also indicated that the proposed method can prevent over-allocation by recognizing the over-allocated points and making split on less important over-allocated activities (in terms of NPV, Makespan and quality). The proposed algorithm can be considered among the fastest scheduling algorithms as it can solve the experiments with 500 activities, 50 modes and 50 resources types in less than a minute. Comparing the outcomes of the model with the similar algorithm in the literature showed that the proposed algorithm in this research can provide better solutions in terms of NPV, Makespan and quality in an average of 12% completion time of these projects and 7% of NPV.
This research can be expanded by measuring the impact of risks of executing activities and resource provision that threaten the executing activities and providing resources. Moreover, the current algorithm can be tailed to be applied for multi-objective project portfolio selection problem.

ACKNOWLEDGEMENTS:
Authors would like to appreciate the editor and anonymous reviewers for their positive and constructive comments during the reviewing process of the paper.