# Simplifying Multiproject Scheduling Problem Based on Design Structure Matrix and Its Solution by an Improved aiNet Algorithm

Authors: Chunhua Ju; Tinggui Chen
Journal: Discrete Dynamics in Nature and Society
 (2012)

---

## Abstract

Managing multiple project is a complex task involving the unrelenting pressures of time and cost. Many studies have proposed various tools and techniques for single-project scheduling; however, the literature further considering multimode or multiproject issues occurring in the real world is rather scarce. In this paper, design structure matrix (DSM) and an improved artificial immune network algorithm (aiNet) are developed to solve a multi-mode resource-constrained scheduling problem. Firstly, the DSM is used to simplify the mathematic model of multi-project scheduling problem. Subsequently, aiNet algorithm comprised of clonal selection, negative selection, and network suppression is adopted to realize the local searching and global searching, which will assure that it has a powerful searching ability and also avoids the possible combinatorial explosion. Finally, the approach is tested on a set of randomly cases generated from ProGen. The computational results validate the effectiveness of the proposed algorithm comparing with other famous metaheuristic algorithms such as genetic algorithm (GA), simulated annealing algorithm (SA), and ant colony optimization (ACO).


---

## Body

## 1. Introduction

With widespread availability of the Internet, large-scale distributed projects in manufacturing, production, and others are becoming popular. Project scheduling plays an important role in project management. Scheduling involves the allocation of the given resource to projects to determine the start and completion times of the detailed activities [1]. There may be multiple contending for limited resources, which makes the solution process more complex. The allocation of scarce resources then becomes a major objective of the problem and several compromises have to be made to solve the problem to the desired level of near-optimality. Traditional tools, such as Gantts, critical path method (CPM), and the program evaluation and review technique (PERT), have serious limitations for project activity scheduling in practice. Furthermore, they are applied to only one project at a time. In many practical environments where project scheduling is an important activity, resources are constrained in number and more than one project is active at any one time. Besides, the activities have multiple execution scenarios (reflecting different ways of performing them), each scenario possibly having a different impact on the activity duration, the costs associated with it, and its resource requirements [2]. Multiple activity modes give rise to several types of trade-offs between (a) the activity duration and its use of resource (time/resource trade-off), (b) the activity duration and its cost (time/cost trade-off), and (c) the quantity and combination of resources employed by the activity (resource/resource trade-off). Consequently, we have a more realistic model, which is the resource-constrained project scheduling problem with multiple execution modes.In this paper, we take up a challenge to introduce design structure matrix (DSM) to simplify precedence constraints existing in multi-project scheduling. Then, an improved artificial immune network algorithm (aiNet) approach is presented to solve the multi-mode resource-constrained multiproject scheduling problem (MRCMPSP). The remainder of the paper is organized as follows. Section2 is a literature review. Section 3 describes the MRCMPSP problem and its conceptual model is proposed. Section 4 defines our approach to simplify MRCMPSP based on DSM. Section 5 introduces an improved aiNet algorithm to solve the MRCMPSP. Section 6 details the problem instance generator and reports the computational experiments. Concluding remarks are made in Section 7, along with a discussion about further research.


## 2. Related Works

The RCMPSP is a generalization of the resource-constrained project scheduling problem (RCPSP). It has been shown by Błażewicz et al. [3] that the RCPSP, as a generalization of the classical job shop scheduling, belongs to the class of NP-hard optimization problem. The RCMPSP and its extensive form MRCMPSP, as a generalization of the RCPSP, are therefore also NP-hard.RCPSP has aroused a strong interest of academic scholars firstly, and there are many studies involving the scheduling of a single project. For example, Stinson et al. [4], Christofides et al. [5], Demeulemeester and Herroelen [6], and others presented a branch and bound approach to solve the problem and the differences among them lie in branch schemes as well as elimination rules and other details. Montoya-Torres et al. [7] proposed a novel genetic algorithm for the RCPSP and an alternative representation of the chromosomes using a multi-array object-oriented model was developed in order to take advantage of programming features in most common languages for the design of decision support systems. The approach was tested on sets of standard problems and its performance is superior to that of other heuristic algorithms. Xu et al. [8] illustrated how to combine the idea of rollout with priority rule heuristics and justification for the RCPSP, and examined the resulting solution quality and computational cost. They presented empirical evidence that these procedures are competitive with the best solution procedures described in the literature. In addition, Mobini et al. [9] and Ziarati et al. [10] designed the artificial immune algorithm (AIA) and bee algorithm (BA) in order to solve RCPSP, respectively, where AIA is inspired by vertebrate immune system and BA by intelligent behaviors of honey bees. The results that have been obtained using a standard set of instances, after extensive experiments, proved to be very competitive in terms of number of problems solved to optimality.Most of the heuristics methods used for solving RCMPSP belong to the class of priority rule-based methods. Several approaches in this class have been proposed in the literatures. Priority-based heuristics developed a schedule by adding one activity at a time to that schedule. A priority rule specifies, for a set of activities that are eligible to be scheduled at a particular point in the algorithm, the one to be placed on the schedule next. The priority values for each activity can be based on a number of factors, including activity duration, the difference between early and late start times, and the number of successor activities. For example, Wiley et al. [11] developed a method utilizing the work breakdown structure (WBS) and the Dantzig-Wolfe decomposition to generate feasible aggregate level multi-project program plans and schedules. The Dantzig-Wolfe procedure provided a means of generating interim solutions and their appropriate funding profiles. The decision maker may then choose any one of these solutions besides the optimal solution based upon his/her own experience and risk tolerance. Lova and Tormos [12] analyzed the effect of the two components of a heuristics based on priority rules—schedule generation scheme and priority rule—over two measures of performance—mean project delay and multi-project duration increase. They then considered two approaches: single-project and multi-project. The study carried out was allowed to conclude the superior performance of the parallel schedule generation scheme in the context of multi-project scheduling. Unlike researches mentioned above, Browning and Yassine [13] conducted a comprehensive analysis of 20 priority rules on 12,320 test problems generated to the specifications project, activity-, and resource-related characteristics. They found several situations in which widely advocated priority rules performed poorly.However, heuristics methods converge slowly and are easy to be immersed in a local optimum; therefore, other researchers make use of computation for biological engineering to solve RCMPSP. For example, Kim et al. [14] studied a hybrid genetic algorithm with fuzzy logic controller to solve the RCMPSP. The proposed new approach was based on the design of genetic operators with fuzzy logic controller through initializing the revised serial method which outperforms the nonpreemptive scheduling with precedence and resource constraints. Kumanan et al. [15] proposed the use of a heuristic and a genetic algorithm for scheduling a multi-project environment with an objective to minimize the makespan of the project. The proposed method was validated with numerical examples and was found competent.Furthermore, Joglekar and Ford [16] integrated a traditional control-theory-based derivation of optimal resource allocation and a system dynamics model. They used the control theory model to derive an optimal allocation policy, which they described with a resource allocation policy matrix. The matrix was useful in explaining differences in project performance and developing an intuitive understanding of the characteristics and impacts of different allocation policies. The results showed that and how foresighted policies can improve schedule performance without increasing the total amount of resource. Lambrechts et al. [17] built a robust schedule that met the project deadline and minimized the schedule instability cost. They described how stochastic resource breakdown can be modeled, which reaction was recommended, when resource infeasibility occurred due to a breakdown, and how one can protect the initial schedule from the adverse effects of potential breakdowns. The computational results showed that protection of the baseline schedule, coupled with intelligent schedule recovery, yielded significant performance gains over the use of deterministic scheduling approaches in a stochastic setting. Additionally, Adhau et al. [18] proposed a novel distributed multiagent system using auctions-based negotiation approach for resolving the resource conflicts and allocating multiple different types of shared resource amongst multiple competing projects. The proposed approach can solve complex large-sized multi-project instances without any limiting assumptions regarding the number of activities, shared resource or the number of projects. In addition, this approach further allowed random project release-time of projects which arrived dynamically over the planning horizon.In contrast to these researches mentioned above, activities may be performed in more than one mode for MRCMPSP. If the activities select different modes, their execution durations and resource requirements will be changed at the same time. It means the optimal scheduling plan will also be changed. General heuristic methods or intelligent algorithms usually need enough time to seek an optimal plan and are easily immersed in a local optimum. Due to these reasons, we introduce an improved aiNet algorithm, which is more suitable for solving the MRCMPSP. In addition, how to deal with precedence constraints and resource ones is important and difficult in project scheduling. In this paper, we adopt design structure matrix (DSM) to identify precedence relationships among activities and then determine the activities in an eligible set (a set of activities eligible to be scheduled at the current time) during the scheduling of multi-projects in order to simplify constraints and the more detailed process will be discussed in Section4.


## 3. Analysis of Uncertainties in Product Development Process

### 3.1. Problem Description

The scheduling of multiple projects that share a common pool of resources can be carried out with two approaches: multi-project or single-project [19]. Using activity-on-node (AON) network representation, in the former, every project is considered with its corresponding “start” and “end” dummy activities. In the latter, projects are artificially merged together into a single project by the addition of two dummy activities: “start” and “end” of the single project. To obtain a feasible schedule of multi-project we can choose one of the two approaches as shown in Figure 1. Although the start and end dummy activities are not required to solve the scheduling problem, they have been added to formally describe the problem network.Multiproject scheduling approaches.
(a)
Multiproject approach(b)
Single-project approachWhen the multi-project approach is used, the time objective to be minimized is the mean project delay that is calculated with the expression(3.1)min⁡{∑i=1Iαi(Fi-CPi)},
where αi denotes the weight of the ith project and I represents the number of projects. Fi is completion time of project i. CPi is the resource unconstrained critical path length of project i. Obviously, minimizing this criterion is equivalent to minimizing the mean resource-constrained completion time of the projects.When the single-project approach is used, the time objective to be minimized is the multi-project duration increase that can be calculated as follows:(3.2)min⁡{∑i=1Iαi(Fi-CPi)},
where the parameters used in (3.2) are the same as (3.1), and minimizing this criterion is equivalent to minimizing the makespan.


### 3.2. Conceptual Model of the Problem

The problem consists of the number of projectsI, and the following assumptions are taken into consideration.(1)
Activityi may be performed in any one mode j. Each job will have a specific mode and must be finished without changing mode.(2)
Activityi cannot start unless all of its predecessors have been completed.(3)
There are only renewable resources and nonrenewable ones are not considered.(4)
Activity preemption is not allowable.(5)
It is hypothesized that all projects are executed concurrently and precedence constraints among different projects are not considered.(6)
Because time-to-market of products determines whether development process is successful, we can assume that the objective is to minimize the completion time of all projects but not a certain project. Due to this reason, we can adopt single-project approach to solve the problem.Formally, the problem and the conceptual model will be described as follows. The considered problem consists ofI parallel projects, each project i=1,…,I being composed of Ji activities ij,j=1,…,Ji. Activity ij in project i may be performed in one of the modes m=1,…,Mij. Each activity, once performed in a specific mode, must be finished without changing the mode. The activities are interrelated by two kinds of constrains. One is precedence constraints, and the other is resource constraints. While being processed, activity ij in project i performed in mode m requires qijmr units of renewable resource type r=1,…,R during each period of its nonpreemptive duration dijm. Each resource type r has a fix and limit available amount Qr. In addition, the optimal objective of the problem is to make the makespan shortest through finding out activity mode distribution scheme and feasible starting time of activity. Therefore, the model of MRCMPSP can be described as follows:(3.3)min⁡{max⁡(F1J1,F2J2,…,FiJi,…,FIJI)}(i=1,2,…,I),
subject to
(3.4)Fil≤Fih-dihm(i=1,2,…I,h=1,2,…,Ji)(l∈℘i),(3.5)∑ij∈BJ(t)qijmr≤Qr,(3.6)FiJi≥0,i=1,2,…,I.
The objective function (3.3) seeks to minimize the performance measure. A constraint (3.4) imposes the precedence relations between activities, and a constraint (3.5) limits the resource demand imposed by the activities being processed at time t to the available capacity. It means the number of available resources will change according to the completion and starting time of activities. Finally, a constraint (3.6) forces the finish times to be nonnegative.


## 3.1. Problem Description

The scheduling of multiple projects that share a common pool of resources can be carried out with two approaches: multi-project or single-project [19]. Using activity-on-node (AON) network representation, in the former, every project is considered with its corresponding “start” and “end” dummy activities. In the latter, projects are artificially merged together into a single project by the addition of two dummy activities: “start” and “end” of the single project. To obtain a feasible schedule of multi-project we can choose one of the two approaches as shown in Figure 1. Although the start and end dummy activities are not required to solve the scheduling problem, they have been added to formally describe the problem network.Multiproject scheduling approaches.
(a)
Multiproject approach(b)
Single-project approachWhen the multi-project approach is used, the time objective to be minimized is the mean project delay that is calculated with the expression(3.1)min⁡{∑i=1Iαi(Fi-CPi)},
where αi denotes the weight of the ith project and I represents the number of projects. Fi is completion time of project i. CPi is the resource unconstrained critical path length of project i. Obviously, minimizing this criterion is equivalent to minimizing the mean resource-constrained completion time of the projects.When the single-project approach is used, the time objective to be minimized is the multi-project duration increase that can be calculated as follows:(3.2)min⁡{∑i=1Iαi(Fi-CPi)},
where the parameters used in (3.2) are the same as (3.1), and minimizing this criterion is equivalent to minimizing the makespan.


## 3.2. Conceptual Model of the Problem

The problem consists of the number of projectsI, and the following assumptions are taken into consideration.(1)
Activityi may be performed in any one mode j. Each job will have a specific mode and must be finished without changing mode.(2)
Activityi cannot start unless all of its predecessors have been completed.(3)
There are only renewable resources and nonrenewable ones are not considered.(4)
Activity preemption is not allowable.(5)
It is hypothesized that all projects are executed concurrently and precedence constraints among different projects are not considered.(6)
Because time-to-market of products determines whether development process is successful, we can assume that the objective is to minimize the completion time of all projects but not a certain project. Due to this reason, we can adopt single-project approach to solve the problem.Formally, the problem and the conceptual model will be described as follows. The considered problem consists ofI parallel projects, each project i=1,…,I being composed of Ji activities ij,j=1,…,Ji. Activity ij in project i may be performed in one of the modes m=1,…,Mij. Each activity, once performed in a specific mode, must be finished without changing the mode. The activities are interrelated by two kinds of constrains. One is precedence constraints, and the other is resource constraints. While being processed, activity ij in project i performed in mode m requires qijmr units of renewable resource type r=1,…,R during each period of its nonpreemptive duration dijm. Each resource type r has a fix and limit available amount Qr. In addition, the optimal objective of the problem is to make the makespan shortest through finding out activity mode distribution scheme and feasible starting time of activity. Therefore, the model of MRCMPSP can be described as follows:(3.3)min⁡{max⁡(F1J1,F2J2,…,FiJi,…,FIJI)}(i=1,2,…,I),
subject to
(3.4)Fil≤Fih-dihm(i=1,2,…I,h=1,2,…,Ji)(l∈℘i),(3.5)∑ij∈BJ(t)qijmr≤Qr,(3.6)FiJi≥0,i=1,2,…,I.
The objective function (3.3) seeks to minimize the performance measure. A constraint (3.4) imposes the precedence relations between activities, and a constraint (3.5) limits the resource demand imposed by the activities being processed at time t to the available capacity. It means the number of available resources will change according to the completion and starting time of activities. Finally, a constraint (3.6) forces the finish times to be nonnegative.


## 4. Design Structure Matrix Modeling and Simplification of MRCMPSP Model

### 4.1. Design Structure Matrix Modeling for Multiprojects

As a popular representation and analysis for system modeling, the design structure matrix (DSM) [20] provides a simple, compact, and visual representation of a complex system that supports an innovative solution to the decomposition and integration problems [21]. It had been widely applied as the basis of product development [22] and design iteration [23]. Currently, there are many researches using DSM to analyze RCPSP but few for MRCMPSP. In this paper, we use DSM to find out the activities in an eligible set so as to simplify constraints (3.4). If a project contains a large number of activities, information flows among activities described by matrix form are not only easy to be realized by computer but also compact and visual.In general, the DSM approach is used only for single-project modeling. In this paper, we propose multi-project modeling approach based on DSM through introducing partitioning operation of DSM. In a multi-project environment, if each project is taken as an independent block, the whole process consisting ofI parallel projects may be indicated by I blocks, where relationships among blocks are resource conflicts existing in activities between different projects. For example, Figures 2(a), 2(b), 2(c), and 2(d) represent four independent projects, respectively, and none of the information constraints exist in different projects. Let capital A, B, C, and D denote these four projects, where each project consists of 5, 4, 6, and 4 activities, respectively. Figure 2(e) represents DSM model of multi-project, where character symbol “C” indicates that there exist resource conflicts among projects. For example, the element in seventh row, second column denotes there exists resource competition between activity A2 in project 1 and activity B2 in project 2.Design structure matrix modeling for multi-project.
(a)
Project 1(b)
Project 2(c)
Project 3(d)
Project 4(e)
Multiproject model based on DSM


### 4.2. Simplification of MRCMPSP Model

During the scheduling of multi-projects, some activities will not be performed concurrently due to resource constraints and precedence ones. In this circumstance, precedence constraints among activities should be satisfied firstly so as to determine an eligible activity set. And then, resource conflicts that possibly occurred in this eligible set should be identified in order to decide the activity priority values, issued from the select priority rule. Therefore, the following sections will give a simplifying approach of precedence constraints and the activity priority values, respectively.


#### 4.2.1. Simplification of Precedence Constraints

There exist both precedence constraints and resource ones for multi-project scheduling problem. As a result, activities should compete for limited resources at the premise of satisfying precedence constraints. Furthermore, owing to multi-project environment, resource conflicts among activities contain two situations. One is conflicts between different projects; the other is inside a project. For the former, because we assume that there exist no precedence constraints among different projects, resource conflicts will not occurr unless activities belonging to different projects share the same resource and its usage amount exceeds the available one at the current time. For the latter, there exist both precedence constraints and resource ones among activities inside a project, therefore, precedence constraints should be satisfied firstly and then resource ones. The concrete process for identifying resource conflicts between activityij and jk can be described as follows: (1) set up DSM model of multi-project as shown in Figure 2 and use partitioning and banding operations to each block. (2) Construct an eligible activity set, EJ, an activity set being executed, BJ, and an activity set completed, FJ, where EJ can be generated through DSM. That is to say, if activity satisfies (DSM(ij,:)=K)∈FJ from a row, we can obtain ij∈EJ or ij∉EJ. Similarly, we can determine whether activity jk belongs to EJ. In doing so, EJ can be determined. (3) Identify resource conflicts between activities ij and jk. If it exists, perform activities according to priority value; if not, they can be performed concurrently and add the activities that are to be scheduled to BJ. (4) If activities ij, and jk have been fulfilled, update EJ, BJ, and FJ. Determine the next activity set which will possibly cause resource conflicts and repeat the process till all of activities have been fulfilled. Due to these steps, identification approach of resource conflicts can be shown in Pseudocode 1.Pseudocode 1:Pseudocodes of identification process of resource conflicts.
PROCEDURE OF THE MODEL SIMPLIFICATION AND IDENTIFICATION OF RESOURCECONFLICT(1) confirm activities between projects or in one project(2)if  activities in one projectif(DSM ([ij,  jk],:) = K) ∈FJthenij, jk belong to EJif(qijr+ qikr) > Qr  thenresource conflict exists betweenij and ikelsethere are no resource conflicts betweenij and ik(3)ifactivities between projectsif (qijr+ qikr) > Qr  thenresource conflict exists betweenij andikelsethere are no resource conflicts betweenij andik(4) updateEJ, BJ and FJif  there are no activities needed schedulingprocess finished, otherwise go on.(5) end


#### 4.2.2. Determination of Priority Value of Resource Competition

The same resource can be used by more activities, which will cause resource competition among different activities. It is necessary to use the activity priority value, issued from the select priority rule to obtain the selection probabilities. It is known that many activity priority rules exist. The priority of each activity is subject to many factors, for example, the activity schedule, resources needed, the required earliest or latest beginning time, the number of immediate follow-up activities, and so forth. Different priority setting rules based on these factors will bring different computation performance. A total of 18 priority rules reported from literatures [24, 25] are listed in Table 1.Table 1
Priority rules used for activity selection.
No.AbbreviationNameFormula(1)MaxDurMaximum durationMaxdijm(2)MinDurMinimum durationMindijm(3)MaxRRMaximum resource requirementMaxdijm∑r=1Rqijmr(4)MinRRMinimum resource requirementMindijm∑r=1Rqijmr(5)MaxSucMaximum number of direct successorsMax|Sij|(6)MinSucMinimum number of direct successorsMin|Sij|(7)ESTEarliest starting timeMinESij(8)EFTEarliest finishing timeMinEFij(9)LSTLatest starting timeMinLSij(10)LFTLatest finishing timeMinLFij(11)MaxSLKMaximum activity-free slackMaxLFij-∑m=1Mij(dijm/Mij)-tnow(12)MinSLKMinimum activity-free slackMinLFij-∑m=1Mij(dijm/Mij)-tnow(13)MaxRPWMaximum rank positional weightMaxdijm+∑ik∈Sijdikm(14)MinPRWMinimum rank positional weightMindijm+∑ik∈Sijdikm(15)MaxCRRMaximum cumulated resource requirementMax∑ij∈SJdijm∑r=1Rqijmr(16)MinCRRMinimum cumulated resource requirementMin∑ij∈SJdijm∑r=1Rqijmr(17)MaxCSucMaximum cumulated number of successorsMax|Sij+∑ik∈SijSik|(18)MinCSucMinimum cumulated number of successorsMin|Sij+∑ik∈SijSik|In this paper, we only select four representative rules such as maximum duration (MaxDur), maximum resource requirement (MaxRR), Early Start Time (EST), and maximum number of immediate successors (MaxSuc). This is because clonal selection of aiNet algorithm has a great ability of local searching. However, the objective of the problem is to minimize the whole multi-projects duration. The effects of scarce resources on project duration should be minimized; therefore, the weights of each of project should be considered.


## 4.1. Design Structure Matrix Modeling for Multiprojects

As a popular representation and analysis for system modeling, the design structure matrix (DSM) [20] provides a simple, compact, and visual representation of a complex system that supports an innovative solution to the decomposition and integration problems [21]. It had been widely applied as the basis of product development [22] and design iteration [23]. Currently, there are many researches using DSM to analyze RCPSP but few for MRCMPSP. In this paper, we use DSM to find out the activities in an eligible set so as to simplify constraints (3.4). If a project contains a large number of activities, information flows among activities described by matrix form are not only easy to be realized by computer but also compact and visual.In general, the DSM approach is used only for single-project modeling. In this paper, we propose multi-project modeling approach based on DSM through introducing partitioning operation of DSM. In a multi-project environment, if each project is taken as an independent block, the whole process consisting ofI parallel projects may be indicated by I blocks, where relationships among blocks are resource conflicts existing in activities between different projects. For example, Figures 2(a), 2(b), 2(c), and 2(d) represent four independent projects, respectively, and none of the information constraints exist in different projects. Let capital A, B, C, and D denote these four projects, where each project consists of 5, 4, 6, and 4 activities, respectively. Figure 2(e) represents DSM model of multi-project, where character symbol “C” indicates that there exist resource conflicts among projects. For example, the element in seventh row, second column denotes there exists resource competition between activity A2 in project 1 and activity B2 in project 2.Design structure matrix modeling for multi-project.
(a)
Project 1(b)
Project 2(c)
Project 3(d)
Project 4(e)
Multiproject model based on DSM


## 4.2. Simplification of MRCMPSP Model

During the scheduling of multi-projects, some activities will not be performed concurrently due to resource constraints and precedence ones. In this circumstance, precedence constraints among activities should be satisfied firstly so as to determine an eligible activity set. And then, resource conflicts that possibly occurred in this eligible set should be identified in order to decide the activity priority values, issued from the select priority rule. Therefore, the following sections will give a simplifying approach of precedence constraints and the activity priority values, respectively.


### 4.2.1. Simplification of Precedence Constraints

There exist both precedence constraints and resource ones for multi-project scheduling problem. As a result, activities should compete for limited resources at the premise of satisfying precedence constraints. Furthermore, owing to multi-project environment, resource conflicts among activities contain two situations. One is conflicts between different projects; the other is inside a project. For the former, because we assume that there exist no precedence constraints among different projects, resource conflicts will not occurr unless activities belonging to different projects share the same resource and its usage amount exceeds the available one at the current time. For the latter, there exist both precedence constraints and resource ones among activities inside a project, therefore, precedence constraints should be satisfied firstly and then resource ones. The concrete process for identifying resource conflicts between activityij and jk can be described as follows: (1) set up DSM model of multi-project as shown in Figure 2 and use partitioning and banding operations to each block. (2) Construct an eligible activity set, EJ, an activity set being executed, BJ, and an activity set completed, FJ, where EJ can be generated through DSM. That is to say, if activity satisfies (DSM(ij,:)=K)∈FJ from a row, we can obtain ij∈EJ or ij∉EJ. Similarly, we can determine whether activity jk belongs to EJ. In doing so, EJ can be determined. (3) Identify resource conflicts between activities ij and jk. If it exists, perform activities according to priority value; if not, they can be performed concurrently and add the activities that are to be scheduled to BJ. (4) If activities ij, and jk have been fulfilled, update EJ, BJ, and FJ. Determine the next activity set which will possibly cause resource conflicts and repeat the process till all of activities have been fulfilled. Due to these steps, identification approach of resource conflicts can be shown in Pseudocode 1.Pseudocode 1:Pseudocodes of identification process of resource conflicts.
PROCEDURE OF THE MODEL SIMPLIFICATION AND IDENTIFICATION OF RESOURCECONFLICT(1) confirm activities between projects or in one project(2)if  activities in one projectif(DSM ([ij,  jk],:) = K) ∈FJthenij, jk belong to EJif(qijr+ qikr) > Qr  thenresource conflict exists betweenij and ikelsethere are no resource conflicts betweenij and ik(3)ifactivities between projectsif (qijr+ qikr) > Qr  thenresource conflict exists betweenij andikelsethere are no resource conflicts betweenij andik(4) updateEJ, BJ and FJif  there are no activities needed schedulingprocess finished, otherwise go on.(5) end


### 4.2.2. Determination of Priority Value of Resource Competition

The same resource can be used by more activities, which will cause resource competition among different activities. It is necessary to use the activity priority value, issued from the select priority rule to obtain the selection probabilities. It is known that many activity priority rules exist. The priority of each activity is subject to many factors, for example, the activity schedule, resources needed, the required earliest or latest beginning time, the number of immediate follow-up activities, and so forth. Different priority setting rules based on these factors will bring different computation performance. A total of 18 priority rules reported from literatures [24, 25] are listed in Table 1.Table 1
Priority rules used for activity selection.
No.AbbreviationNameFormula(1)MaxDurMaximum durationMaxdijm(2)MinDurMinimum durationMindijm(3)MaxRRMaximum resource requirementMaxdijm∑r=1Rqijmr(4)MinRRMinimum resource requirementMindijm∑r=1Rqijmr(5)MaxSucMaximum number of direct successorsMax|Sij|(6)MinSucMinimum number of direct successorsMin|Sij|(7)ESTEarliest starting timeMinESij(8)EFTEarliest finishing timeMinEFij(9)LSTLatest starting timeMinLSij(10)LFTLatest finishing timeMinLFij(11)MaxSLKMaximum activity-free slackMaxLFij-∑m=1Mij(dijm/Mij)-tnow(12)MinSLKMinimum activity-free slackMinLFij-∑m=1Mij(dijm/Mij)-tnow(13)MaxRPWMaximum rank positional weightMaxdijm+∑ik∈Sijdikm(14)MinPRWMinimum rank positional weightMindijm+∑ik∈Sijdikm(15)MaxCRRMaximum cumulated resource requirementMax∑ij∈SJdijm∑r=1Rqijmr(16)MinCRRMinimum cumulated resource requirementMin∑ij∈SJdijm∑r=1Rqijmr(17)MaxCSucMaximum cumulated number of successorsMax|Sij+∑ik∈SijSik|(18)MinCSucMinimum cumulated number of successorsMin|Sij+∑ik∈SijSik|In this paper, we only select four representative rules such as maximum duration (MaxDur), maximum resource requirement (MaxRR), Early Start Time (EST), and maximum number of immediate successors (MaxSuc). This is because clonal selection of aiNet algorithm has a great ability of local searching. However, the objective of the problem is to minimize the whole multi-projects duration. The effects of scarce resources on project duration should be minimized; therefore, the weights of each of project should be considered.


## 4.2.1. Simplification of Precedence Constraints

There exist both precedence constraints and resource ones for multi-project scheduling problem. As a result, activities should compete for limited resources at the premise of satisfying precedence constraints. Furthermore, owing to multi-project environment, resource conflicts among activities contain two situations. One is conflicts between different projects; the other is inside a project. For the former, because we assume that there exist no precedence constraints among different projects, resource conflicts will not occurr unless activities belonging to different projects share the same resource and its usage amount exceeds the available one at the current time. For the latter, there exist both precedence constraints and resource ones among activities inside a project, therefore, precedence constraints should be satisfied firstly and then resource ones. The concrete process for identifying resource conflicts between activityij and jk can be described as follows: (1) set up DSM model of multi-project as shown in Figure 2 and use partitioning and banding operations to each block. (2) Construct an eligible activity set, EJ, an activity set being executed, BJ, and an activity set completed, FJ, where EJ can be generated through DSM. That is to say, if activity satisfies (DSM(ij,:)=K)∈FJ from a row, we can obtain ij∈EJ or ij∉EJ. Similarly, we can determine whether activity jk belongs to EJ. In doing so, EJ can be determined. (3) Identify resource conflicts between activities ij and jk. If it exists, perform activities according to priority value; if not, they can be performed concurrently and add the activities that are to be scheduled to BJ. (4) If activities ij, and jk have been fulfilled, update EJ, BJ, and FJ. Determine the next activity set which will possibly cause resource conflicts and repeat the process till all of activities have been fulfilled. Due to these steps, identification approach of resource conflicts can be shown in Pseudocode 1.Pseudocode 1:Pseudocodes of identification process of resource conflicts.
PROCEDURE OF THE MODEL SIMPLIFICATION AND IDENTIFICATION OF RESOURCECONFLICT(1) confirm activities between projects or in one project(2)if  activities in one projectif(DSM ([ij,  jk],:) = K) ∈FJthenij, jk belong to EJif(qijr+ qikr) > Qr  thenresource conflict exists betweenij and ikelsethere are no resource conflicts betweenij and ik(3)ifactivities between projectsif (qijr+ qikr) > Qr  thenresource conflict exists betweenij andikelsethere are no resource conflicts betweenij andik(4) updateEJ, BJ and FJif  there are no activities needed schedulingprocess finished, otherwise go on.(5) end


## 4.2.2. Determination of Priority Value of Resource Competition

The same resource can be used by more activities, which will cause resource competition among different activities. It is necessary to use the activity priority value, issued from the select priority rule to obtain the selection probabilities. It is known that many activity priority rules exist. The priority of each activity is subject to many factors, for example, the activity schedule, resources needed, the required earliest or latest beginning time, the number of immediate follow-up activities, and so forth. Different priority setting rules based on these factors will bring different computation performance. A total of 18 priority rules reported from literatures [24, 25] are listed in Table 1.Table 1
Priority rules used for activity selection.
No.AbbreviationNameFormula(1)MaxDurMaximum durationMaxdijm(2)MinDurMinimum durationMindijm(3)MaxRRMaximum resource requirementMaxdijm∑r=1Rqijmr(4)MinRRMinimum resource requirementMindijm∑r=1Rqijmr(5)MaxSucMaximum number of direct successorsMax|Sij|(6)MinSucMinimum number of direct successorsMin|Sij|(7)ESTEarliest starting timeMinESij(8)EFTEarliest finishing timeMinEFij(9)LSTLatest starting timeMinLSij(10)LFTLatest finishing timeMinLFij(11)MaxSLKMaximum activity-free slackMaxLFij-∑m=1Mij(dijm/Mij)-tnow(12)MinSLKMinimum activity-free slackMinLFij-∑m=1Mij(dijm/Mij)-tnow(13)MaxRPWMaximum rank positional weightMaxdijm+∑ik∈Sijdikm(14)MinPRWMinimum rank positional weightMindijm+∑ik∈Sijdikm(15)MaxCRRMaximum cumulated resource requirementMax∑ij∈SJdijm∑r=1Rqijmr(16)MinCRRMinimum cumulated resource requirementMin∑ij∈SJdijm∑r=1Rqijmr(17)MaxCSucMaximum cumulated number of successorsMax|Sij+∑ik∈SijSik|(18)MinCSucMinimum cumulated number of successorsMin|Sij+∑ik∈SijSik|In this paper, we only select four representative rules such as maximum duration (MaxDur), maximum resource requirement (MaxRR), Early Start Time (EST), and maximum number of immediate successors (MaxSuc). This is because clonal selection of aiNet algorithm has a great ability of local searching. However, the objective of the problem is to minimize the whole multi-projects duration. The effects of scarce resources on project duration should be minimized; therefore, the weights of each of project should be considered.


## 5. An Improved Artificial Immune Network Algorithm (aiNet) for Solving MRCMPSP

### 5.1. Improved Strategy of aiNet Algorithm

In artificial immune system (AIS), a newly developed biological computing technology that draws inspiration from vertebrate immune system has become a powerful information processing and problem-solving paradigm in both the scientific and engineering fields with great developmental potential. Researches indicate that AIS is also a kind of stochastic and parallel search method like GA and is an efficient approach to combinatorial optimization problem. So far, AIS has been applied to the traveling salesman problem (TSP), multiobjective optimization, indirect path synthesis, the scheduling problem, capacitor placement, and assembly line balancing with encouraging results. Artificial immune network (aiNet for short) algorithms and models are originally proposed to perform information compression and data clustering based on Artificial immune system (AIS) theory. Opt-aiNet, a modified version of artificial immune network model specially designed for multimodal function optimization presented by Castro and Timmis [26], has been demonstrated to have powerful multimodal searching ability as well as good stabilization. In this paper, an improved aiNet searching method for MRCMPSP is adopted based on opt-aiNet, and the new meanings of some terms redefined are shown in Table 2. It is notable that the fitness means the makespan of the multi-projects and the affinity denotes the difference between two potential scheduling schemes which will be described in Section 5.2.2. In addition, the stopping criterion has also been revised in order to avoid the early convergence in original algorithm. The detailed flow of the revised algorithm for MRCMPSP cannot be expatiated here for length limitation.Table 2
New meaning of the terms in general aiNet-searching method.
General aiNet modelThe opt-aiNet optimization for MRCMPSPNetwork cellCandidate scheduling schemeFitnessThe makespan of multi-projectsAffinityEuclidean distance between the parametric vectors of two candidate scheduling schemesCloneCandidate scheduling scheme with the same parametersThe scheme of the improved aiNet searching method for MRCMPSP, including the nine steps above, is shown in Figure3.Figure 3
Scheme of the improved aiNet searching method for MRCMPSP.


### 5.2. Operational Definitions with Specific Details

As discussed earlier, the objective of the MRCMPSP is to schedule the activity such that precedence and resource constraints are satisfied and the makespan of the multi-projects is to be minimized. In order to illustrate the solution procedure of aiNet for MRCMPSP, network cell representation, population initialization, individual evaluation, clonal mutation operator, parameter tuning and so on will be described in the following sections.


#### 5.2.1. Network Cell Representation

The key issue in the implementation of aiNet approach is encoding the antibody of a solution and its representation. In this paper, after extensive experimentation a direct problem representation for the MRCMPSP itself is used as a chromosome as shown in Table3. Complete information of a schedule for the MRCMPSP consists of an activity priority rule, activities, and their corresponding modes in each individual project. The activity priority rule is randomly chosen from the rules such as maximum duration, maximum resource requirement, early start time, and maximum number of immediate successors. For example, priority (i)/P11/Mα represents that activity 1 in project 1 is executed in mode α and its activity priority rule is i when existing resource conflicts.Table 3
Direct problem representation of a schedule.
P1(p-r(x))P2(p-r(y))P3(p-r(z))priority(i)priority(j)⋯priority(k)priority(i)⋯priority(k)priority(i)⋯priority(k)P11MαP12MβP1J1MγP21MαP2J2MγP31MαP3J3Mγ


#### 5.2.2. Population Initialization

The proposed aiNet approach deals with an antibody of individual strings. Currently, random techniques or heuristic procedure to generate initial solution has been used in general. However, it has been found that the performance of the aiNet approach with randomly start solutions is superior to that from pre-selected starting solutions. In addition, random initial solutions are helpful to effectively diverse the search space. Therefore, randomly generating an initial solution is adopted in this paper.


#### 5.2.3. Individual Evaluation

Individual evaluation adopts affinity as well as fitness, where fitness function is evaluated according to a problem-specific objective function and affinity is used to get rid of similar individuals.(1) Fitness Computation
Fitness is developed as follows. The steps involved are as follows: initially set the day as one and select all the activities in the projects to be done in that particular day. Allocate the available resource as per the rank in the chromosome. If the resources are not available to perform some activities then postpone those activities. Suppose the same resource is required to perform multiple activities in a project then decide which activity should be processed first according to one of the activity priority rules described in Section4.2.2. After the end of the first day, increase the day to the next day and perform the same until completion of all activities of all projects. The concrete steps are shown in Figure 4.Figure 4
The evaluation process of an individual.(2) Affinity Comparison
Different individual corresponds to different schedule. Activity states in a project are decided by activity priority rule (priority (i)) and execution mode (Mα); therefore, the affinity of two individuals X1 and X2 can be expressed as shown in formula (5.1), where λ is a scale factor and it represents the difference between activity priority rule and execution mode:
(5.1)d(X1,X2)=∑i=1I∑j=1Ji(priority(i)-priority(i′))2+λ∑i=1I∑j=1Ji(Mij-M(ij)′)2.


#### 5.2.4. Parameter Tuning

The parameters affecting the performance of aiNet approach are selected after initial experiments and past experience. Traditionally, these parameters are not determined independently since it is an issue of complex combination optimization. In the aiNet approach, there are three main user-defined parameters, namely,N (number of individuals to be selected for cloning), Nc (number of clones generated) and d (the amount of low-affinity individual to be replaced). These three parameters mainly affect the convergence speed and the computational complexity as well as its ability to perform multi-modal searches. In this paper, we chose 50% of the total individuals for cloning. This is because parameter N strongly influences the size of the population. The larger the value of N, the higher the computational cost to run the algorithm. Therefore, 50% looks to be more appropriate and economical. Further, the parameter Nc is used to find local optimums, which should be not too larger or too smaller. The higher the value of Nc, the faster the occurrence of the convergence in terms of generations. However, the computational time per generation increases linearly with Nc. At the same time, the lower value of Nc may reduce computational time per generation but difficult to converge to the global optimum. As a result, we chose smaller Nc in the early iterations but larger one in the later iterations. In addition, the parameter d is introduced to maintain the diversity in the population. In general, the value of d increases, and the algorithm reaches nearer to the optimal. However, when d approaches 1, the algorithm is the same as random searching. Thus, we set d at 20% for this paper.


#### 5.2.5. Clonal Mutation Operator

Clonal selection plays an important role in adaptive evolution of the population. In essence, the objective of clonal selection is to generate a population of solutions near the solution candidate and then search in the neighborhood space. In other words, clonal selection enhances the local search by enlarging the search scope. In this paper, the clonal mutation procedure is as follows. Firstly, generateNc clonal individuals. Then, execute mutation operator shown in Table 4. Finally, select the best individual from clone the ones.Table 4
Clonal mutation operators.
A schedule of parent chromosomeP1(p-r(x))P2(p-r(y))P3(p-r(z))Priority(1)P riority(2)Priority(3)Priority(2)Priority(1)P riority(3)Priority(3)Priority(1)Priority(2)P11M1*P12M2P13M3*P21M2P22M3*P23M1P31M2*P32M1*P33M2⇓Mutation operatorA schedule of offspring chromosomeP1(p-r(y))P2(p-r(z))P3(p-r(x))Priority(3)Priority(2)Priority(1)Priority(2)Priority(1)Priority(3)Priority(1)Priority(3)Priority(2)P11M3P12M2P13M2P21M2P22M1P23M1P31M3P32M2P33M1


#### 5.2.6. New Solution Generation

With an appropriate proportion, the operators described above can procedure a new generation:(A)
produceG1 schedules after clonal selection.(B)
wipe offG2 similar schedules after negative selection operator using affinity comparison.(C)
generateG3 new schedules according to proportion at random:G1-G2+ G3=G, with G indicating the number of schedules in one generation.


## 5.1. Improved Strategy of aiNet Algorithm

In artificial immune system (AIS), a newly developed biological computing technology that draws inspiration from vertebrate immune system has become a powerful information processing and problem-solving paradigm in both the scientific and engineering fields with great developmental potential. Researches indicate that AIS is also a kind of stochastic and parallel search method like GA and is an efficient approach to combinatorial optimization problem. So far, AIS has been applied to the traveling salesman problem (TSP), multiobjective optimization, indirect path synthesis, the scheduling problem, capacitor placement, and assembly line balancing with encouraging results. Artificial immune network (aiNet for short) algorithms and models are originally proposed to perform information compression and data clustering based on Artificial immune system (AIS) theory. Opt-aiNet, a modified version of artificial immune network model specially designed for multimodal function optimization presented by Castro and Timmis [26], has been demonstrated to have powerful multimodal searching ability as well as good stabilization. In this paper, an improved aiNet searching method for MRCMPSP is adopted based on opt-aiNet, and the new meanings of some terms redefined are shown in Table 2. It is notable that the fitness means the makespan of the multi-projects and the affinity denotes the difference between two potential scheduling schemes which will be described in Section 5.2.2. In addition, the stopping criterion has also been revised in order to avoid the early convergence in original algorithm. The detailed flow of the revised algorithm for MRCMPSP cannot be expatiated here for length limitation.Table 2
New meaning of the terms in general aiNet-searching method.
General aiNet modelThe opt-aiNet optimization for MRCMPSPNetwork cellCandidate scheduling schemeFitnessThe makespan of multi-projectsAffinityEuclidean distance between the parametric vectors of two candidate scheduling schemesCloneCandidate scheduling scheme with the same parametersThe scheme of the improved aiNet searching method for MRCMPSP, including the nine steps above, is shown in Figure3.Figure 3
Scheme of the improved aiNet searching method for MRCMPSP.


## 5.2. Operational Definitions with Specific Details

As discussed earlier, the objective of the MRCMPSP is to schedule the activity such that precedence and resource constraints are satisfied and the makespan of the multi-projects is to be minimized. In order to illustrate the solution procedure of aiNet for MRCMPSP, network cell representation, population initialization, individual evaluation, clonal mutation operator, parameter tuning and so on will be described in the following sections.


### 5.2.1. Network Cell Representation

The key issue in the implementation of aiNet approach is encoding the antibody of a solution and its representation. In this paper, after extensive experimentation a direct problem representation for the MRCMPSP itself is used as a chromosome as shown in Table3. Complete information of a schedule for the MRCMPSP consists of an activity priority rule, activities, and their corresponding modes in each individual project. The activity priority rule is randomly chosen from the rules such as maximum duration, maximum resource requirement, early start time, and maximum number of immediate successors. For example, priority (i)/P11/Mα represents that activity 1 in project 1 is executed in mode α and its activity priority rule is i when existing resource conflicts.Table 3
Direct problem representation of a schedule.
P1(p-r(x))P2(p-r(y))P3(p-r(z))priority(i)priority(j)⋯priority(k)priority(i)⋯priority(k)priority(i)⋯priority(k)P11MαP12MβP1J1MγP21MαP2J2MγP31MαP3J3Mγ


### 5.2.2. Population Initialization

The proposed aiNet approach deals with an antibody of individual strings. Currently, random techniques or heuristic procedure to generate initial solution has been used in general. However, it has been found that the performance of the aiNet approach with randomly start solutions is superior to that from pre-selected starting solutions. In addition, random initial solutions are helpful to effectively diverse the search space. Therefore, randomly generating an initial solution is adopted in this paper.


### 5.2.3. Individual Evaluation

Individual evaluation adopts affinity as well as fitness, where fitness function is evaluated according to a problem-specific objective function and affinity is used to get rid of similar individuals.(1) Fitness Computation
Fitness is developed as follows. The steps involved are as follows: initially set the day as one and select all the activities in the projects to be done in that particular day. Allocate the available resource as per the rank in the chromosome. If the resources are not available to perform some activities then postpone those activities. Suppose the same resource is required to perform multiple activities in a project then decide which activity should be processed first according to one of the activity priority rules described in Section4.2.2. After the end of the first day, increase the day to the next day and perform the same until completion of all activities of all projects. The concrete steps are shown in Figure 4.Figure 4
The evaluation process of an individual.(2) Affinity Comparison
Different individual corresponds to different schedule. Activity states in a project are decided by activity priority rule (priority (i)) and execution mode (Mα); therefore, the affinity of two individuals X1 and X2 can be expressed as shown in formula (5.1), where λ is a scale factor and it represents the difference between activity priority rule and execution mode:
(5.1)d(X1,X2)=∑i=1I∑j=1Ji(priority(i)-priority(i′))2+λ∑i=1I∑j=1Ji(Mij-M(ij)′)2.


### 5.2.4. Parameter Tuning

The parameters affecting the performance of aiNet approach are selected after initial experiments and past experience. Traditionally, these parameters are not determined independently since it is an issue of complex combination optimization. In the aiNet approach, there are three main user-defined parameters, namely,N (number of individuals to be selected for cloning), Nc (number of clones generated) and d (the amount of low-affinity individual to be replaced). These three parameters mainly affect the convergence speed and the computational complexity as well as its ability to perform multi-modal searches. In this paper, we chose 50% of the total individuals for cloning. This is because parameter N strongly influences the size of the population. The larger the value of N, the higher the computational cost to run the algorithm. Therefore, 50% looks to be more appropriate and economical. Further, the parameter Nc is used to find local optimums, which should be not too larger or too smaller. The higher the value of Nc, the faster the occurrence of the convergence in terms of generations. However, the computational time per generation increases linearly with Nc. At the same time, the lower value of Nc may reduce computational time per generation but difficult to converge to the global optimum. As a result, we chose smaller Nc in the early iterations but larger one in the later iterations. In addition, the parameter d is introduced to maintain the diversity in the population. In general, the value of d increases, and the algorithm reaches nearer to the optimal. However, when d approaches 1, the algorithm is the same as random searching. Thus, we set d at 20% for this paper.


### 5.2.5. Clonal Mutation Operator

Clonal selection plays an important role in adaptive evolution of the population. In essence, the objective of clonal selection is to generate a population of solutions near the solution candidate and then search in the neighborhood space. In other words, clonal selection enhances the local search by enlarging the search scope. In this paper, the clonal mutation procedure is as follows. Firstly, generateNc clonal individuals. Then, execute mutation operator shown in Table 4. Finally, select the best individual from clone the ones.Table 4
Clonal mutation operators.
A schedule of parent chromosomeP1(p-r(x))P2(p-r(y))P3(p-r(z))Priority(1)P riority(2)Priority(3)Priority(2)Priority(1)P riority(3)Priority(3)Priority(1)Priority(2)P11M1*P12M2P13M3*P21M2P22M3*P23M1P31M2*P32M1*P33M2⇓Mutation operatorA schedule of offspring chromosomeP1(p-r(y))P2(p-r(z))P3(p-r(x))Priority(3)Priority(2)Priority(1)Priority(2)Priority(1)Priority(3)Priority(1)Priority(3)Priority(2)P11M3P12M2P13M2P21M2P22M1P23M1P31M3P32M2P33M1


### 5.2.6. New Solution Generation

With an appropriate proportion, the operators described above can procedure a new generation:(A)
produceG1 schedules after clonal selection.(B)
wipe offG2 similar schedules after negative selection operator using affinity comparison.(C)
generateG3 new schedules according to proportion at random:G1-G2+ G3=G, with G indicating the number of schedules in one generation.


## 5.2.1. Network Cell Representation

The key issue in the implementation of aiNet approach is encoding the antibody of a solution and its representation. In this paper, after extensive experimentation a direct problem representation for the MRCMPSP itself is used as a chromosome as shown in Table3. Complete information of a schedule for the MRCMPSP consists of an activity priority rule, activities, and their corresponding modes in each individual project. The activity priority rule is randomly chosen from the rules such as maximum duration, maximum resource requirement, early start time, and maximum number of immediate successors. For example, priority (i)/P11/Mα represents that activity 1 in project 1 is executed in mode α and its activity priority rule is i when existing resource conflicts.Table 3
Direct problem representation of a schedule.
P1(p-r(x))P2(p-r(y))P3(p-r(z))priority(i)priority(j)⋯priority(k)priority(i)⋯priority(k)priority(i)⋯priority(k)P11MαP12MβP1J1MγP21MαP2J2MγP31MαP3J3Mγ


## 5.2.2. Population Initialization

The proposed aiNet approach deals with an antibody of individual strings. Currently, random techniques or heuristic procedure to generate initial solution has been used in general. However, it has been found that the performance of the aiNet approach with randomly start solutions is superior to that from pre-selected starting solutions. In addition, random initial solutions are helpful to effectively diverse the search space. Therefore, randomly generating an initial solution is adopted in this paper.


## 5.2.3. Individual Evaluation

Individual evaluation adopts affinity as well as fitness, where fitness function is evaluated according to a problem-specific objective function and affinity is used to get rid of similar individuals.(1) Fitness Computation
Fitness is developed as follows. The steps involved are as follows: initially set the day as one and select all the activities in the projects to be done in that particular day. Allocate the available resource as per the rank in the chromosome. If the resources are not available to perform some activities then postpone those activities. Suppose the same resource is required to perform multiple activities in a project then decide which activity should be processed first according to one of the activity priority rules described in Section4.2.2. After the end of the first day, increase the day to the next day and perform the same until completion of all activities of all projects. The concrete steps are shown in Figure 4.Figure 4
The evaluation process of an individual.(2) Affinity Comparison
Different individual corresponds to different schedule. Activity states in a project are decided by activity priority rule (priority (i)) and execution mode (Mα); therefore, the affinity of two individuals X1 and X2 can be expressed as shown in formula (5.1), where λ is a scale factor and it represents the difference between activity priority rule and execution mode:
(5.1)d(X1,X2)=∑i=1I∑j=1Ji(priority(i)-priority(i′))2+λ∑i=1I∑j=1Ji(Mij-M(ij)′)2.


## 5.2.4. Parameter Tuning

The parameters affecting the performance of aiNet approach are selected after initial experiments and past experience. Traditionally, these parameters are not determined independently since it is an issue of complex combination optimization. In the aiNet approach, there are three main user-defined parameters, namely,N (number of individuals to be selected for cloning), Nc (number of clones generated) and d (the amount of low-affinity individual to be replaced). These three parameters mainly affect the convergence speed and the computational complexity as well as its ability to perform multi-modal searches. In this paper, we chose 50% of the total individuals for cloning. This is because parameter N strongly influences the size of the population. The larger the value of N, the higher the computational cost to run the algorithm. Therefore, 50% looks to be more appropriate and economical. Further, the parameter Nc is used to find local optimums, which should be not too larger or too smaller. The higher the value of Nc, the faster the occurrence of the convergence in terms of generations. However, the computational time per generation increases linearly with Nc. At the same time, the lower value of Nc may reduce computational time per generation but difficult to converge to the global optimum. As a result, we chose smaller Nc in the early iterations but larger one in the later iterations. In addition, the parameter d is introduced to maintain the diversity in the population. In general, the value of d increases, and the algorithm reaches nearer to the optimal. However, when d approaches 1, the algorithm is the same as random searching. Thus, we set d at 20% for this paper.


## 5.2.5. Clonal Mutation Operator

Clonal selection plays an important role in adaptive evolution of the population. In essence, the objective of clonal selection is to generate a population of solutions near the solution candidate and then search in the neighborhood space. In other words, clonal selection enhances the local search by enlarging the search scope. In this paper, the clonal mutation procedure is as follows. Firstly, generateNc clonal individuals. Then, execute mutation operator shown in Table 4. Finally, select the best individual from clone the ones.Table 4
Clonal mutation operators.
A schedule of parent chromosomeP1(p-r(x))P2(p-r(y))P3(p-r(z))Priority(1)P riority(2)Priority(3)Priority(2)Priority(1)P riority(3)Priority(3)Priority(1)Priority(2)P11M1*P12M2P13M3*P21M2P22M3*P23M1P31M2*P32M1*P33M2⇓Mutation operatorA schedule of offspring chromosomeP1(p-r(y))P2(p-r(z))P3(p-r(x))Priority(3)Priority(2)Priority(1)Priority(2)Priority(1)Priority(3)Priority(1)Priority(3)Priority(2)P11M3P12M2P13M2P21M2P22M1P23M1P31M3P32M2P33M1


## 5.2.6. New Solution Generation

With an appropriate proportion, the operators described above can procedure a new generation:(A)
produceG1 schedules after clonal selection.(B)
wipe offG2 similar schedules after negative selection operator using affinity comparison.(C)
generateG3 new schedules according to proportion at random:G1-G2+ G3=G, with G indicating the number of schedules in one generation.


## 6. Computational Experiments

### 6.1. Numerical Example

To illustrate the effectiveness of the algorithms described in this paper to solve MRCMPSP, we used a set of standard test problems systematically constructed by the project generator ProGen, which has been developed by Kolisch et al. [27]. They are available in the Project Scheduling Problem Library (PSPLIB) from the University of Kiel. The concrete steps are not described in detail due to the length limitation of the paper, and related parameters include a problem size I, the number of activities J1 of project i, and the complexity of project i, the total number of renewable resource types R.In this research,I=4,R=3, and complexity = 1.5. In addition, we also assume that the number of activities in each project is 18, 21, 16, and 17, respectively. Each availability of renewable resource is 13, 10, and 14, respectively, and detailed information about projects is not listed due to length limitation of the paper. DSM is introduced to model multi-project process, and the result is shown in Figure 5 after partitioning and banding algorithms.Figure 5
The DSM model of multi-projects.The parameters of aiNet used to solve MRCMPSP are shown in Table5.Table 5
Set parameters of aiNet.
Threshold of affinityInitial population sizeThe number of clonal individualsMaximum number of iterationsProportion of replacing individualsScale factorDs=0.8N=20Nc=10Ngen=100d%=20%λ=0.8Through calculation, the result is shown in Figure6. After 60 iterations, minimum fitness reduces to 67 (units) and average fitness generates more fluctuation due to introducing new individuals. It means that immune network still search new solutions. The schedule including activity priority values and execution modes by the proposed method is given in Table 7. Furthermore, Figure 7 gives the curve of network individuals with the number of iterations. We can see from Figure 7 that the number of network individuals keeps its stability between 55 and 65. That is to say, the algorithm no longer finds out the better solution. This variation process agrees with variation curve corresponding to minimum fitness in Figure 6, which further verifies the effectiveness and robustness of aiNet algorithm. The comparison of the proposed algorithm with other heuristics approaches is given in Figure 8. The proposed aiNet approach is better than the heuristics approach with four different priority rules.Figure 6
Convergence of makespan with the number of generations.Figure 7
Relationship between individuals and generations.Figure 8
Comparison of schedules generated by the proposed aiNet and other existing approaches.


### 6.2. More Computational Simulation Experiments

In order to compare the performance of the aiNet algorithm with other heuristic algorithms, extensive experiments to test the algorithm have been illustrated in this section. The multi-project test problems consist of 2, 4, and 10 single projects generated by Kolisch et al. [27]. The number of activities in a project is 30, 60, 90, and 120, respectively. For each problem type, we generated 20 instances. Each activity can use up to four resources and have three modes. To generate the multi-project instances the single project problems were randomly selected network complexity and resource factor. Table 6 shows the combinations of the number of single projects used for the problem.Table 6
Problem instances for the MRCMPSP problem subset.
Problem subsetNOIIJiMRMP30_22023034MP60_22026034MP90_22029034MP120_220212034MP30_42023034MP60_42026034MP90_42029034MP120_420212034MP30_102023034MP60_102026034MP90_102029034MP120_1020212034NOI: no. of instances;I: no. of projects; Ji: no. of activities of project i; M: no. of the modes the activity has; R: resources each activity can use.Table 7
Optimal activity schedules generated by the proposed aiNet approach.
Proj.ActivityModePriorityProj.ActivityModePriorityProj.ActivityModePriority111023632194126512961241722018331192371033911146122491316414256152581616617269181711212253244221511863227125823492362102332112432122501324414154153421624817157181511915920265212631282133211421652176323371353813239245102411125212161131601426815170162721122273194213521463124711548130491281012711240122381314714255152531616217267Setting parameters is a key issue to influence the performance of the algorithm. In order to get the most out of the aiNet algorithm, parameter tuning mentioned in Section5.2.4 was implemented on a set of randomly selected multi-project problems. Table 8 shows results obtained by the various algorithms on the problem subsets. The proposed algorithm is compared with other approaches, including genetic algorithm (GA), simulated annealing (SA), ant colony optimization (ACO), and artificial immune system (AIS), in view of the average project delay (APD) and lower total makespan (LTM) of multi-project. In this table, the first column indicates the problem subset. The second column shows the number of schedules, which is used as the stopping criterion. The third to the fifth columns represent the averages of APD and LTM from various algorithms. From Table 8, it is seen that out of 12 subsets, the aiNet algorithm is superior to others when the problem size is larger. The average project delays and lower total makespan obtained by the four approaches for all the problems are also compared, which show that our approach is obviously better than AIS and SA for all the problems but a little worse than ACO when the problem size is small. In addition, when the number of schedules increases, our approach still searches for the optimum but others are hardly influenced by it. This is because our approach introduces operations such as network compression, parameter tuning, and negative selection which are helpful to maintain the diversity of individuals. However, our algorithm may spend more computation time. There are two reasons causing this result: one is that clone selection may occupy more time in order to find out the local optimum; the other is that the new individuals are introduced to replace the more similar ones so as to find out the global optimum.Table 8
Comparison of performance obtained by different algorithms.
Problem subsetSchedulesai-NetSAACOAISAPDLTMCPUtAPDLTMCPUtAPDLTMCPUtAPDLTMCPUt100015.372.20.0813.378.60.0417.569.30.0416.674.10.06MP30_2500011.071.90.210.975.90.1517.069.10.1815.973.30.32100009.970.80.669.873.10.5016.468.50.8515.173.30.92100018.999.60.5225.6116.40.318.8107.80.618.1113.20.41MP60_2500016.396.62.121.5111.71.218.5106.52.517.5112.11.91000014.293.97.819.3109.8318.5106.19.817.1110.57.8100028.3181.21.5127176.20.5435.6207.90.8527.1192.20.71MP90_2500024.11746.126.9175.92.334.9204.62.5126.5189.11.91000021.9169.313.426.9175.96.234.5201.16.826.1187.95.8100067.22072.466.7264.40.7565.9202.41.187.6284.60.74MP120_2500066.5203.511.266.3242.42.8465.9202.43.284.1262.23.51000065.8199.12566.3232.28.765.9201.99.783.826010.1100021.299.60.0920.192.50.0622.493.50.0725.6101.40.07MP30_4500019.495.30.2419.391.30.1919.289.20.1824.397.50.211000018.692.20.718.691.30.5519890.6122.195.10.61100042.31310.7241.9147.40.4142.1130.40.9841.9129.80.62MP60_4500039.4125.44.341.5140.31.7942.0124.73.741.9127.63.91000035.1121.110.241.5138.64.541.8124.58.841.8127.59.5100069.3254.31.987.4253.30.967.3287.91.2672960.7MP90_4500065.5251.49.581.3252.42.7665.1277.65.166.92754.81000063.1239.12575.62526.164.8274.110.366.9251.411.3100087.5348.63.1121.63451.2150.4387.91.586.9340.51.34MP120_4500085.5325.113.1119.3340.15.3144.3366.46.186.5338.15.771000083.1319.634115.6335.710.5140.2354.212.986335.214.8100031.1110.60.1230.1152.50.0942.4193.50.0830141.40.11MP30_10500029.4105.30.4929.9141.30.4139.2189.20.429.3127.50.521000028.5102.21.228.8132.90.95391891.129115.11.3100062.31810.9988.9246.40.8582.1270.11.362229.10.82MP60_10500059.4175.44.885.3241.43.982.0254.36.360.8227.24.11000055.1172.112.184.1238.58.181.8244.514.159.922511.11000130.9319.52.4128.7353.11.1129.3387.91.71373261.2MP90_105000122.5311.212.3126.6351.43.2120.1361.65.3126.9324.33.110000113.1306.741125.63517.5119.8344.213.1121.1321.412.11000291.4497.25.2352.4652.32.7288.3487.93.1287.9540.53.34MP120_105000275.1483.118.3344.9640.97.3280.1486.48.2286.5538.19.7710000261.1473.154335.1637.715.5275.6484.217.9286535.227.6


### 6.3. Discussions

From the examples mentioned above, the effectiveness of the aiNet method is verified and the following advantages of the aiNet-searching method for solving the multi-mode resource-constrained multi-project scheduling problem can be summarized.


#### 6.3.1. Powerful Global Search Capability

The aiNet-searching method, similar to that of the evolution strategies and artificial neural networks, is based on local search intertwined with global search. In each iteration, a population of individuals is optimized locally through affinity proportional mutation; the global search is implemented by the population evolution operation; the network compression operation and the constant introduction of new randomly generated individuals help to keep the diversity in population. The satisfactory results obtained in a large number of experiments have demonstrated the powerful global search capability as well as the robustness of the aiNet-searching method in solving MRCMPSP despite of the uncertainty in algorithm.


#### 6.3.2. Simplicity and High Speed

In the aiNet-searching method, there is no encoding of individuals required, a direct problem representation is directly used in iterations; there is also no need to use gradient method and mutation operation is directly performed according to individual fitness. In addition, despite of the powerful search capability, the basic operations adopted in aiNet-searching method are only mutation, evaluation, and network compression, which are very easy to be implemented in computer. By simplifying the parameters relevant to MRCMPSP, the number of parameters used for project scheduling problem decreases and, hence, reduces the dimensions of searching space, simplifying the problem and computational complexity.


#### 6.3.3. More Candidate Solutions with Large Diversity

The two most important characters of the aiNet-searching method are that the dynamically adjusted optimum population size through metadynamics (diversity introduction) and network compression. Namely, some of the similar individuals are eliminated to avoid redundancy when the population reaches a stable state; then a number of new randomly generated ones are added to current population, this strategy leads to the large diversity between candidate solutions found.Besides, it should be noted that when the improved aiNet algorithm is used to solve MRCMPSP, the ideal condition for convergence is that, after several times of iteration, the number of network individuals should not change, indicating that the immune network reach to stabilization and the algorithm cannot go further to find better local solutions. But in real tests, the activity mode selection, which has great impact on its execution cycles and priority, makes the complexity of problem solving exponentially rise with the increase of the number of activity execution modes. For example, for a multi-project scheduling problem containing activities no more than 100 and average number of activity modes no more than 3, the number of configuration schemes for all activities in different modes may be as high as 3100 and it is unlikely to go over all the schemes using any algorithms. Due to this reason, if the number of network individuals fluctuates in a certain range during several times of iteration, it will mean that the algorithm meets the convergence conditions.


## 6.1. Numerical Example

To illustrate the effectiveness of the algorithms described in this paper to solve MRCMPSP, we used a set of standard test problems systematically constructed by the project generator ProGen, which has been developed by Kolisch et al. [27]. They are available in the Project Scheduling Problem Library (PSPLIB) from the University of Kiel. The concrete steps are not described in detail due to the length limitation of the paper, and related parameters include a problem size I, the number of activities J1 of project i, and the complexity of project i, the total number of renewable resource types R.In this research,I=4,R=3, and complexity = 1.5. In addition, we also assume that the number of activities in each project is 18, 21, 16, and 17, respectively. Each availability of renewable resource is 13, 10, and 14, respectively, and detailed information about projects is not listed due to length limitation of the paper. DSM is introduced to model multi-project process, and the result is shown in Figure 5 after partitioning and banding algorithms.Figure 5
The DSM model of multi-projects.The parameters of aiNet used to solve MRCMPSP are shown in Table5.Table 5
Set parameters of aiNet.
Threshold of affinityInitial population sizeThe number of clonal individualsMaximum number of iterationsProportion of replacing individualsScale factorDs=0.8N=20Nc=10Ngen=100d%=20%λ=0.8Through calculation, the result is shown in Figure6. After 60 iterations, minimum fitness reduces to 67 (units) and average fitness generates more fluctuation due to introducing new individuals. It means that immune network still search new solutions. The schedule including activity priority values and execution modes by the proposed method is given in Table 7. Furthermore, Figure 7 gives the curve of network individuals with the number of iterations. We can see from Figure 7 that the number of network individuals keeps its stability between 55 and 65. That is to say, the algorithm no longer finds out the better solution. This variation process agrees with variation curve corresponding to minimum fitness in Figure 6, which further verifies the effectiveness and robustness of aiNet algorithm. The comparison of the proposed algorithm with other heuristics approaches is given in Figure 8. The proposed aiNet approach is better than the heuristics approach with four different priority rules.Figure 6
Convergence of makespan with the number of generations.Figure 7
Relationship between individuals and generations.Figure 8
Comparison of schedules generated by the proposed aiNet and other existing approaches.


## 6.2. More Computational Simulation Experiments

In order to compare the performance of the aiNet algorithm with other heuristic algorithms, extensive experiments to test the algorithm have been illustrated in this section. The multi-project test problems consist of 2, 4, and 10 single projects generated by Kolisch et al. [27]. The number of activities in a project is 30, 60, 90, and 120, respectively. For each problem type, we generated 20 instances. Each activity can use up to four resources and have three modes. To generate the multi-project instances the single project problems were randomly selected network complexity and resource factor. Table 6 shows the combinations of the number of single projects used for the problem.Table 6
Problem instances for the MRCMPSP problem subset.
Problem subsetNOIIJiMRMP30_22023034MP60_22026034MP90_22029034MP120_220212034MP30_42023034MP60_42026034MP90_42029034MP120_420212034MP30_102023034MP60_102026034MP90_102029034MP120_1020212034NOI: no. of instances;I: no. of projects; Ji: no. of activities of project i; M: no. of the modes the activity has; R: resources each activity can use.Table 7
Optimal activity schedules generated by the proposed aiNet approach.
Proj.ActivityModePriorityProj.ActivityModePriorityProj.ActivityModePriority111023632194126512961241722018331192371033911146122491316414256152581616617269181711212253244221511863227125823492362102332112432122501324414154153421624817157181511915920265212631282133211421652176323371353813239245102411125212161131601426815170162721122273194213521463124711548130491281012711240122381314714255152531616217267Setting parameters is a key issue to influence the performance of the algorithm. In order to get the most out of the aiNet algorithm, parameter tuning mentioned in Section5.2.4 was implemented on a set of randomly selected multi-project problems. Table 8 shows results obtained by the various algorithms on the problem subsets. The proposed algorithm is compared with other approaches, including genetic algorithm (GA), simulated annealing (SA), ant colony optimization (ACO), and artificial immune system (AIS), in view of the average project delay (APD) and lower total makespan (LTM) of multi-project. In this table, the first column indicates the problem subset. The second column shows the number of schedules, which is used as the stopping criterion. The third to the fifth columns represent the averages of APD and LTM from various algorithms. From Table 8, it is seen that out of 12 subsets, the aiNet algorithm is superior to others when the problem size is larger. The average project delays and lower total makespan obtained by the four approaches for all the problems are also compared, which show that our approach is obviously better than AIS and SA for all the problems but a little worse than ACO when the problem size is small. In addition, when the number of schedules increases, our approach still searches for the optimum but others are hardly influenced by it. This is because our approach introduces operations such as network compression, parameter tuning, and negative selection which are helpful to maintain the diversity of individuals. However, our algorithm may spend more computation time. There are two reasons causing this result: one is that clone selection may occupy more time in order to find out the local optimum; the other is that the new individuals are introduced to replace the more similar ones so as to find out the global optimum.Table 8
Comparison of performance obtained by different algorithms.
Problem subsetSchedulesai-NetSAACOAISAPDLTMCPUtAPDLTMCPUtAPDLTMCPUtAPDLTMCPUt100015.372.20.0813.378.60.0417.569.30.0416.674.10.06MP30_2500011.071.90.210.975.90.1517.069.10.1815.973.30.32100009.970.80.669.873.10.5016.468.50.8515.173.30.92100018.999.60.5225.6116.40.318.8107.80.618.1113.20.41MP60_2500016.396.62.121.5111.71.218.5106.52.517.5112.11.91000014.293.97.819.3109.8318.5106.19.817.1110.57.8100028.3181.21.5127176.20.5435.6207.90.8527.1192.20.71MP90_2500024.11746.126.9175.92.334.9204.62.5126.5189.11.91000021.9169.313.426.9175.96.234.5201.16.826.1187.95.8100067.22072.466.7264.40.7565.9202.41.187.6284.60.74MP120_2500066.5203.511.266.3242.42.8465.9202.43.284.1262.23.51000065.8199.12566.3232.28.765.9201.99.783.826010.1100021.299.60.0920.192.50.0622.493.50.0725.6101.40.07MP30_4500019.495.30.2419.391.30.1919.289.20.1824.397.50.211000018.692.20.718.691.30.5519890.6122.195.10.61100042.31310.7241.9147.40.4142.1130.40.9841.9129.80.62MP60_4500039.4125.44.341.5140.31.7942.0124.73.741.9127.63.91000035.1121.110.241.5138.64.541.8124.58.841.8127.59.5100069.3254.31.987.4253.30.967.3287.91.2672960.7MP90_4500065.5251.49.581.3252.42.7665.1277.65.166.92754.81000063.1239.12575.62526.164.8274.110.366.9251.411.3100087.5348.63.1121.63451.2150.4387.91.586.9340.51.34MP120_4500085.5325.113.1119.3340.15.3144.3366.46.186.5338.15.771000083.1319.634115.6335.710.5140.2354.212.986335.214.8100031.1110.60.1230.1152.50.0942.4193.50.0830141.40.11MP30_10500029.4105.30.4929.9141.30.4139.2189.20.429.3127.50.521000028.5102.21.228.8132.90.95391891.129115.11.3100062.31810.9988.9246.40.8582.1270.11.362229.10.82MP60_10500059.4175.44.885.3241.43.982.0254.36.360.8227.24.11000055.1172.112.184.1238.58.181.8244.514.159.922511.11000130.9319.52.4128.7353.11.1129.3387.91.71373261.2MP90_105000122.5311.212.3126.6351.43.2120.1361.65.3126.9324.33.110000113.1306.741125.63517.5119.8344.213.1121.1321.412.11000291.4497.25.2352.4652.32.7288.3487.93.1287.9540.53.34MP120_105000275.1483.118.3344.9640.97.3280.1486.48.2286.5538.19.7710000261.1473.154335.1637.715.5275.6484.217.9286535.227.6


## 6.3. Discussions

From the examples mentioned above, the effectiveness of the aiNet method is verified and the following advantages of the aiNet-searching method for solving the multi-mode resource-constrained multi-project scheduling problem can be summarized.


### 6.3.1. Powerful Global Search Capability

The aiNet-searching method, similar to that of the evolution strategies and artificial neural networks, is based on local search intertwined with global search. In each iteration, a population of individuals is optimized locally through affinity proportional mutation; the global search is implemented by the population evolution operation; the network compression operation and the constant introduction of new randomly generated individuals help to keep the diversity in population. The satisfactory results obtained in a large number of experiments have demonstrated the powerful global search capability as well as the robustness of the aiNet-searching method in solving MRCMPSP despite of the uncertainty in algorithm.


### 6.3.2. Simplicity and High Speed

In the aiNet-searching method, there is no encoding of individuals required, a direct problem representation is directly used in iterations; there is also no need to use gradient method and mutation operation is directly performed according to individual fitness. In addition, despite of the powerful search capability, the basic operations adopted in aiNet-searching method are only mutation, evaluation, and network compression, which are very easy to be implemented in computer. By simplifying the parameters relevant to MRCMPSP, the number of parameters used for project scheduling problem decreases and, hence, reduces the dimensions of searching space, simplifying the problem and computational complexity.


### 6.3.3. More Candidate Solutions with Large Diversity

The two most important characters of the aiNet-searching method are that the dynamically adjusted optimum population size through metadynamics (diversity introduction) and network compression. Namely, some of the similar individuals are eliminated to avoid redundancy when the population reaches a stable state; then a number of new randomly generated ones are added to current population, this strategy leads to the large diversity between candidate solutions found.Besides, it should be noted that when the improved aiNet algorithm is used to solve MRCMPSP, the ideal condition for convergence is that, after several times of iteration, the number of network individuals should not change, indicating that the immune network reach to stabilization and the algorithm cannot go further to find better local solutions. But in real tests, the activity mode selection, which has great impact on its execution cycles and priority, makes the complexity of problem solving exponentially rise with the increase of the number of activity execution modes. For example, for a multi-project scheduling problem containing activities no more than 100 and average number of activity modes no more than 3, the number of configuration schemes for all activities in different modes may be as high as 3100 and it is unlikely to go over all the schemes using any algorithms. Due to this reason, if the number of network individuals fluctuates in a certain range during several times of iteration, it will mean that the algorithm meets the convergence conditions.


## 6.3.1. Powerful Global Search Capability

The aiNet-searching method, similar to that of the evolution strategies and artificial neural networks, is based on local search intertwined with global search. In each iteration, a population of individuals is optimized locally through affinity proportional mutation; the global search is implemented by the population evolution operation; the network compression operation and the constant introduction of new randomly generated individuals help to keep the diversity in population. The satisfactory results obtained in a large number of experiments have demonstrated the powerful global search capability as well as the robustness of the aiNet-searching method in solving MRCMPSP despite of the uncertainty in algorithm.


## 6.3.2. Simplicity and High Speed

In the aiNet-searching method, there is no encoding of individuals required, a direct problem representation is directly used in iterations; there is also no need to use gradient method and mutation operation is directly performed according to individual fitness. In addition, despite of the powerful search capability, the basic operations adopted in aiNet-searching method are only mutation, evaluation, and network compression, which are very easy to be implemented in computer. By simplifying the parameters relevant to MRCMPSP, the number of parameters used for project scheduling problem decreases and, hence, reduces the dimensions of searching space, simplifying the problem and computational complexity.


## 6.3.3. More Candidate Solutions with Large Diversity

The two most important characters of the aiNet-searching method are that the dynamically adjusted optimum population size through metadynamics (diversity introduction) and network compression. Namely, some of the similar individuals are eliminated to avoid redundancy when the population reaches a stable state; then a number of new randomly generated ones are added to current population, this strategy leads to the large diversity between candidate solutions found.Besides, it should be noted that when the improved aiNet algorithm is used to solve MRCMPSP, the ideal condition for convergence is that, after several times of iteration, the number of network individuals should not change, indicating that the immune network reach to stabilization and the algorithm cannot go further to find better local solutions. But in real tests, the activity mode selection, which has great impact on its execution cycles and priority, makes the complexity of problem solving exponentially rise with the increase of the number of activity execution modes. For example, for a multi-project scheduling problem containing activities no more than 100 and average number of activity modes no more than 3, the number of configuration schemes for all activities in different modes may be as high as 3100 and it is unlikely to go over all the schemes using any algorithms. Due to this reason, if the number of network individuals fluctuates in a certain range during several times of iteration, it will mean that the algorithm meets the convergence conditions.


## 7. Conclusions

In this paper, an improved artificial immune algorithm used to solve MRCMPSP is put forward. Firstly, the mathematic model of MRCMPSP is set up. Secondly, the DSM method is adopted to simplify the mathematic model of MRCMPSP so as to improve quality and quantity of candidate solutions. And then, operations including clonal selection, negative selection, and network compression are used to realize the local searching, and global searching which will assure that the algorithm has a powerful searching ability and also avoids the possible combinatorial explosion. Subsequently, a set of case studies are given to test the searching ability of the algorithm. The results show that it is efficient and effective comparing to others.Future works may include the following two aspects: (1) how to use aiNet algorithm to solve multiobject scheduling problem such as time, cost, and resource utilization rate; (2) the vast majority of the research efforts in project scheduling assume complete information about the scheduling problem to be solved and a static deterministic environment. However, in the real world, project activities are subject to considerable uncertainty. As a result, how to introduce risk management strategies to solve project scheduling problem in a dynamic environment is another area that needs to be investigated in future.



---

*Source: 713740-2012-05-21.xml*