Karmazin_-_Teoria_Igr_Uchebnik / P10_3
.DOC
На первом шаге
максимальной разностью является
для пятого столбца. В клетку (3; 5), с
наименьшей ценой в пятом столбце,
записываем максимально возможный объем
перевозок:
.
Потребность в грузе по пятому столбцу
удовлетворена, и, следовательно, на
втором шаге пятый столбец в расчет
приниматься не будет. На втором шаге
наибольшая разность
во второй строке. В клетке (2; 4), с
минимальной ценой в этой строке, полагаем
,
и вторую строку в дальнейшем не
рассматриваем. Переходим к третьему
шагу и т.д. до тех пор, пока не будут
распределены все объемы перевозок.
Окончательно получим план перевозок,
указанный в табл. 5. Общие затраты по
этому плану составят
.
Данный план оказался существенно ближе
к оптимальному нежели планы, полученные
другими методами. Заметим, что этот план
вырожденный, так как содержит только
семь базисных ненулевых компонент.
Добавляем план нулевой базисной
переменной
,
убедившись, что дополненный план
ациклический. Дополнительную базисную
переменную выбираем среди клеток с
наименьшей ценой.
Из рассмотренных методов метод северо-западного угла самый простой, он использует наименьшее число операций для построения исходного опорного плана. Но полученный этим методом план может оказаться очень далеким от оптимального. Метод минимального элемента требует значительно большего объема вычислений, но имеет больше шансов получить опорный план ближе к оптимальному. Объемы вычислений метода двойного предпочтения и метода минимального элемента почти эквивалентны, как и шанс получить опорный план, близкий к оптимальному. Для определения опорного плана методом Фогеля потребуется в несколько раз больше вычислений, чем методом минимального элемента, но иногда этот метод дает опорный план, близкий к оптимальному. На практике надо использовать все эти методы, и из полученных опорных планов выбрать тот, который ближе к оптимальному. Имея исходный опорный план, можно за конечное число шагов найти оптимальный план перевозок.
Метод потенциалов. Оптимальное решение транспортной задачи можно найти симплекс-методом. Однако существуют более эффективные методы, использующие специфическую структуру системы ограничений транспортной задачи. Один из таких методов метод потенциалов.
Потенциалами
опорного решения
называют числа
и
такие, что
для всех занятых клеток. Так как количество
занятых клеток
,
то для определения потенциалов надо
решить систему
линейных уравнений с
неизвестными. Эта система всегда
совместна, причем одно из неизвестных
можно положить равным любому числу и
тогда все остальные неизвестные
определятся однозначно.
Потенциалы
и
можно интерпретировать как двойственные
переменные транспортной задачи. Составим
двойственную задачу линейного
программирования к прямой задаче (1)
(5). С этой целью ограничения (2), (3)
представим в матричной форме
,
где матрица
состоит из нулей и единиц и имеет
размерность
.
Матрицу
,
вектор
и вектор-строку
двойственных переменных для наглядности
можно определить формулами:

вектор-столбец
.
Тогда двойственная
задача будет иметь вид:
;
при ограничениях
.
В нематричном представлении ограничения
двойственной задачи записываются очень
просто
.
Теорема 4.
Пусть
и
потенциалы опорного решения
транспортной задачи. Если для всех
свободных клеток
,
то
оптимальное решение задачи.
Решение транспортной задачи методом потенциалов проводится по следующей схеме:
1) находим начальное
опорное решение
описанными ранее методами;
2) вычисляем
потенциалы
и
![]()
опорного решения
.
Если для всех свободных клеток
,
то
оптимальное решение и задача решена. В
противном случае выбираем клетку
,
соответствующую наименьшему значению
;
3) в таблице строим
цикл, одна вершина которого находится
в клетке
,
а все остальные вершины
в занятых клетках. Далее, вершину в
клетке
метим
знаком «+», а остальные
знаками «-» и «+» так, чтобы они от вершины
к вершине чередовались. Обозначим через
наименьшее из чисел
,
стоящих в клетках, помеченных знаком
«-»; пусть
(если такое число находится в нескольких
клетках, то выберем ту из них, которой
соответствует наибольшее значение
).
После этого заполняем таблицу согласно
следующему правилу:
а) клетки, не являющиеся вершинами цикла, остаются без изменения;
б) если клетка
помечена знаком «+», то в неё записывают
число
;
в) клетка
становится свободной, её не заполняют,
а в остальные клетки
,
помеченные знаком «-», записывают число
.
В результате
получаем ациклический набор из
занятых (базисных) клеток таблицы,
который определяет опорное решение
такое, что
.
Принимая
за исходное опорное решение, повторяем
п. 2) и 3) до тех пор, пока не будет найдено
оптимальное решение транспортной
задачи.
Пример 6. Найдем оптимальный план транспортной задачи, рассмотренной в примерах 1, 2 и 5. В качестве исходного опорного плана возьмем решение, полученное в примере 2 .
Потенциалы
и
находим из системы уравнений:
![]()
![]()
Таблица 7
|
|
7 |
|
7 |
|
7 |
|
7 |
|
2 |
|
|
|
|
|
16 |
|
30 |
|
17 |
|
10 |
|
16 |
u1=16 |
|
4 |
3 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
30 |
|
27 |
|
26 |
- 6 |
9 |
|
23 |
u2=25 |
|
6 |
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
1 |
- 7 |
4 |
|
22 |
|
3 |
|
1 |
u3=13 |
|
10 |
1 |
- 1 |
|
+1 |
|
|
7 |
|
2 |
|
|
|
|
|
3 |
|
1 |
|
5 |
|
4 |
|
24 |
u4=3 |
|
10 |
3 |
+1 |
7 |
- 1 |
|
|
|
|
|
|
|
|
|
v1= |
0 |
v2= |
-2 |
v3= |
1 |
v4= |
-10 |
v5= |
-12 |
|
Вычисляем оценки
для свободных клеток
,
отрицательные значения записываем в
правую верхнюю часть клетки. Так как
получились отрицательные оценки для
двух клеток, то данный план
не оптимальный. Выбираем клетку (3,2) с
наименьшей оценкой -7 , и начиная с нее,
строим цикл с вершинами в занятых клетках
(4,1), (3,1), (3,2). Метим вершины цикла поочередно
знаками «+» и «-», начиная с вершины в
клетке (3,2) . Среди клеток цикла, помеченных
знаком «-», находим клетку (3,1) с минимальной
перевозкой
.
Пересчитывая перевозки в клетках цикла
на величину
,
делаем клетку (3,1) свободной, а клетку
(3,2)
занятой.
Таблица 8
|
|
7 |
|
7 |
|
7 |
|
7 |
|
2 |
|
|
|
|
|
16 |
|
30 |
|
17 |
- 3 |
10 |
|
16 |
u1=10 |
|
4 |
3 |
- 3 |
|
|
1 |
+3 |
|
|
|
|
|
|
|
|
30 |
|
27 |
|
26 |
- 13 |
9 |
|
23 |
u2=19 |
|
6 |
|
|
|
|
6 |
- 3 |
|
+3 |
|
|
|
|
|
|
13 |
|
4 |
|
22 |
|
3 |
|
1 |
u3=0 |
|
10 |
|
|
1 |
+3 |
|
|
7 |
- 3 |
2 |
|
|
|
|
|
3 |
|
1 |
|
5 |
|
4 |
|
24 |
u4=-3 |
|
10 |
4 |
+3 |
6 |
- 3 |
|
|
|
|
|
|
|
|
|
v1= |
6 |
v2= |
4 |
v3= |
7 |
v4= |
3 |
v5= |
1 |
|
Вычисляем потенциалы и оценки свободных клеток для вновь полученного плана, табл. 8. Из табл. 8 определяем, что существуют клетки с отрицательными оценками, следовательно, план можно улучшить. Получаем новый план, вводя в базис клетку (2,4) и исключая из базиса клетку (1,1): цикл обозначен пунктирной линией. Строим новую табл. 9.
Таблица 9
|
|
7 |
|
7 |
|
7 |
|
7 |
|
2 |
|
|
|
|
|
16 |
|
30 |
|
17 |
|
10 |
|
16 |
u1=-3 |
|
4 |
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
30 |
|
27 |
|
26 |
|
9 |
|
23 |
u2=6 |
|
6 |
|
|
|
|
3 |
- 3 |
3 |
+3 |
|
|
|
|
|
|
13 |
|
4 |
|
22 |
|
3 |
|
1 |
u3=0 |
|
10 |
|
|
4 |
+3 |
|
|
4 |
- 3 |
2 |
|
|
|
|
|
3 |
|
1 |
- 12 |
5 |
|
4 |
|
24 |
u4=-3 |
|
10 |
7 |
|
3 |
- 3 |
|
+3 |
|
|
|
|
|
|
|
v1= |
6 |
v2= |
4 |
v3= |
20 |
v4= |
3 |
v5= |
1 |
|
План в табл. 9 также не оптимальный.
Таблица 10
|
|
7 |
|
7 |
|
7 |
|
7 |
|
2 |
|
|
|
|
|
16 |
|
30 |
|
17 |
- 2 |
10 |
|
16 |
u1=9 |
|
4 |
|
|
|
|
4 |
- 0 |
|
+0 |
|
|
|
|
|
|
30 |
|
27 |
|
26 |
|
9 |
|
23 |
u2=6 |
|
6 |
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
13 |
|
4 |
|
22 |
|
3 |
|
1 |
u3=0 |
|
10 |
|
|
7 |
+0 |
|
|
1 |
- 0 |
2 |
|
|
|
|
|
3 |
|
1 |
|
5 |
|
4 |
|
24 |
u4=-3 |
|
10 |
7 |
|
0 |
- 0 |
3 |
+0 |
|
|
|
|
|
|
|
v1= |
6 |
v2= |
4 |
v3= |
8 |
v4= |
3 |
v5= |
1 |
|

3