
- •Транспортная задача
- •Построение сбалансированной транспортной модели
- •Сведение многопродуктовой модели транспортной задачи к однопродуктовой
- •Свойства закрытой транспортной задачи
- •1. Задача в любом случае допустима и имеет решение.
- •Построение исходного опорного решения транспортной задачи
- •Метод северо-западного угла
- •Метод наименьшей стоимости
- •Алгоритм
- •Приближенный метод Фогеля
- •Алгоритм
- •Метод плавающих зон
- •Метод потенциалов
- •Использование второй теоремы двойственности для обоснования метода потенциалов
- •Метод потенциалов. Переход к новому опорному решению
- •Выводы по методу потенциалов
- •Теорема о цикле пересчета
- •Распределительный метод решения транспортной задачи
- •Алгоритм распределительного метода
- •Дополнительные ограничения в постановке транспортной задачи
- •Контроль
- •Транспортная модель с промежуточными пунктами
Метод потенциалов
Это – точный метод решения транспортной задачи. Точный, а, следовательно, дорогой. Своим обоснованием метод потенциалов обязан теории двойственности в линейном программировании.
Небольшое отступление. В первом разделе курса были рассмотрены математические модели взаимно-двойственных задач. В частности, рассматривалась пара задач.
Относительно этой пары. Здесь также работают теоремы двойственности. В частности, работает вторая теорема, формулировку которой следует напомнить.
Пусть x*=()– некоторое
допустимое решение прямой задачи, аy*=(
)– допустимое
решение двойственной задачи.
Необходимым и достаточным условием
того, что эти решения являются оптимальными,
является выполнение всех приведенных
ниже равенств:
для всех
.
Нас будет интересовать только одна сторона этого утверждения, а именно.
Если нестрогие неравенства двойственной задачи, соответствующие базисным переменным опорного решения прямой задачи при подстановке координат решения двойственной задачи обратятся в строгие равенства, то эти решения – оптимальные.
На этом, собственно, и построен метод потенциалов.
Использование второй теоремы двойственности для обоснования метода потенциалов
Запишем транспортную задачу в развернутом виде.
c11x11+…+c1nx1n |
+ |
c21x21+…+c2nx2n |
+…+ |
cm1xm1+…+cmnxmn |
min |
x11+…….+x1n |
|
|
|
|
=a1u1 |
|
|
x21+…….+x2n |
|
|
=a2u2 |
………………………………………………………………………… | |||||
|
|
|
|
xm1+…….+xmn |
=amum |
x11 |
|
+x21 |
|
+xm1 |
=b1v1 |
x12 |
|
+x22 |
|
+xm2 |
=b2v2 |
………………………………………………………………………… | |||||
x1n |
|
+x2n |
|
+xmn |
=bnvn |
xij 0
( |
Каждому из
ограничений первой группы (i-му
ограничению) поставим в соответствие
переменнуюui
().
Назовем ее "потенциалом строки".
Каждому из
ограничений второй группы (j-му
ограничению) поставим в соответствие
переменнуюvj
().
Назовем ее "потенциалом столбца"
Эти же обозначения используем при построении двойственной задачи.
,
,
(
).
(*)
Предположим, что
- опорный
план прямой задачи, а
-
некоторый план двойственной задачи.
Из второй теоремы
двойственности следует, что если для
всех базисныхпеременных решенияимеет место:
,
(1)
а для свободныхпеременных этого решения выполняется:
,
(2)
то
и
- оптимальные решения соответствующих
задач.
Теперь представим
себе, что мы имеем некоторый опорный
план прямой задачи
.
А что, если для этого плана попытаться искусственно сконструировать план двойственной задачи, а заодно и проверить, выполняются ли условия второй теоремы двойственности?
В этом и заключается центральная идея метода потенциалов.
Итак, начинаем это
конструирование. Известно, какие
переменные в решении
являются базисными (заполненные клетки
таблицы). Для заполненных клеток должны
выполняться соотношения (1):
.
Допустим,
что эти соотношения выполняются.
Попытаемся найти компоненты решения.
Что любопытно: всего уравненийm+n-1–(количество заполненных клеток), а
количество неизвестныхm+n.
Следовательно, чтобы решить систему
уравнений, нужно зафиксировать одну из
неизвестных, придав ей конкретное
значение (например, положив
).
Остальные определятся однозначно.
Теперь имеем
компоненты решения (пока это – просто
вектор)
,
причем условия (1) выполняются автоматически.
Проверим выполнение условий (2). Для каждой свободной переменной (не заполненной клетки) должно выполняться
.
Эта проверка в методе потенциалов сводится к вычислению т.н. "косвенных стоимостей":
,
и к анализу знаков полученных величин.
Теперь, если
оказалось, что все
(или, что эквивалентно,
),
то полностью выполнены условия второй
теоремы, и решение
-
оптимальное!
В противном случае
(существует
)
решение
не является оптимальным, а построенное
нами "решение"
-
вообще не допустимое!
Итак, способ проверки любого опорного решения транспортной задачи на оптимальность есть.
Пример.
Проверим на оптимальность решение, полученное методом Фогеля.
Табл. 4
|
v1 |
v2 |
v3 |
v4 |
u1 |
10
|
0 15 |
20
|
11 0 |
u2 |
12
|
7
|
9 15 |
20 10 |
u3 |
0 5 |
14
|
16
|
18 0 |
По заполненным клеткам составим и решим систему уравнений:
u1+ v2=0 u1=0 v2=0 После этого по свободным
u1+ v4=11 u1=0 v4=11 клеткам рассчитаем косвен-
u2+ v3=9 u2=9 v3=0 ные стоимости.
u2+ v4=20 v4=11 u2=9
u3+ v1=0 u3=7 v1=-7
u3+ v4=18 v4=11 u3=7
|
-7 |
0 |
0 |
11 |
0 |
10
|
0 15 |
20
|
11 0 |
9 |
12
|
7
|
9 15 |
20 10 |
7 |
0 5 |
14
|
16
|
18 0 |
E11=10-(0-7)=17, E13=20-(0+0)=20, E21=12-(9-7)=10
E22=7-(9+0)= -2!, E32=14-(7+0)=7, E33=16-(7+0)=9.
Решение не оптимальное, т.к. E22=-2 < 0.
Рассмотрим теперь вопрос перехода к новому, лучшему опорному решению в методе потенциалов.