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

Автор работы: Пользователь скрыл имя, 01 Октября 2015 в 11:05, реферат

Описание работы

Венгерский алгоритм — алгоритм оптимизации, решающий задачу о назначениях за полиномиальное время. Он был разработан и опубликован Харолдом Куном в 1955 году. Автор дал ему имя «венгерский метод» в связи с тем, что алгоритм в значительной степени основан на более ранних работах двух венгерских математиков Кёнига и Эгервари.

Содержание работы

Введение
Описание алгоритма венгерского метода
Венгерский метод для транспортной задачи
Обоснование венгерского метода
Примеры

Файлы: 1 файл

реферат.docx

— 116.15 Кб (Скачать файл)

Далее просматриваем второй столбец и отыскиваем в нем невыделенный нуль С22. Так как невязка по строке d2 > 0, то отметив этот нуль штрихом, переходим ко второму этапу.

Второй этап. Строим цепочку в матрице С1 вида  , а затем аналогичную цепочку в матрице Х1.

В результате получаем матрицу Х2: q2 = min {5, 8, 9} = 5

   

Третья итерация. Первый этап. В матрице С2 отмечаем знаком “+” первый, второй и четвертый столбцы, которым соответствуют нулевые невязки. Находим нулевой элемент С33 в третьем столбце. Так как ему соответствует нулевая невязка в третьей строке, то отмечаем этот нуль штрихом. Далее, просматриваем третью строку, отыскиваем в ней существенный нуль С32 = 0, расположенный в выделенном втором столбце, отмечаем звездочкой этот нуль и уничтожаем знак выделения над вторым столбцом. Просматриваем второй столбец, находим в нем нулевой элемент С22 = 0 и отмечаем его штрихом, а вторую строку, где он лежит, знаком “+” (так как d2 = 0).

Далее, просмотрев вторую строку, находим в ней существенный нуль С21 = 0 в выделенном первом столбце. Поэтому выделяем этот нуль звездочкой и уничтожаем знак “+” над первым столбцом.

h = min {4, 3, 2} = 2

              

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

Третий этап. Находим минимальный невыделенный элемент в матрице С2 h = 2, вычитаем h из всех элементов невыделенных строк и прибавляем ко всем элементам выделенных столбцов (т.е. прибавляем к четвертому столбцу и вычитаем из первой строки). В результате получим матрицу С3, в которой появился новый невыделенный нуль (С 13). Переходим к первому этапу.

Первый этап. В матрице С3 находим невыделенный нуль С13. Так как d1 > 0, то переходим ко второму этапу.

Второй этап. Вся цепочка состоит из одного элемента  . Поэтому q3 = min {d1 = 4, d2 = 4} = 4. Прибавим q3 к  , получим матрицу X3.

           

Так как D3 = 0, то Х3 – оптимальный план. Соответствующее значение целевой функции Lорт =   (сравните с результатами решения этой задачи методом потенциалов, см. пример 3.3).

 

 

 

 

Заключение

 
  Суть венгерского метода состоит в следующем: Путем прибавления оп-ределенным образом найденных чисел к некоторым столбцам и вычитания из них некоторых чисел находят систему так называемых независимых нулей. На-бор нулей называется системой независимых нулей, если никакие два (или больше) нуля не лежат на одной линии (в строке или столбце). Если число не-зависимых нулей равно n, то, приняв соответствующие им переменные xij рав-ными 1, а все остальные – равными 0, согласно утверждению 2, получим опти-мальный план назначения. 
 Алгоритм венгерского метода состоит из предварительного шага и не бо-лее, чем (n-2) последовательно повторяющихся итераций. На предварительном этапе в случае решения задачи на максимум, ее преобразуют в эквивалентную задачу на минимум. На этом же этапе выделяется система независимых нулей. Каждая последующая итерация направлена на увеличение хотя бы на 1 числа независимых нулей. Как только число независимых нулей k станет равным размерности матрицы (k=n) , задача решена. 
 Оптимальный план назначения определится положением независимых нулей на последней итерации. 

 

 

 

 

 


Информация о работе Венгерский метод решения задач