Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 - Методичка с примерами.doc
Скачиваний:
8
Добавлен:
09.09.2019
Размер:
259.07 Кб
Скачать

2. Построение последовательных итераций. Получив исходное опорное решение, перейдем к построению новых опорных решений, улучшающих друг друга, применив метод потенциалов.

После построения исходного опорного решения все переменные разбиты на две группы: xkl- базисные и xmn- свободные. Функция стоимости перевозок выражается через свободные переменные так:

Для нахождения коэффициентов mn при свободных переменных сопоставим каждому пункту отправления Аi некоторую величину ui (i=1,2..m), которую назовем потенциалом пункта Аi, и каждому пункту назначения Bj величину vj (j=1,2..n) потенциал пункта Bj. Свяжем эти величины равенством uk+vl = ckl, где ckl – стоимость перевозки одной тонны груза из пункта Аk в пункт назначения Bl. Для всех базисных переменных составляем совместную систему уравнений, причем значение одной из переменных зададим произвольно и тогда значения всех остальных переменных находятся из системы однозначно. Обозначим для свободных переменных сумму соответствующих потенциалов через cmn, т.е. um+vn = cmn, назовем ее косвенной стоимостью (псевдостоимостью). Тогда коэффициенты при свободных переменных

mn = cmn -cmn.

Если все mn неотрицательны, то опорное решение будет оптимальным. Если же среди них имеются отрицательные, то переходим к следующему опорному решению путем увеличения члена с максимальным по модулю отрицательным коэффициентом, оставляя другие свободные переменные равными нулю.

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

Циклом транспортной таблицы называется несколько клеток, соединенных замкнутой ломанной линией, каждый угол поворота, которой кратен прямому углу. Любой цикл имеет четное число вершин и, следовательно, четное число ребер, или другими словами в строке или в столбце транспортной таблицы может находиться только четное число клеток, каждая из которых содержит вершину цикла. Для любой невырожденной транспортной задачи существует единственный цикл, одна из вершин, которого лежит в свободной клетке, а все остальные вершины – в базисных клетках.

Пример

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

x11=60, x12=0, x13=90, x21=0, x22=70, x23=20, F=1020.

Для базисных клеток составим систему уравнений

u1+v1 = c11=6

u1+v3 = c13=4

u2+v2 = c22=2

u2+v3 = c23=8

Значение переменной u1 зададим=1 . Тогда

u1=1 v1 = 5

u2=5 v2 = 3

v3 = -3.

Далее для свободных переменных вычисляем косвенные стоимости cmn:

c12 = u1+v2= -2

c21 = u2+v1= 10

Найдем коэффициеты mn :

12 = c12 - c12 =10 – (-2) = 12

21 = c21 - c21 =12 – 10 = 2

Значение

F = 1020 + 12 x12 + 2 x21.

Среди коэффициентов при свободных переменных нет отрицательных , следовательно, исходное опорное решение является оптимальным.

2. Решение задачу, исходное опорное решение для которой мы нашли выше (таблица 2), следуя правилу "северо-западного угла".

x11=60, x12=70, x13=20, x23=90, F=1860.

Для базисных клеток составим систему уравнений

u1+v1 = c11=6

u1+v2 = c12=10

u1+v3 = c13=4

u2+v3 = c23=8

Значение переменной u1 зададим=1 . Тогда

u1=1 v1 = 5

u2=5 v2 = 9

v3 =3.

Далее для свободных переменных вычисляем косвенные стоимости cmn:

c21 = u2+v1= 10

c22 = u2+v2= 14

Найдем коэффициеты mn :

21 = c21 - c21 =12 – 10 = 2

22 = c22 - c22 =2 – 14 = -12

Значение

F = 1860 + 2 x21 - 12 x22.

Среди коэффициентов при свободных переменных есть отрицательный при x22, следовательно, можно попытаться уменьшить F, увеличив x22 (сохранив нулевое значение x21). Положим x22 = . Так как суммы значений неизвестных по строкам и столбцам должны остаться неизменными, то следует произвести следующий балансовый пересчет (таблица 4).

Таблица 4.

№1 №2 №3

А1

А2

ai\bj

60

70

110

150

6

60

10

70 -

4

20 +

90

12

2

8

90 -

Добавление к x22 компенсируется вычитанием из x12, а это в свою очередь - прибавлением к x13 т.д. до тех пор, пока мы не вернемся обратно к x22. Обходя клетки по пунктирной ломанной линии, в одной из вершин которой находится свободная переменная x22, а в остальных вершинах базисные переменные, мы получим цикл транспортной таблицы. Как видно из таблицы 4, для неотрицательности переменных можно увеличиать до =70 , тогда получим второе опорное решение (таблица 5.)

Таблица 5

№1 №2 №3

А1

А2

ai\bj

60

70

110

150

6

60

10

4

90

90

12

2

70

8

20

Значение F = 1860 – 1270 = 1020, т.е. получили оптимальное решение (судя по предыдущему решению).

Таким образом, правила работы по методу потенциалов сводятся к следующему:

  1. Находим потенциалы uk и vl всех пунктов Аkотправления и Bl - назначения.

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

  3. Для выбранной в пункте 2 переменной находим соответствующий ей цикл транспортной таблицы и производим сдвиг по этому циклу. Этот сдвиг приводит к новому допустимому решению.

  4. Шаги с 1 по 3 повторяем до тех пор, пока не придем к оптимальному решению, т.е. к неотрицательности коэффициентов при свободных переменных в правой части функции F.

Иногда после нахождения опорного решения задача может оказаться вырожденной. Вырожденным планом транспортной задачи называется такой допусти­мый план, в котором количество базисных клеток меньше (М + N- 1), где М и N- количество пунктов отправления и назначения соответственно. Начальное допустимое решение задачи, приведенной в таблице.6, получено методом минимального элемента и содержит 5 базисных клеток вместо (4 + 5 - 1) = 8. Таблица 6.

В1 В2 В3 В4 В5

аi\ bj

40

100

75

60

50

А1

А2

А3

А4

50

12

13

12

12

18

50

100

14

10

100

11

12

13

75

13

12

10

75

15

13

100

11

40

11

13

12

60

13

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

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

Рассмотрим эту ситуацию на примере задачи в таблице 6. Для того чтобы соединить ломаной линией базисные клетки А1В5, А2В2, А4В1, А3В3, А2В2, A4B1 и А4В4, можно поставить нулевые перевозки, напри­мер, в клетки А3В, A1B2 и А3В5.

Алгоритм расстановки базисных клеток с нулевой перевозкой может быть легко сформулирован при помощи метода коррекции запасов и заявок. Если в полученном допустимом решении какая-либо перевозка, например xrs, одновременно и полностью выполняет огра­ничения и по пункту отправления AR, и по пункту назначения Bs, то либо запасы ак, либо заявки bs этих пунктов должны подверг­нуться такой коррекции, чтобы появились недостающие базисные перевозки.

Рассмотрим метод коррекции для допустимого решения, построенно­го при помощи метода минимального элемента и приведенного в таблице 6. Выполнение перевозок х22= 100, х33 =75, х15 = 50 позволяет одновременно удовлетворить ограничениям по а2 и b2, по а3 и b3, по а1 и b5 соответственно. Клетку А2В2 нельзя соединить ломаной линией с другими базисными клетками, так как ни строка А2, ни столбец В2 не содержат других базисных клеток. Увеличим, например, заявку пункта В2 на малую величину е (b 2 = 100 + е) и вне­сем это изменение в таблице 6. Недостающие е единиц груза при­своим перевозке х42. Перевозка х42 имеет наименьший тариф в строке А4. Выбор клетки А4В2 позволит связать ломаной линией столбец В2 и строку А4. Теперь для выполнения ограничения по а4 необходимо, например, а4 увеличить на е4 = 100 + е) или перевозку х44 и заявку b4 уменьшить на е (х44 = 60 - е, b4 = 60 - е). В таблице 6 записан последний вариант. Далее рассмотрим перевозку х33. Клетка А3В3 единственная базисная клетка и в строке А3, и в столбце В3. Ее нельзя соединить ломаной линией с другими базисными клетками. Увели­чим, например, запасы в пункте А3 на е единиц. «Лишние» е единиц груза приписываются перевозке х32. Эта перевозка характеризуется минимальным тарифом в строке А3, и новая базисная клетка позволит соединить клетку А3В3 с базисными клетками в столбце В2 и да­лее в строке А4. Для того, чтобы ограничения выполнялись, необхо­димо либо скорректировать заявку b2 увеличив ее на 2е единиц (b2= 100 + 2е), либо уменьшить на е единиц перевозку х22 и запасы пункта отправления а2 (х22 = 100 - е, а2= 100 - е). В таблице 6 реали­зовано последнее. Повторяя аналогичные рассуждения, для перевозки х15 увеличим, например, запасы a1 на е (a1 = 50 + е) и занесем в клет­ку A1B1 е единиц (х11 = е). Для выполнения ограничения увеличим заявку b1 на е единиц (b1= 40 + е).

Таблица 7.

В1 В2 В3 В4 В5

аi\ bj

40 + е

100 + е

75

60 - е

50

А1

А2

А3

А4

50 + е

12

е

13

12

12

18

50

100 – е

14

10

100- е

11

12

13

75 + е

13

12

е

10

75

15

13

100

11

40

11

е

13

12

60- е

13

В результате приведенных выше рассуждений в транспортной таблице заполнены недостающие три базисные клетки, все ограничения выполняются, задача сохраняет свою сбалансированность и становится невырожденной. Теперь положим е = 0 и в дальнейших вычислениях учитываем, что в полученном допустимом решении три базисные клетки содержат нулевые перевозки.

15