Венгерский метод решения задачи о назначениях
Задача, 26 Сентября 2011, автор: пользователь скрыл имя
Описание работы
В каждом столбце матрицы эффективности найти максимальный элемент и вычесть от него все остальные элементы столбца. В результате появится новая матрица, в каждом столбце которой хотя бы по одному нулю.
Работа содержит 1 файл
Венгерский_метод_решения_задачи_о_назначениях.doc
— 43.50 Кб (Скачать)Венгерский
метод решения
задачи о назначениях
Алгоритм:
- В каждом столбце матрицы эффективности найти максимальный элемент и вычесть от него все остальные элементы столбца. В результате появится новая матрица, в каждом столбце которой хотя бы по одному нулю.
- В каждой строке новой матрицы найти минимальный элемент и вычесть его из всех элементов соответствующей строки. В результате получим матрицу, в каждой строке которой хотя бы по одному нулю.
- Находим строку или столбец, в котором расположено меньше всего нулей. Выделяем один из них звездочкой и зачеркиваем все нули, находящиеся с ним в одной строке или столбце. По такому же принципу отмечаем звездочкой другие нули. Если в результате в каждой строке и столбце окажется выделенный нуль, то задача решена. В этом случае переходим к п. 6 и записываем ответ.
- Отмечаем столбцы, в которых находятся нули со звездочками. Затем просматриваем каждый невыделенный столбец, ищем в нем все нули и отмечаем соответствующие им строки. Если в отмеченной строке есть нуль со звездочкой, то убираем выделение столбца, в котором присутствует этот нуль. Так проделываем со всеми невыделенными столбцами.
- Среди элементов невыделенных строк и столбцов ищем минимальный. Отнимаем этот элемент из всех невыделенных строк и прибавляем ко всем выделенным столбцам. Получим новую матрицу. Переходим к п. 3 предложенного алгоритма.
- Ответ. Нулям со звездочками соответствует максимальная суммарная эффективность (производительность).
Пример.
Решить задачу о назначениях при следующей матрице эффективности:
Решение.
Шаг 1. (п.1)
Шаг 2. (п. 2)
Шаг 3. (п. 3)
Шаг 4. (п. 4)
Шаг 5. (п. 3)
.
Шаг 6. (п. 6)
Ответ: , .