Научная статья на тему 'Исследование и решение одной задачи формирования производственных групп'

Исследование и решение одной задачи формирования производственных групп Текст научной статьи по специальности «Математика»

CC BY
308
41
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИССЛЕДОВАНИЕ ОПЕРАЦИЙ / ДИСКРЕТНАЯ ОПТИМИЗАЦИЯ / ЦЕЛОЧИСЛЕННОЕ ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ / ЗАДАЧА О НАЗНАЧЕНИЯХ / ПРОИЗВОДСТВЕННАЯ ГРУППА / КОМБИНАТОРНЫЙ АЛГОРИТМ / АЛГОРИТМ ОТСЕЧЕНИЯ / OPERATIONS RESEARCH / DISCRETE OPTIMIZATION / LINEAR INTEGER PROGRAMMING / ASSIGNMENT PROBLEM / PRODUCTION GROUP / COMBINATORIAL ALGORITHM / CUTOFF ALGORITHM

Аннотация научной статьи по математике, автор научной работы — Афанасьева Л. Д., Колоколов А. А.

Изучается задача формирования производственных групп с учетом назначения специалистов на работы при условии согласованности межличностных отношений и минимизации суммарных расходов. Построены математические модели с использованием аппарата теории графов и целочисленного линейного программирования, описаны точные алгоритмы решения задачи. Разработан программный комплекс, на основе которого проведен экспериментальный анализ предложенных моделей и алгоритмов.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Афанасьева Л. Д., Колоколов А. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Research and solution of a production groups formation problem1F. M. Dostoevsky Omsk State University (OmGU)

This paper devoted to the production groups formation problem with the assignment specialists subject to the consistency of interpersonal relations and minimizing the total cost. Mathematical models were developed using graph theory and linear integer programming, exact algorithms for the solution of the problem were described. The software package were designed on the basis of which experimental analysis was conducted for the proposed models and algorithms.

Текст научной работы на тему «Исследование и решение одной задачи формирования производственных групп»

УДК 519.854.3

Исследование и решение одной задачи формирования производственных групп

1 т

Л. Д. Афанасьева , А. А. Колоколов

1 [email protected], 2 [email protected]

1 ФГБОУ ВПО «Омский государственный университет им. Ф. М. Достоевского» (ОмГУ)

2 Омский филиал ФГБУН «Институт математики им. С. Л. Соболева СО РАН» (ОФ ИМ)

Поступила в редакцию 11.05.2013

Аннотация. Изучается задача формирования производственных групп с учетом назначения специалистов на работы при условии согласованности межличностных отношений и минимизации суммарных расходов. Построены математические модели с использованием аппарата теории графов и целочисленного линейного программирования, описаны точные алгоритмы решения задачи. Разработан программный комплекс, на основе которого проведен экспериментальный анализ предложенных моделей и алгоритмов.

Ключевые слова: исследование операций; дискретная оптимизация; целочисленное линейное программирование; задача о назначениях; производственная группа; комбинаторный алгоритм; алгоритм отсечения.

ВВЕДЕНИЕ

Вопросы управления персоналом, в частности задачи формирования производственных групп, являются весьма актуальными. Это обусловлено рядом причин, таких как появление новых компаний, развитие торговых сетей. При создании производственных групп приходится учитывать множество требований, касающихся назначения на должности, согласованности межличностных и иерархических отношений, ресурсных ограничений, качества и своевременности выполнения работ, обеспечения условий труда и т. д. [1-6].

В первом разделе статьи приводится задача формирования производственных групп, в которой необходимо назначить специалистов на работы с учетом согласованности межличностных отношений с целью минимизации суммарных расходов. Для указанной задачи предложены теоретико-графовая постановка и модель целочисленного линейного программирования (ЦЛП). Отметим, что эта задача исследовалась в [1, 3]. Кроме того, изучались задачи формирования производственных групп с максимизацией числа комфортных отношений при отсутствии напряженных отношений [5], а также зада-

Работа выполнена при поддержке РФФИ, проект № 13-01-00862).

чи проектирования учебных групп [7]. Во втором разделе изложены алгоритмы комбинаторного типа, а также гибридный алгоритм, основанный на использовании отсечений и пакета целочисленного линейного программирования СРЬБХ [8]. В следующем разделе приводится информация о разработанном нами программном комплексе, перечислены его основные функциональные возможности. Далее описываются результаты экспериментальных исследований по применению предложенных алгоритмов для решения прикладных задач и их сравнению на задачах со случайными исходными данными.

1. ПОСТАНОВКА ЗАДАЧИ И МАТЕМАТИЧЕСКИЕ МОДЕЛИ

В этом разделе приводится постановка задачи формирования производственных групп (обозначим ее Р) и предлагаются соответствующие математические модели. Предположим, что предприятие планирует образовать производственную группу при условии наличия на рынке труда определенного множества претендентов, число которых не меньше количества имеющихся работ. Любому претенденту может быть назначено не более заданного числа работ, причем каждая из них должна выполняться только одним специалистом. Известны расходы

на оплату труда претендентов. Кроме того, необходимо учесть межличностные отношения в коллективе: претенденты с напряженными отношениями не допускаются к выполнению работ, предполагающих их взаимодействие. Требуется сформировать производственную группу с учетом указанных выше условий так, чтобы суммарные расходы средств, затрачиваемых на ее содержание, были минимальными [1, 3].

Пусть имеется п специалистов и m работ. Введем следующие обозначения:

I = [1, п}; J = [1, m}; i - номер претендента, i е I; j - номер работы, jеJ, m < п;

Ji - множество работ для специалиста i, i е

I;

I - множество претендентов, допускаемых к выполнению работы j, j еJ;

di - максимальное количество работ, которые могут быть назначены специалисту i, i е I;

матрица C = (Су), элементы которой cij -размер оплаты труда специалиста i при выполнении им работы j, i е I, j е Ji.

Далее нам потребуется следующее определение. Пусть специалист i1 претендует на работу j1, а специалист І2 - на работу j2. Межличностные отношения <^1? ])), (/2> j2)> называются несогласованными, если для работ j1, j2 необходимо взаимодействие специалистов при их выполнении, а отношения между претендентами i1, i2 рассматриваются как напряженные. Обозначим через Ж множество всех несогласованных отношений между специалистами.

Определим граф О = (У Е), где V = V и У2, Е = Е1 и Е2 и Е2 = Е21 и Е22 такие, что

У1 = [1, ..., п} - множество вершин, соответствующих специалистам на включение в производственную группу;

У2 = [1, ..., т} - множество вершин, отвечающих имеющимся работам;

Е1 С [(/', ]): i е У1, j е У2}: дуга (/', j) содержится в Е1, если претенденту i может быть назначена работа j, каждой дуге присвоен вес Су-;

Е21 С [(/', ^: i, j е У:, i ф j}: ребро (/', j) принадлежит множеству Е21, если между претендентами i, j неблагоприятные для совместной деятельности отношения;

Е22 С [(/', ^: i, j е У2, i ф j}: ребро (/', j) содержится в Е22, если работы i, j связаны в производственном процессе.

Задача оптимизации Р заключается в выборе множества дуг Е’ с Е1, сумма весов которых минимальна и при этом выполняются следующие условия:

- все вершины из множества У2 инцидентны Е’, причем их степень равна 1 в порожденном множеством ребер Е ’ подграфе О ’ графа О;

- если вершина і є У1 и инцидентна Е ’, то ее степень не больше йі в подграфе О’, і єI;

- если (іі, Іі) єЕ’, (І2, І2) єЕ ’ и (іі, і2) є Е21, то (І1, її) £ Е22 ;

- если (іі, Іі) є Е’, (і2, І2) є Е’ и (Іі, І2) є Е22, то (І1,І2) £ Е21.

Для задачи Р нами построена модель целочисленного линейного программирования. Переменные задачи: Ху = 1, если специалист і выполняет работу І, Ху = 0 - в противном случае, і єі, І є Зг.

Модель ЦЛП имеет вид:

ЕЕ сїхї ^ т1п (1)

ієі ієЗі

при условиях

Е хї - ,і є 1 , (2)

Е хї =1 і є 3, (3)

їєії

хії + хкг - 1 і) (к> Г, (4)

Ху є {0,1}, і є I, І є ^. (5)

Отметим, что задача Р является №-

трудной [1].

2. ПОСТРОЕНИЕ И ИССЛЕДОВАНИЕ АЛГОРИТМОВ

Для решения задачи Р нами предложен комбинаторный алгоритм (обозначим его СА), в котором решение исходной задачи сводится к решению последовательности задач о назначениях (ЗН). В основе данного алгоритма лежат процедуры ветвления и построения оценок значений целевой функции для текущих задач. Отметим, что алгоритм является модификацией алгоритма, предложенного нами в [1]. Если работы j, rеJ связаны в производственной деятельности, а отношения между претендентами i, keI напряженные, то условия Ху + хЩг < 1, хг + Хщ < 1 входят в систему неравенств (4). В алгоритме, описанном в [1], ветвление осуществляется по каждому из них. Потребуем, чтобы в СА задача делилась на две подзадачи следующим образом: для одной Ху = 0, хг = 0, для другой х^ = 0, хЩг = 0. Отметим, что при таком разбиении неравенства (4) выполняются и допустимые решения задачи Р не исключаются. Пусть Р(\У\) - трудоемкость некоторого алгоритма решения ЗН. Вычислительная сложность алгорит-

ма CA равна O(p(IVI) 2IW / 2) и эта оценка достигается.

Для точного решения задачи P нами предложен также гибридный алгоритм (обозначим его CUT), основанный на использовании отсечений и пакета CPLEX. Идея алгоритма CUT состоит в том, что на каждой итерации к текущей ЗН (І)—(3), (5) добавляются некоторые из нарушенных ограничений системы (4).

Опишем алгоритм CUT по шагам.

Шаг 0. Пусть текущая задача представляет собой задачу о назначениях (І)-(З), (5) без учета ограничений из (4).

Шаг 1. Находим оптимальное решение текущей задачи. Если оно существует, переходим на шаг 2, иначе - на шаг 4.

Шаг 2. Если для решения, полученного на шаге 1, нарушено хотя бы одно ограничение из (4), то добавляем некоторые из таких ограничений к текущей задаче, идем на шаг 1, иначе - на шаг З.

Шаг 3. Решение текущей задачи является оптимальным решением задачи (І)-(5).

Шаг 4. Задача P не имеет допустимых решений.

Отметим, что на шагах 3, 4 алгоритм CUT заканчивает свою работу. На шаге 2 допускается варьирование числа добавляемых к текущей задаче нарушенных ограничений и стратегий их выбора. На шаге 1 для сокращения времени решения указанных задач ЦЛП мы использовали пакет CPLEX.

Опишем стратегии сортировки дополнительных ограничений (4), которые запускаются после каждой итерации алгоритмов (обозначим их AIS1, AIS2). Для каждого элемента <(i1, j1), (i2, j2)> є W подсчитываем, сколько раз пара (i1, j1) встречается в других ограничениях системы (4), то же самое делаем для пары (i2, j2). Весом нарушенного неравенства, соответствующего <(i1, j1), (i2, j2)> є W, в случае сортировки AIS1 будем считать сумму этих двух чисел, а для AIS2 - максимальное из этих чисел. Вес выполненных ограничений по умолчанию равен О. Располагаем все неравенства из (4) в порядке невозрастания весов.

З. ОПИСАНИЕ КОМПЛЕКСА ПРОГРАММ

С целью проведения экспериментальных исследований, а также создания удобного инструмента для специалиста, рассмотренные алгоритмы были реализованы в виде программного комплекса, обозначим его Group_Form. Приложение Group_Form разработано в среде Microsoft Visual Studio 2010, интерфейс реали-

зован на языке C#, алгоритмы - на языке C++ и собраны в библиотеку DLL. Решение задачи иллюстрируется на графе, для отображения которого используется библиотека с открытым кодом Graph# [9]. Для решения задач пакетом CPLEX их модели ЦЛП записываются в системе моделирования GAMS.

Кроме того, реализованы следующие возможности:

- генерирование серий задач по указанному пути в файлы специального формата;

- решение серий задач с сохранением результатов расчетов в файл;

- применение для решения задачи алгоритмов CA, CUT и пакета CPLEX;

- ограничение времени счета выбранного алгоритма и нахождение приближенного решения задачи.

Для выполнения этих процедур требуется указать значения входных параметров. По окончанию тестирования серий задач на экран выводятся следующие данные по каждому из запущенных алгоритмов: число задач, среднее время решения задач, время решения наиболее трудоемкой и самой «легкой» задач. Полученные результаты также сохраняются в файле, который автоматически создается в указанной папке.

4. РЕЗУЛЬТАТЫ ВЫЧИСЛИТЕЛЬНОГО ЭКСПЕРИМЕНТА

На основе программного комплекса Group_Form проведен вычислительный эксперимент, цель которого заключалась в исследовании предложенных алгоритмов в зависимости от значения входных параметров задачи P, а также в сравнении с пакетом CPLEX. В качестве тестовых использовались задачи со случайными исходными данными. Расчеты проводились на компьютере с процессором Intel(R) Core(TM)2 Duo CPU T6600 @2.20GHz.

Для проверки статистической значимости различий между алгоритмами применялся тест Вилкоксона [10].

Введем необходимые обозначения. Пусть A, B - некоторые алгоритмы, AT(A) - среднее время счета в секундах алгоритма A. Далее будем использовать величину относительного откло-

kA п

нения по времени решения Aat(B) алгоритма B от алгоритма A, которая определяется следующим образом: Aaat (b) = (AT (A) - AT (B))/AT (A).

Тестовые примеры были получены с помощью процедуры генерации с входными данными: число специалистов - |V;|, работ - \V2\, напряженных межличностных отношений -

\Е21\, пар связанных работ - \Е22\, а также ниж- циалистов. Задачи при фиксированных значени-

ние и верхние границы величин зарплаты спе- ях указанных параметров образовывали серии.

Рис. 1. Среднее время решения задач алгоритмами CA, CA1, CA2 и пакетом CPLEX

Рис. 2. Среднее время решения задач алгоритмом CA и пакетом CPLEX

Всего было решено 75 серий задач, каждая из которых содержала по 50 задач. В сериях S1^S13 число специалистов и работ было по 50, напряженных отношений - 10, а количество пар связанных работ варьировалось от 10 до 150; в S14^S17 число специалистов и работ равнялось 50, а мощность множеств E21 и E22 изменялась от 50 до 200; в S18^S20 со 100 специалистами и работами количество напряженных отношений равнялось 100, а пар связанных работ 100, 200, 500; в сериях S21^S73 число специалистов и работ равнялось 500, а \E21\ и \E22\ изменялись от 100 до 1000; в S74, S75 также рассматривалась квадратная матрица C размерности 1000. Во всех задачах предполагалось, что минимальный размер оплаты труда специалистов равен 1, максимальный - 100.

Выше были описаны некоторые стратегии сортировки дополнительных ограничений. Введем обозначения для алгоритма CA и его модификаций с учетом этих стратегий: CA1 - это алгоритм CA с учетом A1S1; CA2 - это алгоритм CA с применением A1S2.

Отметим, что использование A1S1, A1S2 привело к тому, что время решения алгоритмом CA уменьшилось и стало сравнимым со временем решения пакетом CPLEX (примерно 2 секунды) на сериях S1^S13 (см. рис. 1). В среднем время работы алгоритма CA сокращалось на 20 %, в лучшем случае - на 60 % на сериях S14^S75. По результатам вычислений можно сделать вывод о том, что не следует использовать сортировки, когда число дополнительных ограничений невелико.

Расчеты показали, что алгоритм CA обладал преимуществом по времени счета перед модулем CPLEX на сериях задач S14^S75 (рис. 2). Установлено, что CA находил оптимальное решение задачи P быстрее в случае, если число напряженных отношений и пар связанных работ были достаточно велики и при этом разрыв по дополнительным ограничениям оптимального значения целевой функции задачи P и ЗН являлся небольшим.

Кроме того, проведено тестирование алгоритма CUT на сериях задач S14^S75. При этом в CUT варьировалось число добавляемых неравенств типа (4) и применялись некоторые стратегии выбора этих ограничений. Гибридный алгоритм CUT с использованием сортировок A1S1, A1S2 оказался в отдельных случаях быстрее пакета CPLEX на 20 %.

Результаты вычислительного эксперимента подтверждают целесообразность разработки

комбинаторных и гибридных алгоритмов, а также их модификаций для задач формирования производственных групп.

ЗАКЛЮЧЕНИЕ

В работе рассмотрена постановка задачи формирования производственных групп при условии назначения специалистов на работы и согласованности межличностных отношений с целевой функцией, состоящей в минимизации суммарных расходов. Построены соответствующие теоретико-графовая модель и модель целочисленного линейного программирования. Предложены точные алгоритмы решения задачи, разработан программный комплекс. Проведен вычислительный эксперимент, который показал перспективность применения указанных моделей и реализованных алгоритмов в системах поддержки принятия решений.

СПИСОК ЛИТЕРАТУРЫ

1. Афанасьева Л. Д., Колоколов А. А. Разработка и анализ алгоритма решения некоторых задач формирования производственных групп // Омский научный вестник. Омск, 2012. № 2(110). С. 39-42.

2. Дементьев В. Т., Пяткин А. В. О децентрализованной транспортной задаче // Дискретный анализ и исследование операций. 2008. Т. 15, № 3. С. 22-30.

3. Колоколов А. А., Серышева Ю. С., Шулепова Л. Д. Решение задач формирования малых групп с учетом межличностных отношений // Методы оптимизации и их приложения: тр. XV Байкальской междунар. шк.-сем. Иркутск: РИО ИДСТУ СО РАН, 2011. Т. 5. С. 61-66.

4. Новиков Д. А. Математические модели формирования и функционирования команд. М.: Изд-во физ.-мат. лит-ры, 2008. 184 с.

5. Kolokolov A. A., Afanasyeva L. D. Research of production groups formation problem subject to logical restrictions // Journal of Siberian Federal University. Mathematics & Physics. 2013. № 6 (2). P. 145-149.

6. Burkard R. E., Dell'Amico M., Mortello S. Assignment problems. Philadelphia: SIAM, 2009. 402 p.

7. Колоколов А. А., Афанасьева Л. Д., Заборская С. А., Калинина О. Г. Формирование учебных групп в условиях гетерогенности с использованием дискретной оптимизации // Статистика. Моделирование. Оптимизация: сб. тр. Всерос. конф. Челябинск: Изд. центр ЮУрГУ, 2011. С. 203205.

8. GAMS Development Corporation [Электронный ресурс]. URL: http://www.gams.com/ (дата обращения

11.09.2013).

9. Open Source Software [Электронный ресурс]. URL: http://graphsharp.codeplex.com/ (дата обращения 11.09.2013).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

10. Wilcoxon F. Individual comparisons by ranking methods // Biometrics Bulletin, 1945. Vol. 1, № 6. P. 80-83.

ОБ АВТОРАХ

Колоколов Александр Александрович, зав. лабораторией дискретной оптимизации. Дипл. математик (НГУ, 1969). Д-р физ.-мат. наук (ИГУ, 1996), проф. Иссл. в обл. дискр. оптимизации, целочисл. программирования, иссл. операций.

Афанасьева Любовь Дмитриевна, асп. каф. прикладной и вычислительной математики. Дипл. математик, системный программист (ОмГУ, 2009). Иссл. в обл. дискр. оптимизации, целочисл. программирования, иссл. операций.

METADATA

Title: Research and solution of a production groups formation problem.

Authors: L. D. Afanasyeva 1, A. A. Kolokolov2 Affiliation:

1 F. M. Dostoevsky Omsk State University (OmGU), Russia.

2 Omsk Branch of S. L. Sobolev Institute of Mathematics, SB RAS (OFIM), Russia.

Email: 1 [email protected], 2 [email protected]. Language: Russian.

Source: Vestnik UGATU (scientific journal of Ufa State Aviation Technical University), vol. 17, no. 5 (58), pp. 20-25, 2013. ISSN 2225-2789 (Online), ISSN 1992-6502 (Print).

Abstract: This paper devoted to the production groups formation problem with the assignment specialists subject to the consistency of interpersonal relations and minimizing the total cost. Mathematical models were developed using graph theory and linear integer programming, exact algorithms for the solution of the problem were described. The software package were designed on the basis of which experimental analysis was conducted for the proposed models and algorithms.

Key words: Operations research; discrete optimization; linear integer programming; assignment problem; production group; combinatorial algorithm; cutoff algorithm.

References (English transliteration):

1. L. D. Afanasyeva and A. A. Kolokolov, "Design and analysis of algorithm for solving some formation of production groups problems," (in Russian), Omskiy Nauchnyy Vestnik (scientific journal of Omsk State Technical University), no. 2 (110), pp. 39-42, 2012.

2. V. T. Dementiev and A. V. Pyatkin, "On the decentralized transportation problem," Diskretnyi Analiz i Issledovanie Operatsiy, vol. 15, no. 3, pp. 22-30, 2008.

3. A. A. Kolokolov, Yu. S. Serysheva, and L. D. Shulepova, "Solving of formation of little groups problems subject to interpersonal relations," (in Russian), in XV Baikal Int. Seminar Transactions "Optimization methods and their applications", Applied problems, Irkutsk: ISDCT SB RAS, Russia, vol. 5, pp. 61-66, 2011.

4. D. A. Novikov, Mathematical Models of Formation and Functioning of Teams, (in Russian). Moscow: Publishing House of Physical-Mathematical Literature, 2008.

5. A. A. Kolokolov and L. D. Afanasyeva, "Research of production groups formation problem subject to logical re-

strictions," Journal of Siberian Federal University, Mathematics & Physics, no. 6 (2), pp. 145-149, 2013.

6. R. E. Burkard, M. Dell'Amico, and S. Mortello, Assignment Problems. Philadelphia: SIAM, 2009.

7. A. A. Kolokolov, L. D. Afanasyeva, S. A. Zaborskay, and O. G. Kalinina, "Study groups formation in terms of heterogeneity using discrete optimization," (in Russian), in Proc. All-Russian Conf. "Statistics. Modeling. Optimization", Chelyabinsk: Publishing Center YuUrGU, Russia, pp. 203205, 2011.

8. GAMS Development Corporation (2013, Sep. 13) [Online]. Available: http://www.gams.com/

9. Open Source Software (2013, Sep. 13) [Online]. Available: http://graphsharp.codeplex.com/

10. F. Wilcoxon, "Individual comparisons by ranking methods," Biometrics Bulletin, vol. 1, no. 6, pp. 80-83, 1945.

About authors:

KOLOKOLOV, Alexander Alexandrovich, Prof., Head of the Laboratory of discrete optimization, Chartered mathematician (NGU, 1969). Dr. of Phys. and Math. Sci. (IGU, 1996). Research in the field of discrete optimization, integer programming, operations research.

AFANASYEVA, Lubov Dmitrievna, Postgrad. (PhD) Student, Dept. of Applied and Computational Mathematics. Chartered mathematician, software programmer (OmGU, 2009). Research in the field of discrete optimization, integer programming, operations research.

i Надоели баннеры? Вы всегда можете отключить рекламу.