Венгерский метод решения задачи о назначениях

Алгоритм венгерского метода включает в себя 4 этапа.

1. Приведение матрицы.

2. Вычисление максимального числа Венгерский метод решения задачи о назначениях - student2.ru независимых нулей в приведенной матрице.

3. Получение новых нулей при Венгерский метод решения задачи о назначениях - student2.ru .

4. Отыскание n независимых нулей при Венгерский метод решения задачи о назначениях - student2.ru .

Рассмотрим каждый этап подробнее.

Этап 1

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

Таким образом, приведенная матрица Венгерский метод решения задачи о назначениях - student2.ru удовлетворяет двум условиям:

1. Венгерский метод решения задачи о назначениях - student2.ru ;

2. Венгерский метод решения задачи о назначениях - student2.ru и Венгерский метод решения задачи о назначениях - student2.ru .

Для приведения матрицы Венгерский метод решения задачи о назначениях - student2.ru с элементами Венгерский метод решения задачи о назначениях - student2.ru нужно воспользоваться эквивалентными преобразованиями (4). При этом вначале осуществляется приведение матрицы по строкам (по столбцам), т.е. ищется наименьший элемент Венгерский метод решения задачи о назначениях - student2.ru в каждой строке и осуществляется переход к матрице Венгерский метод решения задачи о назначениях - student2.ru с элементами Венгерский метод решения задачи о назначениях - student2.ru Венгерский метод решения задачи о назначениях - student2.ru Венгерский метод решения задачи о назначениях - student2.ru . Если матрица Венгерский метод решения задачи о назначениях - student2.ru оказывается неприведенной по столбцам (по строкам), то ищется наименьший вариант Венгерский метод решения задачи о назначениях - student2.ru в каждом столбце и осуществляется переход к матрице Венгерский метод решения задачи о назначениях - student2.ru , элементы которой вычисляются следующим образом: Венгерский метод решения задачи о назначениях - student2.ru . Матрица Венгерский метод решения задачи о назначениях - student2.ru по построению является приведенной.

Пример 1. Пусть

Венгерский метод решения задачи о назначениях - student2.ru .

Легко проверить, что

Венгерский метод решения задачи о назначениях - student2.ru ,

Венгерский метод решения задачи о назначениях - student2.ru ,

причем матрица Венгерский метод решения задачи о назначениях - student2.ru является приведенной.

Этап 2

При вычислении максимального числа Венгерский метод решения задачи о назначениях - student2.ru независимых нулей в приведенной матрице обычно организуют полный перебор всевозможных вариантов. При этом необходима воспользоваться следующим утверждением.

Теорема 3.Максимальное число независимых нулей равно минимальному суммарному числу горизонтальных и вертикальных линий (строк и столбцов), которыми можно зачеркнуть все нулевые элементы приведенной матрицы.

Пример 2. Пусть имеется приведенная матрица

Венгерский метод решения задачи о назначениях - student2.ru

из примера 1. Все ее нули содержат 1-ая горизонталь и 1-ая вертикаль, следовательно, здесь Венгерский метод решения задачи о назначениях - student2.ru .

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

Этап 3

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

Венгерский метод решения задачи о назначениях - student2.ru

то такие преобразования являются следствием применения Теоремы 1. Пересчитаем элементы матрицы Венгерский метод решения задачи о назначениях - student2.ru из примера 2 при Венгерский метод решения задачи о назначениях - student2.ru , в итоге получим приведенную матрицу

Венгерский метод решения задачи о назначениях - student2.ru .

Все ее нули содержат, например, 1-ая горизонталь и три вертикали: 1-ая, 2-ая, 3-я. Следовательно, здесь Венгерский метод решения задачи о назначениях - student2.ru и Венгерский метод решения задачи о назначениях - student2.ru .

Еще один пересчет дает приведенную матрицу

Венгерский метод решения задачи о назначениях - student2.ru .

Здесь уже Венгерский метод решения задачи о назначениях - student2.ru

Этап 4

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

1. В результате удается выбрать Венгерский метод решения задачи о назначениях - student2.ru независимых путей. ОСТАНОВ. Выписать ответ.

2. На некотором шаге все оставшиеся строки и столбцы содержат более одного нулевого элемента. В этом случае выбирается любой нулевой элемент, «помечается» номер строки, из которой выбран 0, и осуществляется переход к выбору следующего нулевого элемента. Если таким образом удается выбрать все Венгерский метод решения задачи о назначениях - student2.ru независимых нулей, то ОСТАНОВ. Выписать ответ. В противном случае следует возвратиться к помеченной строке и выбрать из нее другой нулевой элемент. По этой схеме надо действовать до тех пор, пока не получим Венгерский метод решения задачи о назначениях - student2.ru независимых нулей.

Пример 4. Взяв матрицу Венгерский метод решения задачи о назначениях - student2.ru из примера 3, замечаем, что независимыми здесь будут нули с индексами (1,5), (2,2), (3,4), (4,3), (5,1). Это означает, что ответом в задаче о назначениях с матрицей Венгерский метод решения задачи о назначениях - student2.ru из примера 1 является матрица назначения вида

Венгерский метод решения задачи о назначениях - student2.ru ,

для которой Венгерский метод решения задачи о назначениях - student2.ru . Важно отметить, что наряду с указанными здесь будут также независимыми нули с индексами (1,4), (2,5), (3,1), (4,3), (5,2). Следовательно, эта задача о назначениях имеет еще один ответ — матрицу назначений вида

Венгерский метод решения задачи о назначениях - student2.ru ,

причем Венгерский метод решения задачи о назначениях - student2.ru .

Ответ: Венгерский метод решения задачи о назначениях - student2.ru при Венгерский метод решения задачи о назначениях - student2.ru или Венгерский метод решения задачи о назначениях - student2.ru .

УПРАЖНЕНИЯ

1. Укажите количество независимых единиц в матрице

Венгерский метод решения задачи о назначениях - student2.ru .

2. Является ли матрица приведенной? Укажите количество независимых нулей в ней

a) Венгерский метод решения задачи о назначениях - student2.ru , b) Венгерский метод решения задачи о назначениях - student2.ru Венгерский метод решения задачи о назначениях - student2.ru .

3. Решите задачу о назначениях размера Венгерский метод решения задачи о назначениях - student2.ru с матрицей Венгерский метод решения задачи о назначениях - student2.ru вида

a) Венгерский метод решения задачи о назначениях - student2.ru , b) Венгерский метод решения задачи о назначениях - student2.ru ,

c) Венгерский метод решения задачи о назначениях - student2.ru , d) Венгерский метод решения задачи о назначениях - student2.ru .

Задача 1. Цех металлообработки получил срочный заказ на выпуск партии деталей. Для производства детали необходимо выполнить операции на четырех станках. В Цехе работают четыре слесаря высокой квалификации, каждый из которых может работать на любом станке, но с различным процентом брака (процент известен из документации ОТК):

Станок рабочий
2,3 1,9 2,2 2,7
1,8 2,2 2,0 1,8
2,5 2,0 2,2 3,0
2,0 2,4 2,4 2,8

Распределить станки между рабочими таким образом, чтобы процент брака был минимальным. Предполагается, что ОТК проверяет готовую деталь, т.е. общий процент брака определяется как сумма процентов брака, допущенного всеми рабочими.

Задача 2. Самолеты компании «Аэрофлот» летают между Москвой и Сочи. Полеты беспосадочные. График движения показан в следующие таблице:

Рейсы из Москвы в Сочи Рейсы из Сочи в Москву
Номер рейса Время отправления Время прибытия Номер рейса Время отправления Время прибытия
6:00 9:00 7:00 10:00
8:00 11:00 19:00 13:00
12:00 15:00 13:00 16:00
15:00 17:00 16:00 19:00
19:00 22:00 21:00 24:00
23:00 2:00 0:00 3:00

Рейсы могут обслуживаться московским или сочинским экипажами. Любой экипаж выполняет пару рейсов - «туда и обратно». Время, необходимое для подготовки самолета к очередному рейсу, - один час. Требуется определить, какую пару рейсов следует выполнять каждому экипажу, и из какого отряда, московского и ли сочинского, должен быть соответствующий экипаж. Распределение рейсов необходимо осуществить таким образом, чтобы суммарное время ожидания вылета в «чужом» городе было минимальным. Время ожидания не включает тот час, который уходит на подготовку самолета к очередному рейсу.

Каково минимальное общее время пребывания экипажей в «чужих» городах?

Какое количество рейсов должны выполнить московские экипажи?

Задача 3. Рассматривается проблема распределения четырех рабочих по четырем видам станков. Различная квалификация рабочих обусловливает различную стоимость выполнения работ. Стоимость работ (условных единиц) приведена в таблице. Отметим, что первый рабочий не может выполнять работу на 3-м станке, а третий — работу на 4-м станке. Кроме того, не исключается возможность ввода в эксплуатацию нового станка, работу на котором может выполнить любой из четырех рабочих, со стоимостью соответственно 20, 10, 20 и 80 условных единиц. Будет ли ввод новый станка экономически оправдан.

станки рабочие

Венгерский метод решения задачи о назначениях - student2.ru Задача 4. Необходимо распределить 4 сорта топлива, имеющегося в наличии, между четырьмя агрегатами. Задана матрица теплотворной способности, где Венгерский метод решения задачи о назначениях - student2.ru ккал/кг – теплотворная способность Венгерский метод решения задачи о назначениях - student2.ru -го сорта топлива при использовании его в Венгерский метод решения задачи о назначениях - student2.ru -м агрегате.

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

Наши рекомендации