Presentation of Multi-Skill Workforce Scheduling Model and Solving the Model Using MetaHeuristic Algorithms

In the present article, a multi-objective mathematical model for scheduling multi-skilled multi-objective workforce has been proposed with the aims of minimizing the number of night-shift engineers, minimizing the total cost of workforce and maximizing the number of engaged workforce. To solve the proposed model for scheduling workforce, bee colony optimization algorithm and DE algorithm have been employed, and in order to investigate the efficiency of these two algorithms, the results have been compared with each other in terms of quality, dispersion and uniformity factors. In order to solve the model three sample problems (40, 70 and 280 workforce) were designed and then solved by the two mentioned algorithms. Bee algorithm is able to find higher-quality answers. Also the results of the comparison of dispersion and uniformity index indicate that bee colony algorithm is able to find answers with more dispersion and more homogeneous than DE algorithm. The comparison of solution time of both algorithms indicate that bee colony algorithm is faster than DE algorithm and needs less time to reach quality, dispersed and homogenous answers.


Introduction
In all organizations, service centers, and production centers, the issue of assignment of skilled workforce has been extensively regarded as limited resources to activities.In some environments, planning of workforces is conducted in two stages (Ho and Leung, 2010): First phase: In this stage, the number of hours required for each skill and the number of courses are determined.
Second stage: at this stage, based on data from the previous stage, workforces are assigned to demands.In previous studies, with regard to workforce capacity to tasks, the issue of workforce planning has been divided into multi-skilled and single-skilled groups.In the first group, each of workforces has a specific skill, and in the second group, people have different skills (Montoya, 2012).One of the major tasks of the organization is planning workforces.Workforce planning is a process in which organization is ensured that it has needed workforces to achieve its organizational goal.Realization of this goal for organizations that have multiple goals, and conflicting goals sometimes, and most importantly for organizations that have imprecise and ambiguous data and information for any reason, this issue emerges as serious problem needed (Shahnazari et al., 2012).Workforces planning as a means to ensure the provision of workforces required in order to the organization's goals and its mathematical modeling is also important for planners.Therefore, various mathematical models have been proposed to formulate workforces planning, but the question has always been raised out is that what is the efficient mathematical model in workforce planning.This study provided a mathematical model for skilled workforce scheduling.In this case, employees were categorized based on their expertise and skill where workers at higher skill levels have the ability to work in lower skill levels.The purpose of this scheduling is optimum assignment of employees to shifts in order to achieve the minimum costs and maximum use of resources in order to meet the objectives of employees and achieve the maximum satisfaction of employees.The proposed mathematical model and generalized meta-heuristic algorithms are applicable in other manufacturing and service environments with slight change.To solve the proposed model to schedule workforce, bee colony optimization algorithm was used, and in order to investigate the efficiency of this algorithm, its results were compared with results obtained from DE algorithm.

Literature Review
The scheduling of workforce is assignment of qualified workforce to meet the demand depends on time various for products or services, while legislation and work agreements have been considered preferences of employees as far as possible.The specific needs of manufacturing and service industries to workforce have led to providing the various scheduling models and very different techniques.Costa et al. (2006) studied the issue of the scheduling of rest days in conditions that demand for workforce will vary from day to day and the total number of working days for each workforce is known beforehand.Then, they proposed polynomial time algorithm to solve the problem.Lusa et al. (2008) proposed a scenario-based optimization approach to deal with uncertain demand and presented a linear programming model that will be able to get a practical answer for each scenario and optimizing the expected value of total fractional capacity.Heimerl and Kolisch (2010) offered a mixed integer linear programming model to solve the scheduling multi-project problem by considering the multi-skilled workforce with static and heterogeneous efficiency.Li and Womer (2008) presented a combined algorithm based on mixed integer linear modeling and planning of restrictions to solve the scheduling problem with multi-skilled personnel, considering the capacity of workload for each worker.In their model, a worker is able to offer multiple skills, while he is able to provide only one skill at the same time.Ho and Leung (2010) formulated the issue of the scheduling of workforce in providing food and other supplies for airlines.Food and other suppliers are delivered to airplanes on the runway before their flight.Airplanes are serviced by a team within a specified time.With regard to the services that must be provided and the schedule of workers for each shift, the problem includes forming teams, assigning teams and start times to provide services so that a large number of flights to be serviced.Additionally, the workload balance should be considered between the teams.They used meta-heuristic methods of simulated annealing were used to solve the problem.Firat and Hurkens (2011) studied the scheduling problem of complex tasks in a project with a heterogeneous set of resources.In their model, resources included technicians with multiple skill levels, which in addition to the scheduling of project activities on a working day, a combined set of technicians should be assigned to the project activities considering the resource constraints.
They provided a mixed integer programming for their considered model.This model examines the scheduling of project activities in every working day (period) and assignment of workforce skills to activities.They also proved that project scheduling with multi-skilled workforce is one of the NP-HARD problems.M 'Hallah and Alkhabbaz (2013) investigated the issue of workforce scheduling in health care unit of Kuwait.They presented a mixed integer mathematical model for their studied problem in which the minimum and maximum limits of permitted working hours per day for each nurse and the limitation of number of consecutive night shifts (maximum two consecutive night shifts allowed) were considered.Tontarski (2015) examined the mathematical modeling and scheduling problem analysis nurses using simulation in a paper.He has provided a methodology to optimum assignment of nurses to work shifts in a planned period.His mathematical model has 2 shifts per day, in which nurses have their own special conditions to be assigned for shifts.He used simulation technique to implement the model both in the form of static and dynamic.Bonutti et al (2014) started to model and solve the scheduling problem of workforce by considering the rest time lunch time of employees.They scheduled workforce in working shifts and they used simulated annealing algorithm to solve the considered problem.

Mathematical Modeling
As mentioned, this article provides multi-skill workforce scheduling model.In the studied problem, a working day is divided into two 12-hour shifts of morning and night, and the scheduling horizon is 28 days (4 weeks) in which every week has 7 working days.Employees are divided into 3 professional groups (electrical, mechanical and operation) and they are placed at three skill levels (engineers, technicians and workers).The workforce who has the higher level of skill can perform a lower-level task in same expertise, but a lower level workforce cannot perform a higher-level task.Employees are allowed to work only one shift per day.
Any workforce who works in night shift, he cannot be assigned to work in morning shift of following day.No workforce can work in 4 consecutive night shifts.Every workforce should rest at least one day per week.The maximum and minimum working hours of employees should be predetermined and included in the model.Every workforce should work in two night shifts per week.The number of forces from each skill and expertise and each shift has minimum and maximum workforce.This model has three objectives.In this section, the mathematical model is presented.Accordingly, indices, parameters and variables are described firstly.Then, limitations and objective functions are designed.

Decision Variables of Model
This model includes has one decision variable as follows: Xipdhel: This is a binary variable equals to 1, if the workforce of I with the expertise of e of skill I in day d is assigned to shift p, otherwise it is equal to 0.  , , , , (1)

Minimizing total costs of workforce
B) Limitations: 4. Each workforce in each day can be assigned to one shift to work in one skill level of an expertise.
5. Maximum and minimum working hours of each workforce can be assigned to work within a scheduling period.

≤ ∑ X ≤ M
, ∀ e, l, p, d, h (6) 6. Total number of employees required at each skill level of expertise in every shift of every day.
7. Each workforce in each expertise can be assigned to work at his real skill or level lower than his real skill in day.
8. Employees are allowed to work only in one shift of day.

Algorithm Structure of Solution
To solve the presented model to schedule the workforce, bee colony optimization algorithm and DE algorithm were used.

The Structure of Proposed DE Algorithm
To solve the studied problem, DE was used that its proposed structure is as follows: {Initialization: Initialize feasible unit population by multi start variable neighborhood search (VNS).
For counter=1 to max iteration For each solution in population Create a mutant vector for each solution in current population by eq.( 14) Apply crossover operator and select elements of solution by eq.( 15) Apply repair method to construction a feasible solution.

End for
Update pareto archive.
Select N solutions as the best from current solutions.
End for } A possible solution to considered problem is a two-dimensional matrix that its rows represent the number of employees and its columns represent the multiplication the number of days of scheduling period and number of shifts per day.
The vales boxes of matrix reflect the skill level of the workforce in day and the shift assigned.For example, for the studied problem, if the value of the box (3.11) is equal to 2, it means that third workforce is assigned to work inn 6 th day, in the morning shift with expertise of 2.

The Construction Manner of Initial Solutions
To construct high-quality initial solutions, multi start variable neighborhood search was used in this study.The developed variable neighborhood search method in this study included three neighborhood search structures (NSS).Each of these structures has local search operator that these operators are described below.The method starts with an initial feasible solution.The manner of construction of feasible solution is as follows: 1.For each day of i, the first shift for each expertise and each skill is selected randomly among the employees that can work, as required.
1.1 Scheduling of other days and shifts, except first shift of day I, the first shift of the day i, is done as follows: For each expertise and skill, that employer is selected that has been assigned to work less than others, so that demands to be met.
In addition, when selecting an employer for a skill, investigation starts from those employees that their skill levels is closer to investigated skill.
2. Per i, one degree is added and we proceed to first step.
Developed structures to search neighborhood of solution are as follows: The first neighborhood search operator: The operator acts in the way that one employer is selected among all employees randomly and it is tied the assignments of this employer to be cancelled in some days (with limitations), and the assignment to be given for employer who is allowed.
The second neighborhood search operator: The operator acts in the way that one employer is selected among all employees and in all shifts if that employer is assigned to skill level lower than his own level, it is tried that he is assigned to skill closer to his real skill level.
If possible, the assignment of this employer is cancelled and it is given to qualified employer.
The third neighborhood search operator: In this operator, the index of one day and one employer are constructed randomly and assignment the considered employer (if any) is cancelled in that day with considering the conditions, and it is given the employer who has qualified and has higher desirability.Each of the operators uses specific structure known as neighborhood search structure (NSS).Developed neighborhood search structure in this study is as follows: NSS

}
This structure is same for all three local search operators.Here, the admission criterion has been developed using non-equations.Now, if both solutions are at the same level in terms of the quality, that solution is selected that has highest Euclidean distance from the best answer found so far.Three neighborhood search structures have been mixed each other in the form of neighborhood search of variable that this mix has been represented in figure below.
The pseudo-code of our VNS is as follows: {For each input solution

K=1
While stopping criterion is meet do

New solution=Apply NSS type k
If new solution is better then

End if
End while

}
As said before, multi start variable neighborhood search (multi start VNS) was used construct initial solutions.VNS procedure starts with an initial random solution and to construct n number of solutions, it is implemented n number of times.To implement, it starts with random solution firstly, while it uses outputs of previous implementation as initial solution in following implementations.The condition to accept the solution in each iteration is that the selected solution must have the highest quality and has the highest Euclidean distance from the found solution by algorithm.Then, it is added to solution population, and it is used as input for following implementation of VNS.

The Mutation Operator
One of the components of DE algorithm is mutation operator that its performance has been described in Formula 14.In this paper, the performance of mutation operator is exactly as Formula 14.
) ( , 2 , 1 , , , In formula above, factor A is a positive number greater than or equal to 1 rate that controls the rate of population development.Rand is a random number in the interval of (0.1).
The general procedure used in this paper is as follows: 0. For each solution i in population such as s i (each structure or matrix) 1. Two indices of j and k that should not be equal to i are constructed randomly and one solution is obtained from differenced of these elements, that is, (s j -s k ).Next, by using following formula for each structure of i th solution, one new vector is constructed based on Formula 4-1.
2. if i is smaller than N or equal to it, go to step 1, otherwise, go to step 3.

End
For each of the structures, Formula 14 was used and according to each of them, one mutation vector as M is constructed.

Intersection Operator
The used intersection operator in this paper is based on Formula 15.In fact, one mutation vector will be constructed for each of current solutions in this algorithm.Then, the elements of intersection vector elements will be determined among the mutation vector elements and its solution by comparing based on factor cr.In the following stage, these elements are repaired and feasible solution is constructed.In other words, for each solution in population, we have one intersection vector as T that has been constructed that becomes a feasible solution for next generation.The following formula shows the performance of intersection operator in this algorithm.
In the formula above, cr is the intersection factor that intersection operator determines the elements of vector It should be noted that the value of g j i r , is also in interval of (0..1).

Repair Operator
After applying the intersection operator, the selected operator on the resulting vector is applied and feasible solution is constructed.The process of repair is done as follows.In every shift of every day and for every skill that can be assigned among employees (in terms of feasibility), that employer is chosen its number is smaller (in matrices produced in previous stage, each of boxes has one number constructed during the mutation and intersection, and we have them to prioritize, here).If in a shift f one day for one skill, no qualified employer, no employer is assigned to that skill and other assignments follow this process.Finally, this solution is evaluated as not feasible solution and if it is determined that it is not feasible, all limitations of model are applied on it so that it can change to feasible solution if possible.The repair process is done for all vectors and new justifiable solutions are constructed.

Updating Pareto Archive
As there is no single solution in which all objectives are optimized in solving the multi-purpose problems due to contradiction among the objectives, a set of optimum solutions are provided( close to optimum).Here that we used a method based on Pareto archive to solve the problem, the quality of solutions in the archive is very important.In this paper, the archive will be updated at each iteration of DE algorithm.All solutions in the Pareto archive and new constructed solutions are poured in a pool of solution and they are classified.Then, first level solutions are selected as new Pareto archive solutions.In each iteration, algorithm needs to population of solutions.In this paper, to select the next iteration population, the current solutions in the population of that iteration and new constructed solutions are poured in a pool of solution by algorithm.After the classification the crowding distance criterion for each solution and based on level of that solution, the n number of solution that has the highest quality and distribution is selected as the next iteration population of algorithm, using the Deb et al (2002).

Selection of Population for the Next Iteration
In each iteration, algorithm needs to population of solutions.In this paper, to select the next iteration population, the current solutions in the population of that iteration and new constructed solutions are poured in a pool of solution by algorithm.After the classification the crowding distance criterion for each solution and based on level of that solution, the n number of solution that has the highest quality and distribution is selected as the next iteration population of algorithm, using the Deb e ( 2002).

The Proposed Structure of the Bee Colony Algorithm
The pseudo-code of the proposed structure of the bee colony algorithm is as follows: Purposed Bee colony optimization algorithm {Initialization: Initialize the algorithm parameter.
Generate N feasible solution as initial population.

While criterion is meet
Calculate the fitness for each solution in current population.
Select the best bees and their location as p1 set.
Select the other bees and their location as p2 set.
Apply neighborhood search operator on p1 set, Assign some bees to obtained solutions and calculate their fitness.
Apply random neighborhood search operator on p2.

Calculate their fitness.
Select the N best bees of each location.

Update pareto archive.
Select N solution as population of next generation.

End while
Return the best solution.}In fact, in the bee colony algorithm, there is a population of bees that each of them is on a food source.Bees will be divided into two categories of P1 and P2 in which P1 category moves to better food sources using the neighborhood search.P2 category is also randomly looking for food.This will continue until optimum food sources (questions) are found.
In this algorithm, the way of displaying solution,, the way of constructing initial solutions, the Pareto archive updating and choice of next-generation solutions have been developed as DE algorithm.

Calculation of Fitness Function
To calculate the fitness function, solutions are firstly categorized using Deb et al (2002), and crowding distance criterion is calculated for each solution according to the level of solution.Then, CS criterion is calculated for each solution that indicates the fitness value of fitness.

= (16)
In the formula above, crowding distance represents the distance of crowding and rank represents the level of solution.

Local Search (P1 Category of Bees)
To solve the problem, a new method was developed which is based on local search.The input of this method is the population of of P1 category solutions.This method is based on neighborhood search.In other words, this method receives a set of solutions as input and tries to achieve the good neighborhood solutions by improving each of them.To develop the mentioned method in this paper, variable neighborhood search was used.Variable neighborhood search is obtained by special combination of several neighborhood search operator in VNS 3. The overall structure of the VNS algorithm and structure of neighborhood search operators in it are described in sections related to DE algorithm.

Randomized Neighborhood Search (P2 Category of Bees)
Random search in the colony algorithm of bee is for second category of bees that they are randomly search for food sources (solution).To implement a random search in this paper, a number i between 1 and 3 is randomly generated and the i th local search operator is applied on the solution and if the better solution is achieved, it is replaced by the current solution.

Computational Results
In this paper, a mathematical model was presented for multi-objective scheduling problem.Due to structure governing on the problem and its complexity (NP-Hard), two different meta-heuristic algorithms were generalized for solving the model.In order to evaluate the performance of the proposed model and algorithms, 3 sample problems will be solved using generalized algorithms.In this paper, computational results obtained from the model will be discussed and investigated using the generalized algorithms encoded in software environment of R2009a MATLAB on a personal computer with features of 4 GB of RAM and dual-core 2.27 GHz CPU.

Characteristics of Sample Problems
Since mathematical model presented for model is for solving the multi-skill workforce scheduling problem and due to change in the nature of the defined problem, the use of sample problems in the area of workforce scheduling does not help to compare and evaluate the performance of algorithms.Hence, 3 sample problems based on reality will be used to investigate the performance of limits in model and evaluation of generalized algorithms efficiency.Tables 1, 2 and 3 show typical characteristics of these sample problems.Table 4 shows the common characteristics of these samples.

Comparative Indices
To evaluate the effectiveness of the proposed algorithm, three indices of quality, distribution and uniformity were used.Quality Index -the index is equal to the number of Pareto solutions (non-dominated).Uniformity indexthis criterion tests the distribution of Pareto solutions on the border of solutions.This index is defined as follows: x and i t y on the optimum border.

Results of Solution
As said before, bee colony algorithm and DE algorithm were used to solve the presented model in this paper.In this section, we present the results of problem solving by these two algorithms.The results showed that in all three developed problems, bee algorithm is able to find solutions with higher quality.Additionally, the results also show that the distribution and uniformity indices of are able to find solutions with high distribution and uniformity than compared with DE algorithm.Comparing the solving time two algorithms indicates that bee colony algorithm is faster than DE algorithm, and it requires less time to achieve high-quality, distributed, and uniform solutions.
Comparing the results of two algorithms according to comparative indicators show that the risk of disability in local optimization in bee algorithm is less DE algorithm, because bee algorithm can search more areas (due to distribution index) of solution space in more uniform form and it is able to higher quality solutions.

Conclusion
In this paper, a new mathematical model is presented for multi-objective workforce scheduling problem.In this problem, employees are categorized based on their expertise and skill, and workforces at higher skill levels have the ability to work in lower skill levels.Employers are trying to assign the minimum workforce at higher skill levels by an appropriate planning and scheduling, because it will lead to higher costs.This model has three objectives, including minimizing the number of engineers on the night shift, minimizing the total cost of the workforce, and maximizing the number of working force.To solve the model presented for scheduling of workforce, the bee colony optimization algorithm and DE algorithms were used, and their results were compared with each other in terms of indices of quality, distribution, and uniformity to evaluate the efficiency of these two algorithms.To solve the model, three sample problems (40, 70 and 280 workforces) were developed, and they were solved by two mentioned algorithms.In general, results of solving the sample problem are as follows: Bee Algorithm is able to find higher quality solutions.Additionally, the comparison of the results of distribution and uniformity indices suggests bee colony algorithm is able to find solutions with high distribution and uniformity than DE algorithm.Comparing the results of two algorithms according to comparative indicators shows that the risk of disability in local optimization in bee algorithm is less DE algorithm, because bee algorithm can search more areas (due to distribution index) of solution space in more uniform form and it is able to higher quality solutions.Finally, it can be said that the objective of this scheduling is optimized assignment of employees to shifts in order to meet the objectives of employers and to achieve the maximum satisfaction of employees.The presented mathematical models and generalized meta-heuristic algorithms can be applied in other manufacturing and service environments with slight change in them.
The main recommendations for future research are as follows: • Considering the education model and psychological factors for employees planning and scheduling • Considering the absence, resignation, and job leave during the scheduled period.
• Considering the hiring and firing of employees • Making the scheduling dynamic, so that the planning and scheduling of next period can be done with regard to scheduling of some last shifts or some last days of previous period.
t_pd: length of shifts per day (hours) Tmin: minimum hours required for the work force during schedule Tmax: maximum allowable working hours for each worker during schedule Ndpel: Maximum total employees required of skill level of I from expertise e in shift of p of day d Mdpel: Minimum total employees required of skill level of I from expertise e in shift of p of day d Cipdel: the wage of workforce of i in shift p riel: This parameter is equal to 1, if workforce of I with expertise of e can be assigned to work in lower skill level, otherwise is equal to 0.
the number of engineers in night shift Min ∑ ∑ ∑ ∑ X , type k, {for i=1 to nom do n_s=local search k th(current solution) above, i d indicates the Euclidean distance between two found neighbor non-defeated solutions and mean d represents the mean of values of d i.Distribution index -this index is used to determine the number of non-defeated solutions on the optimum border.Dispersion index is defined as follows: Sample problems were solved by two algorithms.Results of the objective function values, solving time, and values of comparative indices are shown in the following tables.
Workforce assigned to evening shift should not be assigned to morning shift.

Table 5 .
The results of solving sample problem 1 (40 workforces)