Задача о назначениях (о женихах)

 

Пусть имеется пять человек с номерами М12345. Каждый из них способен выполнять разные работы Т12345. Время, которое они затрачивают на выполнение этих работ, указано в матрице стоимости

 

T1

T2

T3

T4

T5

M1

10

5

9

18

11

M2

13

19

6

12

14

M3

3

2

4

4

5

M4

18

9

12

17

15

M5

11

6

14

19

10

 

     Оценки в матрице стоимости выставляются на основании экспертных оценок. Это время в в минутах для выполнения задания. Как распределить людей по заданиям, чтобы  суммарное время выполнения работ было минимальным.

Пусть xij-участие (1) или неучастие (0) i-го человека в выполнении j-го задания.

       xij>=0, xij=0,1

Так как каждый должен быть полностью задействован и каждое задание должно быть выполнено, то на систему налагаются условия

x11+x12+x13+x14+x15=1-в каком-то из заданий каждый человек будет

........                             участвовать

x51+x52+x53+x54+x55=1

и ограничений

x11+x21+...+x51=1 -ограничения

.....

x15+x25+... x55=1

Условие на минимальное время запишется в виде

min T=10x11+5x12+...+19x54+10x55

Задача является частным случаем транспортной задачи, люди представляют исходные пункты, а работа -пункты назначения. Предложения в каждом исходном пункте равны 1, т.е. ai=1 для всех i, спрос bj=1 тоже. Стоимость перевозки (прикрепления человека i за работой j) равна cij. Если какого-то человека нельзя назначить на работу , то cij=M-большое число.

Задачу о назначениях можно представить следующим образом:

Пусть xij=0, если j-е задание не выполняется i-м человеком и xij=1, если выполняется. Тогда задача сводится к минимизации Z=Sj=1nSj=1ncijxij при ограничениях

Sj=1nxij=1, i=1,...n  ,  Si=1nxij=n    j=1,..n      xij=0 или 1

Исходное решение, полученное методом северо-западного угла является вырожденным.  Для решения задачи о назначениях разработаны венгерский метод и метод Мака.

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

Мeтод Мака является итерационным процессом и основан на выборе в каждой строке min элемента.

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

Программы, реализующие алгоритм Мака, приведены в книге /10/.