Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
74-105.docx
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
365.9 Кб
Скачать

88. Венгерский метод Алгоритм венгерского метода.

  1. В исходной матрице стоимостей определим в каждой строке минимальную стоимость и отнимем ее от других элементов строки.

  2. В матрице, полученной на первом этапе, найдем в каждом столбце минимальную стоимость и отнимем ее от других элементов столбца.

  3. Если после выполнения первого и второго пункта не получено допустимое решение (в том смысле, что каждому работнику назначена в точности одна работа) выполняем следующие действия:

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

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

    • Если новое распределение нулевых элементов не позволяет построить допустимое решение повторите пункт 3. В противном случае перейдите к пункту 4.

  4. Оптимальным назначениям будут соответствовать нулевые элементы, полученные на предыдущем этапе.

Алгоритм ищет значения, которые надо вычесть из всех элементов каждой строки и каждого столбца (разные для разных строк и столбцов), такие, что все элементы матрицы останутся неотрицательными, но появится нулевое решение. Алгоритм основан на двух идеях:

  • если из всех элементов некоей строки или столбца вычесть одно и то же число, общая стоимость уменьшится на это число, а оптимальное решение не изменится;

  • если есть решение нулевой стоимости, оно оптимально.

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

89. Транспортная задача по критерию времени

В такой транспортной задаче решающую роль играет не стоимость перевозок, а время, которое затрачивается на доставку груза. Оптимальным планом считается план, который минимизирует время перевозок. Задача решается в следующем порядке. Находится начальное опорное решение Х1. Определяется значение целевой функции Т(Х1)=max{tij}=tl1k1. Все свободные клетки, которым соответствует значение tij>T(X1), исключается из рассмотрения (перечеркиваются). Занимать эти клетки нецелесообразно, так как увеличивается значение целевой функции. Чтобы уменьшить ее значение, необходимо освободить клетку (l1, k1), в которой tij достигает максимума. Для этого строят так называемые разгрузочные циклы, которые могут включать в свой состав несколько свободных клеток. В каждом разгрузочном цикле, начиная с разгружаемой клетки (l1, k1), расставляются поочередно знаки «-» и «+» и осуществляется сдвиг на величину min {xij}. Если удается эту клетку разгрузить, то она исключается из рассмотрения (зачеркивается). Получается новое опорное решение Х2 , на котором значение целевой функции меньше, чем на Х1. Далее снова пытаются разгрузить клетку, соответствующую Т(Х2)=max{tij}=tl2k2. Процесс продолжается до тех пор, пока возможность разгрузить соответствующую клетку не исчезнет.

B1

B2

B3

B4

B5

Запас

A1

15

19 1

22

19

1 1

20

A2

21

18

11

19 4

1 3

20

A3

19 26

29

1 23

26

24

20

A4

21

10

18 3

19

2 27

20

Потребность

19

19

19

19

4

Найдем Т(х1) = max{1, 1, 3, 3, 4, 23, 26, 27} = 27. Следовательно, перечеркиваем клетки, значения которых превышают 27:

Таблица 1.8.2

B1

B2

B3

B4

B5

Запас

A1

15

19 1

22

19

1 1

20

A2

21

18

11

1 9-2 4

1 +2 3

20

A3

19 26

29

1 23

26

24

20

A4

21

10

18 3

+ 2 19

2-2 27

20

Потребность

19

19

19

19

4

Необходимо разгрузить ячейку А4В5:

Таблица 1.8.3

B1

B2

B3

B4

B5

Запас

A1

15

19 1

22

19

1 1

20

A2

21

18

11

17 4

3 3

20

A3

19 26

29

1 23

26

24

20

A4

21

10

18 3

2 19

27

20

Потребность

19

19

19

19

4

Новое Т(х2) = max{1, 1, 3, 3, 4, 19, 23, 26} = 26. Необходимо вычеркнуть все элементы, которые больше 26:

Таблица 1.8.4

B1

B2

B3

B4

B5

Запас

A1

15

19 1

22

19

1 1

20

A2

21

18

11

17 4

3 3

20

A3

19 26

29

1 23

2 6

24

20

A4

21

10

18 3

2 19

27

20

Потребность

19

19

19

19

4

Дальше разгрузить ячейку А3В1 невозможно, а это значит, что оптимизация завершена. Максимальное время перевозки будет равно Т(х2) = 26 ед.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]