Задача о назначениях. Венгерский метод решения задачи о назначениях. Малофеевой Екатерины гр. ММ-61.

Презентация:



Advertisements
Похожие презентации
Задача о назначениях. Венгерский метод решения задачи о назначениях. Малофеевой Екатерины гр. ММ-61.
Advertisements

Транспортная задача частный случай задачи линейного программирования.
Транспонирование матрицы переход от матрицы А к мат­рице А', в которой строки и столбцы поменялись местами с сохранением порядка. Матрица А' называется.
Симплекс-метод Лекции 6, 7. Симплекс-метод с естественным базисом Симплекс –метод основан на переходе от одного опорного плана к другому, при котором.
Транспортная задача линейного программированияТранспортная задача линейного программирования.
ТРАНСПОРТНАЯ ЗАДАЧА Лекции 10,11. Транспортная задача является частным случаем задачи линейного программирования и может быть решена симплекс-методом.
Решение задачи линейного программирования методом последовательного улучшения плана ( Симплексный методом )
1 2. Матрицы. 2.1 Матрицы и их виды. Действия над матрицами. Джеймс Джозеф Сильвестр.
1 3. Системы линейных уравнений. Леопо́льд Кро́некер.
Распределительный метод. Рассмотрим пример Пусть задана некоторая транспортная задача и соответствующая ей транспортная таблица
Симплекс-метод. Сущность метода Симплекс-метод – универсальный метод решения задач линейного программирования. Суть метода: целенаправленный перебор.
Симплекс-метод Симплексный метод – это вычислительная процедура, основанная на принципе последовательного улучшения решений при переходе от одной базисной.
Что нужно знать: динамическое программирование – это способ решения сложных задач путем сведения их к более простым задачам того же типа динамическое.
1. Строятся вершины первого уровня. Для них подсчитывается оценка ψ( ) 2. Ветвится вершина, которой соответствует лучшая оценка. Подсчитываются оценки.
Задача о назначениях Презентация подготовлена преподавателем кафедры «Прикладной математики» Тесёлкиной Е.С.
Транспортная параметрическая задача.. Транспортная задача – одна из распространенных задач линейного программирования. Транспортная задача – одна из распространенных.
Транспортная задача линейного программирования. Постановка транспортной задачи Однородный груз, имеющийся в m пунктах отправления (производства) А 1,
Симплекс-метод. Сущность метода Первый шаг. Найти допустимое решение (план), соответствующее одной из вершин области допустимых решений. Второй.
Пусть дана система линейных алгебраических уравнений с n неизвестными: a 11 x 1 + a 12 x 2 + … + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + … + a 2n x n = b.
1 Математические методы Математические методы Теоретический учебный материал по дисциплине.
Транксрипт:

Задача о назначениях. Венгерский метод решения задачи о назначениях. Малофеевой Екатерины гр. ММ-61

Возможные варианты задачи о назначениях: РесурсыПотребителиКритерий эффективнос- ти рабочиеРабота (рабочие места) Время выполнения (мин) автомобилимаршрутыОбъём перевозимой продукции станкиРабота (участки)Мин. время или макс. производительность

Задача о назначениях. Решим задачу как транспортную: Пример : Пусть имеется 4 сотрудника фирмы, которых необходимо закрепить за выполнением 4х работ. Известны производительности каждого из сотрудников по каждой работе:

строим первое опорное решение: b 1 =1b 2 =1b 3 =1b 4 =1 a 1 = a 2 = a 3 = a 4 =

1). Проверяем открытая или закрытая транспортная задача по формуле: 4=4 => транспортная задача закрытая 2). Проверяем первое опорное решение на оптимальность методом потенциалов. Количество заполненных клеток должно равняться выражению: m + n-1. если недостаёт заполненных клеток, то в 1 из пустых клеток вводим нулевую поставку груза =7

Для заполненных клеток выполняется соотношение: ui + vj = Cij u 1 + v 1 =2 u 1 =0 u 1 + v 4 =7 u 2 = -6 u 2 + v 2 =4 u 2 = -6 u 3 + v 2 =14 u 3 = 4 u 3 + v 4 =11 u 4 = 2 u 4 + v 1 =4 v 1 = 2 u 4 + v 3 =13 v 2 = 10 u 1 =0 v 3 = 11 v 4 = 7

Подсчитаем оценки Δij свободных клеток по формуле: Если все Δij не отрицательны, то план оптимален. Если же существуют Δij0 Δ24 = 8 – (-6 + 7) = 8 – 1 = 7 >0 Δ31 = 13 – ( 4 + 2) = 13 – 6 = 7 >0 Δ33 = 16 – (4 + 11) = 16 – 15 = 1 >0 Δ42 = 15 – (2 + 10) = 15 – 12 = 3 >0 Δ44 = 19 – (2 + 7) = 19 – 9 = 10 >0

Вывод: первый план не является оптимальным. Для его улучшения найдём клетку с наибольшей по абсолютной величине отрицательной Δij и составим цикл перераспределения поставок. Составляем цикл для Δ13: После перераспределения груза строим новую таблицу с найденным вторым решением

Таблица со вторым решением b 1 =1b 2 =1b 3 =1b 4 =1 a 1 = a 2 = a 3 = a 4 =

Проверяем решение на оптимальность u1+v3=9 u1= 0 u1+v4=7 u2= -6 u2+v1=15 u3= 4 u3+v2=4 u4= -17 u3+v2=14 v1= 21 u3+v4=11 v2= 10 u4+v1=4 v3= 9 u1=0 v4= 7 Решение не оптимально, т.к. Δ 11 составляем цикл для Δ 11 Δ11 = 2 – (0 + 21) = 2 – 21 = - 19 < 0 Δ12 = 10 – (0 + 10) = 10 – 10 = 0 = 0 Δ23 = 14 – (-6 + 9) = 14 – 3 = 11 > 0 Δ24 = 8 – (-6 + 7) = 8 – 1 = 7 > 0 Δ31 = 13 – (4 + 21) = 13 – 25 = -12 < 0 Δ33 = 16 – (4 + 9) = 16 – 13 = 3 > 0 Δ42 = 15 – ( ) = = 22 > 0 Δ43 = 13 – ( ) = = 23 > 0 Δ44 = 19 – ( ) = = 29 > 0

Цикл для Δ 11 : После перераспределения груза строим новую таблицу с найденным решением.

Таблица с третьим решением. Найденный план является оптимальным: x 13 =1; x 22 =1; x 34 =1; x 41 =1 L(x) = =28 y.e. b 1 =1b 2 =1b 3 =1b 4 =1 a 1 = a 2 = a 3 = a 4 =

Венгерский метод решения задачи о назначениях. Алгоритм решения: 1. Решаем задачу на минимум. Цель данного шага – получение максимально возможного числа нулей в матрице С. Для этого находим в матрице С в каждой строке минимальный элемент и вычитаем его из каждого элемента соответствующей строки. Аналогично в каждом столбце вычитаем соответствующий минимальный элемент. Если задана не квадратная матрица, то делаем её квадратной, проставляя стоимости равными максимальному числу в заданной матрице.

2. Если после выполнения первого шага можно произвести назначения, то есть в каждой строке и столбце выбрать нулевой элемент, то полученное решение будет оптимальным. Если назначения провести не удалось, то переходим к третьему шагу. 3. Минимальным числом прямых вычёркиваем все нули в матрице и среди не вычеркнутых элементов выбираем минимальный, его прибавляем к элементам, стоящим на пересечении прямых и отнимаем от всех не вычеркнутых элементов. Далее переходим к шагу 2. Венгерский метод наиболее эффективен при решении транспортных задач с целочисленными объемами производства и потребления.

Пример: Решим её венгерским методом. 1.найдём в каждой строке минимальное значение и вычтем его из каждого элемента данной строки. Дана матрица: Получим матрицу:

2.Назначение сотрудников провести нельзя. Выберем в каждом столбце матрицы минимальный элемент и вычтем его из каждого элемента данного столбца: Назначение провести нельзя. Минимальным числом прямых вычеркнем все нули в матрице. Среди не вычеркнутых элементов выберем минимальный. Прибавим его к элементам, стоящим на пересечении прямых и вычтем из всех не вычеркнутых элементов. Получим матрицу: Назначения проведены: 1й сотрудник выполняет 3ю работу; 2й-выполняет 2ю работу; 3й-выполняет 4ю работу; 5й-выполняет 1ю работу.