Genetic algorithm of optimizing the qualification of programmer teams
The partitioning a set of professional programmers into a set of teams when a programming project specifies requirements to the competency in various programming technologies and tools is a hard combinatorial problem. The paper proposes a genetic algorithm, which is capable of finding competitive an...
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
Belarusian National Technical University
2021-01-01
|
Series: | Sistemnyj Analiz i Prikladnaâ Informatika |
Subjects: | |
Online Access: | https://sapi.bntu.by/jour/article/view/494 |
id |
doaj-0ec5d98df8774143a09e67563ddc78d2 |
---|---|
record_format |
Article |
spelling |
doaj-0ec5d98df8774143a09e67563ddc78d22021-07-29T08:38:34ZengBelarusian National Technical UniversitySistemnyj Analiz i Prikladnaâ Informatika2309-49232414-04812021-01-0104313810.21122/2309-4923-2020-4-31-38370Genetic algorithm of optimizing the qualification of programmer teamsA. A. Prihozhy0A. M. Zhdanouski1Belarusian National Technical UniversityBelarusian National Technical UniversityThe partitioning a set of professional programmers into a set of teams when a programming project specifies requirements to the competency in various programming technologies and tools is a hard combinatorial problem. The paper proposes a genetic algorithm, which is capable of finding competitive and high-quality partitioning solutions in acceptable runtime. The algorithm introduces chromosomes in such a way as to assign each programmer to a team, define the team staff and easily reconstruct the teams during optimization process. A fitness function characterizes each chromosome with respect to the quality of the programmers partitioning. It accounts for the average qualification of teams and the qualification of team best representatives on each of the technologies. The function recognizes the teams that meet all constraints on the project and are workable from this point of view. It is also capable of recognizing the teams that do not meet the constraints and are unworkable. The algorithm defines the genetic operations of selection, crossing and mutation in such a way as to move programmers from unworkable to workable teams, to increase the number of workable teams, to ex-change programmers among workable teams, to increase the competency of every workable team, and thus to maximize the teams overall qualification. Experimental results obtained on a set of programmers graduated from Belarus universities show the capability of the genetic algorithm to find good partitioning solutions, maximize the teams’ competency and minimize the number of unemployed programmers.https://sapi.bntu.by/jour/article/view/494optimizationgenetic algorithmprogrammerteamtechnologyqualification |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
A. A. Prihozhy A. M. Zhdanouski |
spellingShingle |
A. A. Prihozhy A. M. Zhdanouski Genetic algorithm of optimizing the qualification of programmer teams Sistemnyj Analiz i Prikladnaâ Informatika optimization genetic algorithm programmer team technology qualification |
author_facet |
A. A. Prihozhy A. M. Zhdanouski |
author_sort |
A. A. Prihozhy |
title |
Genetic algorithm of optimizing the qualification of programmer teams |
title_short |
Genetic algorithm of optimizing the qualification of programmer teams |
title_full |
Genetic algorithm of optimizing the qualification of programmer teams |
title_fullStr |
Genetic algorithm of optimizing the qualification of programmer teams |
title_full_unstemmed |
Genetic algorithm of optimizing the qualification of programmer teams |
title_sort |
genetic algorithm of optimizing the qualification of programmer teams |
publisher |
Belarusian National Technical University |
series |
Sistemnyj Analiz i Prikladnaâ Informatika |
issn |
2309-4923 2414-0481 |
publishDate |
2021-01-01 |
description |
The partitioning a set of professional programmers into a set of teams when a programming project specifies requirements to the competency in various programming technologies and tools is a hard combinatorial problem. The paper proposes a genetic algorithm, which is capable of finding competitive and high-quality partitioning solutions in acceptable runtime. The algorithm introduces chromosomes in such a way as to assign each programmer to a team, define the team staff and easily reconstruct the teams during optimization process. A fitness function characterizes each chromosome with respect to the quality of the programmers partitioning. It accounts for the average qualification of teams and the qualification of team best representatives on each of the technologies. The function recognizes the teams that meet all constraints on the project and are workable from this point of view. It is also capable of recognizing the teams that do not meet the constraints and are unworkable. The algorithm defines the genetic operations of selection, crossing and mutation in such a way as to move programmers from unworkable to workable teams, to increase the number of workable teams, to ex-change programmers among workable teams, to increase the competency of every workable team, and thus to maximize the teams overall qualification. Experimental results obtained on a set of programmers graduated from Belarus universities show the capability of the genetic algorithm to find good partitioning solutions, maximize the teams’ competency and minimize the number of unemployed programmers. |
topic |
optimization genetic algorithm programmer team technology qualification |
url |
https://sapi.bntu.by/jour/article/view/494 |
work_keys_str_mv |
AT aaprihozhy geneticalgorithmofoptimizingthequalificationofprogrammerteams AT amzhdanouski geneticalgorithmofoptimizingthequalificationofprogrammerteams |
_version_ |
1721253058148564992 |