| Literature DB >> 36092009 |
Son Tung Ngo1,2, Jafreezal Jaafar1, Aziz Abdul Izzatdin1, Giang Truong Tong2, Anh Ngoc Bui2.
Abstract
We can find solutions to the team selection problem in many different areas. The problem solver needs to scan across a large array of available solutions during their search. This problem belongs to a class of combinatorial and NP-Hard problems that requires an efficient search algorithm to maintain the quality of solutions and a reasonable execution time. The team selection problem has become more complicated in order to achieve multiple goals in its decision-making process. This study introduces a multiple cross-functional team (CFT) selection model with different skill requirements for candidates who meet the maximum required skills in both deep and wide aspects. We introduced a method that combines a compromise programming (CP) approach and metaheuristic algorithms, including the genetic algorithm (GA) and ant colony optimization (ACO), to solve the proposed optimization problem. We compared the developed algorithms with the MIQP-CPLEX solver on 500 programming contestants with 37 skills and several randomized distribution datasets. Our experimental results show that the proposed algorithms outperformed CPLEX across several assessment aspects, including solution quality and execution time. The developed method also demonstrated the effectiveness of the multi-criteria decision-making process when compared with the multi-objective evolutionary algorithm (MOEA). ©2022 Ngo et al.Entities:
Keywords: Ant colony optimization; CPLEX-MIQP; Combinatorial optimization; Compromise programming; Genetic algorithm; Multi objective optimization; Team selection
Year: 2022 PMID: 36092009 PMCID: PMC9455285 DOI: 10.7717/peerj-cs.1063
Source DB: PubMed Journal: PeerJ Comput Sci ISSN: 2376-5992
Figure 1Example of multi-team selection problem with G = 2, h1= 2, h2= 2 and K = 15.
Summarization of some previous research in team selection.
|
|
|
|
|
|---|---|---|---|
|
| Maximum benefit of the candidates | Agent-based negotiation algorithm | Single team, based on negotiation. |
|
| Maximize of batting performance, bowling performance, fielding performance | NGSA-2 | Single team selection, CPU time maybe high for larger dataset. |
|
| Five objectives including batting, bowling, cost, star power, and fielding | Single team | |
|
| Cost, performance, valuation of player | NGSA-2 | Single team selection, CPU time maybe high for larger dataset. |
|
| Deep and Wide on the available skills. | Genetic Algorithm, DCA and ILP | CPU time maybe high for larger dataset, only appliable for single team selection |
|
| Maximizing the expected net present value of the team | Cplex | Single objective, multiple team |
| | Individual and collaborative performance | NGSA-2 | CPU time maybe high for larger dataset |
|
| Individual and collaborative information | NGSA-2 | CPU time maybe high for larger dataset |
|
| Individual knowledge competence, knowledge complementarity, collaboration performance | Genetic Algorithm | High performance, single team selection |
| | Maximize rate | Genetic Algorithm | Model lacks collaboration between players. |
Different approaches to MOP.
| Criteria | No-Preference | Preference | Posteriority | Interactive |
|---|---|---|---|---|
| Number of Solutions: | Final solution | Final solution | Subset of the Pareto optimal solutions | Subset of the Pareto optimal solutions |
| Higher level information to indicate final solution. | No | Yes | Yes | Yes (At every iteration) |
| Solver | EA/Mathematical Programming | MOEA/ Mathematical Programming | Algorithms use psychological convergence | |
| Applicable Different Decision-Making Scenarios | No | Multiple executions with different parameters | Single execution | Decision-makers participated in the whole process |
Figure 2Basic flow of genetic algorithm.
Figure 3Example of the solution in GA with G = 2 candidates with id {1, 2, 3} selected for team 1, candidates with id {3, 5} selected for team 2.
Figure 4An example of the crossover phase.
Figure 5Basic flow of ant colony optimization.
Computational complexity of each iteration in GA and ACO algorithms.
|
|
| ||||
|---|---|---|---|---|---|
|
|
|
|
|
|
|
| 1 | Compute Fitness | 1 | Compute Fitness | ||
| 2 | Generate individuals | 2 | Generate Cost matrix | ||
| 3 | Selection | 3 | Generate Pheromone matrix | ||
| 4 | Crossover | 4 | Generate Ant Colony | ||
| 5 | Mutation | 5 | Update Pheromone Matrix | ||
Figure 6Statistical numbers on 37 skills in the dataset of 500 programming contestants.
Figure 7The candidates are projected to two-dimensional space using t-SNE.
System configurations for experiments.
|
|
|
|---|---|
| CPU | Intel(R) Core (TM) i5-8350U CPU @ 1.70 GHz 1.90 GHz |
| RAM | Corsair Vengeance LPX 8GB |
| Programming Platform | Python 3 |
| Operating System | Window 10 |
Parameters to conduct the experiments.
|
|
|
|
|---|---|---|
| Population size ( | 2* | 0.6* |
| Crossover rate ( | 0.9 | None |
| Mutation rate ( | 0.1 | None |
| Selection rate ( | 0.1 | 0.1 |
| Stop condition ( | 40 | 40 |
The results of different algorithms to select a single group that requires 37 skills on the tested dataset.
|
|
|
|
|
|
|---|---|---|---|---|
| GA | 500 | 659108 | 100% | 10.4 |
| ACO | 500 | 659108 | 100% | 50.7 |
| GA-1 | 500 | 659108 | 100% | 0.23 |
| MIQP-CPLEX | 500 | – | – | |
| GA | 300 | 1005773 | 100% | 11.9 |
| ACO | 300 | 1005773 | 100% | 20.6 |
| GA-1 | 300 | 1005773 | 100% | 0.23 |
| CPLEX | 300 | 1745300 | 57% | 3.42 |
The ideal points and worst points in different scales of the system.
|
|
|
| ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
| |
| 500 | 3597600 | 66 | 3454630 | 58 | 1689677 | 25 | 0 | 0 | 0 | 0 | 0 | 0 |
| 300 | 3073288 | 66 | 2930317 | 58 | 1329388 | 25 | 1.83 | 1.83 | 1.83 | 1.83 | 0 | 0 |
| 100 | 2887750 | 66 | 2744861 | 58 | 1165651 | 25 | 11402 | 19 | 9406 | 16 | 1762 | 5.6 |
| 50 | 2617117 | 66 | 2474233 | 58 | 1165651 | 25 | 17511 | 25.45 | 16654 | 22.45 | 3992 | 7.6 |
Figure 8The query for multiple-team’s selection with G = 3.
Figure 9Obtained results of 15 executions of the GA, ACO, Old GA and CPLEX on different scales of the tested dataset.
(A and B) Fitness values and execution time on 300 candidates; (C and D) fitness values and execution time on 500 candidates.
Figure 10Obtained fitness values and time of computation by the algorithms on different system scales.
Figure 11The number solutions that violate the constraints generated by (A) GA; (B) ACO.
Figure 12Returned values of different functions over iterations/generations on the tested dataset of 500 candidates; (A) Fitness values; (B) ; (C) ; (D) ; (E) ; (F) ; (G) .
Figure 13Ten optimal solutions corresponding to different weight parameters for the datasets of 300 contestants and 500 contestants.
(A) Weight parameters values; obtained solutions on dataset of 300 candidates by (B) GA, (D) ACO and (F) CPLEX; obtained solutions on data.
Parameters to execute and obtained results of the NGSA-2.
|
|
|
|---|---|
| Number of Generations | 1,000 |
| Number of Populations | 1,000 |
| Selection Rate | 0.1 |
| Crossover Rate | 0.9 |
| Mutation Rate | 0.1 |
Hypervolume obtained by CP-based algorithms and NGSA-2.
|
|
|
|
|
|---|---|---|---|
| GA | 300 | 125 | 0.00306 |
| ACO | 82 | 0.00334 | |
| CPLEX | 40 | 0.00255 | |
| NGSA-2 | 563 | 0.00303 | |
| GA | 500 | 121 | 0.00402 |
| ACO | 79 | 0.00356 | |
| CPLEX | – | – | |
| NGSA-2 | 497 | 0.00345 |
Obtained results from 50 randomized generated datasets on different distribution by GA, ACO, and CPLEX.
|
|
|
|
|
| ||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
| ||
| 1 | Hypergeom | 37.6 | 0.74 | 100 | 32.7 | 0.76 | 97.36 | 253.3 | 0.82 | 90.24 |
| 2 | Hypergeom | 30.2 | 0.85 | 100 | 32.8 | 0.9 | 94.44 | 306.2 | 0.95 | 89.47 |
| 3 | Hypergeom | 39.7 | 0.75 | 100 | 37.8 | 0.76 | 98.68 | 148.3 | 0.81 | 92.59 |
| 4 | Hypergeom | 21.5 | 0.65 | 98.46 | 52.4 | 0.64 | 100 | 254.2 | 0.69 | 92.75 |
| 5 | Poisson | 36.1 | 0.72 | 95.83 | 43.9 | 0.69 | 100 | 297.3 | 0.79 | 87.34 |
| 6 | Hypergeom | 41.5 | 0.81 | 100 | 30.7 | 0.85 | 95.29 | 264.4 | 0.92 | 88.04 |
| 7 | Hypergeom | 42.5 | 0.81 | 100 | 19.9 | 0.86 | 94.18 | 236.1 | 0.93 | 87.09 |
| 8 | Hypergeom | 48.4 | 0.65 | 100 | 40.8 | 0.66 | 98.48 | 195.5 | 0.72 | 90.27 |
| 9 | Poisson | 31.4 | 0.77 | 98.70 | 19.6 | 0.76 | 100 | 264.3 | 0.82 | 92.68 |
| 10 | Poisson | 58.5 | 0.72 | 98.61 | 41.9 | 0.71 | 100 | 278.3 | 0.72 | 98.61 |
| 11 | Poisson | 59.6 | 0.72 | 97.22 | 48.4 | 0.7 | 100 | 124.8 | 0.73 | 95.89 |
| 12 | Poisson | 16.8 | 0.74 | 98.64 | 40.4 | 0.73 | 100 | 178.3 | 0.76 | 96.05 |
| 13 | Poisson | 36.5 | 0.75 | 100 | 33.4 | 0.75 | 100 | 198.6 | 0.82 | 91.46 |
| 14 | Poisson | 44.5 | 0.75 | 100 | 34.3 | 0.75 | 100 | 265.3 | 0.75 | 100 |
| 15 | Exponential | 64.4 | 0.79 | 94.93 | 41.8 | 0.75 | 100 | 179.6 | 0.82 | 91.46 |
| 16 | Exponential | 45.3 | 0.81 | 93.82 | 38.3 | 0.76 | 100 | 325.2 | 0.83 | 91.56 |
| 17 | Exponential | 44.1 | 0.81 | 93.82 | 36.6 | 0.76 | 100 | 227.3 | 0.82 | 92.68 |
| 18 | Exponential | 35.6 | 0.81 | 95.06 | 43.8 | 0.77 | 100 | 269.6 | 0.85 | 90.58 |
| 19 | Exponential | 21.8 | 0.8 | 95 | 39.8 | 0.76 | 100 | 248.5 | 0.82 | 92.68 |
| 20 | Exponential | 25.6 | 0.8 | 93.75 | 31.9 | 0.75 | 100 | 278.3 | 0.86 | 87.20 |
| 21 | Exponential | 60 | 0.82 | 95.12 | 36.2 | 0.78 | 100 | 246.3 | 0.9 | 86.66 |
| 22 | Gamma | 60 | 0.82 | 100 | 37.8 | 0.82 | 100 | 365.3 | 0.84 | 97.61 |
| 23 | Gamma | 23.5 | 0.8 | 100 | 29.5 | 0.81 | 98.76 | 212.2 | 0.82 | 97.56 |
| 24 | Gamma | 29.5 | 0.8 | 100 | 40.3 | 0.8 | 100 | 362.2 | 0.8 | 100 |
| 25 | Gamma | 52.5 | 0.82 | 98.78 | 33.6 | 0.81 | 100 | 254 | 0.82 | 98.78 |
| 26 | Gamma | 49.7 | 0.8 | 100 | 29.5 | 0.8 | 100 | 264.6 | 0.85 | 94.11 |
| 27 | Gamma | 37.8 | 0.8 | 100 | 45.6 | 0.8 | 100 | 236.3 | 0.8 | 100 |
| 28 | Gamma | 41.3 | 0.74 | 100 | 30.3 | 0.74 | 100 | 367.6 | 0.79 | 93.67 |
| 29 | Student | 44.3 | 0.71 | 92.95 | 38.7 | 0.66 | 100 | 123.2 | 0.76 | 86.84 |
| 30 | Student | 25.1 | 0.66 | 100 | 28.2 | 0.66 | 100 | 145.6 | 0.7 | 94.28 |
| 31 | Student | 23.6 | 0.66 | 100 | 22.4 | 0.66 | 100 | 198.6 | 0.66 | 100 |
| 32 | Student | 40.2 | 0.65 | 100 | 37.9 | 0.65 | 100 | 211.2 | 0.72 | 90.27 |
| 33 | Student | 24.2 | 0.65 | 100 | 30.1 | 0.65 | 100 | 214.5 | 0.73 | 89.04 |
| 34 | Student | 40.5 | 0.67 | 100 | 37.9 | 0.67 | 100 | 245.3 | 0.71 | 94.36 |
| 35 | Student | 31.9 | 0.57 | 100 | 40.5 | 0.6 | 95 | 248.6 | 0.63 | 90.47 |
| 36 | Binomial | 22.1 | 0.7 | 95.71 | 31.5 | 0.67 | 100 | 267.3 | 0.74 | 90.54 |
| 37 | Binomial | 34.5 | 0.67 | 100 | 41.4 | 0.67 | 100 | 321.2 | 0.78 | 85.89 |
| 38 | Binomial | 35.6 | 0.66 | 100 | 27.7 | 0.66 | 100 | 245.2 | 0.66 | 100 |
| 39 | Binomial | 31.4 | 0.65 | 100 | 58.4 | 0.65 | 100 | 241.2 | 0.74 | 87.83 |
| 40 | Binomial | 17.6 | 0.68 | 98.52 | 50.6 | 0.67 | 100 | 238.6 | 0.71 | 94.36 |
| 41 | Binomial | 37.8 | 0.66 | 100 | 60 | 0.66 | 100 | 234.1 | 0.7 | 94.28 |
| 42 | Binomial | 50.1 | 0.7 | 100 | 50.2 | 0.71 | 98.59 | 197.3 | 0.75 | 93.33 |
| 43 | Hypergeom | 60 | 0.75 | 100 | 30.5 | 0.78 | 96.15 | 279.2 | 0.82 | 91.46 |
| 44 | Poisson | 43.3 | 0.7 | 100 | 45.2 | 0.7 | 100 | 267.2 | 0.74 | 94.59 |
| 45 | Exponential | 36.8 | 0.61 | 100 | 40.2 | 0.63 | 96.82 | 248.3 | 0.65 | 93.84 |
| 46 | Poisson | 45.1 | 0.7 | 92.85 | 40.5 | 0.65 | 100 | 267.9 | 0.72 | 90.27 |
| 47 | Poisson | 40.7 | 0.72 | 95.83 | 49.2 | 0.69 | 100 | 249.3 | 0.76 | 90.78 |
| 48 | Poisson | 40 | 0.72 | 95.83 | 49.4 | 0.69 | 100 | 257.6 | 0.8 | 86.25 |
| 49 | Hypergeom | 32.9 | 0.75 | 100 | 26.8 | 0.78 | 96.15 | 249.3 | 0.82 | 91.46 |
| 50 | Poisson | 31.2 | 0.69 | 100 | 34.3 | 0.69 | 100 | 268.3 | 0.72 | 95.83 |