Применение метода ветвей и границ для решения минимаксной задачи о назначениях

ПРИМЕНЕНИЕ МЕТОДА ВЕТВЕЙ И ГРАНИЦ ДЛЯ РЕШЕНИЯ МИНИМАКСНОЙ ЗАДАЧИ О НАЗНАЧЕНИЯХ Михеева Т.Н.

Михеева Татьяна Николаевна - студент магистратуры, кафедра прикладной информатики в экономике, Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Поволжский государственный технологический университет, г. Йошкар-Ола

Аннотация: рассматриваются особенности решения минимаксных задач о назначениях методом ветвей и границ.

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

В данной работе рассматриваются особенности решения минимаксных задач о назначениях методом ветвей и границ.

Метод ветвей и границ относится к группе комбинаторных методов дискретного программирования. Одними из первых данный метод использовали Литтл, Мурти, Суини и Кэрел в 60-х годах 20 века при решении задачи о коммивояжере [1].

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

Рассмотрим задачу о назначениях и применим для ее решения метод ветвей и границ.

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

Матрица затрат представлена в следующем виде (Таблица 1):

Таблица 1. Матрица затрат

7 7 3 6

4 9 5 4

5 5 4 5

6 4 7 2

Решение. Шаг 1. Рассчитываем ф0 как минимальную сумму наименьших стоимостей выполнения всех работ одним работником или выполнения одной работы всеми работниками.

[ У min элементов по строкам 1 [3 + 4 + 4 + 2 = 13 % = min \ ^ ^ = \

У min элементов по столбцам [4 + 4 + 3 + 2 = 13

Начинаем строить дерево, исходя из нулевого уровня, при котором ф0=13. Шаг 2. Делаем попытку назначить 1 работника на каждую работу. Для этого вычеркиваем 1 строку и j столбец, в зависимости от того, на какую работу назначаем работника.

q  j Z1™ элементов по оставшимся строкам |

j min элементов по оставшийся столбцам J ^

Получаем: <рп=17, <р|2=17. <р13=13, Ф14=18. Так как минимальное значение

достигается в случае ф13 =13, назначаем первого работника на 3 работу. Остальные ветви 1 уровня отсекаем.

Шаг 3. Делаем попытку назначить 2 работника, но оставшиеся работы (1, 2, 4). Для этого вычеркиваем 1 строку и 3 столбец, так как это назначение уже сделано, и вычеркиваем 2 строку и j столбец, в зависимости от того, на какую работу назначаем 2 работника.

J min элементов по оставшимся строкам ] 13 11 jVmin элементов по оставшимся столбцамJ ^

Получаем: ф21=13, ф22=19, ф24=16. Минимальное значение ф21=13, поэтому назначаем второго работника на 1 работу, а остальные ветви отсекаем.

Шаг 4. Делаем попытку назначить 3 работника на оставшиеся работы (2 и 4). Вычеркиваем 1 и 2 строки, 1 и 3 столбец, так как эти назначения уже произведены. Вычеркиваем третью строку и j столбец, в зависимости от того, на какую работу назначаем 3 работника.

^ ^ ^ . j ^min элементов по оставшимся строкам1 ^

13 21 }J (Vmin элементов по оставшимся столбцам\

Получаем: ф32=14, ф34=16. Так как минимальное значение достигается при ф32=14, то назначаем третьего работника на вторую работу, а остальные ветви 3 уровня отсекаем.

Шаг 5. Четвертый работник назначается на оставшуюся работу, в данном случае, на 4 работу ф44=14.

Получаем назначение: 4 работник - 4 работа, 1 работник - 3 работа, 3 работник - 2 работа, 2 работник - 1 работа. Минимальные затраты труда 14.

Недостатком алгоритма ветвей и границ являются значительные временные затраты для задач большой размерности.

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

Список литературы

1. Little J.D.C., Murty K.G., Sweeney D. W., and Karel C. An algorithm for the Traveling Salesman Problem // Operation Research, 1963. № 11. P. 972-989.

2. Гольштейн Е.Г.Задачи линейного программирования транспортного типа / Е.Г. Гольштейн, Д.Б. Юдин. М.: Наука, 1969. 384 с.

3. Кузнецов А.В. Руководство к решению задач по математическому программированию: Учебное пособие / А.В. Кузнецов, Н.И. Холод, Л.С. Костевич. Минск, 2001. 448 с.