Вы находитесь на странице: 1из 26

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЁЖИ И СПОРТА УКРАИНЫ

Одесский национальный университет имени И.И. Мечникова

Факультет математики, физики и информационных технологий

Расчётно-графическая работа №2
по дисциплине «Методы оптимизации»
на тему: «Транспортная задача и задача о назначениях»
Вариант 27

Выполнил:

студент 3 курса КИ

Харитонов М.К.

Проверил:

доц. Васильев А.Б.

Одесса - 2020
Транспортная задача - это специальная задача линейного программирования.

Решим сначала методом северо-западного угла

Задача:

Стоимость доставки единицы продукции от поставщика к потребителю


располагается в правом нижнем углу ячейки.

Стоимость доставки единицы продукции от поставщика к потребителю


располагается в правом нижнем углу ячейки.

Потребитель
Поставщик Запас
B 1 B 2 B 3 B 4

A 1 4 9 19 29 45

A 2 7 15 4 5 13

A 3 11 30 6 8 42

Потребность 8 39 44 36

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

Решение:

Для решения задачи необходимо выполнение следующего условия:


cуммарные запасы продукции у поставщиков должны равняться суммарной
потребности потребителей, проверим
Запасы поставщиков: 45 + 13 + 42 = 100 единиц продукции.
Потребность потребителей: 8 + 39 + 44 + 36 = 127 единиц продукции.

Разница в 27 единиц продукции.


Введем в рассмотрение фиктивного поставщика A4, с запасом продукции
равным 27 единиц.
Стоимость доставки единицы продукции от поставщика A4 ко всем
потребителям примем равной нулю (см. таблицу ниже).
Теперь суммарные запасы продукции у поставщиков равны суммарной
потребности потребителей.
Для решения задачи необходимо выполнение следующего условия:
количество задействованных маршрутов = количество поставщиков +
количество потребителей – 1, поэтому если возникнет ситуация, в которой
будет необходимо исключить столбец и строку одновременно, мы исключим
что-то одно.

Начинаем заполнять таблицу от левого верхнего угла и постепенно


"двигаемся" к правому нижнему, от северо-запада к юго-востоку.

8 = min { 8, 45 }

37 = min { 39, 37 }
2 = min { 2, 13 }

11 = min { 44, 11 }

33 = min { 33, 42 }
9 = min { 36, 9 }

27 = min { 27, 27 }

Стоимость доставки продукции, для начального решения


8*4 + 37*9 + 2*15 + 11*4 + 33*6 + 9*8 + 27*0 = 709 ден. ед.

Проверим является ли получение решение оптимальным

Каждому поставщику A i ставим в соответствие некоторое число u i,


называемое потенциалом поставщика.
Каждому потребителю B j ставим в соответствие некоторое число v j,
называемое потенциалом потребителя.

Для задействованного маршрута: потенциал поставщика + потенциал


потребителя = тариф задействованного маршрута.
Последовательно найдем значения потенциалов.
Значение одного потенциала необходимо задать. Пусть u1 = 0.

A1B1 :   v1 + u1 = 4     v1 = 4 - 0 = 4 Потребитель


A1B2 :   v2 + u1 = 9     v2 = 9 - 0 = 9   Поставщик   B 1 B 2 B 3 B 4
 U 
A2B2 :   v2 + u2 = 15   u2 = 15 - 9 = 6 8 37
A2B3 :   v3 + u2 = 4     v3 = 4 - 6 = -2 A 1 19 29   u1 = 0
4 9
u  = 6 - (-2) = 2 11
A3B3 :   v3 + u3 = 6     3 A 2 7 5   u2 = 6
8 15 4
A3B4 :   v4 + u3 = 8     v4 = 8 - 8 = 0 33 9
A4B4 :   v4 + u4 = 0     u4 = 0 - 0 = 0 A 3 11 30   u  = 8
6 8 3
27
A 4 0 0 0   u  = 0
0 4
v1 = v2 = v3 = v4 =
 V 
4 9 -2 0

Найдем оценки незадействованных маршрутов (cij - стоимость доставки).


A1B3 :   Δ13 = c13 - ( u1 + v3 ) = 19 - ( 0 + -2 ) = 21
A1B4 :   Δ14 = c14 - ( u1 + v4 ) = 29 - ( 0 + 0 ) = 29
A2B1 :   Δ21 = c21 - ( u2 + v1 ) = 7 - ( 6 + 4 ) = -3
A2B4 :   Δ24 = c24 - ( u2 + v4 ) = 5 - ( 6 + 0 ) = -1
A3B1 :   Δ31 = c31 - ( u3 + v1 ) = 11 - ( 8 + 4 ) = -1
A3B2 :   Δ32 = c32 - ( u3 + v2 ) = 30 - ( 8 + 9 ) = 13
A4B1 :   Δ41 = c41 - ( u4 + v1 ) = 0 - ( 0 + 4 ) = -4
A4B2 :   Δ42 = c42 - ( u4 + v2 ) = 0 - ( 0 + 9 ) = -9
A4B3 :   Δ43 = c43 - ( u4 + v3 ) = 0 - ( 0 + -2 ) = 2
Есть отрицательные оценки. Следовательно, возможно получить новое
решение, как минимум, не хуже имеющегося.

ШАГ №1.
Выберем ячейку A2B4, ее оценка отрицательная, поставьте курсор мыши в
выбранную ячейку A2B4.
Используя горизонтальные и вертикальные перемещения курсора, соедините
непрерывной линией заполненные ячейки так, чтобы вернуться в исходную
ячейку A2B4 .
Ячейки, расположенные в вершинах построенной ломаной линии, образуют
цикл для выбранной ячейки
(см. выделенные ячейки в таблице ниже). Он единственный. Направление
обхода не имеет значения.

Потребитель
Поставщик   Запас  
B 1 B 2 B 3 B 4
8 37
A 1 19 29   45  
4 9
2 11 -1
A 2 7   13  
15 4 5
33 9
A 3 11 30   42  
6 8
27
A 4 0 0 0   27  
0
  Потребность     8     39     44     36  
9 = min { 11, 9 }
Потребитель   Запас  
Поставщик
B 1 B 2 B 3 B 4
8 37
A 1 19 29   45  
4 9
2 11 -1
A 2 7   13  
15 4 5
33 9
A 3 11 30   42  
6 8
27
A 4 0 0 0   27  
0
  Потребность     8     39     44     36  
Данное преобразование не изменит баланса.
А вот общая стоимость доставки продукции изменится на величину:
5 * 9 - 4 * 9 + 6 * 9 - 8 * 9 = ( 5 - 4 + 6 - 8 ) * 9 = -1 * 9 ден. ед.
что значит, что -1 * 9 = Δ24 * 9
Потребитель   Запас  
Поставщик
B 1 B 2 B 3 B 4
8 37
A 1 19 29   45  
4 9
+9
2 11 - 9
A 2 7 -1   13  
15 4
5
33 + 9 9 - 9
A 3 11 30   42  
6 8
27
A 4 0 0 0   27  
0
  Потребность     8     39     44     36  
Получили новое решение.
Потребитель
Поставщик   Запас  
B 1 B 2 B 3 B 4
8 37
A 1 19 29   45  
4 9
2 2 9
A 2 7   13  
15 4 5
42
A 3 11 30 8   42  
6
27
A 4 0 0 0   27  
0
  Потребность     8     39     44     36  
Общую сумму доставки продукции, для данного решения.
S = 709 + Δ24 * 9 = 709 -1 * 9 = 700 ден. ед.

Полученное решение является оптимальным?


Проверим.
Каждому поставщику A i ставим в соответствие некоторое число u i ,
называемое потенциалом поставщика.
Каждому потребителю B j ставим в соответствие некоторое число v j ,
называемое потенциалом потребителя.
Для задействованного маршрута:
потенциал поставщика + потенциал потребителя = тариф задействованного
маршрута.
Последовательно найдем значения потенциалов.
Значение одного потенциала необходимо задать. Пусть u2 = 0.
v  = 15 - 0 = Потребитель
A2B2 :   v2 + u2 = 15 2   Поставщик    U 
15 B 1 B 2 B 3 B 4
A2B3 :   v3 + u2 = 4   v3 = 4 - 0 = 4 8 37
A 1 19 29   u1 = -6
A2B4 :   v4 + u2 = 5   v4 = 5 - 0 = 5 4 9
A3B3 :   v3 + u3 = 6   u3 = 6 - 4 = 2 2 2 9
A4B4 :   v4 + u4 = 0   u4 = 0 - 5 = -5 A 2 7   u2 = 0
15 4 5
u  = 9 - 15 = 42
A1B2 :   v2 + u1 = 9   1 A 3 11 30 8   u3 = 2
-6 6
v  = 4 - (-6) = 27
A1B1 :   v1 + u1 = 4   1 A 4 0 0 0
  u  = -5
10 0 4
v1 = v2 = v3 = v4 =
 V 
10 15 4 5
Найдем оценки незадействованных маршрутов (cij - стоимость доставки).
A1B3 :   Δ13 = c13 - ( u1 + v3 ) = 19 - ( -6 + 4 ) = 21
A1B4 :   Δ14 = c14 - ( u1 + v4 ) = 29 - ( -6 + 5 ) = 30
A2B1 :   Δ21 = c21 - ( u2 + v1 ) = 7 - ( 0 + 10 ) = -3
A3B1 :   Δ31 = c31 - ( u3 + v1 ) = 11 - ( 2 + 10 ) = -1
A3B2 :   Δ32 = c32 - ( u3 + v2 ) = 30 - ( 2 + 15 ) = 13
A3B4 :   Δ34 = c34 - ( u3 + v4 ) = 8 - ( 2 + 5 ) = 1
A4B1 :   Δ41 = c41 - ( u4 + v1 ) = 0 - ( -5 + 10 ) = -5
A4B2 :   Δ42 = c42 - ( u4 + v2 ) = 0 - ( -5 + 15 ) = -10
A4B3 :   Δ43 = c43 - ( u4 + v3 ) = 0 - ( -5 + 4 ) = 1
Есть отрицательные оценки, следовательно, возможно получить новое
решение, как минимум, не хуже имеющегося.

ШАГ №2.
Выберем ячейку A4B2, ее оценка отрицательная. Поставьте курсор мыши в
выбранную ячейку A4B2.
Используя горизонтальные и вертикальные перемещения курсора, соедините
непрерывной линией заполненные ячейки так, чтобы вернуться в исходную
ячейку A4B2 .
Ячейки, расположенные в вершинах построенной ломаной линии, образуют
цикл для выбранной ячейки
(см. выделенные ячейки в таблице ниже). Он единственный. Направление
обхода не имеет значения.
Потребитель   Запас  
Поставщик
B 1 B 2 B 3 B 4
8 37
A 1 19 29   45  
4 9
2 2 9
A 2 7   13  
15 4 5
42
A 3 11 30 8   42  
6
-10 27
A 4 0 0   27  
0 0
  Потребность    8    39    44    36  
2 = min { 27, 2 }
 
Потребитель
Запас
Поставщик

B 2 B 3 B 4
1

8 37
A 1 19 29   45  
4 9
2 2 9
A 2 7   13  
15 4 5
42
A 3 11 30 8   42  
6
-10 27
A 4 0 0   27  
0 0
 
Потребност   8   39  44   36
ь 
Данное преобразование не изменит баланса.
А вот общая стоимость доставки продукции изменится на величину:
0 * 2 - 0 * 2 + 5 * 2 - 15 * 2 = ( 0 - 0 + 5 - 15 ) * 2 = -10 * 2 ден. ед.
Вы правильно заметили, что -10 * 2 = Δ42 * 2
Потребитель   Запас  
Поставщик
B 1 B 2 B 3 B 4
8 37
A 1 19 29   45  
4 9
2-2 2 9+2
A 2 7   13  
15 4 5
42
A 3 11 30 8   42  
6
+2
27 - 2
A 4 0 -10 0   27  
0
0
  Потребность    8    39    44     36  
Получили новое решение.
Потребитель   Запас  
Поставщик
B 1 B 2 B 3 B 4
8 37
A 1 19 29   45  
4 9
2 11
A 2 7 15   13  
4 5
42
A 3 11 30 8   42  
6
2 25
A 4 0 0   27  
0 0
  Потребность    8    39    44    36  
Общую сумму доставки продукции, для данного решения, легко посчитать.
S = 700 + Δ42 * 2 = 700 -10 * 2 = 680 ден. ед.
Полученное решение является оптимальным?
Проверим.
Каждому поставщику A i ставим в соответствие некоторое число u i ,
называемое потенциалом поставщика.
Каждому потребителю B j ставим в соответствие некоторое число v j ,
называемое потенциалом потребителя.
Для задействованного маршрута:
потенциал поставщика + потенциал потребителя = тариф
задействованного маршрута.
Последовательно найдем значения потенциалов.
Значение одного потенциала необходимо задать. Пусть u1 = 0.
A1B1 :   v1 + u1 = 4     v1 = 4 - 0 = 4 Потребитель  U 
A1B2 :   v2 + u1 = 9     v2 = 9 - 0 = 9   Поставщик  
B 1 B 2 B 3 B 4
A4B2 :   v2 + u4 = 0     u4 = 0 - 9 = -9 8 37
A4B4 :   v4 + u4 = 0     v4 = 0 - (-9) = 9 A 1 19 29   u1 = 0
4 9
A2B4 :   v4 + u2 = 5     u2 = 5 - 9 = -4
2 11   u2 =
A2B3 :   v3 + u2 = 4     v3 = 4 - (-4) = 8 A 2 7 15
4 5 -4  
A3B3 :   v3 + u3 = 6     u3 = 6 - 8 = -2
42   u  =
A 3 11 30 8 3
6 -2  
2 25   u4 =
A 4 0 0
0 0 -9  
v1 = v2 = v3 = v4 =
 V 
4 9 8 9
Найдем оценки незадействованных маршрутов (cij - стоимость доставки).
A1B3 :   Δ13 = c13 - ( u1 + v3 ) = 19 - ( 0 + 8 ) = 11
A1B4 :   Δ14 = c14 - ( u1 + v4 ) = 29 - ( 0 + 9 ) = 20
A2B1 :   Δ21 = c21 - ( u2 + v1 ) = 7 - ( -4 + 4 ) = 7
A2B2 :   Δ22 = c22 - ( u2 + v2 ) = 15 - ( -4 + 9 ) = 10
A3B1 :   Δ31 = c31 - ( u3 + v1 ) = 11 - ( -2 + 4 ) = 9
A3B2 :   Δ32 = c32 - ( u3 + v2 ) = 30 - ( -2 + 9 ) = 23
A3B4 :   Δ34 = c34 - ( u3 + v4 ) = 8 - ( -2 + 9 ) = 1
A4B1 :   Δ41 = c41 - ( u4 + v1 ) = 0 - ( -9 + 4 ) = 5
A4B3 :   Δ43 = c43 - ( u4 + v3 ) = 0 - ( -9 + 8 ) = 1
Нет отрицательных оценок, следовательно, уменьшить общую стоимость
доставки продукции невозможно.
Ответ:
X опт  8 3 0 0
= 7
0 0 2 1
1
4
0 0 0
2

2
0 2 0
5

Smin = 680 ден. ед.

Теперь решим методом наименьше й стоимости

Задача:

Стоимость доставки единицы продукции от поставщика к потребителю


располагается в правом нижнем углу ячейки.

Потребитель
Поставщик   Запас  
B 1 B 2 B 3 B 4
A 1 4 9 19 29   45  
A 2 7 15 4 5   13  
A 3 11 30 6 8   42  
  Потребность  8 39 44 36
Требуется составить план перевозок, при котором общая стоимость доставки
продукции будет наименьшей.

Решение:

Для решения задачи необходимо выполнение следующего условия:


cуммарные запасы продукции у поставщиков должны равняться суммарной
потребности потребителей.
Проверим.
Запасы поставщиков: 45 + 13 + 42 = 100 единиц продукции.
Потребность потребителей: 8 + 39 + 44 + 36 = 127 единиц продукции.

Разница в 27 единиц продукции.


Введем в рассмотрение фиктивного поставщика A4, с запасом продукции
равным 27 единиц.
Стоимость доставки единицы продукции от поставщика A4 ко всем
потребителям примем равной нулю (см. таблицу ниже).
Теперь суммарные запасы продукции у поставщиков равны суммарной
потребности потребителей.
Для решения задачи необходимо выполнение следующего условия:
количество задействованных маршрутов = количество поставщиков +
количество потребителей - 1.
Поэтому если возникнет ситуация, в которой будет необходимо исключить
столбец и строку одновременно, мы исключим что-то одно.

В первую очередь, будем задействовать маршруты с наименьшей


стоимостью доставки.

Маршруты доставки продукции от фиктивного поставщика A4 к


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

Потребитель Запас
Поставщик
B 1 B 2 B 3 B 4
?
A 1 9 19 29 45
4
A 2 7 15 4 5 13
A 3 11 30 6 8 42
A 4 0 0 0 0 27
Потребность 8 39 44 36
8 = min { 8, 45 }

Потребитель   Запас  
Поставщик
B 1 B 2 B 3 B 4
8
A 1 9 19 29   45   37  
4
?
A 2 7 15 5   13  
4
A 3 11 30 6 8   42  
A 4 0 0 0 0   27  

Потребность 8 39 44 36
нет
13 = min { 44, 13 }

Потребитель
Поставщик   Запас  
B 1 B 2 B 3 B 4
8
A 1 9 19 29   45   37  
4
13
A 2 7 15 5   13   нет  
4
?
A 3 11 30 8   42  
6
A 4 0 0 0 0   27  
8 44
  Потребность   39 36
нет 31
31 = min { 31, 42 }

Потребитель
Поставщик Запас
B 1 B 2 B 3 B 4
8
A 1 9 19 29 45   37
4
13
A 2 7 15 5 13   нет
4
31 ?
A 3 11 30 42   11
6 8
A 4 0 0 0 0 27
44
8
Потребность 39 31 36
нет
нет
11 = min { 36, 11 }
Потребитель Запас
Поставщик
B 1 B 2 B 3 B 4
8 ?
A 1 19 29 45   37
4 9
13
A 2 7 15 5 13   нет
4
31 11
A 3 11 30 42   11   нет
6 8
A 4 0 0 0 0 27
44
8 36
Потребность 39 31
нет 25
нет
37 = min { 39, 37 }

Потребитель
Поставщик Запас
B 1 B 2 B 3 B 4
8 37
A 1 19 29 45   37   нет
4 9
13
A 2 7 15 5 13   нет
4
31 11
A 3 11 30 42   11   нет
6 8
?
A 4 0 0 0 27
0
44
8 39 36
Потребность 31
нет 2 25
нет
2 = min { 2, 27 }
Потребитель
Поставщик Запас
B 1 B 2 B 3 B 4
8 37
A 1 19 29 45   37   нет
4 9
13
A 2 7 15 5 13   нет
4
31 11
A 3 11 30 42   11   нет
6 8
2 ?
A 4 0 0 27   25
0 0
39 44
8 36
Потребность 2 31
нет 25
нет нет
25 = min { 25, 25 }

Потребитель Запас
Поставщик
B 1 B 2 B 3 B 4
8 37
A 1 19 29 45   37   нет
4 9
13
A 2 7 15 5 13   нет
4
31 11
A 3 11 30 42   11   нет
6 8
2 25
A 4 0 0 27   25   нет
0 0
39 44 36
8
Потребность 2 31 25
нет
нет нет нет
Стоимость доставки продукции, для начального решения, не сложно
посчитать.

8*4 + 37*9 + 13*4 + 31*6 + 11*8 + 2*0 + 25*0 = 691 ден. ед.

Проверим является ли полученное решение оптимальным.

Каждому поставщику A i ставим в соответствие некоторое число u i ,


называемое потенциалом поставщика.
Каждому потребителю B j ставим в соответствие некоторое число v j ,
называемое потенциалом потребителя.

Для задействованного маршрута:


потенциал поставщика + потенциал потребителя = тариф задействованного
маршрута.
Последовательно найдем значения потенциалов.
Значение одного потенциала необходимо задать. Пусть u1 = 0.

A1B1 :   v1 + u1 = 4     v1 = 4 - 0 = 4 Потребитель  U 


Поставщик
A1B2 :   v2 + u1 = 9     v2 = 9 - 0 = 9 B 1 B 2 B 3 B 4
A4B2 :   v2 + u4 = 0     u4 = 0 - 9 = -9 8 37
A 1 19 29   u1 = 0  
A4B4 :   v4 + u4 = 0     v4 = 0 - (-9) = 9 4 9
A3B4 :   v4 + u3 = 8     u3 = 8 - 9 = -1 13
A3B3 :   v3 + u3 = 6     v3 = 6 - (-1) = 7 A 2 7 15 5   u2 = -3
4
A2B3 :   v3 + u2 = 4     u2 = 4 - 7 = -3
31 11
A 3 11 30   u3 = -1
6 8
2 25
A 4 0 0   u4 = -9
0 0
v1 = v2 = v3 = v4 =
V
4 9 7 9
Найдем оценки незадействованных маршрутов (cij - стоимость доставки).

A1B3 :   Δ13 = c13 - ( u1 + v3 ) = 19 - ( 0 + 7 ) = 12


A1B4 :   Δ14 = c14 - ( u1 + v4 ) = 29 - ( 0 + 9 ) = 20
A2B1 :   Δ21 = c21 - ( u2 + v1 ) = 7 - ( -3 + 4 ) = 6
A2B2 :   Δ22 = c22 - ( u2 + v2 ) = 15 - ( -3 + 9 ) = 9
A2B4 :   Δ24 = c24 - ( u2 + v4 ) = 5 - ( -3 + 9 ) = -1
A3B1 :   Δ31 = c31 - ( u3 + v1 ) = 11 - ( -1 + 4 ) = 8
A3B2 :   Δ32 = c32 - ( u3 + v2 ) = 30 - ( -1 + 9 ) = 22
A4B1 :   Δ41 = c41 - ( u4 + v1 ) = 0 - ( -9 + 4 ) = 5
A4B3 :   Δ43 = c43 - ( u4 + v3 ) = 0 - ( -9 + 7 ) = 2
Есть отрицательные оценки. Следовательно, возможно получить новое
решение, как минимум, не хуже имеющегося.

ШАГ №1.

Выберем ячейку A2B4, ее оценка отрицательная. Поставьте курсор мыши в


выбранную ячейку A2B4.
Используя горизонтальные и вертикальные перемещения курсора, соедините
непрерывной линией заполненные ячейки так, чтобы вернуться в исходную
ячейку A2B4. Ячейки, расположенные в вершинах построенной ломаной
линии, образуют цикл для выбранной ячейки (см. выделенные ячейки в
таблице ниже). Он единственный. Направление обхода не имеет значения.

Потребитель
Поставщик   Запас  
B 1 B 2 B 3 B 4
8 37
A 1 19 29   45  
4 9
13 -1
A 2 7 15   13  
4 5
31 11
A 3 11 30   42  
6 8
2 25
A 4 0 0   27  
0 0
  Потребность    8    39     44     36  
11 = min { 13, 11 }

Потребитель
Поставщик Запас
B 1 B 2 B 3 B 4
8 37
A 1 19 29 45
4 9
13 -1
A 2 7 15 13
4 5
31 11
A 3 11 30 42
6 8
2 25
A 4 0 0 27
0 0
Потребность 8 39 44 36
Данное преобразование не изменит баланса.
А вот общая стоимость доставки продукции изменится на величину:
5 * 11 - 4 * 11 + 6 * 11 - 8 * 11 = ( 5 - 4 + 6 - 8 ) * 11 = -1 * 11 ден. ед.
что значит что -1 * 11 = Δ24 * 11

Потребитель
Поставщик   Запас  
B 1 B 2 B 3 B 4
8 37
A 1 19 29 45
4 9
+11
13 - 11
A 2 7 15 -1 13
4
5
31 + 11 11 - 11
A 3 11 30 42
6 8
2 25
A 4 0 0 27
0 0
  Потребность   8 39 44 36
Получили новое решение.

Потребитель
Поставщик Запас
B 1 B 2 B 3 B 4

8 37
A 1 19 29 45
4 9

2 11
A 2 7 15 13
4 5

42
A 3 11 30 8 42
6

2 25
A 4 0 0 27
0 0

  Потребность     8     39     44     36  
Общую сумму доставки продукции, для данного решения, легко посчитать.

S = 691 + Δ24 * 11 = 691 -1 * 11 = 680 ден. ед.

Проверим является ли полученное решение оптимальным

Каждому поставщику A i ставим в соответствие некоторое число u i ,


называемое потенциалом поставщика.
Каждому потребителю B j ставим в соответствие некоторое число v j ,
называемое потенциалом потребителя.

Для задействованного маршрута: потенциал поставщика + потенциал


потребителя = тариф задействованного маршрута.
Последовательно найдем значения потенциалов.
Значение одного потенциала необходимо задать. Пусть u1 = 0.

A1B1 :   v1 + u1 = 4     v1 = 4 - 0 = 4 Поставщик Потребитель U


A1B2 :   v2 + u1 = 9     v2 = 9 - 0 = 9
B 1 B 2 B 3 B 4
A4B2 :   v2 + u4 = 0     u4 = 0 - 9 = -9 8 37
A 1 19 29 u1 = 0
A4B4 :   v4 + u4 = 0     v4 = 0 - (-9) = 9 4 9
A2B4 :   v4 + u2 = 5     u2 = 5 - 9 = -4
2 11
A2B3 :   v3 + u2 = 4     v3 = 4 - (-4) = 8 A 2 7 15 u2 = -4
4 5
A3B3 :   v3 + u3 = 6     u3 = 6 - 8 = -2
42
A 3 11 30 8 u3 = -2
6
2 25
A 4 0 0 u4 = -9
0 0

V v1 = 4 v2 = 9 v3 = 8 v4 = 9

Найдем оценки незадействованных маршрутов (cij - стоимость доставки).

A1B3 :   Δ13 = c13 - ( u1 + v3 ) = 19 - ( 0 + 8 ) = 11


A1B4 :   Δ14 = c14 - ( u1 + v4 ) = 29 - ( 0 + 9 ) = 20
A2B1 :   Δ21 = c21 - ( u2 + v1 ) = 7 - ( -4 + 4 ) = 7
A2B2 :   Δ22 = c22 - ( u2 + v2 ) = 15 - ( -4 + 9 ) = 10
A3B1 :   Δ31 = c31 - ( u3 + v1 ) = 11 - ( -2 + 4 ) = 9
A3B2 :   Δ32 = c32 - ( u3 + v2 ) = 30 - ( -2 + 9 ) = 23
A3B4 :   Δ34 = c34 - ( u3 + v4 ) = 8 - ( -2 + 9 ) = 1
A4B1 :   Δ41 = c41 - ( u4 + v1 ) = 0 - ( -9 + 4 ) = 5
A4B3 :   Δ43 = c43 - ( u4 + v3 ) = 0 - ( -9 + 8 ) = 1
Нет отрицательных оценок. Следовательно, уменьшить общую стоимость
доставки продукции невозможно.

Ответ:

8 37 0 0
0 0 2 11
X опт =
0 0 42 0
0 2 0 25
Smin = 680 ден. ед.
Решение задачи о назначения венгерским методом
Исходная матрица имеет вид:
3 3 34 4

5 33 12 10

8 4 5 3

2 9 12 29

Шаг №1.
1. Проводим редукцию матрицы по строкам, в связи с этим во вновь
полученной матрице в каждой строке будет как минимум один ноль.
0 0 31 1 3

0 28 7 5 5

5 1 2 0 3

0 7 10 27 2

Затем такую же операцию редукции проводим по столбцам, для чего в


каждом столбце находим минимальный элемент.
0 0 29 1

0 28 5 5

5 1 0 0

0 7 8 27

0 0 2 0

После вычитания минимальных элементов получаем полностью


редуцированную матрицу.

2. Методом проб и ошибок проводим поиск допустимого решения, для


которого все назначения имеют нулевую стоимость.
Фиксируем нулевое значение в клетке (1, 2). Другие нули в строке 1 и
столбце 2 вычеркиваем. Для данной клетки вычеркиваем нули в клетках (3;
3). Фиксируем нулевое значение в клетке (2, 1). Другие нули в строке 2 и
столбце 1 вычеркиваем. Для данной клетки вычеркиваем нули в клетках (3;
3). Фиксируем нулевое значение в клетке (3, 4). Другие нули в строке 3 и
столбце 4 вычеркиваем. Для данной клетки вычеркиваем нули в клетках (3;
3). В итоге получаем следующую матрицу:
[0] [0] 29 1

[0] 28 5 5

5 1 [0] [0]

[0] 7 8 27

Поскольку расположение нулевых элементов в матрице не позволяет


образовать систему из 4-х независимых нулей (в матрице их только 3),
то решение недопустимое.
3. Проводим модификацию матрицы. Вычеркиваем строки и столбцы с
возможно большим количеством нулевых элементов: столбец 1, строку 3,
строку 1
Получаем сокращенную матрицу (элементы выделены):
0 0 2 1
9

0 28 5 5

5 1 0 0

0 7 8 27

Минимальный элемент сокращенной матрицы (min(28, 5, 5, 7, 8, 27) = 5)


вычитаем из всех ее элементов:
0 0 2 1
9

0 23 0 0

5 1 0 0

0 2 3 22
Затем складываем минимальный элемент с элементами, расположенными на
пересечениях вычеркнутых строк и столбцов:
5 0 29 1

0 23 0 0

1 1 0 0
0

0 2 3 22

Шаг №2.
1. Проводим редукцию матрицы по строкам. В связи с этим во вновь
полученной матрице в каждой строке будет как минимум один ноль.
Затем такую же операцию редукции проводим по столбцам, для чего в
каждом столбце находим минимальный элемент.
После вычитания минимальных элементов получаем полностью
редуцированную матрицу.
2. Методом проб и ошибок проводим поиск допустимого решения, для
которого все назначения имеют нулевую стоимость.
Фиксируем нулевое значение в клетке (1, 2). Другие нули в строке 1 и
столбце 2 вычеркиваем.
Фиксируем нулевое значение в клетке (2, 3). Другие нули в строке 2 и
столбце 3 вычеркиваем.
Фиксируем нулевое значение в клетке (3, 4). Другие нули в строке 3 и
столбце 4 вычеркиваем.
Фиксируем нулевое значение в клетке (4, 1). Другие нули в строке 4 и
столбце 1 вычеркиваем.
В итоге получаем следующую матрицу:
5 [0] 29 1

[0] 23 [0] [0]

10 1 [0] [0]

[0] 2 3 22

Количество найденных нулей равно k = 4. В результате получаем


эквивалентную матрицу Сэ:
5 0 29 1
0 23 0 0

10 1 0 0

0 2 3 22

4. Методом проб и ошибок определяем матрицу назначения Х, которая


позволяет по аналогично расположенным элементам исходной матрицы (в
квадратах) вычислить минимальную стоимость назначения.
5 [0] 29 1

[0] 23 [0] [0]

10 1 [0] [0]

[0] 2 3 22

Cmin = 12 + 3 + 3 + 2 = 20
Путь: (2;3), (1;2), (3;4), (4;1) Альтернативный вариант №2.
5 [0] 29 1

[0] 23 [0] [0]

10 1 [0] [0]

[0] 2 3 22

Cmin = 10 + 3 + 5 + 2 = 20
Путь: (2;4), (1;2), (3;3), (4;1)

Вам также может понравиться