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

УДК 519.87

Л. Д. АФАНАСЬЕВА А. А. КОЛОКОЛОВ

Омский государственный университет им. Ф. М. Достоевского Омский филиал Института математики им. С. Л. Соболева СО РАН

РАЗРАБОТКА И АНАЛИЗ АЛГОРИТМА ДЛЯ РЕШЕНИЯ НЕКОТОРЫХ ЗАДАЧ ФОРМИРОВАНИЯ

ПРОИЗВОДСТВЕННЫХ ГРУПП_____________________

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

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

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

В [5-7] представлен ряд постановок указанных задач с учётом межличностных и иерархических отношений, предложены модели дискретной оптимизации, целочисленного линейного программирования и подходы к их решению.

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

Постановка задачи

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

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

Перейдем к постановке рассматриваемой задачи на графе. Введём следующие обозначения:

I — номер претендента, 1=1,.,,п;

] — номер работы, ]=1,...,ш, ш < п;

Ji — множество работ, которые могут быть назначены претенденту ,;

Е — множество претендентов, которые могут выполнять работу ];

— максимальное количество работ, которые могут быть назначены претенденту I.

Дан граф С=(У,Ш;Е,Е ,Е") с множествами вершин У=(у1,...,уп} (степень вершины vi не может быть больше й, 1=1,..,п) и Ш=(ш1,..шт}, а также с множеством дуг Е с {(vj,w):i=1,..,n,jeJj} и множествами рёбер Е' с {(¥,¥к)-'1 * к,,,к=1,..,п} и Е" с {(Wj,w):j * г^,т=1,..,ш}. Дуга (vj,wj) содержится в Е, если претенденту , может быть назначена работа j, каждой дуге присвоен вес с(. — оплата труда претендента , при выполнении им работы j. Ребро ^,^к) содержится в Е', если между претендентами ,, к неблагоприятные для совместной работы отношения, №^г) е Е", если работы j, г связаны в производственном процессе.

Далее будет использоваться следующее определение. Пусть специалист , претендует на работу j, а специалист к на работу г. Межличностные отношения <(i,j),(k,г)> являются несогласованными, если работы j, г требуют контакта между специалистами при их выполнении, а отношения между претендентами ,, к

ОМСКИЙ НАУЧНЫЙ ВЕСТНИК №2 (110) 2012 ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ

ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ ОМСКИЙ НАУЧНЫЙ ВЕСТНИК №2 (110) 2012

напряжённые. Пусть Ж — множество всех несогласованных межличностных отношений.

Для задачи Р нами построена модель целочисленного линейного программирования (ЦЛП). В этой модели используются переменные:

х=1, если претендент I назначается на работу ], и Х]=0 — в противном случае, ,= 1,..,п, jе Ji.

Модель ЦЛП для задачи Р имеет вид: п

X X с,]Х]  шп

1=1 j е -1,

при условиях:

X < й11. = 1 п

j е Jl

ПХц = 1,] = 1...т

I = 1

Хц + Хкг < 1,{

Ху е{0,1},1 = 1.п,Ц е Ji.

Здесь: (1) — целевая функция задачи, (2) — условия того, что каждому претенденту может быть назначено не больше определённого числа работ, (3)— требования того, что любая работа должна выполняться только одним из специалистов, (4)— неравенства, отражающие необходимость обеспечения условия согласованности межличностных отношений.

Исследование задачи

Рассмотрим вопрос о сложности задачи.

Утверждение 1. Задача Р является МР-трудной.

Покажем, что задача о независимом множестве минимального веса (далее ЗНМ) является частным случаем задачи Р. Для этого рассмотрим задачу, которая удовлетворяет следующим условиям:

— п>ш, т.е. претендентов не меньше, чем работ;

— все работы связаны в производственном процессе;

— между некоторыми претендентами отношения являются неблагоприятными для выполнения совместных работ;

— с]=С' 1=1 п ] е ^

Очевидно, что для решения полученной задачи достаточно рассмотреть подграф С'=(У,Е') графа С. При этом каждой вершине vi подграфа С' припишем вес с,. Тогда решение исходной задачи сведётся к отысканию независимого множества вершин (мощности ш) минимального веса в подграфе С', а эта задача является МР-трудной [8].

Алгоритм решения задачи Р

Для задачи Р нами разработан алгоритм ветвей и границ ЬБ, в котором ее решение сводится к решению последовательности задач о назначениях.

Для рассматриваемого алгоритма введём следующее обозначение: гес — наилучшее значение целевой функции на текущей итерации. При этом в начале процесса полагаем, что гес — достаточно большое число, например, гес=8,

где 5 >Х X^ .

/=1 jеJs

Шаг 0. Находим оптимальное решение х' исходной задачи о назначениях (1) — (3), (5). Если все ограни-

чения (4) выполняются для х', то процесс завершается: получено оптимальное решение исходной задачи. Иначе переходим на шаг 1.

Шаг 1.

1. 1 Ветвление влево. Пусть для некоторых претендентов I, к и работ Ц, г ограничение (4) не выполнилось, тогда претендент , не принимается на работу ], т. е. полагаем х=0 (удаляем дугу ^^)еЕ из графа С). Переходим на шаг 2.

1.2 Ветвление вправо.

1) Если текущая вершина — корень дерева и все вершины правой ветви рассмотрены, то переходим на шаг 3.

2) Если текущая вершина — не корень дерева и все вершины правой ветви просмотрены, то переходим к её родительской вершине, идём на шаг 1.2.

3) Если текущая вершина — не корень дерева с непросмотренными вершинами правой ветви, тогда претендент к не принимается на работу г , т. е. Хкг=0 — это соответствует удалению дуги ^к^г)еЕ из графа С ( для к и г, полученных на шаге 1.1). Переходим на шаг 2.

Шаг 2. Если текущая задача о назначениях типа (1) — (3), (5) с новыми данными не имеет решения, то переходим на шаг 1.2. Иначе находим оптимальное решение х' текущей задачи, вычисляем f(x').

1) Если !(х')>гес, то данная ветвь неперспективная, т.е. движение по ней не может привести к улучшению гес, переходим на шаг 1.2.

2) Если !(х')<гес и все ограничения (4) выполнены для х', то обновляем гес:=!(х') и переходим на шаг 1.2.

3) Если !(х')<гес и хотя бы одно ограничение (4) не выполнено для х', то — на шаг 1.1.

Шаг 3. Завершение процесса. Если гес<5, то решение, соответствующее гес, является оптимальным для задачи (1) — (5). В противном случае задача не имеет решения.

Пусть Л=|Ш| и р(п) — трудоемкость (число операций) некоторого алгоритма решения задачи о назначениях. Например, в качестве такого алгоритма можно взять венгерский алгоритм [9], трудоемкость которого равна 0(п3) . Имеет место следующее.

Утверждение 2. Трудоёмкость алгоритма ЬБ равна 0(2р(п)).

Доказательство проведём индукцией по величине h. Если ]=0 , т. е. в задаче отсутствуют ограничения (4), то трудоёмкость алгоритма ЬБ равна р(п)—трудоёмкости решения задачи о назначениях. Предположим, что при h=k трудоёмкость алгоритма равна 0(2кр(п)). Рассмотрим случай, когда h=k+1. Возможны следующие варианты:

1. Оказалось, что ограничение с номером к+1 выполнено, найденное оптимальное решение не изменилось, поэтому трудоёмкость решения задачи равна 0(2кр(п)).

2. Ограничение с номером к+1 не выполнилось, тогда задача делится на две подзадачи. Согласно предположению индукции трудоёмкость решения каждой из них равна 0(2кр(п)), откуда вытекает, что трудоёмкость алгоритма ЬБ равна 0(2к+1р(п)).

Таким образом, при фиксированном числе h алгоритм ЬБ является полиномиальным.

Для анализа алгоритма ЬБ ниже построено семейство 5 задач типа (1) — (5), на котором достигается верхняя оценка его трудоемкости.

Семейство Б. Рассмотрим следующую постановку задачи: каждый работник может быть принят на любую из имеющихся работ, все работы связаны друг с другом, между каждой парой работников напряжён-

ные отношения. Алгоритму LS необходимо обойти все узлы дерева поиска, чтобы доказать, что решение такой задачи не существует.

Представляет большой интерес исследование связи задачи P с ЗНМ, выделение полиномиальных случаев решения задачи P на основе анализа сложности ЗНМ, построение соответствующих алгоритмов.

Экспериментальные исследования

Для проведения экспериментальных исследований и создания удобного инструмента для пользователей с помощью Microsoft Visual Studio 2008 на языке C++ нами был реализован рассмотренный выше алгоритм LS, в котором использовался венгерский алгоритм решения задачи о назначениях.

Цель вычислительного эксперимента заключалась в изучении поведения алгоритма LS в зависимости от значения параметра h, размерности задачи, а также в его сравнении с пакетом прикладных программ IBM ILOG CPLEX.

В ходе тестирования алгоритма LS решались задачи различной размерности, начальные данные для них генерировались случайным образом. Количество претендентов и работ варьировалось от 50 до 100. Задачи включали ограничения вида (4), отражающие межличностные отношения. Было установлено, что время работы алгоритма существенно увеличивается с ростом величины h. Многие задачи при n = 50, m = 100, имевшие 100 таких ограничений, решались не более 30 мин.

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

Проведено сравнение программы алгоритма LS с пакетом IBM ILOG CPLEX, показавшее, что во многих случаях она решает задачи заметно быстрее.

Исследования позволяют сделать вывод о перспективности применения разработанных нами моделей ЦЛП и алгоритмов для решения задач формирования производственных групп.

Библиографический список

1. Математические методы анализа и интерпретация социологических данных / В. Г. Андреенков [и др.]. — М. : Наука, 1989. - 173 с.

2. Математические модели организаций : учеб. пособие / А. А. Воронин [и др.]. — М. : ЛЕНАНД, 2008. — 360 с.

3. Richards W., Wormald N. Representing small group evolution // — 2009. P. 1 — 15.

4. Шпиленко, А. В. Экономико-математические модели управления персоналом на предприятии / А. В. Шпиленко // Информационные технологии управления в социально-экономических системах. — 2009. — № 3. — С. 49 — 75.

5. Колоколов, А. А. Формирование производственных групп с использованием дискретной оптимизации / А. А. Колоколов, С. Д. Бушинский, Л. Д. Шулепова // Проблемы оптимизации сложных систем : матер. Шестой Азиатской межд. школы-семинара, 2010. — C. 220 — 224.

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

7. Колоколов, А. А. Об одном алгоритме решения задач формирования малых групп / А. А. Колоколов, Л. Д. Шулепова // Информационный бюллетень № 12. Математическое программирование и приложения : тр. XIV Всерос. конф. — Екатеринбург : УрО РАН, 2011. — C. 188 — 189.

8. Гэри, М. Вычислительные машины и труднорешаемые задачи / М. Гэри, Д. Джонсон ; пер. с англ. — М. : Мир, 1982. — 416 с.

9. Таха, Хемди А. Введение в исследование операций / Хемди А. Таха ; пер. с англ. — 7-е изд. — М. : Вильямс, 2005. — 912 с.

АФАНАСЬЕВА Любовь Дмитриевна, аспирантка кафедры прикладной и вычислительной математики Омского государственного университета им. Ф. М. Достоевского.

КОЛОКОЛОВ Александр Александрович, доктор физико-математических наук, профессор (Россия), заведующий лабораторией дискретной оптимизации Омского филиала Института математики им. С. Л. Соболева СО РАН.

Адрес для переписки: kolo@ofim.oscsbras.ru, lubov-shulepova@gmail.com.

Статья поступила в редакцию 13.02.2012 г.

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

Книжная полка

51/Г55

Гмурман, В. Е. Теория вероятностей и математическая статистика : учеб. пособие для вузов / В. Е. Гмур-ман. - 12-е изд., перераб. - М. : Юрайт, 2010. -479 с. - 1БВЫ 978-5-9916-0616-5. -978-5-9692-0874-2.

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

ОМСКИЙ НАУЧНЫЙ ВЕСТНИК №2 (110) 2012 ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ