SOLVING A NOVEL MULTI-SKILLED PROJECT SCHEDULING MODEL BY SCATTER SEARCH

A multi-skilled project scheduling problem (MSPSP) has generally been presented to schedule information technology projects in deterministic conditions. The contribution of this model is to consider the resources, called ‘staff members’. These members are regarded as valuable, renewable, and discrete resources with different multiple skills. The different skills of staff members, as well as the project network’s activity requirement of different skills, cause this problem to become a special type of multi-mode resourceconstrained project scheduling problem (MM-RCPSP), with a huge number of modes. Taking into account the importance of this issue and the few studies performed on this problem, a novel mathematical model for the MSPSP is presented. Since the complexity of this problem is NP-hard, an efficient scatter search (SS) algorithm is developed to solve such a difficult problem. This proposed SS is capable of generating optimised solutions in small sizes, and the excellent solutions in large sizes are compared with the solutions reported by a proposed Tabu search (TS) algorithm.


OPSOMMING
'n Veeldoel projekskeduleringsvraagstuk (MSPSP) word voorgehou vir skedulering onder deterministiese toestande van inligtingstegnologieprojekte.Die model word aangewend vir hulpbronne genaamd "personeellede".Die bronne is waardevol, hernubaar, diskreet en beskik oor uiteenlopende vaardighede.Die eienskappe van die vraagstuk berus by uiteenlopendheid.Vir die voorafgaande omstandighede word 'n nuwe model geskep vir die hantering van eienaardighede.Aangesien die problem NP-moeilik is, word 'n doeltreffende spreisoek-algoritme gebruik met groot sukses.INTRODUCTION Blazewicz et al. [1] first considered a resource-constrained project scheduling problem (RCPSP) that belongs to the class of NP-hard optimisation problems.The RCPSP is one of the most complicated operations research problems.The way to solve it has been improved considerably through exact and heuristic methods in recent decades, and new optimisation techniques have been employed to solve the problem [2][3][4].Recently, a multi-skilled project scheduling problem (MSPSP), which is a fairly new version of a project scheduling problem, has been presented by Neron and Boptista [5].As a general rule, this problem is an extended model of the multi-mode RCPSP [6].The main differences between the MSPSP and the MM-RCPSP are in the resources being considered and the type of requirement for each resource.In the MSPSP, the resources are staff members with different skills assigned to the activities of the project.A staff member can be assigned at most to one requirement for a specific time to perform an activity using one required skill.Different combinations of use of these staff members are determined during the project assignment on the basis of the skills required for each activity and the skills of the staff members.To accomplish each activity in any skill, the proper resources are selected from among a set of qualified resources.In other words, if all staff members in the whole project had a single skill, the MSPSP would be the same as a classic RCPSP.According to the expressions mentioned above, and to clarify the MSPSP, a problem with a feasible solution is illustrated in Figures 1(a), 1(b) and 1(c).

Figure 1a: Staff members' skills for the MSPSP instance 1
1 There are 6 staff members in the project according to Figure 1.a.It should be noted that the coloured [copyeditor comments: no colours can be discerned; I suggest that different shades of grey be used] rectangles for each resource (RM) denote the expertise of the M th resource at the k th skill level, while the white rectangles denote a lack of expertise of the M th resource at the k th skill level.The fact that resources can be used to satisfy different requirements has been presented in the definition of job-shop scheduling.As a result, the MSPSP can be regarded as a combination of a classic RCPSP model and multi-process machines (MPM) [7,8].Taking the related definitions with the given problem into account, and referring to Figure 1, the MSPSP can be classified in the category of the multi-mode RCPSP (MM-RCPSP) [5] with very large modes.In this case, the execution modes of an activity consist of a subset of qualified resources that can be assigned to that activity.Infinite execution modes of this problem originate from the different skill of each resource.As shown in the example in Figure 1, activity 2 can be executed by resources (i.e., R 1 , R 2 , R 3 , R 6 ) in skill 1, by resources (i.e., R 1 , R 3 , R 5 ) in skill 2, and by resources (i.e., R 1 , R 2 , R 4 , R 6 ) in skill 3.So activity 2 can be executed in 48 different modes.If the entire network is investigated, the number of execution modes for activities will be huge.Hence, the MSPSP is a type of the MM-RCPSP with huge modes to execute each activity.This means that the MSPSP cannot be solved even in medium sizes by the presented solution methods for the MM-RCPSP, which are often based on the enumeration [5].Taking these facts into consideration, new techniques have been proposed to solve this type of problem [9].In general, three classes of solution methods have been developed to solve these problems: lower bound, branch-and-bound, and heuristic and meta-heuristic methods.
Bellenguez-Morineau [10] summarised some proposed methods.Another example in this direction is the work carried out by Kadro and Najid [11].They extended a solution method Staff member 1 Staff member 2 Staff member 3 Staff member 4 Staff member 5 Staff member 6 by Tabu search, accompanied by strong local search, for a manpower constrained MM-RCPSP class.In order to exhibit the strength of the algorithm, they also found a lower bound for the problem and compared the generated solutions with this bound.Another example of research on solving a manpower scheduling problem in projects is that done by Valls et al. [12].They recommended a hybrid genetic algorithm (GA) to solve a skilled manpower scheduling problem in computer centres.Heimerl and Kolisch [13] proposed a mixed-integer linear programming (MILP) model with hard constraints in order to minimise the manpower cost, considering the in-source and out-source manpower, for an information technology projects portfolio.Gutjahr et al. [14] took a project portfolio into account and introduced a non-linear MIP model on the basis of maximising the average economic income for selecting the projects, optimising the time, and assigning the persons to selected projects.They presented a heuristic process that included two components of a greedy heuristic algorithm to schedule and assign the persons, and a meta-heuristic algorithm to choose the project.
Then they compared the obtained solutions with the bounds acquired by the exact solution of the simplified mathematical model, and proved the efficiency of their method.The MSPSP can have various applications, such as manpower scheduling in preventive maintenance.Since preventive maintenance is performed with human skills in the form of a project, Pessan [15] formulated it as an MSPSP.A significant point in these problems is the objective function.In most studies done in this area, the objective is to provide a schedule in order to minimise the project execution time [5,11].Some researchers have also taken account of personnel costs in their model.Li and Womer [30] defined the minimum cost for staff members as an objective function.Heimerl and Kolisch [13] and Gutjahr et al. [14] entered these costs in the MSPSP in special cases as well.
This paper has been organised as follows.Section 2 deals with a novel mathematical model, the simplified model, the parameters used, and the decision variables.An efficient scatter search algorithm to solve the problem, and an elite Tabu search algorithm to compare the results, are presented in Section 3. Section 4 is allotted to computational results.Section 5 presents concluding remarks.

PRESENTING A NOVEL MATHEMATICAL MODEL FOR MSPSP
In the mathematical model for the MM-RCPSPs, two types of formulations are applied: sequence-based models, and time index formulation [9].In this paper, the formulation is done with sequence-based models for the MSPSP.In this section, indices, parameters, and decision variables are presented first, and then the objective function and constraints of the mathematical model for developing the MSPSP are considered.Since this model is inspired by a real situation, the initial model is a mixed-nonlinear one that is converted to a linear model at the end of this section.It should be noted the network in question is defined as 'activity on node' (AON).

Novel linear mathematical model
Regarding the above-mentioned cases, a mathematical model for the MSPSP that is inspired by a real situation is presented below.
In the MSPSP, the objective function can be considered as the minimisation of the greatest start time of the last activity for different skills.Therefore, the finish time of the last activity will be minimised.Equation (1) describes this.One of the fundamental constraints in the MSPSP is the non-preemptive allocation of resources to the activities' skills.This constraint is expressed so that if a resource allocates to an activity at a special skill, this resource cannot be employed for another activity until it has finished the current activity.Eqs. ( 2)-( 3) guarantee this constraint.It should be noted that M in Eqs. ( 2) and (3) shows big-M in big-M method [16].The required amount of each activity at any skill is equal to ik b in terms of a resource per day that should be guaranteed for each activity at any skill until finishing the activity time at different skills.Eq. ( 4) accompanied by Eqs. ( 2) and (3) provides this constraint.Execution of each project activity involves taking account of the precedence network.In a precedence network, the succeeding activity can be started when all preceding activities of this activity have been finished at all skills.Eq. ( 5) takes this matter into account.It should be mentioned that the first and last activity in the precedence network are generally the starting and ending activities, which are sometimes defined as virtual activities.An activity in each skill can be started when enough resources are allocated to it.Eq. ( 6) expresses this constraint.In this equation, M is also big-M.Finally, Eqs. ( 7) and ( 8) explain the type of decision variables in the mathematical model.As seen, Model (I) is nonlinear.Using the property below from the operations research science [16], Model (I) can be converted to a linear model.

Property 1:
The objective function of Model (I) can take the linear form as follows:

Proof:
In this part, the standard linearisation methods of mathematical models [17] are applied.In fact, if max( ; , ) . In this manner, the objective function will become linear.

Property 2:
Eq. ( 5) is rewritten as follows: By considering Eq. ( 6), if Now, the abovementioned equation can be easily rewritten as: Regarding the above equation, the minimum of should be greater than Hence, the entire amounts of will be greater than It can be proved that Eqs. ( 2) and (3) are converted to linear equations by changing and adding Eqs. ( 10)-( 12):
Thus the NLMIP (i.e., Model (I)) is converted to the LMIP (i.e., Model (II)) including Eqs. (1-1), (2-1), (3-1), ( 4), (5-1), and ( 6) to (13).Although this simplification makes the model more efficient, Model (II) is also placed on the class of NP-Hard problems and cannot be solved in the real sizes at a limited time.As a result, the scatter search and Tabu search algorithms are used to solve the model in large sizes.In the next part of this paper, the details of the proposed methods are presented.

Proposed scatter search
Scatter search (SS), which is one of the evolution methods to solve NP-hard problems, was first presented by Glover [19] to solve integer programming problems.Afterwards, Glover [20][21][22] examined different aspects of the scatter search algorithm and compared it with the genetic algorithm.In the original proposal, Glover explained scatter search as a method that uses a succession of coordinated initialisations to generate solutions.He introduced the reference set (RefSet) of solutions and several guidelines -including that the search occurs in a systematic way, as opposed to the random designs of other methods (such as GAs).The approach was conceived to begin by identifying a convex combination of the reference points.This central point, together with subsets of the initial reference points, was then used to define new sub-regions.Consequently, analogous central points of the sub-regions were examined in a logical sequence.At the end, these latter points were rounded (in a broad sense, depending on the solution representation) to acquire the desired solutions.
The general pattern of this method is used for the majority of the SS executions.There are five general stages in the main pattern of SS [23,24]: generation of various solutions, improving the generated solutions, generation of a reference set, the method of choosing subsets from the reference set, and the subsets' solutions combination method.In this paper, the proposed SS is designed on the basis of the five above-mentioned stages to solve the MSPSP in accordance with Figure 2. Then the details of Figure2 are described as follows.a a a a a a a a a a a Initialise N feasible solutions (population size) by a serial scheduling method.
Out loop: Apply the diversification method for the current solution.
In loop: • Apply improvement method for each current solution.
• Apply the reference set method for construction of reference set1 & reference set2.• Apply the subset generation method for construction of binary subset of reference set1 & reference set2.• Apply combination method on created binary subsets for generation of a new solution.• Choose N solutions for the next iteration.End in loop.End out loop.

Solution representation method
In this paper, two structures are used to represent the solutions obtained by the proposed algorithms.The first structure, which is used to represent the order in which the activities are completed, is a one-dimensional matrix.The second structure is a three-dimensional matrix that indicates the allocation and start time of the required skills of all project activities in the MSPSP.In this matrix, the number of rows is equal to the number of all the required skills for the project; each column expresses the assigned resource's number to each skill and its start time; and the third dimension of the matrix represents each activity's number.The first and second structures are shown in Figures3 and 4, based on Figures 1a, 1b, and 1c.In fact, Figure 3 is a representation method for a feasible sequence of the completion of the project activities in Figure 1.b, which has been previously shown in Figure 1.c.In addition, Figure4 illustrates the representation method of allocation and the start time of the required skills of the fourth activity in Figure 1.b, which can also be seen in Figure 1.c.In other words, in accordance with Figure 4, the second resource (staff member with number 2) has been assigned to the first skill of the fourth activity at time 5, and the third and fifth resources (staff members with numbers 3 and 5) have been assigned to the second skill of the fourth activity at time 5.As Figure 1.b shows, this activity does not require the third skill to be completed.

Generation of initial solutions
In this research, the initial solutions were firstly generated by stochastic procedures.After evaluating the quality of the generated initial solutions, it was specified that they are not acceptable for use.Hence, a bi-directional scheduling generation scheme [25] is used to generate initial solutions.In this method, a forward and backward partial scheduling is regarded simultaneously; and at any iteration, an activity can be scheduled when it is just schedulable in one direction.In this process, three sets of activities are defined: 1) the set of activities whose precedent activities have been scheduled (ready for forward scheduling); 2) the set of activities whose succeeding activities have been scheduled (ready for backward scheduling); and 3) the set of activities whose precedent and succeeding activities have been scheduled (ready for forward and backward scheduling).At any iteration, the activities that are forward schedulable are transferred to set1, the activities that are backward schedulable are transferred to set 2, and the activities that are both forward and backward schedulable are transferred to set3 and removed from sets 1 and 2. After defining the sets, an activity is selected randomly from set1, and in one of the random possible modes is scheduled at the earliest time and removed from the related set; and then all sets are updated.In set 2 too, an activity is selected randomly and a random possible mode is assigned to it; and it is scheduled at the latest time on the condition that it does not violate the precedence activities and resources.This activity is removed from set 2, and then all sets are updated.This process is continued until no activity is schedulable in one direction.In this case, just the activities of set 3 have not been scheduled.The activities of set 3 are also selected randomly, and are scheduled in random directions byassigning random possible modes to them.Afterwards set 3 is updated.This process is continued until all activities of set 3 are assigned.At present, two lists of forward and backward scheduling are provided.Thereafter, to determine the final scheduling list, the activities of set 2 are added to set 1,in the reverse order of selecting them.

Diversification method for the current solution
In this paper, each existing solution is entered into the diversification method, and is scattered by the multi-start Tabu search method as much as is possible, according to Figure 5.
0. Counter p is set to 1 (p th solution is A). 1. Counter q is set to 1.
2. Counter r is set to 1.
3. Move procedure is applied to p th solution and the solution B is obtained.3.1.If the solution B is not better and the move is not found in the Tabu list too, the solution is replaced with the probability of 5%. 4. Add one unit to counter r.If the counter is less than max-iteration, Go to 3; else Go to 5. 5. Add one unit to counter.If the counter is less than max-iteration, Go to 2. 6. Add one unit to counter p.If the counter is less than the population size (N), Go to 1.

Figure 5: Diversification method
The move procedure and Tabu list are described as follows: • Move procedure: In this procedure, two indices of activities that can be started simultaneously are selected randomly and displaced according to the precedence relations.The resources assignment to the relevant skills of these activities are also changed randomly by checking the feasibility conditions.

•
Tabu list: The abovementioned move procedure employs an intelligent TS strategy, based on avoiding a return to the solutions just visited, using an adaptive memory that is called a Tabu list.This Tabu list depends on the search direction and avoids repeating a move in the Tabu tenure.For example, if an obtained solution is accepted in a move, the move of the two mentioned points is added to the Tabu list.The forbidden moves remain inthe list in the Tabu tenure, and then exit the list.

Solutions improvement procedure
According to Figure 6, two parallel move procedures are used in order to improve the quality of the solutions.a a a For each existing solution in the population: 1. Counter is set to 0, and the following steps are repeated to reach the max-iteration: 2. The existing solution is improved as follows: 2.1.Apply the move (neighbour) structure 1 on the solution.2.2.Apply the move structure 2 on the solution.2.3.Select the best solution among three solutions and consider it as the current solution for the next iteration.3. Add one unit to counter.If the counter is not greater than max-iteration, Go to 4; else, Go to 2.
4. End.o If d>a, the activity existing in the ath cell is inserted in the (d-1)th cell.

Updating the reference set
The reference set is formed of two subsets,Refset1 (the solutions of quality) and Refset2 (diversified solutions).The maximum capacity of these subsets is 1 b and 2 b respectively.In other words, . To make the reference set, the subset Refset1 is first formed.To do this, at most 1 b non-repetitive solutions are selected from among the best solutions and added to Refset1.Among the remaining solutions, 2 b non-repetitive solutions with the maximum Euclidean distance1 from Refset1 are selected and added to Refset2.

Formation of the subsets
In this section, the subsets are formed from the solutions of the reference set in order to combine the solutions and generate the new ones.Hence, three types of pair subsets (S 1 , S 2 , S 3 ) are formed from the solutions of the reference set: • S 1 : All pair subsets of Refset1 that have at most • S 2 : All pair subsets of Refset2 that have at most • S 3 : A pair subset including Refset1 and Refset2 solutions whose members are made as succeeding.The first element of S 3 is each member of Refset1 that is selected in order.The second element is also one of the members of Refset2 that has the greatest euclidean distance from the first selected element.This subset contains 1 b members.

Subsets combination method
In this paper, a single-point crossover operator is used to combine each generated subset with the SS algorithm.The first and second members of each generated subset in the previous section are considered as parent1 and parent2.To generate offspring, one index i is generated randomly in the interval [1…n] (n is the number of activities) at first, and from the first to the ith cell of parent1 is assigned to the first to the ith cell of offspring1.The rest of the sequence of offspring1 is obtained from parent2 in the order of their appearance in this parent, for the activities that have not yet been selected in offspring1.Like offspring1, offspring2 is also generated by displacing the parents.

Tabu search (TS)
The Tabu search was first developed by Glover [26].In his ongoing research, Glover [27,28] explained the details of the TS algorithm.TS and Simulated Annealing (SA) algorithms have in common the fact that they guide the applied local search algorithm to avoid bad and low quality local optimum solutions by creating a Tabu list and supervising the examined solutions.A Tabu list stores the characteristics of examined solutions and prevents their being re-examined.Although the TS algorithm permits moves that make the objective function worse, in spite of the SA algorithm, it uses an exact acceptance criterion rather than a probable one.The TS chooses these moves around a corrected neighborhood structure.While running the algorithm, and based on the Tabu list, the neighborhoods are corrected and improved and lead to new neighborhoodsthat are in fact the original ones that have been improved.The improved neighborhoods can give rise to better solutions.
The Tabu list has a size, and can store a determined number of characteristics.These characteristics are stored in the Tabu list according to the 'earliest in / earliest out' system.Therefore, characteristics are added to the beginning of the Tabu list and exit from the end of it (finishing the Tabu tenure) [28].In order to investigate the quality of the solutions generated by the proposed SS, the MSPSP is also solved by using the TS algorithm [29], as in Figure 7:  The details of Figure 7 can be described as follows: • Initial solution: In order to generate an initial solution, the same procedure used in the SS algorithm is employed.

•
Move procedure: To compare the SS and TS algorithms, the move structures1 and 2 in the improvement procedure of SS are applied for the neighborhood operator of the TS algorithm.In this procedure, an intelligent TS strategy based on avoiding a return to generated solutions in the previous iterations is used by an adaptive memory called the Tabu list.

•
Tabu list: The Tabu list depends on the search direction, and avoids the repetition of a move in the Tabu tenure.For instance, if indexj is generated in a move and the obtained solution is accepted, its change move is added to the list.The forbidden moves remain in the list in the Tabu tenure, and after finishing Tabu tenure they exit the list.o Search direction: In order to determine the acceptance criterion of a new solution, the variable η is expressed by: B A obj obj − = η (14) whereA is the current solution and B is a solution that has been generated by the TS method and by applying the move procedure.Therefore, the acceptance criterion is as given in one of the cases illustrated in Figure 8.
1.If 0 ≤ η and the move does not exist in the Tabu list, the solution B will be replaced to A.

If
0 ≤ η and the move exists in the Tabu list, the aspiration strategy will be applied and the solution B will be replaced to A.
• The aspiration strategy is designed so that if the number of iterations for which the solution remains unchanged is greater than the defined allowable limit, the solution will be accepted even though it is forbidden.

COMPUTATIONAL RESULTS
Since there is no special problem instance in the field of the MSPSP [6,9,12], some reasonable instances are generated randomly with a different number of activities and features,as listed in Table 1.In order to analyse the developed algorithms further, the problem is solved in small stepsby the Lingo 9 software to find the exact solution.It should be noted that, in order to determine the parameters of the proposed algorithms, a trial and error method has been used in this paper.These parameters have been chosen so that the solutions acquired by the proposed algorithms are veryclose to the optimum solutions of the mathematical model for small-sized problems.These parameters are shown in Table 2.In this paper, the MSPSP is coded by the Matlab R2009a software, and all computational experiments are run on a Pentium 4 PC with 4 GB of memory and 2.20 GHz of CPU.The results of the small-sized problem after ten executions (in second) are shown in Table 3.As shown in Table 2, the exact solution of the mathematical model takes a long time to produce the optimised solutions in small sizes.The proposed SS produces the same results, but taking less time than Lingo 9.The proposed TS achieves feasible solutions in very short times, which can be considered as an upper bound to solve the given problem.The results of Table 2 show that the designed SS algorithm produces excellent solutions.

Table 1: Mathematical parameters of instances for the MSPSP
It should be mentioned that the model presented in this paper defines the variables and parameters from a different point of view, despite the approach of other papers [6, 13, 15, and 30]; and that the defined problem has many parameters.Note that, there is a final answer in all existing papers.These matters make it impossible to draw any exact comparisons among the existing papers.
In connection with these comments, the problem in larger and more real sizes is presented in Table 4.In fact, excellent procedures have been created to solve the MSPSP in the real sizes by mathematical programming, and by exact and meta-heuristic solutions in this paper.

CONCLUSION
In many projects (such as information technology projects, research projects, engineering activities, preventive maintenance activities, and the like) staff members should be assigned to project activities in accordance with their skills and taking into consideration the precedence network of projects.As mentioned before, this problem has become wellknown as the multi-skilled project scheduling problem (MSPSP).Since the MSPSP is a special type of the multi-mode resource-constrained project scheduling problem (MM-RCPSP) with infinite modes, which has received less attention from researchers, a novel linear mixedinteger programming (LMIP) model has been presented for the MSPSP in this paper, and solved by an efficient scatter search (SS) algorithm.To verify the efficiency of the proposed SS, the generated random problems have been compared with the optimised solutions obtained by the Lingo 9 software in small sizes, and with the solutions obtained by the proposed elite Tabu search (TS) algorithm in medium and large sizes.

Figure 2 :
Figure 2: Structure of the SS algorithm

Figure 3 :Figure 4 :
Figure 3: A problem instance to represent the solutions in terms of the first structure according to Figures 1a, 1b, and 1c.

Figure 6 :Move structure 1 :Move structure 2 :
Figure 6: Solutions improvement procedure Structures 1 and 2 are explained as follows: • Move structure 1: This structure is the same as the move approach in the solutions diversification procedure.• Move structure 2: Index a is generated randomly in the interval [1,…, n-1] (n is the number of activities).B is the index of the first preceding activity existing in the ath cell, and c is the index of the last precedence activity existing in the ath cell index d is also generated randomly in the interval [b,…., c].o If d<a, the activity existing in the ath cell is inserted in the dth cell.oIf d>a, the activity existing in the ath cell is inserted in the (d-1)th cell.3.1.5Updating the reference setThe reference set is formed of two subsets,Refset1 (the solutions of quality) and Refset2 (diversified solutions).The maximum capacity of these subsets is 1

Figure 7 :
Figure 7: The pseudo code of the TS algorithm does not exist in the Tabu list, the solution B will be replaced to A if the solution A is not dominated by B. 4. If 0 ≥ η and the move exist in the Tabu list, the solution A will remain unchanged.

1
Number of (Activities, Skills, Resources) 2 Objective function value (OFV) 3 Number of times of achievement to the best known solution by each proposed algorithm (NBS) 4 After 15 hours

2.2 Parameters and sets
Generate an initial solution for the MSPSP and consider it as current solution (x).Create an empty Tabu list.Counter=0 While Counter <= Number of iterations in the neighborhood structure of the TS do 1.Use move procedure to move from current solution to new solution ( x′ ). 2. Check acceptance criterion for x′ and in case of acceptance, store it in Tabu list during Tabu tenure in order to avoid returning to it.Consider the accepted solution as current solution (x). 3. Update Tabu list.End while Consider x as the best solution of TS algorithm.