1 Introduction and literature review

A project is considered as a set of activities or tasks that are related to each other with precedence relationship. Each activity has a definite time and some required type of resources to be executed. The process of executing the tasks to make theproject completely executed is called scheduling process. The scheduling project is the process of allocating resources to activities to be executed in aspecific order due to the precedence relationship, required, and available resources to achieve aspecific objective(s) such as minimize the makespan and/or minimizing the cost of executing the project. Scheduling and managing project is very important and hot topics in project management science. Project management is the science of planning, organizing and managing resources to make successful completion of specific project objectives. There are two types of project scheduling, deterministic project scheduling that consider all information such as times for activities, types of used resources, required resources, available resources and precedence relationships about the scheduling problem are well known and constant during the execution process. The real case may conflict with the concept of the deterministic project scheduling, where in many cases the planned data may differ from the planned data such as times for activities may exceed than planned, the resources may be unavailable and so on. The other type of scheduling problem that considers the real case is the dynamic scheduling problem that considers all parameters of the dynamicity conditions, i.e. the scheduling should be flexible for the dynamicity features of the environment as explained by Davenport. Multi-mode resource-constrained projects (MMRCP) are one of the types of projects, where all or some of theactivities of MMRCP have more than one execution mode. Each execution mode has its own execution data about this activity such as the activity time, resource requirements, resource availability, and precedence relationship. The data for each execution mode is different from all other data of different modes for the same activity. The goal is to specify which mode for each multi-mode activity should be considered for the scheduling process to achieve the objectives of the scheduling. The most important objective is to minimize the project makespan (Chen et al. 2017). Dynamic project scheduling is refered to the dynamicity nature of project management. It has three dimensions, known as baseline scheduling, schedule risk analysis and project control as explained (Vanhoucke 2012, 2014; Uyttewaal 2005). Projects with activities executed in only one mode are refered to single mode projects. The activities with more than one mode of execution are called multi-mode projects, where each activity can be executed in more than one mode of execution, each mode has specific different times and required resources from any different mode. These modes are distinct. The multi-mode resource-constrained project scheduling problem (MRCPSP) is an extension of the single-mode resource-constrained project scheduling problem (SMRCPSP), where each activity has several non-preemptive execution modes. Each execution mode of an activity has different resource requirements and a related duration due to Tesng and Chen (2009). The NP-hard problem has various exact, heuristics, and meta-heuristic solving procedures. Many studies have been done for solving the multi-mode resource-constrained project scheduling problem (MMRCPSP). Heuristics, meta-heuristics and sampling schemas are considered as most common and successful approaches to solving MMRCPSP. Multi-mode resource-constrained project scheduling problem (MMRCPSP) with renewable resources is presented by Colak et al. (2013). In MMRCPSP, an activity can be executed in one mode of more than one possible mode; each mode having different activity durations and different resource requirements. Assuming that all resources are renewable during the time of project execution such as labor and machines, the important two decisions for this problem are the start time for each activity and which mode should be selected for scheduling. Bastani and Yakhchali (2013) devised OR model for MMRCPSP, where the executions of multi-modes are available for each of the activities of the project and pre-emptive extension of the activities which make the splitting of activity is allowable. In addition to two important constraints about the length and the number of asplit in each activity are also added. Andreica and Chira (2014) consider a new operator for permutation-based encoding.This operator is dealing well with both RCPSP and MMRCPSPas it preserves the precedence constraints when obtaining the offspring from feasible parents. The proposed operator is basically depending on using of genetic information from the best individual and the two parents considered for recombination. Experimental results performed on ProGen project instances indicate a superior performance of the proposed operator, thus emphasizing the role that recombination has in accelerating the search in an evolutionary process. An extensive study of all recombination operators used for RCPSP and MRCPSP will be performed and the experiments will be extended to more instances with more activities. Buddhaklsomsiri and Kim (2007) introduced a priority rule-based heuristic for MMRCPSP with the splitting of activities around unavailable resources allowed. Assuming that all considered resources are renewable and each resource type may not be available at all times. A new concept called moving resource strength is introduced to make sense of when the activity splitting is important during the scheduling process. The moving resource strength concept is implemented in priority rule-based heuristics to control activity splitting when scheduling. Many comparisons of the performance of acombination of activity-mode priority rules used in the heuristics are provided. Computational experiments demonstrate the effectiveness of the heuristic in reducing project makespan and minimizing activity splitting. Cheng et al. (2015) introduced new model for MMRCPSP with non-preemptive activity splitting. The new model explains the difference between splitting andpreemption of the activities in the resource-constrained project scheduling problem RCPSP. Each activity can be presented in different multi-modes and both renewable and non-renewable resources. The new technique achieves high strength in scheduling process. Yogesh and Dinesh (2016) devised a technique for MMRCPSP. The proposed genetic algorithm acts as compare to bounded, deterministic catalogue of searching method. Experimental results indicate that MRCPSP using genetic algorithm achieves significance improvements than other methods. MRCPSP is considered as one of the important objectives of the current study in addition to the previous cited goal. Many research techniques are presented in the last years for project scheduling problems under the limitation of resource availability structure and in the aim of optimizing the usability of the presented constraint of resource for achieving maximum usability of the resources and minimizing the executed makespan for the scheduled projects. Etgar et al. (2018) presented a novel method for solving the previously un-researched problem of multi-release work plan (MRWP). Also they suggested a technique for improving the run-time of meta-heuristic search optimizations for this problem. They applied a clustering algorithm, based on novel similarity coefficients to reduce complexity and accelerate the convergence of a clonal selection search algorithm. There are different approaches for solving the CRPSP and MM-CRPSP, these approaches for solution are exact solution approaches (Abdolshah 2014), heuristic and meta-heuristic solution approaches (Chand et al. 2018; Villafáñez et al. 2018; Kolisch and Hartmann 2006), such as ant colony optimization (ACO), genetic algorithms (GA), and particle swarm optimization (PSO). These presented approaches are considered as mimic processes in their nature in the aim of achieving and guarantee the optimal solutions, Simulated annealing (SA) algorithm to achieve the overall optimal solution or at least a feasible and satisfied one. A teaching–learning-based optimization algorithm (TLBO) Constraint Programming (CP) and Boolean Satisfaction Solving (SAT) as solution scenarios. The above principles for the solution of MRCPSP instances are extended (Golenko-Ginzburg et al. 2003; Alcaraz et al. 2003; Tareghian et al. 2007; Nonobe and Ibaraki 2002; Valls et al. 2004; Merkle et al. 2002; Fleszar and Hindi 2004; Tormos and Lova 2001; Sprecher 2002; Zhou et al. 2013; Wu et al. 2014; Afshar-Nadjafi 2014; Çebi and Otay 2015; Asta et al. 2016; Zoraghi et al. 2017; Kumar and Vidyarthi 2016; Kaveh et al. 2016; Zheng et al. 2017; Schnell and Harti 2017). In view of the changing environmental conditions, a lot of research has been done to overcome the problem of changing conditions in the environment and uncertainty and also raise the level of performance of projects (Rahmani and Ramezanian 2016; Alhumrani and Qureshi 2016; Kellenbrink and Helber 2016; Ayodele et al. 2016; Afshar-Nadjafi 2016; Li and Demeulemeester 2016; Wang and Zheng 2018; Afshar-Nadjafi et al. 2015).

2 Measuring criteria for scheduling projects

No single scheduling procedure is considered the best and achieves the optimal for all projects. Project’s features are varying from one project to another based on the network topology. The efficiency for the scheduling procedure is depend on many features such as the network topology, number of activities, number of nodes, number of resource types projects used by the project, and more other features that affect the efficiency for the scheduling procedures. There are two measuring criteria for scheduling projects; these are the complexity measure and performance measure.

2.1 Complexity measure

Complexity measurescanbe consider as one of the most important indicators in determining planning, coordination and control requirements of the project and is usually is a good indicator of the time spent, during scheduling and planning. Therefore a project scheduling complexity measure can be an important criterion in the selection of the appropriate project organization form as well as other managerial decisions. Many factors correlate the project scheduling complexity measures including number of activities, level of details, network shape, network topology, size of project, type and used equipments,etc. Many researchers as it has been highlighted in the previous slide tray to design complexity measures for scheduling process of projects based on number of activities belong to the projects, duration time of the project, number of resource types consumed by the project, number of nodes belong to the project, maximum number of precedence and successors of activities, project duration time…etc. This is because the performance of the solution procedure affected by the project complexity as it has been highlighted from the literature survey.In the presented research the multi-mode condition of activity execution will be considered as a parameter for complexity measure of scheduling process. The complexity are related to the degree to which the projects are more complex or less complex based on the project topology, number of activities and nodes of the project, and number of required and available resources.

2.2 Performance measure

The performance measures are important for running the projects and achieving the acceptable strategies performance. The purpose of performance measure is to select the best scheduling strategy for the projects. Selection of scheduling strategy depends on two features, the first one is the network topology and the second feature is the availability of resources. As the complexity measure, there are many attempts for measuring the performance measure for the single mode resource constrained scheduling projects such as, Total Project Delay, Weighted Total Delay, Average Saved Resource Time, Total Resource Idle Time, Resource Utilization, Project Delay, Average Smoothing Efficiency Factor, Average Critically Efficiency Index, Smoothing Algorithm, Scheduling efficiency, Average Resource Utilization and Scheduling Efficiency, Sum of Square Deviation, and Sum of Absolute Deviation. There are many attempts for enhanced the level of performance (Maghsoudlou et al. 2016; Mogaadi and Chaar 2016; Gen et al. 2017; Knyazeva et al. 2017; Zhou et al. 2013; Boushaala 2010; Shouman 2003; Chakrabortty et al. 2017; Chiu and Chiu 2005; Yakhchali and Ghodsypour 2010; Ghoddousi et al. 2017).

3 Proposed selection criteria for MMRCPSP

Projects with multi-mode condition means that some of activities of this project have more than one strategy of execution, i.e., these activities have more than one time of execution and different types and available amount of resources. To know which mode should be considered in the execution phase to attain specific objective, selection criteria should be considered for this purpose. With the core objective of minimizing the makespan of the project, selection criteria should be considered to achieve this objective. In this paper we suppose two assumptions for dealing with Multi-Mode projects as selection criteria for selecting the best mode for executing the projects based on logic and scientific based to achieve the objective of minimizing the project makespan. These assumptions determine which mode should be selected for all multi-mode activities to make the execution of the projects be completed.

These two selection criteria for MMRCSPP are:

  1. 1.

    According to the purpose of minimizing the makespan of the project we execute the project’s activities at the minimum time mode, this mode is considered as logically and scientifically based accepted for minimizing the total execution time for projects, i.e., consider the mode of minimum time (CPmin).

  2. 2.

    The secondly proposed selection criteria are to consider the modes of activities having the max free float of the project for the purpose of minimizing the total time of execution (the makespan). Where the considered modes of max free float assisted in execution the activities as earliest as possible and make the total execution time as min as possible for the projects, i.e., consider the modes of activities that provide the maximum free float (CPmax).

3.1 Complexity and performance measures for MMRCPSP

According to the assumption for selection criteria that proposed in this paper, we reformulated and applied some well-known performance and complexity measures on multi-mode resource constrained projects based on the first selection criteria (I), and the second one (II). These criteria measures are Network density, Criticality Index (CI), Coefficient of Network Complexity [CNC (B), CNC (S)], and Degree of Complexity Measure (DOCM). And Total project Delay (TPD), Weighted Total Delay (WTD), Average Saved Resource Time (ASRT), Total Resource-Idle Time (TRIT), Resource Utilization (RU), Project Delay (PD), Average Smoothing Efficiency Factor (ASEF), Average Criticality Efficiency Index (ACEI), Smoothing Algorithm (SA), Scheduling Efficiency (SE), Average Resource Utilization and Scheduling Efficiency (ARUSE), Sum Of Square Deviation (SOSD), and Sum of Absolute Deviation (SOAD). These are the most popular measures of complexity and performance for Single-Mode Resource Constrained Projects in many researchs as mentioned in the previous sections. According to the two assumptions proposed for dealing with MMRCSP we reformulated these criteria measures to compatible with MMRCP and some proposed criteria measures for MMRCP will be added and tested also in this paper as a complexity and performance measures for MMRCP.

3.2 Complexity and performance measures equations

According to the two proposed selection criteria for dealing with MMRCPSP the complexity and performance measure can be formulated as follow:

$${\text{Network density}}\left( {\text{I}} \right)=({\text{cp}}_{\text{min}})/({\text{cp}}_{\text{min}}+{\text{total}}~{\text{free~slack}}~{\text{in}}~{\text{cp}}_{\text{min}})$$
(1)
$${\text{Network density }}\left( {{\text{II}}} \right) = ({\text{cp}}_{{{\text{max}}}} )/({\text{cp}}_{{{\text{max}}}} {\text{ + total}}~{\text{free}}~{\text{slack}}~{\text{in}}~{\text{cp}}_{{{\text{max}}}} )$$
$${\text{Criticality Index }}\left( {\text{I}} \right) = {\raise0.7ex\hbox{${\left( {\sum\limits_{{{\text{i = 1}}}}^{{{\text{cp}}_{{{\text{min}}}} }} {~[{\text{Resource}}~{\text{Required}}]~{\text{/cp}}_{{{\text{min}}}} ~} } \right)}$} \!\mathord{\left/ {\vphantom {{\left( {\sum\limits_{{{\text{i = 1}}}}^{{{\text{cp}}_{{{\text{min}}}} }} {~[{\text{Resource}}~{\text{Required}}]~{\text{/cp}}_{{{\text{min}}}} ~} } \right)} {\left( {\sum\limits_{{{\text{i = 1}}}}^{{{\text{cp}}_{{{\text{min}}}} }} {~[{\text{Resource}}~{\text{Required}}]{\text{/cp}}_{{{\text{min}}}} } } \right)}}}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{${\left( {\sum\limits_{{{\text{i = 1}}}}^{{{\text{cp}}_{{{\text{min}}}} }} {~[{\text{Resource}}~{\text{Required}}]{\text{/cp}}_{{{\text{min}}}} } } \right)}$}}$$
(2)
$${\text{Criticality Index }}\left( {{\text{II}}} \right){\text{ }} = {\text{ }}{\raise0.7ex\hbox{${\left( {\sum\limits_{{{\text{i = 1}}}}^{{{\text{cp}}_{{{\text{max}}}} }} {[{\text{Resource}}~{\text{Required}}]{\text{/cp}}_{{{\text{max}}}} } } \right)}$} \!\mathord{\left/ {\vphantom {{\left( {\sum\limits_{{{\text{i = 1}}}}^{{{\text{cp}}_{{{\text{max}}}} }} {[{\text{Resource}}~{\text{Required}}]{\text{/cp}}_{{{\text{max}}}} } } \right)} {\left( {\sum\limits_{{{\text{i = 1}}}}^{{{\text{cp}}_{{{\text{max}}}} }} {[{\text{Resource}}~{\text{Required}}]{\text{/cp}}\;{\text{cp}}_{{{\text{max}}}} } } \right)}}}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{${\left( {\sum\limits_{{{\text{i = 1}}}}^{{{\text{cp}}_{{{\text{max}}}} }} {[{\text{Resource}}~{\text{Required}}]{\text{/cp}}\;{\text{cp}}_{{{\text{max}}}} } } \right)}$}}$$
$${\text{CNC}}\left( {\text{B}} \right)\left( {\text{I}} \right)=\left[ {(P/D{C_{c{p_{min}}}})\left\{ {\left( {1 - \frac{1}{A}} \right) \times c{p_{min}}+\mathop \sum \limits_{{{\text{j=1}}}}^{R} \left( {\mathop \sum \limits_{{i=1}}^{A} {t_i}{r_{ijc{p_{min}}}}/R{A_j}} \right)} \right\}} \right]$$
(3)
$${\text{CNC}}\left( {\text{B}} \right)\left( {{\text{II}}} \right)=\left[ {(P/D{C_{c{p_{min}}}})\left\{ {\left( {1 - \frac{1}{A}} \right) \times c{p_{max}}+\mathop \sum \limits_{{{\text{j=1}}}}^{R} \left( {\mathop \sum \limits_{{i=1}}^{A} {t_i}{r_{ijc{p_{max}}}}/R{A_j}} \right)} \right\}} \right]$$
$${\text{CNC}}\left( {\text{S}} \right)\left( {\text{I}} \right)=\left[ {\frac{{{W_{c{p_{min}}}}}}{{(1 - A{c_{c{p_{min}}}}/{\text{A}})}}} \right]\left[ {\frac{P}{{D{C_{c{p_{min}}}}}}\left\{ {\left( {1 - \frac{1}{A}} \right)*c{p_{min}}+\mathop \sum \limits_{{{\text{j=1}}}}^{R} \left( {\frac{{\mathop \sum \nolimits_{{i=1}}^{A} {t_i}{r_{ijc{p_{min}}}}}}{{R{A_j}}}} \right)} \right\}} \right]$$
(4)
$${\text{CNC(S) (II) =}}\left[ {\frac{{{W_{c{p_{max}}}}}}{{(1 - A{c_{c{p_{max}}}}/{\text{A}})}}} \right]\left[ {\frac{P}{{D{C_{c{p_{max}}}}}}\left\{ {\left( {1\frac{1}{A}} \right) \times c{p_{max}}+\mathop \sum \limits_{{{\text{j=1}}}}^{R} \left( {\frac{{\mathop \sum \nolimits_{{i=1}}^{A} {t_i}{r_{ijc{p_{max}}}}}}{{R{A_j}}}} \right)} \right\}} \right]$$
$${\text{TPDI}}\left( {\text{I}} \right)=\mathop \sum \limits_{{j=1}}^{M} \left( {{T_{sj}} - {T_{sj}}_{{c{p_{min}}}}} \right)$$
(5)
$${\text{TPDI }}\left( {{\text{II}}} \right)\sum\limits_{{j=1}}^{M} {\left( {{T_{sj}} - {T_{sj}}_{{c{p_{max}}}}} \right)}$$
$${\text{WTD }}\left( {\text{I}} \right){\text{ }}=\mathop \sum \limits_{{{\text{j=1}}}}^{M} \mathop \sum \limits_{{{\text{i=1}}}}^{N} {W_N}{R_{NT}}\left( {{T_{sj}} - {T_{Oj}}_{{c{p_{min}}}}} \right)$$
(6)
$${\text{WTD }}\left( {{\text{II}}} \right){\text{ }}=\mathop \sum \limits_{{{\text{j=1}}}}^{M} \mathop \sum \limits_{{{\text{i=1}}}}^{N} {W_N}{R_{NT}}\left( {{T_{sj}} - {T_{Oj}}_{{c{p_{max}}}}} \right)$$
$${\text{ASRT}}\left( {\text{I}} \right)={{\left( {\mathop \sum \limits_{{{\text{j=1}}}}^{M} \mathop \sum \limits_{{{\text{i=1}}}}^{N} c{p_{c{p_{min}}}}{{\left( {{R_{1ij}} - {R_{2ij}}} \right)}_{c{p_{min}}}}} \right){\text{}}} \mathord{\left/ {\vphantom {{\left( {\mathop \sum \limits_{{{\text{j=1}}}}^{M} \mathop \sum \limits_{{{\text{i=1}}}}^{N} c{p_{c{p_{min}}}}{{\left( {{R_{1ij}} - {R_{2ij}}} \right)}_{c{p_{min}}}}} \right){\text{}}} {\left( {{\text{M}}} \right)}}} \right. \kern-0pt} {\left( {{\text{M}}} \right)}}$$
(7)
$${\text{ASRT }}\left( {{\text{II}}} \right)={{\left( {\mathop \sum \limits_{{{\text{j=1}}}}^{M} \mathop \sum \limits_{{{\text{i=1}}}}^{N} c{p_{c{p_{max}}}}{{\left( {{R_{1ij}} - {R_{2ij}}} \right)}_{c{p_{max}}}}} \right)} \mathord{\left/ {\vphantom {{\left( {\mathop \sum \limits_{{{\text{j=1}}}}^{M} \mathop \sum \limits_{{{\text{i=1}}}}^{N} c{p_{c{p_{max}}}}{{\left( {{R_{1ij}} - {R_{2ij}}} \right)}_{c{p_{max}}}}} \right)} {\left( {{\text{M}}} \right)}}} \right. \kern-0pt} {\left( {{\text{M}}} \right)}}$$
$${\text{RU}}\left( {\text{I}} \right)={{\left( {\mathop \sum \limits_{{i=1}}^{N} \left[ {{{\left\{ {\frac{{\mathop \sum \nolimits_{{{\text{k}}=1}}^{{\text{A}}} {t_k}{r_{ik}}}}{{{R_i}{P_c}}}} \right\}}_{c{p_{min}}}} \times 100} \right]{\text{}}} \right)} \mathord{\left/ {\vphantom {{\left( {\mathop \sum \limits_{{i=1}}^{N} \left[ {{{\left\{ {\frac{{\mathop \sum \nolimits_{{{\text{k}}=1}}^{{\text{A}}} {t_k}{r_{ik}}}}{{{R_i}{P_c}}}} \right\}}_{c{p_{min}}}} \times 100} \right]{\text{}}} \right)} {\left( {{\text{N}}} \right)}}} \right. \kern-0pt} {\left( {{\text{N}}} \right)}}$$
(8)
$${\text{RU}}\left( {{\text{II}}} \right)={{\left( {\mathop \sum \limits_{{i=1}}^{N} \left[ {{{\left\{ {\frac{{\mathop \sum \nolimits_{{{\text{k}}=1}}^{{\text{A}}} {t_k}{r_{ik}}}}{{{R_i}{P_c}}}} \right\}}_{c{p_{max}}}} \times 100} \right]{\text{}}} \right)} \mathord{\left/ {\vphantom {{\left( {\mathop \sum \limits_{{i=1}}^{N} \left[ {{{\left\{ {\frac{{\mathop \sum \nolimits_{{{\text{k}}=1}}^{{\text{A}}} {t_k}{r_{ik}}}}{{{R_i}{P_c}}}} \right\}}_{c{p_{max}}}} \times 100} \right]{\text{}}} \right)} {\left( {{\text{N}}} \right)}}} \right. \kern-0pt} {\left( {{\text{N}}} \right)}}{\text{}}$$
$${\text{PD}}\left( {\text{I}} \right){\text{ }}={T_{sc{p_{min}}}} - {T_{ojc{p_{min}}}},{T_{sc{p_{min}}}} \geqslant {T_{ojc{p_{min}}}}$$
(9)
$${\text{PD}}\left( {{\text{II}}} \right)={T_{sc{p_{max}}}} - {T_{ojc{p_{max}}}},{T_{sc{p_{max}}}} \geqslant {T_{ojc{p_{max}}}}$$
$${\text{ASEF}}\left( {\text{I}} \right)=\left( {\left\{ {\mathop \sum \limits_{{j=1}}^{M} \mathop \sum \limits_{{i=1}}^{N} cp\left( {{R_{1ij}} - {R_{2ij}}} \right)/{R_{2ij}}} \right\}{_{c{p_{\hbox{min} }}}}} \right)\Bigg/({\text{M}})$$
(10)
$${\text{ASEF}}\left( {{\text{II}}} \right){\text{ }}=\left( {{{\left\{ {\mathop \sum \limits_{{j=1}}^{M} \mathop \sum \limits_{{i=1}}^{N} cp\left( {{R_{1ij}} - {R_{2ij}}} \right)/{R_{2ij}}} \right\}}_{c{p_{\hbox{max} }}}}} \right)\Bigg/({\text{M}})$$
$${\text{ACEI}}\left( {\text{I}} \right){\text{ }}={{\left( {{{\left\{ {\mathop \sum \limits_{{{\text{j=1}}}}^{M} \mathop \sum \limits_{{{\text{i=1}}}}^{N} \mathop \sum \limits_{{d=1}}^{{D(J)}} \left( {\left( {{R_{2ijd}}/{R_{2ij}}} \right) - \left( {{R_{1ijd}}/{R_{1ij}}_{}} \right)} \right)} \right\}}_{c{p_{min}}}}} \right){\text{}}} \mathord{\left/ {\vphantom {{\left( {{{\left\{ {\mathop \sum \limits_{{{\text{j=1}}}}^{M} \mathop \sum \limits_{{{\text{i=1}}}}^{N} \mathop \sum \limits_{{d=1}}^{{D(J)}} \left( {\left( {{R_{2ijd}}/{R_{2ij}}} \right) - \left( {{R_{1ijd}}/{R_{1ij}}_{}} \right)} \right)} \right\}}_{c{p_{min}}}}} \right){\text{}}} {\left( {{\text{M}}} \right)}}} \right. \kern-0pt} {\left( {{\text{M}}} \right)}}$$
(11)
$${\text{ACEI}}\left( {{\text{II}}} \right)={{\left( {{{\left\{ {\mathop \sum \limits_{{{\text{j=1}}}}^{M} \mathop \sum \limits_{{{\text{i=1}}}}^{N} \mathop \sum \limits_{{d=1}}^{{D(J)}} \left( {({R_{2ijd}}/{\text{}}{R_{2ij}}) - ({R_{1ijd}}/{R_{1ij}})} \right)} \right\}}_{c{p_{max}}}}} \right){\text{}}} \mathord{\left/ {\vphantom {{\left( {{{\left\{ {\mathop \sum \limits_{{{\text{j=1}}}}^{M} \mathop \sum \limits_{{{\text{i=1}}}}^{N} \mathop \sum \limits_{{d=1}}^{{D(J)}} \left( {({R_{2ijd}}/{\text{}}{R_{2ij}}) - ({R_{1ijd}}/{R_{1ij}})} \right)} \right\}}_{c{p_{max}}}}} \right){\text{}}} {\left( {{\text{M}}} \right)}}} \right. \kern-0pt} {\left( {{\text{M}}} \right)}}$$
$${\text{SE}}\left( {\text{I}} \right){\text{ }}={\text{}}{\{ {\text{}}(1 - ({t_{s - }}{t_{o}}))/({t_{o}})\} _{c{p_{min}}}}$$
(12)
$${\text{SE }}\left( {{\text{II}}} \right){\text{ }}={\text{}}{\{ {\text{}}(1 - ({t_{s - }}{t_{o}}))/({t_{o}})\} _{c{p_{max}}}}$$
$${\text{ARUSE }}\left( {\text{I}} \right)=\left( {{\text{RU}}\left( {\text{I}} \right)+{\text{SE}}\left( {\text{I}} \right)} \right)/(2)$$
(13)
$${\text{ARUSE }}\left( {{\text{II}}} \right){\text{ }}=({\text{RU}}\left( {{\text{II}}} \right)+{\text{SE}}\left( {{\text{II}}} \right))/(2)$$
$${\text{DOCM}}\left( {\text{I}} \right)={\left\{ {{{\left( {\mathop \sum \limits_{{i=1}}^{n} \mathop \sum \limits_{{j=1}}^{n} {N_{pc}}} \right)} \mathord{\left/ {\vphantom {{\left( {\mathop \sum \limits_{{i=1}}^{n} \mathop \sum \limits_{{j=1}}^{n} {N_{pc}}} \right)} {\left( {\mathop \sum \limits_{{i=1}}^{n} \mathop \sum \limits_{{j=j+1}}^{n} ({t_{ij}} \times {X_{ij}})} \right)}}} \right. \kern-0pt} {\left( {\mathop \sum \limits_{{i=1}}^{n} \mathop \sum \limits_{{j=j+1}}^{n} ({t_{ij}} \times {X_{ij}})} \right)}}} \right\}_{c{p_{min}}}}$$
(14)
$${\text{DOCM }}\left( {{\text{II}}} \right){\text{ }}={\left\{ {{{\left( {\mathop \sum \limits_{{i=1}}^{n} \mathop \sum \limits_{{j=1}}^{n} {N_{pc}}} \right)} \mathord{\left/ {\vphantom {{\left( {\mathop \sum \limits_{{i=1}}^{n} \mathop \sum \limits_{{j=1}}^{n} {N_{pc}}} \right)} {\left( {\mathop \sum \limits_{{i=1}}^{n} \mathop \sum \limits_{{j=j+1}}^{n} ({t_{ij}} \times {X_{ij}})} \right)}}} \right. \kern-0pt} {\left( {\mathop \sum \limits_{{i=1}}^{n} \mathop \sum \limits_{{j=j+1}}^{n} ({t_{ij}} \times {X_{ij}})} \right)}}} \right\}_{c{p_{max}}}}$$
$${\text{SOSD }}\left( {\text{I}} \right)=\left\{ {{\text{}}\left( {{\text{deviation}}} \right) - \left( {\sum {of~resource~duration/CPM} } \right)} \right\}_{{c{p_{min}}}}^{2}$$
(15)
$${\text{SOSD}}\left( {{\text{II}}} \right)=\left\{ {{\text{}}\left( {{\text{deviation}}} \right) - \left( {\sum {of~resource~duration/CPM} } \right)} \right\}_{{c{p_{max}}}}^{2}$$
$${\text{SOAD}}\left( {\text{I}} \right)={\left\{ {\left| {\sum {\left( {{\text{deviation}}} \right)} } \right. - \left( {\left. {\sum {of~resource~duration/CPM} } \right|} \right)} \right\}_{c{p_{min}}}}$$
(16)
$${\text{SOAD}}\left( {{\text{II}}} \right)={\left\{ {\sum {\left| {\left( {{\text{deviation}}} \right)} \right.} - \left( {\left. {\sum {of~resource~duration/CPM} } \right|} \right)} \right\}_{c{p_{max}}}}$$

3.3 Results for criteria measures according to selection criteria

In order to verify the performance of the proposed complexity and performance equations we selectedfive single projects, five multi-mode projects based on first selection criteria (I), and five multi-mode projects based on the second selection criteria (II). These test problemslisted in “Appendix 2”.

From the experimental results in Table 1, we could indicate that the proposed criteria for dealing with MMRCP are very effective to deal with these types of projects.As shown from the results in Table1, the results of the proposed criteria have the same trend and compatible with the results of well known measuring criteria of single-mode projects. For example, the network density as complexity measure described in the Table1 arranges the five considered single-mode projects according to the degree of complexity as follows, project 5, project 2, project 3, project 1, and project 4, where project 5is the most complex project and project 4 the least complex one from the five single mode projects. The same complexity measure arranges the five-multi mode projects considered based on the first proposed selection criteria [network density (I)] as follows, project 5, project 3, project 2, project 1, and project 4. Also, this complexity measure arranges the five-multi mode projects considered based on the second proposed selection criteria [network density (II)] in the same way, i.e., the project 5 are the most complex project and the project 4 is the least complex one. Also, CNC (B) as one of the important and known criteria for measuring the degree of complexity of single-mode projects, it arranges the five single projects as follow, project 1, project 4, project 5, project3, and project 2 as arranged descending based on the degree of complexity. And this is the same result for applying this complexity measure on the MMRCP based on the two selection criteria CNC (B) (I) and CNC (B) (II). And this is the case in all the results of the equations shown in Table 1. This confirms the effectiveness of the proposed selection criteria provided to measure the degree of complexity and performance measure for MMRCP. And this is meaning that the two suggested assumption for the selection criteria are very sensitive for dealing with the MMRCP as shown in Fig. 1a–c presented in Sect. 3.5.

Table 1 Results for applying the criteria measure according to the proposed selection criteria for both single and multi-mode projects
Fig. 1
figure 1

a Network density for five single and multi-mode projects based on two proposed selection criteria. b CNC (B) for five single and multi-mode projects based on two proposed selection criteria. c CNC (B) for five single and multi-mode projects based on two proposed selection criteria

3.4 Evaluating the proposed selection criteria for MMRCP

The efficiency, effectiveness, and compatibility of the proposed selection criteria for dealing with multi-mode resource-constrained projects are evaluated by considering the five different multi-moderesource-constrained projects presented in “Appendix 1”. The comparison between the effectiveness of the modified measuring criteria based on the selected criteria is presented in Fig. 1a–c as three complexity measure Network density, CNC (B), and CNC(S). It’s obvious from these figures that the proposed selection criteria have the same trends and with ahigh degree of compatibility with MMRCP.

4 The proposed complexity and performance measures for MMRCSP

In this section a set of complexity and performance measures were proposed for multi-mode resource constrained problems, the first three measures are concerned with the complexity measure of MMRCP and the last one is concerned with the performance measure for MMRCP. The first one is proposed complexity measure 1 contain several important parameters related to the multi-mode projects these parameters are the percent of multi-mode activities to the all project’s activities (AMM/A) where the AMM is the number of multi-mode activities in the project and A is the number of activities in the project. This parameter is very important for computing the complexity for MMRCP where the more number of multi-mode activities in the project the more complexity of the project (i.e. if there are two projects of the same number of activities, the project with a max number of multi-mode activities is the more complex project). Another parameter related to the number of available strategies of scheduling\(\left( {\mathop \prod \nolimits_{{i=1}}^{A} {N_i}} \right)\) where \({N_i}\) is thenumber of modes for each multi-mode activity. The product of each number of modes for multi-mode activities determined the number of scheduling strategies. This parameter is also very important for the expression of complexity of the project. The second proposed criteria measure (PCM2) is also about the complexity of the MMRCP based on the two previous assumption for dealing with multi-mode projects these measures is the summation of the product of activities’ times multiplied by one in case of single mode activity or the number of modes in case of multi-mode ones divided by the number of activities of the project. The third proposed complexity measure (PCM3) is considering the number of parallel paths in the project. The last proposed criteria measure (PPM) is concerned with the performance measure for the MMRCP, this measure is the summation of the difference between the available and required resources at all units of time of project execution for all types of used resources multiplied by the weighted importance of these resources types. These proposed criteria measures are applied on the five tests MMRCP projects.

$${\text{PCM 1 }}={\raise0.7ex\hbox{${\left( {\mathop \prod \nolimits_{{i=1}}^{A} {N_i}/{A_{MM}}} \right)}$} \!\mathord{\left/ {\vphantom {{\left( {\mathop \prod \nolimits_{{i=1}}^{A} {N_i}/{A_{MM}}} \right)} {({A_{MM}}/A)}}}\right.\kern-0pt}\!\lower0.7ex\hbox{${({A_{MM}}/A)}$}}$$
(17)
$${\text{PCM 2}}\left( {\text{I}} \right){\text{ }}={\left\{ {\left( {\mathop \sum \limits_{{i=1}}^{A} {t_i}{M_i}} \right)/(A)} \right\}_{c{p_{min}}}}$$
(18)
$${\text{PCM2 }}\left( {{\text{II}}} \right){\text{ }}={\left\{ {\left( {\mathop \sum \limits_{{i=1}}^{A} {t_i}{M_i}} \right)/(A)} \right\}_{c{p_{max}}}}$$
$${\text{PCM3 }}\left( {\text{I}} \right){\text{ }}={\left\{ {\left( {\mathop \sum \limits_{{i=1}}^{n} \mathop \sum \limits_{{j=1}}^{n} {N_{pc}}} \right)\Bigg/\left( {\mathop \sum \limits_{{i=1}}^{n} \mathop \sum \limits_{{j=j+1}}^{n} ({t_{ij}} \times {M_{ij}})} \right)} \right\}_{c{p_{min}}}}$$
(19)
$${\text{PCM3 }}\left( {{\text{II}}} \right){\text{ }}={\left\{ {\left( {\mathop \sum \limits_{{i=1}}^{n} \mathop \sum \limits_{{j=1}}^{n} {N_{pc}}} \right)\Bigg/\left( {\mathop \sum \limits_{{i=1}}^{n} \mathop \sum \limits_{{j=j+1}}^{n} ({t_{ij}} \times {M_{ij}})} \right)} \right\}_{c{p_{max}}}}$$
$${\text{PPM }}\left( {\text{I}} \right)=\mathop \sum \limits_{{{\text{j=1}}}}^{N} \mathop \sum \limits_{{{\text{t=1}}}}^{{c{p_{min}}}} {W_i}{\text{t}}\left( {{R_i} - {R_t}} \right)$$
(20)
$${\text{PPM }}\left( {{\text{II}}} \right)=\mathop \sum \limits_{{{\text{j=1}}}}^{N} \mathop \sum \limits_{{{\text{t=1}}}}^{{c{p_{max}}}} {W_i}{\text{t}}\left( {{R_i} - {R_t}} \right)$$

Table 2 shows the result of applying the proposed complexity and performance measures on the five multi-mode projects, the first one PCM1 is applied for MMRCP as it is and it obvious from the table that it’s very sensitive to the complexity as the different result for all five multi-mode projects especially for project 2 and project 5 the two projects with the same numbers of activities but the three proposed complexity measure attain the different complexity, for example, PCM1 arranges the projects from the issue of complexity as 4, 3, 2, 1, and 5 where project 4 is the most complex project from the other five projects and project 5 is the least complex one. And so on. The last proposed measure for performance PPM yields results as shown in Table 2 for five single projects and multi-mode projects based on two proposed selection criteria. These projects data sets are listed in “Appendix 2”.

Table 2 Results for applying the proposed MMRCP complexity and performance measures

4.1 Evaluating proposed complexity and performance measures for MMRCP

The efficiency, effectiveness,and compatibility of the proposedcomplexityand performance measures are evaluated by comparison between some performance measures based on selection criteria and the proposed performance measure as shown in Fig. 2a–c. where we compare between the proposed performance measure PPM and some other performance measure SOAD, PD, and ARUSE that applied on single projects Fig. 2a, on multi-mode (I) Fig. 2b, and on multi-mode (II) Fig. 2c. As obvious from the three figures that the proposed performance measure with the same trends and with high performance than the other performance measures.

Fig. 2
figure 2

a Comparison between the proposed performance measure and some other performance measure for five single mode projects. b Comparison between the proposed performance measure and some other performance measure for five multi-mode projects based on selection criteria (I). c Comparison between the proposed performance measure and some other performance measure for five multi-mode projects based on selection criteria (II)

5 Conclusions and future work

In this paper, two selection criteria (I) and (II) for dealing with multi-mode resource-constrained project scheduling problems were developed as selection criteria for scheduling multi-mode projects. According to these selection criteria, we reformulate some well-known complexity and performance measure for measuring the degree of complexity and measuring of performance for MMRCPSP. Also, we apply these modified measures based on the suggested selection criteria for five single mode projects, five multi-mode projects based on selection criteria I, and five multi-mode projects based on selection criteria (II), the obtained results were compatible with MMRCPSP. Also, we proposed some criteria measures for MMRCPSP as complexity measures and performance measures. New complexity and performance measure also applied to five MMRCP. The new approaches are used for evaluating the complexity and performance measures are evaluated by five different multi-mode resource-constrained projects. The obtained results indicated that the proposed complexity and performance measures are compatible with multi-mode resource constrained projects and the proposed approaches for evaluating complexity measures and performance measures of multi-mode project’s schedule are sensitive to the nature of multi-mode projects and topography of projects and having the same trends of other existing measures.Researchers should develop flexible heuristic and meta-heuristic decision-making procedures depending on the degree of projects’ complexity for meeting the needs of thepractitioner and improve the level of performance. Also, develop commercial software for employing the heuristics. Most of theresearch objectives in the area of projects scheduling are concerned with minimizing the makespan and maximizing NPV, we need also to consider different objectives such as combine the makespan and NPV with the cost, level of performance, and leveling resources. Also develop proposals for cost estimations that encourage the acquisition of expertise and providing a scientific justification for these proposals, develop a reactive model for dealing with the degree of complexity for multi-mode resource-constrained projects, and considering all dynamicity features of the environment.