ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ
УДК 5198 А. А. КОЛОКОЛОВ
И. А. ЦИГЛЕР
Институт математики им. С. Л. Соболева СО РАН, г. Омск
РЕШЕНИЕ НЕКОТОРЫХ ЗАДАЧ ФОРМИРОВАНИЯ ЦЕЛЕВЫХ ГРУПП С УЧЕТОМ
ЛОГИЧЕСКИХ ОГРАНИЧЕНИЙ
В работе рассматривается задача проектирования целевых групп с логическими ограничениями, учитывающими как согласованные, так и несогласованные межличностные отношения. Для этой задачи построена модель целочисленного линейного программирования (ЦЛП) и предложены алгоритмы решения, основанные на методе ветвей и границ и методе отсечения. Выполнен вычислительный эксперимент с указанными алгоритмами и коммерческим пакетом CPLEX, показавший классы задач, на которых одни алгоритмы имеют преимущество над другими.
Ключевые слова: дискретная оптимизация, задачи формирования целевых групп, целочисленное программирование, метод ветвей и границ, отсечения. Работа над разделами 1, 2.2, 3, 4 выполнена при финансовой поддержке Программы фундаментальных научных исследований государственных академий наук на 2013—2020 годы,, п. 1.5.1.6. «Анализ и решение задач проектирования с использованием дискретной оптимизации».
Работа над разделом 2.1 выполнена при финансовой поддержке РФФИ, проект 16-01-00740.
1. Введение. Успешная деятельность современных предприятий во многом определяется эффективностью подбора персонала и формирования различного рода функциональных групп. Характер этих групп зависит от профиля предприятия: это могут быть производственные, творческие, экспертные группы и т.п.
Создание таких групп требует учета многих факторов. Например, при формировании производственных групп необходимо произвести назначение на должности, обеспечивающее качество и своевременность выполнения работ, соблюдение условий труда, учет межличностных и иерархических отношений в коллективе и другие требования.
При решении задач подобного рода применимы модели и методы дискретной оптимизации, в частности, аппарат целочисленного линейного программирования (ЦЛП). Целочисленность переменных в этих моделях позволяет учесть альтернативность выбора претендентов в формируемых группах.
В настоящее время изучение задач управления персоналом идет по нескольким направлениям, в частности:
— разработка и использование моделей ЦЛП, построенных на основе известных задач о назначениях и их обобщениях [1—8];
— применение кластерного анализа [9];
— применение задач о покрытии, задач оптимального разбиения и размещения [10];
— построение теоретико-игровых моделей для анализа процессов формирования и функционирования коллектива [11];
— оптимизация на графах [12, 13].
Важными аспектами исследования рассматриваемых задач являются изучение их структуры и сложности, разработка алгоритмов точного и приближенного решения, анализ этих алгоритмов и другие вопросы.
В данной работе исследуются задачи формирования производственных групп с логическими ограничениями, учитывающими как согласованные, так и несогласованные межличностные отношения, предлагаются алгоритмы их решения, основанные на методах ветвей и границ, и отсечений, приводятся результаты вычислительного эксперимента.
Во многих случаях задача формирования производственной группы сводится к задаче о назначениях (ЗН), которая может быть сформулирована следующим образом. Пусть некоторое предприятие создает производственную группу при условии наличия на рынке труда, определенного множества претендентов, число которых не меньше количества имеющихся работ. Любому из них может быть назначена только одна работа, причем каждая работа должна выполняться только одним специалистом. Необходимо образовать производственную группу с учетом указанных условий так, чтобы суммарные затраты на выполнение всех работ были минимальны [1]. Известно, что ЗН является полиномиально разрешимой задачей комбинаторной оптимизации.
В задаче о назначениях многие факторы не принимаются во внимание, поэтому возникает необходимость использования других постановок. Например, в [1, 2] рассмотрена задача управления персоналом с учетом так называемых несогласованных межличностных отношений. Множество таких отношений определяется следующим образом. Пусть специалист 11 претендует на работу Ч , а специалист г2 — на работу Ч2. Межличностные отношения а ,В1), (;2 ,]2 , считаются несогласованными, если работы Ч1, Ч требуют взаимодействия специалистов 11, г2 при их выполнении, а отношения между ними рассматриваются как напряженные. Множество всех несогласованных межличностных отношений обозначим через Ш.
Дрнустит, что известии число снециалистов п, число работ т и пусть г — номер специалиста, Ч т С,С ц {1,...сТ; Ч — номев работы, В т 0,0 ц Ис,...е}. Обозначим затраты на выполнение г-м специалистом 7-ой работы через сЧв,Ч т С, В е 0.
Введем булевы переменные. Будем полагать, что с.. = 1, если г-ый специалист назначаетсяна }-ю работу и с. =0 — впротивном случае.
Введем еще один класс ограничений.Допустим, требуется учесть условия согласованности межлич-ностныхотношений, которые будут сформулированы ниже, а также наличие парных связей между некоторыми специалистами: если первый из них включается в группу для выполнения определенной работы, то второй специалист из этойпары обязательно должен быть взят в группу для выполнения некоторойдругойработы.
Отметим, что наряду с задачами формирования групп на минимум может возникнуть необходимость решения подобных задач на максимум, если необходимо, например, получить наибольший эффект от включения специалистов в группу.
Построим математическую модель, учитывающую условия согласованности, используя введен-
ные обозначения. Величины я у,Ч т С,В т 0 здесь будем интерпретировать как эффект от выполнения г-м специалистом .-ой работы.Предполагается,что
е. >0.
ч
Пусть специалист I претендует на работу ] , а специалист г2 — на работу ч2.Межличностные отношения назовем счгласстантыми, если при назначении специалиста ^ на работу Ч1 специалист г2 обязательно дтлжтн быте назт^ачен на работу ч2. Множество всес члчл1^11!^^!«-^ согстс о ванных отношений обозначим чертз °
Тогда мвиеаь чecoчccлeснoго линейного программирования для иaдсcи имает вид:
тСсВ К
ЧтС ВтЗ
при условиях
СсЧц=С,ВЯЧ^3<
Чтт
Хчса1,Че в
в таз
Ччсвс И а ^l(Ч1,Cl),ЛЧ2,T2))eW■! Ччсвс -*Ш2 м0,ЗC},тCMЧ2,Ы'2ТаeSТ
ч,.тС0С}Ст/ ,в та ,
(1)
(2)
(3)
(4)
(5)
(6)
Здесь целевая ф внкция (1) представляет то бой общий эффект сочсчатмый п,едприятием от назначения ссециалистос на раЯссты, равенства (2) указывают, что нс цсждую работу назначается только один спнцыалмст; н^авесатса (3) гарантируют, что каждый включенный о гцуппу специалист выполняет не болце оддой работы, неравенства (4) — (5) отражают необхоцимость оОеспечения условия согласованностц и несо],насо]^атости межличностных отнош еним
Отметим, что садацт ,Т) — (3), (т) представляет собой классическсю овдачц о назначениях, которая, как отмечено -анее, п-линомиильно разрешима. Дополнение огракцчензй задаси (1) —(3), (5) условием (4) ведст к повыменмю се сложности. В [1, 3] доказана ИР-ткугцюсть данной задачи, а из нее следует ЫР-труцность зацачц (1 ) — (6), так как задача (1) — (5) явлоется ос частным случаем.
В работ ах [1, 3] ав то рами предложен алгоритм ветвей и г аниц с вся указанной задачи, в котором решение задачи сводится к решению последовательности задач о назначениях. Результаты эксперимента позволили сделать вывод о перспективности применения, разработанных в [1, 3] модели ЦЛП и алгоритма для решения задач формирования производственных групп при учете несогласованных межличностных отношений.
В исследовании [2] недостаток разнообразия отношений между претендентами предыдущей постановки восполняется введением неотрицательного числа 5 — порога комфортности, при превышении которого отношения между специалистами могут считаться благоприятными для совместной деятельности. Введем матрицу С размерности пхп коэффициентов комфортности, элементами которой являются положительные вещественные числа. Далее дается определение 5-несогласованных отно-
шении между специалистами, множество которых обозначается через W5. Межличностные отношения ИМ,>И\)>('2>ИгО называются 5-несогласованными, если работы j1 и / требуют взаимодействия специалистов ° и ц пти ах выполненви, ¡коэффициент комфортности между которыми меньше заданного порога 5. Таким образом, етништния с коэффициентом комфортности меньше 5 считаются напряженными м а инете — комфартными. В таком случае система вида (4) записывается следующим образом: мх — + мии а Ч(]- '—х )'(е2 >—2 ))нШъ. Отметим, что при 5 = 0 эти ограничения совпадают с ограничениями (4). Очевидно, что в такой постановке задача ЫР-труди.
2. Алгоритмы ремения задачи.
2.1 Метя а веааей ач г рашщ,
Длярешения задами (о) — ((5) мейеаЯюммн м—гориам ВВ, оимооим—ош —а мзаоде ветоей и границ, который предполагает решение текущии маиыи я мтзыааченияа таюке с момищою вонгерского иеоо—а.
Процесс ветвления состоит а мосиедоммтег;и^ном разбиенми мможи сто а допустиные р еп1 ени. (2) м ) на подмножества, на каждоч иы нмот^о^к^еыыс отикомося оценки значений целовай фанюдиы м) с мо-щим отсеком! тех лoдмножecтк, к;чяочь'1^ ^иэ ночча-жат оптимального решения. Данная опемацим ¡мюэ-курсчм]^о яримежется к подмножествам, которые можно условно называах узеами дерею пыиоко, Каждое падынажеемео в этом pозбиенйи предетае-ляетсы помомком узла-родичелч а иcычннaи задача соответствует корню дерева.
Обохна^^им чев>ез ХОес — ниилм^шб;е знeяeниe целевой функции м(х(, получонноц к теауще0 ите-рацим алзopи—ма. В начали м-хоцеев^ пола—ими, что Rec = 0. Опишем алгоритм по шaеям:
Шаг (]. (-[(ыам.а.им оптимс.аJ)H)вы [ee^[T2Г5:e;ие а' исымд-ной ЗН (1) —(3), (6). Езли все аоpмничeн от (4), (()) выполняются длх X, -ко ыроцеыа ымкимтииеется — получено оптимальнх^еэ ¡ы^епкэнаин! зaдячX:
Иначе пиpеxo1l)ися иа теаи 1.
ШаГ 1.
1.1. Ветелшнае 1е (тусть ( (]( ы и( )ы (е2 ы и2)) о И^ и хота бы одно из ограничеииц вистoн)ы (мС: м^ и( -3o/2и2 и-или х- ия н хм я - е)( на аыполнилось.В этe]х[ снумсаа еа-дача делится на двм ио—задачи. ц цераве втooлеиия это соотвoocткуoо левот ветви (претендмнт — ме принимается на работам /_. т^ пO)0кгoeм км. , — Хм — 0) и правой ветви (протендент 12 не мйинимaятся на работы /1, /2, т.е. пылагаем 0.0и( — мм — -). Выбираем левую вeтой и оереходим на шаг 2.
1.2. Ветвление 2. Пуать 2(]о0(0)ы(е2ыЛ.] о е иогва-ничение х.^ — м-ит У 0 не выполнилось. В эхом случае задача делится на —ве подзадачи. В дереве ветвления этосоответствует левой ветви: о^. — — ( и правой ветви: м-- — 0. Выбираем левую ветвь и переходим на шаг 2.
1.3. Анализ правой ветви.
1. Если текущий узел — корень дерева поиска и все узлы правой ветви рассмотрены, то переходим на шаг 3.
2. Если текущий узел — не корень дерева поиска и все узлы правой ветви рассмотрены, то переходим к его родительскому узлу на шаг 1.3.
3. Если текущий узел — не корень дерева поиска и не все узлы правой ветви рассмотрены, то анализируем правую ветвь. Переходим на шаг 2.
Шаг 2. Если текущая ЗН с новыми исходными данными не имеет решения, то переходим на шаг 1.3. Иначе находим оптимальное решение х' текущей задачи, вычисляем /(У).
1. Если F(x') < Rec, то движение по этой ветви не может привести к улучшению Rec, переходим на шаг 1.3.
2. Если F(x') > Rec, все ограничения (4) выполняются для X и хотя бы одно ограничение (5) не выполняется для X, то переходим на шаг 1.2.
3. Если F(x') > Rec и все ограничения (4), (5) выполняются для X, то обновляем Rec:= F(x' ) и переходим на шаг 1.3.
4. Если F(x') > Rec и хотя бы одно ограничение
(4) не выполняется для X, то переходим на шаг 1.1.
Шаг 3. Завершение процесса. Если Rec > 0, то
решение, соответствующее Rec, является оптимальным для задачи (1) — (6). В противном случае задача не имеет допустимых решений.
Отметим, что ветвление на две подзадачи, осуществляемое на шаге 1, не приводит к потере допустимых решений задачи (1) — (6). А поскольку число ограничений (4) и (5) конечно, то алгоритм заканчивает свою работу за конечное число шагов.
2.2. Алгоритм отсечений.
Также для решения данной задачи применим метод последовательного расширения системы дополнительных ограничений (4) —(5), аналогичный предложенному в статьях [1, 2].
Множество стратегий сортировки дополнительных ограничений (4), (5) можно разбить на два класса: распределение неравенств из системы (4), (5) в некотором порядке до запуска алгоритмов решения (обозначим их BSort1, BSort2) и после каждой итерации алгоритмов (обозначим их ISort1, ISort2). Сначала опишем возможные варианты упорядочивания первого класса. Для каждого ограничения, порождаемого парой (i1, i2), подсчитываем, сколько раз индекс i1 встречается в остальных ограничениях системы (4), (5), то же самое находим для индекса i2.B случае сортировки BSort1 весом линейного неравенства, соответствующего паре (i1, i2), будем счи-татьсуммуэтих двух чисел, а для BSort2 — максимальное из них. Располагаем все неравенства из (4),
(5) в порядке невозрастания весов. Вычисление весов ограничений (4), (5) в случае сортировки ISort1 такое же, как и для BSort1, а в случае ISort2 — как для BSort2. Отличие состоит в том, что нахождение указанных весов осуществляется только для неравенств, которые не выполнились после текущей итерации, а веса остальных равны 0. Описанный алгоритм далее обозначается через CUT. Проведем сравнительный анализ указанных алгоритмов и пакета CPLEX.
3. Вычислительный эксперимент. Нами разработан программный комплекс и проведен вычислительный эксперимент для задачи P1, цель которого заключалась в исследовании предложенных алгоритмов в зависимости от значения входных параметров задачи, а также в сравнении с пакетом CPLEX 12. В качестве тестовых примеров использовались задачи со случайными исходными данными. Расчеты проводились на компьютере с процессором Intel(R) Core(TM)2 i7-4770 CPU 3.4 GHz
Введем необходимые обозначения. Пусть A — некоторый алгоритм, T (A) — среднее время счета в секундах алгоритма A. Тестовые примеры были получены с помощью процедуры генерации с входными данными: число специалистов n, работ m, несогласованных межличностных отношений \W\ и число согласованных межличностных отношений |5|, а также нижние и верхние границы затрат на выполнение работ. Задачи при фиксированных значениях указанных параметров образовывали серии.
Рис. 1. Среднее время решения задач алгоритмами BB, CUT и пакетом CPLEX
Рис. 2. Среднее время решения задач алгоритмами BB, CUT и пакетом CPLEX
Всего было решено 75 серий задач, каждая из которых содержала по 50 тестовых примеров. В сериях SHS13 число специалистов и работ равнялось 50, согласованных и несогласованных отношений — 10, а количество пар связанных работ варьировалось от 10 до 150; в S14^S17 число специалистов и работ равнялось 50, количество согласованных и несогласованных отношений и пар связанных работ изменялось от 50 до 200; в S18^S20 со 100 специалистами и работами количество согласованных и несогласованных отношений равнялось 100 а связанных работ 100, 200 или 500; в сериях S21^S73 число специалистов и работ равнялось 500, количество согласованных и несогласованных отношений изменялась от 100 до 1000; в S74, S75 число сп ециали-стов, работ и межличностных отношений равнялось 1000. Во всех задачах предполагалось, что 1 < sij < 100. Для генерации случайных величин использовалось равномерное распределение.
Отметим, что для задач небольшой размерности среднее время работы пакета CPLEX значительно больше времени работы алгоритмов CUT и BB, что особенно заметно на сериях S1^S9 (рис. 1).
Расчеты показали, что алгоритм CUT обладал преимуществом по времени счета перед пакетом CPLEX на сериях задач S14^S75 в 40 % случаях, а алгоритм BB — в 64 % (рис. 2). Установлено, что CUT и BB находили оптимальные решения задачи быстрее в случае, если число межличностных отношений и пар связанных работ были достаточно велики и при этом разрыв оптимальных значений целевых функций задач (1) — (6) и соответствующим ЗН являлся небольшим.
Для алгоритма CUT на сериях задач SHS75 варьировалось число добавляемых неравенств типа (4), (5) и применялись описанные выше стратегии сортировки дополнительных ограничений. Алгоритм CUT с использованием сортировок ISort2 оказался в отдельных случаях быстрее пакета CPLEX на 55 % (на серии S39), а алгоритм BB на 63 % (на серии S51). Был проведен статистический тест Вилкоксона, показавший, что на сериях задач S1^S75 алгоритм BB имеет преимущество над алгоритмом CUT с уровнем значимости менее 5 %. А на сериях S1^S13 алгоритм BB имеет статистически значимое преимущество над алгоритмом CUT, который в свою очередь быстрее пакета CPLEX с уровнем значимости менее 5 %.
4. Заключение. В работе рассмотрена новая постановка задачи формирования целевых групп
и соответствующая ей модель ЦЛП. Предложены и реализованы точные алгоритмы решения этой задачи, на их основе разработан и апробирован программный комплекс.
Проведен вычислительный эксперимент, который показал преимущество алгоритма ветвей и границ над модификацией алгоритма отсечений и пакетом СРЬБХ на задачах малой размерности, что показывает перспективность применения указанной модели и алгоритмов в системах поддержки принятия решений для формирования малых функциональных групп.
В дальнейшем планируется изучение сложности задачи, учитывающей только согласованные межличностные отношения.
Библиографический список
1. Афанасьева Л. Д., Колоколов А. А. Исследование и решение одной задачи формирования производственных групп // Вестник УГАТУ. 2013. № 5. С. 20-25.
2. Колоколов А. А., Рубанова Н. А., Циглер И. А. Исследование и решение некоторых задач формирования малых групп на основе дискретной оптимизации // Омский научный вестник. Сер. Приборы, машины и технологии. 2016. № 4 (148). С. 139-142.
3. Kolokolov A. A., Afanasyeva L. D. Research of Production Croups Formation Problem Subject to Logical Restrictions // Journal of Siberian Federal University. Mathematics & Physics. 2013. Vol. 6, no 2. P. 145-149.
4. Колоколов А. А., Рубанова Н. А., Циглер И. А. Решение задач управления персоналом с учетом некоторых бинарных отношений // Проблемы оптимизации сложных систем: тр. XII Междунар. азиатской школы-семинара. Новосибирск, 2016. С. 278-284.
5. Колоколов А. А., Рубанова Н. А., Циглер И. А. Решение задач формирования малых групп с использованием дискретной оптимизации // Information Technologies for Intelligent Decision Making Support. Proceedings of the 4th International Conference. 2016. № 1. С. 215-218.
6. Колоколов А. А., Рубанова Н. А. Анализ и решение некоторых задач формирования производственных групп // Проблемы оптимизации и экономические приложения: материалы VI Междунар. конф. Омск, 2015. 99 с.
7. Истомина И. М., Циглер И. А. О некоторых алгоритмах решения задач формирования производственных групп с учетом логических ограничений // Проблемы оптимизации и экономические приложения: материалы VI Междунар. конф. Омск, 2015. 95 с.
8. Циглер И. А. О некоторых алгоритмах решения задач формирования целевых групп // Россия молодая: передовые технологии в промышленность. 2017. № 2. C. 51—53.
9. Еремеев А. В., Кельманов А. В., Пяткин А. В. О сложности некоторых евклидовых задач оптимального суммирования // Доклады Академии наук. 2016. Т. 468, № 4. С. 372-375.
10. Новиков Д. А. Математические модели формирования и функционирования команд: моногр. М.: ФИЗМАТЛИТ, 2008. 186 с. ISBN 9875-94052-146-0.
11. Burkard R. E., Dell'Amico M., Martello S. Assignment problems. Philadelphia: SIAM, 2009. 382 p.
12. Сигал И. Х., Иванова А. П. Введение в прикладное дискретное программирование: модели и вычислительные алгоритмы. 2-е изд. М.: ФИЗМАТЛИТ, 2003. 240 с. ISBN 5-92210377-6.
13. Гэри М., Джонсон Д. Вычислительные машины и труд-норешаемые задачи: моногр. М.: Мир, 1982. 416 с.
КОЛОКОЛОВ Александр Александрович , доктор физико-математических наук, профессор (Россия), заведующий лабораторией дискретной оптимизации Института математики им. С. Л. Соболева СО РАН, Омский филиал; заведующий кафедрой прикладной и вычислительной математики ОмГУ им. Ф. М. Достоевского.
ЦИГЛЕР Игорь Александрович, аспирант лаборатории дискретной оптимизации Института математики им. С. Л. Соболева СО РАН, Омский филиал. Адрес для переписки: icygler@hwdtech.ru
Статья поступила в редакцию 14.06.2017 г. © I А. А. Колоколов I , И. А. Циглер
УДК 004.94:519.711.3 В. И. ПОТАПОВ
Омский государственный технический университет, г. Омск
ЧИСЛЕННО-АНАЛИТИЧЕСКОЕ РЕШЕНИЕ ИГРОВОЙ ЗАДАЧИ ПРОТИВОБОРСТВА АППАРАТНО-ИЗБЫТОЧНОЙ ДИНАМИЧЕСКОЙ СИСТЕМЫ С ПРОТИВНИКОМ, ДЕЙСТВУЮЩИХ В УСЛОВИЯХ НЕПОЛНОЙ ИНФОРМАЦИИ О ПОВЕДЕНИИ УЧАСТНИКОВ ИГРЫ
Разработана математическая модель игровой задачи, в которой противоборствующие стороны действуют и принимают решения в условиях неполной информации о поведении участников игры. Атакуемая сторона располагает аппаратно-избыточной динамической системой, которая обладает не только ресурсом защиты от атак противника, но и ресурсами активного воздействия на вероятности нахождения атакующей стороны в соответствующих состояниях атаки. Полагается, что поведение противоборствующих сторон аппрак-симируется марковским процессом. Решение рассматриваемой дифференциальной игры сводится к многошаговой матричной игре и последовательному ее решению на интервалах дискретизации с постоянными средними вероятностями нахождения атакующей стороны на этих интервалах. При решении задачи используются численные и аналитические методы. Ключевые слова: игровая задача, математическая модель, динамическая система, численно-аналитический метод, информация, вероятностный процесс, противоборство.
Введение. Вопросам постановки и решения игро- В работе [10] была поставлена и решена игровая
вых задач противоборства систем различной приро- задача противоборства атакуемой, защищающей-ды в конфликтных ситуациях посвящено большое ся от атак за счет собственных ресурсов аппарат-количество работ [1 — 10], наиболее близкая из ко- но-избыточной динамической системы SA{п,т,$), торых к содержанию данной статьи [10], посвяще- с атакующим противником, действующим в усло-на вопросам постановки и решения игровой задачи виях неполной информации о поведении атакуемо-противоборства технической системы с атакующим го противника в процессе конфликта. Атакующая противником, действующим в условиях неполной сторона в процессе игры стремится за счет сво-информации в течение игры. их ресурсов нападения увеличить интенсивность