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...

Full description

Bibliographic Details
Main Authors: A. A. Prihozhy, A. M. Zhdanouski
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