Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системный анализ / 15. Транспортная задача.doc
Скачиваний:
229
Добавлен:
10.05.2014
Размер:
944.13 Кб
Скачать

Метод потенциалов. Переход к новому опорному решению

Пусть при проверке очередного опорного решения обнаружилось, что , то есть рассматриваемое решение не оптимально.

Здесь следует сделать небольшое отступление. По своему смыслу (это доказывать не будем):

Косвенная стоимость - это коэффициент, с которым свободная переменная xij   входит в ЦФ, если все базисные переменные выразить через свободные1.

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

Ответим теперь на вопрос, а какую переменную следует выводить из состава базисных.

В методе потенциалов этот вопрос решается довольно своеобразно.

Пусть E<0. Вводим переменную  x  в состав базисных переменных. Придадим этой переменной некоторое положительное приращение >0. То есть, потребуем, чтобы из пункта в пунктбыло отправлено продукции в количествеединиц. Назовем клетку с координатами () "положительной вершиной". Теперь рассмотрим следующий рисунок.

j2

j1

i1

-

+

+

+

-

ik

-

Отправить в -й пунктединиц продукции можно только уменьшив поставку из пункта в в другие пункты наединиц.

Найдем заполненную клетку (базисную переменную) в той же строке. Пусть это будет . Уменьшим поставку в пунктj1 на единиц. Теперь поставка в этот пункт составляет () единиц. Соответствующую вершину назовем «отрицательной».

Недопоставку в пункт j1 наединиц компенсируем за счет другого пункта – это занятая клетка того же столбца. Пусть это будетТеперь поставка в этот пункт составляет () единиц. Соответствующую вершину назовем "положительной".

Но это можно сделать только за счет недопоставки единиц в другой пункт – в нашем случае в пунктj2. Уменьшим поставку в пунктj2 наединиц. Теперь поставка в этот пункт составляет () единиц. Соответствующую вершину назовем "отрицательной".

Рассуждая аналогично, строим цепочку:

,,…,- до тех пор, пока эта цепочка не замкнется, пока очередной положительной вершиной не станет исходная не занятая клетка, соответствующая переменной.

Образовался т.н. «цикл пересчета», все вершины которого, кроме одной, соответствуют базисным переменным.

Доказано, что для транспортной задачи такой цикл – единственный.

Переход к новому опорному решению в методе потенциалов производится следующим образом.

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

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

Итак, "предельное" значение   - это минимальный объем перевозок, найденный в "отрицательных" вершинах цикла.

Пусть - минимальный объем перевозок, найденный в одной из отрицательных вершин цикла пересчета. Эта величина и будет представлять собой искомое предельное значение  - значение переменной, которая в новом опорном решении вводится в состав базисных переменных. Значения базисных переменных, соответствующих вершинам цикла, корректируются – увеличиваются или уменьшаются на величину. При этом переменная, принявшая нулевое значение, выводится из состава базисных переменных нового опорного решения – соответствующая клетка таблицы объявляетсянезанятой.

Если кроме после пересчета некоторые другие базисные переменные обращаются в ноль, в соответствующие клетки записывается ноль, и они объявляются «условно-занятыми».

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

Определение.Увеличение на величину  =  переменных, соответствующих положительным вершинам цикла пересчета, и уменьшение на эту же величину переменных, соответствующих отрицательным вершинам, называется "сдвигом по циклу пересчета".

Пример. Дана транспортная таблица, в которой записано некоторое опорное решение.

Табл. 1

3

2

2

1

v1

v2

v3

v4

0

u1

3

5

2

25

4

1

20

-1

u2

2

25

3

1

15

5

2

u3

3

2

4

20

4

Здесь 6=m+n-1=3+4-1заполненных клеток, соответствующих базисным переменным.

По заполненным клеткам составим систему уравнений для нахождения потенциалов (ui + vj = сij)

u1+ v1=3 u1=0 v1=3

u1+ v2=2 u1=0 v2=2

u1+ v4=1 u1=0 v4=1

u2+ v1=2 v1=3 u2=-1

u2+ v3=1 u2=-1 v3=2

u3+ v3=4 v3=2 u3=2

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

Табл. 2

3

2

2

1

0

3

5+

2

25-

4

1

20

-1

2

25-

3

1

15+

5

2

3

2

+

4

20-

4

Теперь по каждой незаполненной клетке посчитаем соответствующую косвенную стоимость :

E13=4-(2+0)=2, E22=3-(-1+2)=2, E24=5-(-1+1)=5

E31=3-(2+3)= -2, E32=2-(2+2)=-2, E34=4-(2+1)=1.

Наличие отрицательных косвенных стоимостей говорит о неоптимальности записанного в таблицу решения. Это решение можно улучшить, введя в состав базисных переменных переменную x31илиx32. Введемx32   (интересней цикл пересчета).

Для этого построим цикл пересчета.

Для определения величины    находим среди отрицательных вершин такую, которой соответствует минимальное значение переменной в опорном решении. Этоx33=20. Следовательно, принимаем=20ивыполняем сдвиг по циклу пересчета. После этого сдвига переменнаяx33принимает нулевое значение. Эту переменную выведем из состава базисных переменных (введем же переменнуюx32).

В табл. 3 записано новое опорное решение.

Табл. 3

3

2

2

1

0

3

25

2

5

4

1

20

-1

2

5

3

1

35

5

0

3

2

20

4

4

По заполненным клеткам составим систему уравнений для нахождения потенциалов (ui + vj = сij)

u1+ v1=3 u1=0 v1=3

u1+ v2=2 u1=0 v2=2

u1+ v4=1 u1=0 v4=1

u2+ v1=2 v1=3 u2=-1

u2+ v3=1 u2=-1 v3=2

u3+ v2=2 v2=2 u3=0

По каждой незаполненной клетке посчитаем стоимость:

E13=4-(2+0)=2, E22=3-(-1+2)=2, E24=5-(-1+1)=5

E31=3-(0+3)= 0, E33=4-(0+2)= 2, E34=4-(0+1)=3.

Все косвенные стоимости неотрицательные, следовательно, решение, записанное в этой таблице – оптимальное.

Zопт=190. На исходном решении ЦФ имеет значение  230 (существенная разница!).

Пример. Мы решали методом Фогеля следующую задачу:

1

2

3

4

1

10

0

20

11

15

2

12

7

9

20

25

3

0

14

16

18

5

5

15

15

10

Получили ее решение:

Потенциалы столбцов vj

-7

0

0

11

Потенциалы строк ui

0

10

0

15

20

11

0

9

12

7

9

15

20

10

7

0

5

14

16

18

0

И показали, что оно не оптимальное, так как E22= -2 < 0.

Продолжим решение. Построим цикл пересчета.

10

0

15-

20

11

0+

12

7

+

9

15

20

10-

0

5

14

16

18

0

Определяем   = 10  и производим сдвиг по циклу пересчета. Переменнаяx24 выводится из состава базисных переменных, а переменнаяx22  вводится в состав базисных переменных.

-7

0

2

11

0

10

0

5

20

11

10

7

12

7

10

9

15

20

7

0

5

14

16

18

0

По заполненным клеткам составим и решим систему уравнений:

u1+ v2=0 u1=0 v2=0

u1+ v4=11 u1=0 v4=11

u2+ v2=7 v2=0 u2=7

u2+ v3=9 u2=7 v3=2

u3+ v1=0 u3=7 v1=-7

u3+ v4=18 v4=11 u3=7

Теперь по свободным клеткам рассчитаем косвенные стоимости:

E11=10-(0-7)=17, E13=20-(0+2)=18, E21=12-(7-7)=12

E24=20-(7+11)= 2, E32=14-(7+0)=7, E33=16-(7+2)=7

Нет ни одной отрицательной косвенной стоимости, значит записанное в таблице решение – оптимальное.

На этом решении ЦФ принимает значение: Zопт=315 – меньшее (т.е. лучшее), чем решение, полученное ранее приближенными методами (там Zопт=335).