DOI: https://doi.org/10.23670/IRJ.2017.63.083 Остроух Е.Н.1, Чернышев Ю.О.2, Климова Д.Н.3
1 Кандидат технических наук, доцент, 2доктор технических наук, профессор, 3кандидат педагогических наук, доцент, Донской государственный технический университет Статья написана при поддержке гранта РФННННиФИ№ 16-01-00391 «Разработка комбинированных алгоритмов для решения распределительных и транспортных задач с использованием идеологии искусственных
иммунных систем и биоинспирированных алгоритмов» РЕШЕНИЕ ЗАДАЧИ МОДЕЛИРОВАНИЯ БИЗНЕС-ПРОЦЕССОВ IT-КОМПАНИИ С ИСПОЛЬЗОВАНИЕМ МЕТОДА РОЕВОГО ИНТЕЛЛЕКТА
Аннотация
В статье рассмотрена проблема оптимального распределения программистов-претендентов в команде в целях улучшения качества реализации IT -проектов. При проектировании интеллектуальной информационной системы и программного обеспечения для распределения трудовых ресурсов в IT команде в статье был предложен подход, основанный на симбиозе классической модели распределения ресурсов и методе роевого интеллекта (алгоритма колонии пчел). В качестве диагностического инструментария для заполнения базы знаний экспертной системы впервые предложен интегрированный подход, основанный на концепции командных ролей Р.М. Белбина и методикой тестирования программистов для определения их квалификационных показателей и рейтинга, разработанной авторами. Полученные результаты позволяют сделать вывод о том, что при оптимальной расстановке программистов-претендентов реализация проектов в IT- компании в целом становится значительно более эффективной в целом.
Ключевые слова: распределение ресурсов, метод роя частиц, функция полезности, оптимальное решение, алгоритм колонии пчел.
Ostroukh E.N.1, Chernyshev Yu.O.2, Klimova D.N.3
1PhD in Engineering, Associate Professor, 2PhD in Engineering, Professor, 3PhD in Pedagogy, Associate Professor, Don State Technical University The article is written with the support of the RFNNNNIF grant No. 16-01-00391 "Development of combined algorithms for solving distribution and transport problems using the ideology of artificial immune systems and bioinpirated algorithms" SOLUTION OF THE PROBLEM OF MODELING OF BUSINESS PROCESSES IN IT-COMPANY WITH THE
USE OF THE PARTICLE SWARM METHOD
Abstract
The article discusses the problem of the most efficient allocation ofprogrammers-applicants in a team in order to improve the quality of IT projects. When designing an intelligent information system and software for the allocation of labour resources in the IT team, it is proposed to use an approach based on the symbiosis of the classical resource allocation model and the particle swarm method (algorithm of bees' colony). An integrated approach based on the concept of command roles of Belbin was first proposed as a diagnostic tool for filling the knowledge base of the expert system and the methodology of testing programmers to determine their qualifications and rating developed by the authors. The results obtained enable us to conclude that, with the optimal arrangement of programmers, applicants, the implementation of projects in the IT Company as a whole becomes much more effective overall.
Keywords: resource allocation, particle swarm method, utility function, efficient solution, algorithm of bees' colony.
Постановка проблемы и цель ее работы.
В настоящее время в связи с растущими требованиями к проектированию новых информационных систем разрабатываются инновационные подходы, одним из таких перспективных подходов является эволюционное моделирование.
Согласно стандартам к разработке экспертных систем разрабатываемая интеллектуальная информационная система должна иметь тенденцию постоянного контроля с использованием системы менеджмента качества в целях оптимизации ее функционирования [1]. Система использует такие факторы, как измерение ее основных параметров, анализ и корректировка по результатам анализа в процессе жизненного цикла информационной системы. Важнейшей задачей разработки и функционирования информационной системы является оптимальное распределение ресурсов, в том числе человеческих, т.е., программисты распределены в проекте в соответствии с их профессиональными и личностными качествами.
Целью нашего исследования является разработка быстрого прототипа экспертной системы распределения трудовых ресурсов в целях успешной разработки IT -проектов на основе биоинспирированных алгоритмов. Данный класс алгоритмов представляет собой «природные вычисления», в основе которых лежат идеи эволюционного моделирования, т.е. роевого интеллекта. За основу был взят метод роевого интеллекта-алгоритм колонии пчел, как самый перспективный для решения такого рода задач.
Новизна разработки заключается в решении оптимизационной задачи, связанной с проблемой моделирования бизнес-процессов IT-компании. Особенностью целевой функции является ее неунимодальность, часто недифференцируемость, поэтому на первом этапе методом роя ищутся все локальные экстремумы, что метод роя делает весьма успешно, на втором - из них выбираются глобальные.
Результативность и достоверность разрешения поставленной задачи оптимизации человеческих ресурсов IT-компании для оптимизации ее функционирования на основе метода роевого интеллекта подтверждается результатами,
полученными Е.Н. Остроухом и его соавторами и отраженными в работах [10], [11]. Проведенные исследования также соответствуют результатам, полученным зарубежными авторами и отраженным в работах [13], [14].
В работе использована технология быстрого прототипирования экспертной системы, которая включает в себя ряд этапов.
Исследовательский прототип ЭС
При разработке тестовых заданий для выявления профессиональных качеств учитываются требования к проектируемой системе, навыки и наработки программистов - претендентов на разработку тех или иных модулей системы. Для заполнения базы знаний ЭС диагностическим инструментарием, в целях оценки профессиональных и личностных качеств программистов, был использован перечень профессиональных требований к программистам, предложенный в работах [2], [9]. А также методика тестирования, разработанная авторами данной статьи Е.Н. Остроухом и Ю.О. Чернышевым [3], [4].
Очевидно, что задача оптимизации человеческих ресурсов IT-компании для оптимизации ее функционирования на основе метода роевого интеллекта сводится к распределению программистов по степени сложности программируемых модулей и задач, при этом возникающих. В этой связи при разработке экспертной системы учитывается вес - полезности программистов в соответствии с вектором их полезности е=(е1, е2,...,ек), где k -количество программистов, 0<е^1, е1+е2+...ек=1.
В контексте нашего исследования для выявления личностных качеств интерес представляет концепция командных ролей Р.М. Белбина [6]. В данной концепции команда формируется не только с учетом профессиональных качеств программиста, а также сбалансирована с точки зрения кластеров личностного поведения в команде. Предложенная модель позволяет давать развернутые индивидуальные рекомендации по развитию конкретным программистом-претендентом своего командного потенциала в будущем.
В самом простом случае, используя результаты тестирования программистов и ранжирования их в порядке убывания функции полезности (рейтинга), с одной стороны, и ранжирования модулей, компонентов в модулях и межмодульных связях, с другой стороны, получаем соответствующие пары программист i -программные продукты jn, j2i,....,ju. В общем случае количество программистов- m, количество работ-n.
Таким образом, по результатам тестирования программистов, оценки их квалификации и навыков, а также командных качеств, связанных с конкретными задачами проекта, экспертами может быть составлен вектор - рейтинг претендентов, в котором программисты распределены в соответствии с убыванием их квалификационных показателей.
Демонстрационный прототип ЭС
В контексте нашего исследования была использована классическая задача о назначениях i-го программиста на j-й программный продукт, т.е., Xj={1, если программист i назначен на программный продукт j; 0, в противном случае}. Наиболее общей постановкой является постановка задачи в форме классической модели распределения ресурсов:
miZUcijf(xij)^max (1)
при условиях:
i:iLitijxij <aj;j= 1^ (2)
YIj=iVijXii > bj-.i = Vm (3)
Xij > 0,i = 1,m; j = 1, n (4)
где f(xtj) - линейная, нелинейная (выпуклая или вогнутая) функция, часто не является унимодальной, непрерывной и т.д.
Здесь cij- эффективность использования программиста i на работе j;
aj - допустимо возможное время разработки j-го программного модуля; ^надежность i-го программного модуля должна быть не ниже величины bi.
t..
1J -время, затрачиваемое i-м программистом на j-й проект (модуль); Pij - надежность разработки i-м программистом j-го проекта (модуля)
Можно в соотношения (1) и (2) ввести ограничения на рост производительности не ниже величины pi. При этом желательно, чтобы риски сокращались при улучшении использования ресурсов.
Для решения задачи (1) - (4) был использован алгоритм роевого интеллекта (колонии пчел). Эффективность алгоритма колонии пчел в соотношении с другими методами роевого интеллекта (муравьиный алгоритм, генетический и др.) при решении различных задач доказана в работах исследователей под руководством Курейчика В.М. и др. [5], [8], [12], [15]. Алгоритм использовал следующий подход. В принципе, решалась задача нахождения глобального (безусловного) экстремума (1) без учета условий (2) и (3). При непопадании полученных компонент в область допустимых значений, эти решения отсекались и в дальнейшем рассматривались только решения, удовлетворяющие соотношениям (2) и (3).
Алгоритм распределения i программиста в проекте Ц на основе роевого алгоритма (алгоритма колонии пчел) представлен на рисунке 1.
Разработанный алгоритм разделяется на два этапа: 1. Инициализация параметров:
m- количество программистов в пространстве поиска; n-количество проектов;
aj - допустимо возможное время разработки j-го программного модуля;
^-надежность i-го программного модуля;
рост производительности не ниже величины pi;
k=0; обнуление счетчика пчел-фуражиров для каждого j проекта
<j=1 .. .n , проверка эффективности использования i программиста в проекте j
Рис. 1 - Блок-схема работы задачи о назначениях на основе алгоритма роевого интеллекта
2. Локальный поиск:
1. из случайной выборки m осуществляем отбор программистов (рабочих) пчел-фуражиров в соответствии с проранжированным коэффициентом полезности, где ei >0,5 k=k+1, где k-количество программистов в j проекте, k<=6, данное значение обозначено в источниках [5], [7];
2. Из полученной выборки k вычленяем программистов, с высоким коэффициентом функции принадлежности max (eO-пчела разведчик, где i=1..k;
3. Если несколько пчел-разведчиков с показателем max (e0- то учитываем тестирование по опроснику Белбина (строительство команд);
4. Осуществляем оценку эффективности использования i программиста в проекте j согласно весу (KPI) в матрице эффективности Сц; Вес (KPI) включает в себя параметры: tij - время, затрачиваемое i-ым программистом на j-проект (модуль); рlj -надежность разработки i-м программистом j-го проекта (модуля).
5. если критерий останова не выполняется, то п.1;
6. конец работы алгоритма.
Таким образом, в конце работы алгоритма будут сформированы команды с пчелой - разведчиком - выявленным руководителем, имеющим высокие показатели профессиональных и личностных качеств и пчелами - фуражирами, обладающими профессиональными навыками, которые эффективно удовлетворяют поставленным задачам j проекта.
Заключение
В заключение выделяем несколько преимуществ использования метода роя с целью повышения коллективного IQ работы программистов над IT-проектом:
1. Оптимизация управления. Возможность эффективного разделения на параллельные процессы в ходе работы. В процессе поиска нектара каждая агент пчела решает подзадачу проекта.
2. Коллективный интерес в процессе разработки. Пчелы-разведчики определяют свои интересы соразмерно с интересами компании для обнаружения оптимального варианта для решения поставленных задач, поэтому они эффективно работают с пчелами - фуражирами как единая команда.
3. Обмен инновациями («танец пчелы») и отсутствие психологического дискомфорта внутри команды. Пчелы-разведчики свободно делятся идеями о своих разработках с другими. Решение о выборе окончательного варианта принимается каждой пчелой самостоятельно.
Список литературы I References
1. ^хотина В.С. Модель оценки IT-проектов I В.С. Шхотина// Шучные ведомости.-№8 (179).-2014.- Вып.30/1.-С. 146-152.
2. Живаева A.A. Критерии профессиональности программистов при разработке экспертной системы управления программными проектами I A.A. Живаева, В.В. Долгов II Инженерный вестник Дона. - 2017.- №2.- URL: ivdon.ru/ru/magazine/archive/n2y2017/4170 (дата обращения: 26.06.2017)
3. Остроух E.H. Разработка методов и алгоритмов проверки работы предприятия с точки зрения информационной безопасности его функционирования/ E.H. Остроух, Ю.О.Чернышев, СА.Мухтаров, КЮ. Богданова II Инженерный вестник Дона .- 2016.- №2.- URL: http://www.ivdon.ru/ru/magazine/archive/n2y2016/3575 (дата обращения: 26.06.2017)
4. Остроух E.H. Методика контроля информационной безопасности предприятия с использованием адаптационного тестирования/ E.H. Остроух, Ю.О. Чернышев, CA. Мухтаров, КЮ. Богданова// Сборник материалов международной научно-практической конференции "Фундаментальные научные исследования: теоретические и практические аспекты".- Кемерово.- 2016.- т. II.- C. 305-310.
5. Водолазский И. A. Роевой интеллект и его наиболее распространённые методы реализации I ИА. Водолазский, A.C Eгоров, A3. Краснов II Молодой ученый. — 2017. — №4. — С. 147-153.
6. Белбин Меридит. Команды менеджеров. Как объяснить их успех или неудачу/ Меридит Белбин Р.- 3-е. изд.-Изд-во:МИФ.-2009.-240 с.
7. Карпенко A. П. Современные алгоритмы поисковой оптимизации. Aлгоритмы, вдохновленные природой: учебное пособие I A. П. Карпенко. — Москва: Издательство МГТУ им. H. Э. Баумана, 2014. — 446, [2] с.: ил.
8. Курейчик В.В. Теория эволюционных вычислений/ В.В. Курейчик, В.М.Курейчик, С.И. Родзин.- М.: ФИЗМAТЛИТ, 2012, 260 с.
9. Долгов В.В. Особенности построения математических моделей учебного расписания для крупных образовательных центров I В.В. Долгов, CA. Мухтаров, E.H. Остроух, Р.Ш. Гамзалиев II Фундаментальные исследования.- 2016.- № 9 (часть 1).- С. 9-15.
10. Остроух E.H. Характеристики биоинспирированных алгоритмов I E.H. Остроух, A.A.Золотарев, О.И. Aгибалов //Материалы международного конгресса по интеллектуальным системам и информационным технологиям. -Ростов-на-Дону - Дивноморск.- 2016.- Том 1.- С. 7-13.
11. Золотарев A.A. Оптимизация распределительных процессов на основе аналитических методов и эвристических алгоритмов/A.A. Золотарев, H.H. Венцов, О.И. Aгибалов, A.C Деева//Вестник науки и образования Северо-Запада России.- 2016, т.2.-С. 4-5.
12. Курейчик В.М., Использование пчелиных алгоритмов для решения комбинаторных задач/ Курейчик В.М., Кажаров A.A.// Штучний штелект.-2010.-№3.-С.583-589.
13. Colaco Marcelo J., Dulikravich George S. A Survey of Basic Deterministic, Heuristic And Hybrid Methods for Single Objective Optimization and Response Surface Generation. METTI IV -Thermal Measurements and Inverse Techniques Rio de Janeiro, Brazil, November 8-13, 2009. URL: http://maidroc.fiu.edu/Publications/ConferencePapers/Resume/CP10.pdf
14. Rini D.P., Shamsuddin S.M., Yuhaniz S.S. Particle Swarm Optimization: Technique, System and Challenges // International Journal of Computer Applicarion. 2011. №14 (1).
15. Thomas D. Seeley, P. Kirk Visscher, Thomas Schlegel, Patrick M. Hogan, Nigel R. Franks, James A. R. Marshall. Stop Signals Provide Cross Inhibition in Collective Decision-Making by Honeybee Swarms // Science. 2012. V. 335. P. 108-111
Список литературы на английском языке I References in English
1. Nekhotina V.S. Model otsenki IT-proektov [Model of IT-projects Evaluation] / V.S. Nekhotina // Scientific Bulletin.-No.8 (179).-2014.- Issue 30/1.-P. 146-152.
2. Zhivaeva A.A. Kriterii professionalnosti programmistov pri razrabotke ekspertnoi sistemy upravleniya programmnymi proektami [Criteria of Professionalism of Programmers at the Development of an Expert System for Managing
Software Projects] / A.A. Zhivaeva, V.V. Dolgov // Engineer's Messenger of the Don.- 2017.- No.2.- URL: ivdon.ru/ru/magazine/archive/n2y2017/4170 (accessed date: 26.06.2017)
3. Ostroukh E.N. Razrabotka metodov i algoritmov proverki raboty predpriyatiya s tochki zreniya informacionnoi bezopasnosti ego funkcionirovaniya ] Development of Methods and Algorithms for Verifying the Operation of an Enterprise in Terms of Information Security of its Operation] / E.N. Ostroukh, Yu.O.Chernyshev, S.A.Mukhtarov, N.Yu. Bogdanova // Engineer's Messenger of the Don.- 2016.- No.2.- URL: http://www.ivdon.ru/ru/magazine/archive/n2y2016/3575 (accessed date: 26.06.2017)
4. Ostroukh E.N. Metodika kontrolia informacionnoi bezopasnosti predpriyatiya s ispolzovaniem adaptatsionnogo testirovaniya [Method of Monitoring Information Security of an Enterprise Using Adaptive Testing] / E.N. Ostroukh, Yu.O. Chernyshev, S.A. Mukhtarov, N.Ju. Bogdanova // Collection of Materials of the International Scientific and Practical Conference "Fundamental Scientific Research: Theoretical and Practical Aspects."- Kemerovo.- 2016.- V. II.- P. 305-310.
5. Vodolazskii I. A. Roevoi intellekt i ego naibolee rasprostranionnye metody realizatsii [Swarm Intelligence and its Most Common Methods of Implementation] / I.A. Vodolazskii, A.S. Egorov, A.V. Krasnov // Young Scientist. — 2017. — No.4. — P. 147-153.
6. Belbin Meridit. Komandy menedzherov. Kak obiasnit ikh uspekh ili neudachu [Teams of Managers. How to Explain their Success or Failure] / Meridit Belbin R.- 3rd edition.- Publishing House:MIF.-2009.-240 p.
7. Karpenko A. P. Sovremennye algoritmy poiskovoi optimizatsii. Algoritmy, vdokhnovlennye prirodoi: uchebnoe posobie [Modern Algorithms of Search Optimization. Algorithms Inspired by Nature: Tutorial] / A. P. Karpenko. — Moscow: Publishing House of MSTU named after N.E. Bauman, 2014. — 446, [2] p.: ill.
8. Kureichik V.V. Teoriya evoliutsionnykh vychislenii [Theory of Evolutionary Computations] / V.V. Kureichik, V.M.Kureichik, S.I. Rodzin.- M.: FIZMATLIT, 2012, 260 p.
9. Dolgov V.V. Osobennosti postroeniya matematicheskikh modelei uchebnogo raspisaniya dlia krupnykh obrazovatelnykh tsentrov [Features of Construction of Mathematical Models of the Educational Schedule for Large Educational Centres] / V.V. Dolgov, S.A. Mukhtarov, E.N. Ostroukh, R.Sh. Gamzaliev // Fundamental research.- 2016.- No. 9 (Part 1).- P. 9-15.
10. Ostroukh E.N. Kharakteristiki bioinspirirovannykh algoritmov [Characteristics of Bioinspired Algorithms] / E.N. Ostroukh, A.A.Zolotarev, O.I. Agibalov // Materials of the International Congress on Intelligent Systems and Information Technologies. - Rostov-on-Don - Divnomorsk.- 2016.- V. 1.- P. 7-13.
11. Zolotarev A.A. Optimizatsiya raspredelitelnykh protsessov na osnove analiticheskikh metodov i evristicheskikh algoritmov [Optimization of Allocation Processes Based on Analytical Methods and Heuristic Algorithms] / A. A. Zolotarev, N.N. Ventsov, O.I. Agibalov, A.S. Deeva // Bulletin of Science and Education of the North-West of Russia.- 2016, v.2.-P. 4-5.
12. Kureichik V.M., Ispolzovanie pchelinykh algoritmov dlia resheniya kombinatornykh zadach [Use of Bee Algorithms for Solving Combinatorial Problems] / Kureichik V.M., Kazharov A.A.// Artificial Intelligence.-2010.-No.3.-P.583-589.
13. Colaco Marcelo J., Dulikravich George S. A Survey of Basic Deterministic, Heuristic And Hybrid Methods for Single Objective Optimization and Response Surface Generation. METTI IV -Thermal Measurements and Inverse Techniques Rio de Janeiro, Brazil, November 8-13, 2009. URL: http://maidroc.fiu.edu/Publications/ConferencePapers/Resume/CP10.pdf
14. Rini D.P., Shamsuddin S.M., Yuhaniz S.S. Particle Swarm Optimization: Technique, System and Challenges // International Journal of Computer Application. 2011. №14 (1).
15. Thomas D. Seeley, P. Kirk Visscher, Thomas Schlegel, Patrick M. Hogan, Nigel R. Franks, James A. R. Marshall. Stop Signals Provide Cross Inhibition in Collective Decision-Making by Honeybee Swarms // Science. 2012. V. 335. P. 108-111