The multiple team formation problem using sociometry

The Team Formation problem (TFP) has become a well-known problem in the OR literature over the last few years. In this problem, the allocation of multiple individuals that match a required set of skills as a group must be chosen to maximise one or several social positive attributes.Specifically, the aim of the current research is two-fold. First, two new dimensions of the TFP are added by considering multiple projects and fractions of people's dedication. This new problem is named the Multiple Team Formation Problem (MTFP).Second, an optimisation model consisting in a quadratic objective function, linear constraints and integer variables is proposed for the problem. The optimisation model is solved by three algorithms: a Constraint Programming approach provided by a commercial solver, a Local Search heuristic and a Variable Neighbourhood Search metaheuristic. These three algorithms constitute the first attempt to solve the MTFP, being a variable neighbourhood local search metaheuristic the most efficient in almost all cases.Applications of this problem commonly appear in real-life situations, particularly with the current and ongoing development of social network analysis. Therefore, this work opens multiple paths for future research. HighlightsOptimisation of human resource allocation in multiple simultaneous projects.Time-fraction allocations are now allowed.Comparison of CP, LS and VNS algorithm performance.Proposal of multiple options for future research.


Introduction
Currently, most private companies are forced to carry out multiple projects in a simultaneous fashion to increase manufacturing capacity and/or to meet market requirements [26], a multi-task paradigm that does not differ historically from the scope of public institutions.
In this context, it is absolutely necessary to make the most of available resources, especially in highly competitive industries in which mark-ups are strongly dependent on how effectively the project was managed [9,11].
Generally, one of the most relevant operational expenses within multidisciplinary projects corresponds to personnel hiring and training [42], and therefore, it seems logical that companies worldwide put significant efforts to ensure that these resources are used properly.However, depending on their combination and interactions as well as task assignment and motivation, project outcomes can vary significantly [14], and in this context, social relationships among the project members take on an important role [8].
In the past, companies usually assigned narrowly focused tasks to single individuals to manufacture a product or carry out a service, whereas a supervisor or foreman was tasked with watching over the process outcomes [41].In that environment, worker allocation was not a problem because human interactions were minimised.However, according to Bailey [7], this strategy has been replaced by a scheme in which groups of people who are generally organised into work cells develop important components of the project using higher levels of social and skills interaction.Later, after a process of integration, these components are assembled to create the final product.
Thus, it is obvious that social interaction plays an important role in project success, but paradoxically, most research has been carried out at the single individual level rather than at the team level [14] because the latter is far newer and likely still removed from daily and real-life applications [32].
Nevertheless, a few pieces of research have been published that prove team productivity is strongly influenced by the health of the social relationships among group members, i.e., cohesion or dissociation [8], although these relationships have been rather neglected thus far because they were considered too difficult to measure and/or to include in mathematical models [26].
The problem of allocating multiple human resources to multiple projects involves the distribution of different people with various skillsets to a series of projects that usually require more than a single area of expertise while optimising other pre-established criteria [31].This problem has drawn much attention in the scientific literature thus far (e.g., [26,14,8,40]), but most of it stems from the psychological and behavioural perspective.
However, dating back to 1941, techniques have existed that study the structure of groups through the web of interpersonal relationships that occur within it Moreno [45].This technique is known as "sociometry" and constitutes one of the few quantitative tools used for describing a group's health as well as its individuals' social status.
Contributions and paper outline.This research proposes the Multiple Team Formation Problem (MTFP) as a mathematical programming model for maximising the efficiency understood as the number of positive interpersonal relationships among people who share a multidisciplinary work cell.To this end, the "sociometric matrix", one of the main tools for psychological analysis devised by Moreno [45], is used as the main input of the problem because it provides an excellent quantitative vision of how each potential group member perceives and is perceived by his/her fellow peers within a multidisciplinary group.
Three algorithms are proposed for solving the problem.A Constraint Programming approach (CP) implemented in a IBM ILOG CP Optimised solver, a Local Search heuristic (LS) and a Variable Neighbourhood Search metaheuristic (VNS), both implemented in Java.The experiments over three classes of instances show that it is possible to identify different structures of the problem with significantly different levels of efficiency.
The remainder of the paper is organised as follows.Section 2 opens with a review and classification of the recent literature on the Team Formation problem, as it has been commonly referred to in the Operational Research context for single-group situations.In Section 3, the proposed optimisation model and a decomposition property are presented.Section 4 illustrates the algorithms used for solving the problem: CP, LS and VNS.The results of the computational experiments are analysed in Section 5. Finally, Section 6 presents some conclusions and suggests future work.

Literature review
The success or failure of projects is directly related to the individual talent of the participants and how they are assigned to their respective tasks.However, currently, few models are used by companies for people-task assignment [32], and this is mostly the case because scientific models are generally not intuitive and/or operatively difficult to implement for daily-basis operations.Analogously, human relationships and interactions are difficult to incorporate in mathematical models because little information is generally known about their quantification [26] and how data must be gathered [8].
However, the grouping of individuals for effective collaboration is not new.Recurrent attempts are found in psychology and/or anthropology in which several tests (e.g., Myers-Briggs) or metrics (e.g., Kolbe Conative Index) [26] are used to measure people's personalities and forecast their future performance within preexisting groups.
Similarly, previous studies have proven that sociometric analysis constitutes a valuable tool for predicting diverse performance criteria (e.g., productivity, combat effectiveness, training ability, leadership) [6].Nevertheless, the evolution of the TFP with consideration of social network analysis is still relatively limited.
In the literature, the first attempt to combine functional (skills) requirements with a network structure dates back to only 2004 [28].In this first experimental analysis, the authors studied how different graph structures shared among the individuals affected team performance, although it did not address these findings for grouping people further than as a descriptive tool.It was not until five years later that another study directly tackled the problem of finding a team of experts in social networks [37].For the first time, this seminal work addressed the challenge of gathering a group of experts from a vast professional network with a required set of skills while maximising their social compatibility using a metric/ function known as communication cost.
Following this paper, many other works have been steadily published at a rapid pace, including most of them just small improvements to Lappas et al.'s (2009) original ideas.Most of these works and their contributions are summarised chronologically in Tables 1 and 2.
Similar to many other grouping optimisation problems, (e.g.[23,3,4]), the TFP is classified as NP-Hard (proven by [37] for single team instances).In addition, the vast majority of previous studies differ from our work in three major aspects.First, the TFP works with a single-project whereas in this paper, a multi-project situation is the dominant scenario.Second, personnel were only allocated as full-time resources (divisions of people, i.e., part-time allocations, were not allowed).Third, the pool of human resources applied was a complete social network (e.g., the entire scientific research community based on papers published and co-authored or LinkedIn), unlike in this work, in which a generic and much Basic bibliography of the team formation problem and summary of contributions (Part 1).

Ref. Year Specific incremental contributions
Lappas et al. [37] 2009 First computation of a solution to the problem of creating a team of experts using social networks.Dorn and Dustdar [22] 2010 Adds an heuristic procedure that handles selected concepts relative to expert interaction network extraction and skill profile creation before proceeding to team formation itself.Li and Shan [38] 2010 Generalises the Team Formation Problem by associating each required skill with a specific number of experts.In addition, this work extends the Enhanced-Steiner algorithm to a generalised version for generalised tasks, devises a density-based measure to improve the effectiveness of the team, and finally, presents a novel grouping-based method that condenses the expertise information to a group graph according to the required skills.Yin et al. [54] 2011 This is the first work to study diversity in the social graph and facilitate its effect in the Expert Group Formation.Particularly, this approach states that the team members must not only meet the skill requirements of the task but also must be diversified according to a metric based on social influence.Farhadi et al. [24] 2011 This work adds skill levels or grading for the tasks/projects to be performed while seeking the minimum communication cost among team members.Sorkhi et al. [49] 2012 This work proposes a game theoretic framework to find and rank top-k teams that meet given skillset requirements.Farhadi et al. [25] 2012 This work determines the skill level of each expert based on his/her skill/s and collaboration among neighbours, and a graph is aggregated to the set of skilled expert groups.Additionally, the RarestFirst algorithm is extended to a more generalised version, and the communication cost definition is customised to improve team efficiency.
smaller network is used to depict the human resources that might be found within the same company or classroom, as an example.
As a result of the former, the MTFP becomes a quadratic optimisation problem, stressing the need for implementing metaheuristic techniques such as the ones discussed later.Considering these major differences between previous studies and our work, only a handful of rather recent papers are conceptually similar.The first group is composed of a series of papers focused on combining Sociometry and Genetic Algorithms to solve the problem of grouping people, i.e., mostly classmates, based on social relationships [18,17,2].
These papers make use of a composite objective function based on sociometry metrics, which is somewhat similar to the approach that is implemented in this work, and also accounts for the possibility of forming different and simultaneous groups.The main differences are that these groups must be equal in size (number of members), people's skills are neglected, and people themselves cannot be allocated as part-time.
The second group of papers [8,10] has already integrated the assignment of multiple human resources to multiple projects, thus allowing for part-time allocations (although up to 50% dedications only and no smaller fractions) and taking into account the sociometric approach.However, these papers do not solve the problem computationally and only propose a manual heuristic method.Therefore, these last papers are considered to actually formulate the problem in rudimentary terms similar to the ones described in this work, but they do not provide a solution, likely due to the reality of its inherent high complexity.
Finally, other ramifications of this topic cover how to obtain information on the social network itself (e.g., filling out the sociometric matrix) given a pool of human resources with different skills [16,52], especially if the assumption is that a discrepancy usually exists between official and private human behaviour [34].In this manner, by including other similar but closely related problems, an even larger volume of literature can be found in Operations Research related to the need to match groups of professionals with projects that demand a known set of skills while optimising other variables, i.e., number of people involved, economic profits derived from task completions, execution time, etc. Computationally, these problems have been traditionally solved using such techniques as integer linear programming [29], mixed integer programming [26], simulated annealing [12], branch-andcut algorithms [55], tabu search [3], artificial bee colony [21] and genetic algorithms [52].However, this formulation, also known as the "General Assignment Problem", does not take into account social structures among individuals, and thus, it will not be further considered and be left for future research.

The Multiple Team Formation Problem (MTFP)
In this section, the basic notation and problem definition, an example instance, an optimisation model and its decomposition property into feasible solutions space for MTFP are presented.

Notation and problem definition
Notation for sets and parameters are given as follows: Set of projects to which people are allocated.Then = { … } p p p , , , m .
Set of people available that can be allocated to .Then . Note that each person is considered to have a single skill only.Set of skills or areas of expertise that people in possess, all of which are required by at least one project in .Then available in who share the same skill ∈ k .Set of people's allowed time allocation fractions.Then . For example, { } 0, 1 (full-time allocation) and { } 0, 0.5, 1 (half-time allocations).R Project Requirements matrix that specifies how many people (or fractions of people, if allowed) with the same skill k a are needed for each particular project ∈ p l . This matrix has dimensions × f m, i.e., the total number of skills by the total number of projects, whereas each element r al is always a non-negative real number.S Sociometric matrix with elements denoted as s ij .This is a non-symmetrical square matrix with size × n n (total number of people available) that contains the predisposition of each individual ∈ h i for working with individual ∈ h j .These matrix elements can take on three possible values, , where value þ1 is chosen if h i is willing to work with h j , value À 1 if h i would prefer not to work with h j , and 0 if h i is neutral to work with h j (either Basic bibliography of the Team Formation problem and summary of contributions (Part 2).

Ref. Year Specific incremental contributions
Gajewar and Sarma [27] 2012 This work presents a 3-approximation algorithm for the single-skill team formulation problem and shows that the same approximation can be extended to a special case of multiple skills.This problem generalises the formulation studied by Lappas et al. [37], which measure team compatibility in terms of diameter or spanning tree.Farhadi et al. [25] 2012 This work proposes a framework known as TeamFinder that provides a method to aggregate a set of experts that are strongly correlated based on their skills and connections.Li et al. [39] 2013 This work states that the constructed teams require an adequate number of experts for each required skill.Therefore, this work considers the specific number of experts needed to devise a generalised Enhanced-Steiner algorithm first proposed by Lappas et al. [37] and presents a new grouping-based method that condenses the expertise information.Shi and Hao [48] 2013 This work formulates the Team Formation problem from the standpoint of multi-criteria decision-making task ranking in social networks.Teixeira and Huzita [50] 2014 This work presents a context-aware multi-agent mechanism to support human resource allocation in distributed projects.This mechanism performs the people allocation to the tasks of a project by taking into account the participants' contextual information (culture, idiom, temporal distance and previous experience), the requirements of the tasks, and the interpersonal relationships among the human resources.Agrawal et al. [1] 2014 This work groups classmates into sections such that the overall gain for all student groups is maximised and is the first time that nonoverlapping groups are considered; this is considered a "much harder and complex problem".Awal and Bharadwaj [5] 2014 This work combines the team formation problem with the Collective Intelligence (CI) concept.The CI emerges from members' collaborations and attempts to maximise the potential of the team of experts rather than only aggregating individual potentials.A genetic algorithm-based approach is also applied.
because h i is undecided about h j or because h i does not know h j ).Furthermore, it is obvious that the diagonal elements s ii are always equal to þ1.
that describes the weight or priority of the projects.For the sake of maintaining the objective function in the range [ ] 0, 1 the sum of all ele- ments equals 1.
The Project Efficiency is defined by the sum of evaluations of relationships over all the pairs of people working on the same project.Hence, the project efficiency of the project l ( ) e l is given by: ⎛ where the first 1 2 and 1 terms allow shifting the interval of var- x il is the set of decision variables modelling the allocation matrix, for which each element ∈ x il specifies the time fraction for which each person available ∈ h i is allocated to each project ∈ p l . Matrix X has dimensions × n m.In e l , the numerator in the fraction of the formula, represents the total relationships between each pair h i and h j weighted by the total time occupied by them.This efficiency measure is calculated respect to the maximum possible efficiency for this project, which coincides with the numerator expression when all resulting in the denominator.
Definition.Given a set of n available people each of whom are categorized by having just a single skill ∈ k d and given a set of m projects that require a specified amount of people per skill, the MTFP can be understood as the problem of maximising the "Global Efficiency", E, corresponding to the sum of project efficiencies weighted by w l values.Therefore: The Global Efficiency is a convex linear combination of e l so that: ≤ ≤ E 0 1.Fig. 1 shows the main components of the problem and also illustrates an example of a feasible solution.

An example of the MTFP
For the sake of clarity, Tables 3 and 4 show the data associated to one example instance of the MTFP with 5 projects and 50 people who are categorized into 5 skills.In this case, the set of people's allowed time allocation fractions was ( ) 0.0; 0.25; 0.5; 0.75; 1.0 .Table 5 shows an optimal solution for the instance.
The way of ensuring the existence of an optimal solution was achieved by designing the problem backwards.Several random people with different skills were selected beforehand to be allocated to five projects.The predisposition to work with the coworkers from their own project was set always as , whereas the rest of people had random predispositions Therefore, the existence of a solution with E ¼1 was, not only certain, but the specific optimal allocation of people known.With an analogous procedure for creating problems, the algorithms proposed later can also be tested in problems where a perfect Global Efficiency is achievable, unlike in real-life settings where an optimum solution, if exists, will not be known.

Discrete optimisation formulation for the MTFP
A discrete quadratic optimisation model is presented for the MTFP.In this first formulation, the variables representing people's allocations ( ) x il are naturally non-integer.After a simple transfor- mation, these variables become integers.A description of former mathematical model is presented below, whereas the latter is explained afterwards. Maximise This model seeks to maximise the Global Efficiency(E) represented by the objective function (1).In this equation each Project Efficiency ( ) e l detailed in (3.1) contains a non-linear component in the nu- merator that quantifies the perception of one individual about another taking into account the time that both could work together.Each person is not allowed to work more than 100% of his/her working time (2).For each project the requirements over all skills must be exactly met (3).Constraint (4) defines the rule domain of decision variables.
The decision variable x ij is defined as a discrete set , where each element is a rational number as noted above.Therefore, the optimisation problem is a quadratic discrete programming problem with non-integer variables.For simplicity it is assumed that , where α is non-negative rational number between 1 and 0. Thus it is possible to shift the domain of x ij ( ≔ α x x ) to the integer interval [ ] α 0, 1 and rewrite the mathematical model as:

Decomposition property of the feasible solutions space
The problem of allocating a subset of n people available for the m projects while meeting each project people requirements can be broken down into f subproblems which consist of allocating each set of people Q a within the same skill ∈ k a while fulfilling each project requirements for that specific skill.Let ϕ a be the feasible solution space for the skill k a sub-problem in Q a .Therefore, a simple property of the feasible solutions space ϕ for the MTFP is that any feasible solution can be considered as the union of the different sub-solutions for each skill.
This decomposition property, which only holds for situations in which people are considered to have a single skill, suggests an algorithmic approach for constructing feasible solutions that will be used by the heuristics proposed in the following section.Conversely, in situations where people can have multiple skills, each solution needs to be built up at once from scratch since it cannot be divided into interchangeable feasible sub-solutions.This happens because the same person might be involved in different skill groups, but is equally unable to work more than 100% of his/her time.Therefore, the alternative of multi-skilled people is not considered at this first multi-project treatment since it involves a significantly higher level of complexity.

Algorithms proposed for solving the MTFP
In this section three algorithms for solving the MTFP are proposed: Constraint Programming, Local Search and Variable Neighborhood Search.Additionally, this section also details a procedure for constructing feasible solutions.
In the first part of the section, we describe all the basic concepts and relevant bibliography about the above mentioned algorithms, and subsequently, we present a discussion about how these algorithms are applied the MTFP.
Constraint Programming (CP) is a programming paradigm that is helpful for finding solutions to combinatorial optimisation problems.CP is based primarily on computer science fundamentals, such as logic programming and graph theory, as opposed to other programming paradigms, e.g., mathematical programming which is based on numerical linear algebra.CP is based on a more general computational problem known as Constraint Satisfaction Problem (CSP), designed for solving feasibility problems.Particularly, in CP, an optimisation problem is solved as a series of feasibility problems, computing a bound for the objective value at each iteration.This process is repeated until achieving a proof of optimality.More details about the history and main concepts of CP can be found in Pesant [46].
A CP model applied to a constrained optimisation problem is expressed by means of decision variables, domains, constraints and objectives that must be minimised (or maximised), which can be mathematical or symbolic.CP first uses a filtering procedure for reducing values from a variable domain, discarding those alternatives that are not possible within the feasible space.This information is propagated through the constraints, allowing progressive reductions of the variable domains.Typically the search space is explored by the construction of a search tree in a manner analogous to a branch and bound scheme; the objective function is managed as a bound constraint such that if a new improving solution is found a new bound is introduced.In this process nonimproving assignments are infeasible.One of the biggest strengths of CP is the mechanism that explores the search space of partial assignments, producing feasible solutions.
As stated in Russell and Norvig [47], if an existing CSP solving system is available, it is frequently more efficient to solve the problem using it rather than implementing a custom solution.Furthermore, CSP solver systems can be faster when compared to other type of solutions such as state-space searchers, because the former are designed for efficiently eliminating large portions of the search space.Some commercial companies have developed CSP solving systems, that can be used to formulate CP models as well as mathematical programming models.In this sense, CP can be used as a heuristic for finding solutions of mixed integer programmes; in particular, in Section 4.1 we will describe in detail how CP is able to solve a mixed integer programme for the MTFP.
Several applications of CP for solving combinatorial optimisation problems are known.To mention a few applications, Caprara et al. [15] applied CP to solve the railway crew management problem, whereas De Backer et al. [20] successfully applied CP to a vehicle routing problem.More recently, Hooker [33] suggested how an integrated modelling framework can retain, and even enhance, the modelling power of CP while allowing the full computational resources of mathematical programming.The paper of Blum et al. [13] illustrates experiences in hybridising metaheuristics with CP.
Local Search (LS) is an old approach for solving discrete optimisation problems.More specifically, the 2-opt heuristic was applied in 1958 for solving the Traveling Salesman Problem (TSP) [19].LS is a simple and yet effective method for searching feasible solutions based on an iterative procedure.The structure of a neighborhood is defined in order to search for a better solution in a reduced space so that finding a neighbour of the current solution is fast.Hence, thousands of iterations are normally executed until a specified maximum number is achieved or no better solution is found up to some given iteration.Empirical observations have demonstrated the power of LS for finding good solutions for many discrete optimisation problems.Nonetheless, optimal solutions can only be found for a small class of problems.The expression "trapped in a local optimum" is normally used to illustrate the limitation of the heuristic.LS has proven to be a good heuristic for solving important family of problems like the above-mentioned TSP and a very difficult problem known as Job Shop Scheduling, Van Laarhoven et al. [51].In spite of its advantages, LS possesses some known drawbacks.Particularly, for many problems, the performance of LS decreases as the size of the problem increases.Many authors have proposed solutions for this situation, designing strategies for escaping from local optima, being one of the most prominent a method called Simulated Annealing [36,35].An alternative mechanism that inherits the properties of LS is the so-called Variable neighbourhood Search (VNS) algorithm, proposed by Mladenović and Hansen [43].Essentially, VNS implies a LS with several types of neighbourhoods, switching from one to another when no improvement in the current solution is found.
The assumption is that a local minimum with respect to one neighbourhood function is not necessarily a local minimum when using a distinct neighbourhood.The VNS algorithm as well as some variants and applications are discussed in Hansen et al. [30].Nowadays, the concept of metaheuristics has emerged as a strong research field that focuses on the study of novel algorithmic approaches that have been particularly effective for solving difficult optimisation problems.
For an updated description of the numerous metaheuristic approaches please refer to the book of Xing and Gao [53].Among these classical metaheuristics such as Tabu Search, Greedy Randomized Adaptive Search Procedures (GRASP), Genetic Algorithms (GA), etc. it is possible to find examples of traditional approaches.In this sense, techniques based on metaheuristics are numerous and in recent years the development of methodologies to compare the performance of different algorithms has been of interest to the scientific community [44].

CP -Constraint Programming
As explained in Section 3.4, the decomposition property allows the obtention of a feasible solution for the MTFP by merging the different sub-solutions for each skill.For each skill k a , the subproblem of the MTFP for k a consists on allocating each set of people Q a within the same skill ∈ k a , while at the same time fulfilling the requirements of each project for that specific skill.According to the formulation for the MTFP given in Section 3.3, the sub-problem for k a is a special case but two considerations must be taken account: 1.The sub-problem is a decision problem (and not an optimisation problem) so the objective function expressed in Eq. ( 6) should not be considered.2. The set of constraints expressed in Eq. ( 8) must be particularised only for the skill k a .Performing the necessary modifications, the resulting Equation is as follows: The procedure for constructing feasible solutions for the MTFP uses CP as detailed in Algorithm 1.
Algorithm 1. Search feasible solution for MTFP using CP.
Using CP, obtain a feasible solution in the space ϕ a with ∈ k a , considering the subproblem formed by constraints ( 7), ( 10) and (9) 3: Join the solutions for the f subproblems in step 1, forming a feasible solution for MTFP.

Local search
Prior to describing the Local Search algorithm for the MTFP, the concept of neighbourhood is required.This neighbourhood will also be used later by the Variable Neighbourhood Search (VNS) algorithm.

The neighbourhood k-skill N k
Let X be the allocation of skilled people to projects so that the person h i is assigned to the project p l with a time dedication d u (full-time, part-time,…, no time).Then, a feasible solution X could be represented by a set of triples ( ) h p d , , i l u so that the demand of skilled people by the m projects is satisfied.Let also consider that the people can be clustered according to their skill, belonging each person to a single skill k a only.
Let X be a feasible solution given by = ( ) (where ϕ is the set of feasible solutions of the problem), Q a X denotes the set of people with skill k a allocated to the m projects.It is worth noting that any single-skilled person can be allocated to either no project, several projects or even all projects.Analogously, several people with the same skill can be allocated to a one or several projects at a time.
The neighbourhood "1-Skill", denoted by N 1 , is defined in Algorithm 2. The first step consists of selecting one skill at random.Next, the algorithm removes all the assignments (people allocations) related to k a .Finally, the assignments for skill k a are reallocated using other specialists with the same skill.This, results in the creation of a new feasible solution ′ X which is the algorithm output.
Fig. 2 shows an example of neighbourhood N 1 .The left part of the figure represents a solution X for the MTFP instance.The right part of the figure shows the corresponding neighbour solution ′ X .In this example we assume that the skill 1 was randomly selected.This neighbour maintains all the assignments for the skills except for skill 1.In red are shown the new assignment for skill 1 obtained using Algorithm 1.
The time required to obtain a neighbour solution is directly related to step 3 of Algorithm 2, which essentially consists in solving a CP for a single skill.In this case, CP is used for solving the constraint satisfaction subproblem to generate feasible solutions for each skill, which are used by our algorithms to solve the optimisation problem.As observed in our experimental results, CP was able to find neighbour solutions very quickly.From a theoretical perspective, in the worst case scenario, the time spent by CP could be exponential.
Input: An MTFP instance tuple , , , , , specifying the required information for the assignments, and X, the current solution.Output: ′ X a neighbour of X.
1: Randomly select a skill k a in the solution X.
2: For skill k a , delete all the assignments connecting people with the projects in X. 3: Apply Algorithm 1 for finding a new feasible assignment ′ X between people in k a and the projects.

Note also that if ′
X is a neighbour of X then the Global Efficiency of ′ X , i.e., ( ′) E X , must be evaluated again since ′ X (and also any X) involve interactions with people from other skills.
The neighbourhood N 1 can be generalised to N k according to the number ≤ ≤ k f 1 of skills chosen at the beginning and whose people are reallocated.For solving practical problems in the context of the MTFP, the number of skills should be a relatively small number (e.g., < k 10).For example N 3 means that three skills are selected, at random, and their people are reallocated.The Local Search using N 1 is denoted by , whereas the Variable Neighbourhood Search presented later will be denoted as Input: M ¼Maximum number of iterations, , , , , .Output: A local optimum X and E(X).

Variable Neighbourhood Search Metaheuristic (VNS) for the MTFP
The VNS metaheuristic is illustrated in Algorithm 4. At first, VNS performs a local search using neighbourhood N 1 until reaching a local optimum X.From this point on, the algorithm sequentially explores other higher k neighbourhoods going back (eventually) to the first k¼ 1 neighbourhood once a neighbourhood N k with > k 1 skills finds an allocation ′ X such that ( ′) > ( ) E X E X .In an extreme case all the f neighbourhoods will be used, where f is the total number of skills.
The worst case time complexity is ( ′ ) O M fM , where ′ M is a parameter of the VNS, f is the total number of skills, and M is a parameter of the LS algorithm.Input: ′ = M Maximum number of iterations, , , , , .Output: A local optimum X and E(X).

Computational experiments and results analysis
In this section, three types of problems as a function of the percentage of positive relationships among the people available are defined and tested.The experimental performance of the three algorithms in these three groups of instances is registered and the experimental results are analysed.

Test problems and machine implementation
Three groups of instances were created.The criterion used for the classification was the percentage of the positive relationships in the sociometric matrix: 20% for the instances group type I, 30% for the instances group type II and 50% for the instances group type III.This criterion was used due to the high influence over the probability of finding solutions with high efficiency.Within each group (I, II and III), 9 classes of instances varying the values of other variables (number of projects, number of people available, number of skills, minimum time allocation allowed) were created.Finally, for each of the 9 classes of instances within each of the three group types with different positive relationships, 10 specific instances were randomly generated.Table 6 shows the problem structure devised for each group of instances.
All the experiments were performed on a Intel Core i5 machine with 8 GB RAM.

Algorithmic performance and analysis
Table 7 shows the average results obtained by the proposed algorithms when applied to the 27 classes of instances.For the sake of clarity, it is worth noting that the CP algorithm experiments were always run for a fixed time of 5 minutes, since early experiments detected that, without exception, CP efficiency results barely improve after that time limit.Concerning LS and VNS algorithms, they were tested by limiting the maximum number of iterations at M ¼5000, that, as shown later in Fig. 4, corresponds to a number of iterations by which both algorithms generally reach efficiency values close enough to an asymptotic value.Running this number of iterations always took LS less than 100 s (49 s on average) and VNS less than 200 s (96 on average).Results in Table 7 show that, even though VNS algorithm requires much less than 5 min to perform all the calculations, its global efficiency values are generally slightly above CP algorithm's.
In this regard, Table 8 shows the Anova results comparing the algorithm efficiency averages by couples (CP vs LS, CP vs VNS and LS vs VNS).It can be easily seen that whenever the | | T statistic values are above the critical t-student values for α = 5%, the effi- ciency averages of the considered algorithms for that instance cannot be considered equal.A quick analysis reveals that, despite most differences between the CP and LS results are not significant, approximately in one out of three occasions, VNS efficiency results are significantly above CP.The latter added to the fact that only in one out of nine occasions CP outperforms VNS, concludes that the   Concerning problem complexity, it is clear from Table 7 that instances from group type III achieve Efficiency values over 80% in all cases.On the other hand, instances from group type II evidence higher dispersion varying between 67% and 100%, whereas instances of group type I display efficiency values that rarely achieve 40%.In this regard, the absence of optimum solutions found is probably the consequence of their extreme scarcity due to the insufficient number of positive relationships among the allocated members.Therefore, it is possible to state that it is very difficult to find solutions with high efficiency when the proportion of positive relations is too low, an intuitive outcome that was to be expected beforehand.Analogously, despite not being proved here, groups of instances with percentage above 50% would have produced almost steadily maximum efficiencies.
Also, it is easy to note that each class of instances within each group type evidence important differences at times in the levels of efficiency, clearly denoting that different values of other variables such as number of projects, number of people available, number of skills and minimum time allocation allowed, are influential as well, but not to the same extent.This particular issue will be addressed later by Fig. 4.
Finally, Fig. 3 only illustrates the performance of the VNS algorithm, as being the one that outperformed the other two algorithms.However, the graphs corresponding to CP and LS keep a similar distribution.

Sensitivity analysis
Fig. 4 shows the performance of LS and VNS algorithms over 5000 iterations -CP was not included since its performance evolution cannot be extracted from the commercial software used.The five graphs are associated each to the variation of one problem parameter value at a time with respect to the baseline instance tagged as group type II and class 5.This particular baseline instance, which is the same that was used earlier in Section 3.2 to illustrate the MTFP notation, considers 50 people available categorized into 5 skills which are allocated to 5 projects.The importance (weight) of each project was directly calculated according to the number of people each project required, and the sociometric matrix was artificially created in such a way to satisfy the requirement that at least one set of people pre-assigned to each project always had positive relationships (þ1) with each other, while filling the remaining sociometric matrix elements randomly but taking into account that the total percentage of þ1 relationships should add up 30%.Hence, at least one optimum solution exists with the maximum possible Global Efficiency (E ¼1.00), but, of course, the algorithms do not know what it is.
Therefore, a sensitivity analysis was applied to a basic instance by making changes in one variable, both increasing and decreasing its value.In Fig. 4a changes on the number of projects was done by considering 2, 5 and 10 projects.In Fig. 4b the changes were applied to the number of skills by considering 2, 5 and 10 skills.Fig. 4.c illustrates the results by changes in the minimum people's  time allocations fractions of 25%, 50% and 100%.Fig. 4d considers changes on the number of people, 25, 50 and 100, and Fig. 4e considers changes on the percentage of positive relationships, 20%, 30% and 50%.Therefore, the algorithms must compete, and the closer they approach 1, the better their performance is.In this case, using the same problem formulation stated above, the algorithms were run ten times each as noted earlier, and the resulting average evolution of Global Efficiency is depicted in Fig. 4 as a function of the number of iterations.
A first reading shows that as the number of people and number of projects increase, as well as the percentage of positive relationships decreases, the problem becomes more difficult.However, the other two graphs show results that appear to be counterintuitive: when the number of skills decreases and the minimum allocation time approaches 1.00, the problem also becomes more difficult.The cases for larger numbers of people, projects and positive relationships are straightforward; nevertheless, the latter cases require further explanation.
Particularly, when the number of skills decreases, there is a larger amount of people within the same skill, which means that the number of permutations of the integrated elements (people) to be chosen within the same skill is greater.The extreme would be a case with one skill in which all people had to be chosen from that same group (the case with the highest number of possible combinations).The opposite case would be one with a skill categorisation for which all skills encompassed a single person each.In this case, the solution would be nearly unique if projects demanded people from each skill and is therefore trivial.
However, the observation that situations in which people can only be allocated full-time lead to lower Global Efficiencies is quite surprising because it is obvious that the number of combinations for the cases in which people can be fragmented over more projects have far more possible combinations, and therefore, it should be harder when indeed it is not.The authors consider that this unexpected outcome has to be necessarily related to a likely lower quantity of good solutions located near the optimum/s as a consequence of the more strict (radical) people allocations (either a person is allocated to one project or another, but not partially to some simultaneous projects, which could give hints concerning where a better solution can be found).
Finally, for comparison of the algorithms themselves, the results verify that the Variable Neighbourhood metaheuristic always performs better than the other algorithms with the only exception of the 100-people problem in which VNS is ranked in a close second position.Therefore, Variable Neighbourhood algorithms appear to be a good alternative for solving this kind of problem, even though their superiority is not significant and performance issues occur as the problem grows in size, thus requiring further improvement.

Conclusions and future work
The Multiple Team Formation Problem (MTFP) can be understood as the problem of allocating multiple people (either fulltime or in smaller time fractions) categorized into one or several skills to multiple teams or projects (groups) that require a specified amount of people per skill.This problem provides interesting analogies with real-life situations, e.g., environments in which project managers must allocate several workers on-hand to multiple simultaneous projects (each requiring multidisciplinary skills) while at the same time attempting to maximise the positive social relationships among those workers allocated to the same project, because it is widely accepted that group cohesion boosts motivation, and higher levels of motivation lead to higher productivity and performance standards.
Perhaps due to the combination of both the importance of this problem and the recent development of social network analysis, the TFP has become an Operational Research problem of high interest since 2009, when the first attempt at solving this problem for a single project or team was tackled.During the last years, however, the number of publications related to this problem has steadily increased.Nevertheless, this is the first paper to thoroughly address the problem of allocating part-time people to multiple teams, named here as Multiple Team Formation Problem (MTFP) and to propose a first OR mathematical programming formulation.
Besides, three algorithms have been implemented to address the problem of finding a good solution to the MTFP, being the Variable Neighbourhood Search algorithm the best approach found thus far, even though it only slightly outperforms the other two algorithms implemented: Constraint Programming and Local Search.Furthermore, despite the three implemented algorithms perform well in middle-sized problems, it comes clear that there is still room for improvement for problems with higher values of number of people and projects involved, as well as for problems with fewer number of positive interactions among the people to be allocated.
Finally, it is worth noting that multiple research paths are now available in addition to the need for devising better algorithms to solve this problem.First, research on how to fill out the sociometric matrix for the first time and keep it updated would be interesting as an alternative to forcing the people available to undergo social queries about their own preferred and non-preferred partners.Second, an interesting extension would consist of allowing the people involved to be categorized under more than one skill, an issue that has already been considered for single-team formation but certainly not for multiple teams since it avoids the problem decomposition into feasible solutions per skill.Third, another interesting line of research would be to develop algorithms and/or set boundary conditions that allow a minimum Global Efficiency value to be exceeded for all projects/teams created regardless of whether the overall Global Efficiency was optimal.
All of these interesting continuity options make clear that the Multiple Team Formation approach proposed in this paper has only begun to reveal the depths of its complexity.

Fig. 2 .
Fig. 2. Illustration of the neighbourhood N 1 using skill 1. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)

Fig. 4 .
Fig. 4. Sensitivity analysis for the LS (shown in red) and VNS (shown in green) algorithms applied to the MTFP.Each plot shows three examples using different values for the corresponding parameter: (a) Different number of projects.(b) Different number of skills.(c) Different time allocations.(d) Different number of people.(e) Different number of positive relationships.(For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)

Table 3
Requirements matrix example.

Table 5
Optimal allocation matrix for the example instance.

Table 6
Generic particular variable values for each group type of instances.

Table 7
Average algorithmic performance for the nine instances of the three group types (values in bold face represent the best solutions).

Table 8
Results of the unpaired two-sample t-test for equal means assuming unequal variances (| | > = Tt Yesdenotes means that cannot be considered equal with α = 5%, cases with "-" indicate s ¼zero).