Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция №07_08 Задача о назначениях 01_04_10.doc
Скачиваний:
14
Добавлен:
24.09.2019
Размер:
437.76 Кб
Скачать

7.4. Пример решения задачи о назначениях.

Пусть в виде таблицы дана матрица несоответствия «претендентов» , , , , имеющимся «должностям» , , , , ( ):

Таблица 1.

7

2

1

9

4

9

6

9

5

5

3

8

3

1

8

7

9

4

2

2

8

4

7

4

8

Если вначале дана матрица соответствия , то элементы матрицы определим по формулам .

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

Таблица 2.

7

1 2

1 1

9

4

0

9

6

9

5

5

0

1 3

8

3

1 1

8

0

7

9

4

2

1 2

0

8

4

7

4

8

0

3

2

1

1

2

Очевидно, что в силу определения и равенство будет выполняться в тех клетках - того столбца, в которых значение тарифа является наименьшим в соответствующем столбце (именно в этих клетках мы и поставили единицы). Заметим, что если бы оказалось ровно по одной единице в каждом столбце и в каждой строке, то есть всего 5 допустимых единиц, то согласно п.7.3 мы получили бы оптимальное решение задачи, положив для соответствующих допустимых единиц (а все остальные полагая равными нулю). Выберем теперь из имеющихся 6 потенциальных единиц максимально возможное число единиц так, чтобы в каждом столбце и в каждой строке стояло не более одной (допустимой) единицы. Разумеется, это можно сделать методом полного перебора, но мы хотим указать не метод «тыка», а способ, дающий эффективное решение задачи выбора допустимых единиц, основванный на известном алгоритме Форда-Фалкерсона. Для этого будем считать переменные , , , , и , , , , вершинами некоторой сети. Снабдим эту сеть (фиктивным) входом и (фиктивным) выходом , соединив вход дугами с вершинами , , , , и вершины , , , , с выходом (см. рис. 1). Кроме того, каждой потенциальной единице, стоящей в -той строке и -том столбце таблицы 2, сопоставим дугу с началом и концом . В результате получим следующую сеть.

Рис.1. Сеть для таблицы 2.

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

С помощью условия (3) определим заполненные клетки таблицы. В первом столбце ( ) равенство будет иметь место

добавив столбец для переменных , строку для переменных и две специальных строки, назначение которых станет ясно

7

2

1

9

4

9

6

9

5

5

7

8

3

1

8

7

9

4

2

2

8

4

7

4

8

невязка

строка

α

α1

7

12

11

9

4

0

α2

9

6

9

5

5

0

α3

1 3

8

3

1

8

0

α4

7

9

4

2

12

0

α5

8

4

7

4

8

0

min βj

3

2

1

1

2

невязка

строка