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

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

Таблица 1.

 
7 2 1 9 4
9 6 9 5 5
8 3 1 8
7 9 4 2 2
8 4 7 4 8

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

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

Таблица 2.

 
7 1 2 1 1 9 4
9 6 9 5 5
1 3 8 3 1 1 8
7 9 4 2 1 2
8 4 7 4 8
 

Очевидно, что в силу определения и равенство будет выполняться в тех клетках - того столбца, в которых значение тарифа является наименьшим в соответствующем столбце (именно в этих клетках мы и поставили единицы). Заметим, что если бы оказалось ровно по одной единице в каждом столбце и в каждой строке, то есть всего 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
α2 9 6 9 5 5
α3 1 3 8 3 1 8
α4 7 9 4 2 12
α5 8 4 7 4 8
min βj  
невязка            
строка