Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прикл. задачи мат.прогр..doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
2.55 Mб
Скачать

1) Для всех (*)

2) Для всех (**)

где – матрица стоимостей перевозок.

Доказательство теоремы опускаем, оно основывается на рассмотрении двойственной задачи к исходной транспортной. Числа, называемые потенциалами, в точности являются переменными двойственной задачи, а сформулированные условия (**) – суть второй теоремы двойственности.

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

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

Таблица 3.5

В1

В2

В3

В4

В5

uj

А1

21

19

11

24

12

12

40

А2

26

29

14

2

1

10

26

43

А3

39

1

13

22

8

0

25

5

50

А4

53

11

23

40

26

28

5

53

vi

0

–49

–29

–42

–25

Проводя вычисления, смотрим только на занятые клетки и на числа, стоящие в правом верхнем углу, – стоимости перевозок.

1. Полагаем один из потенциалов равным 0. Пусть найдем из условия (*) остальные, последовательно обходя занятые клетки:

для занятой клетки (4,1): т.е. ,

для занятой клетки (4,5): т.е. ,

для клетки (3,5): , т.к. ,

затем можем найти из (3,2): , т.к. ,

после из (3,4): , т.к. ,

из (4,2): , т.к.

и, наконец, из (2,3): , т.к. ,

из (3,1): т.к.

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

2. После нахождения системы потенциалов можно собственно и заняться проверкой плана на оптимальность, ради чего мы и вычисляли потенциалы. Для проверки плана на оптимальность необходимо проверить условие (**). Нужно для свободных клеток посчитать суммы и сравнить их с числами – стоимостями перевозок. Если то по теореме, план является оптимальным, задача решена. Иначе, если хотя бы для одной клетки план нужно улучшать. Переходить к 3-му шагу алгоритма. Сделаем проверку условия (**) для нашей таблицы, записывая в правом верхнем углу выполнение неравенств (табл.3.6).

Таблица 3.6

В1

В2

В3

В4

В5

vj

А1

40>21

–9<19

11=11

24

–2<12

15>12

40

А2

43>26

–6<29

14=14

2

1=1

10

18<26

43

А3

50<39

1=1

13

21<22

8=8

0

25=25

5

50

А4

53=53

11

4<23

14<40

11<26

28=28

5

53

ui

0

–49

–29

–42

–25

В нашей задаче первоначальный опорный план неоптимален, условие (**) нарушено в клетках (1, 1), (1, 5), (2, 1), (3, 1).

Шаг 3. Улучшение плана.

Для проведения операции улучшения плана нам понадобится понятие цикла – контура перераспределения ресурсов.

Циклом будем называть набор клеток таблицы, в котором две и ровно две соседние клетки расположены в одной строке или в одном столбце, вершины поочередно обозначаются «+» и «-». Цикл начинается со свободной клетки и проходит только по занятым.

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

Примеры циклов:

с11

с 12

с13

с14

с11

с12

с13

с14

с21

с22

с23

с24

с21

с22

с23

с24

с31

с32

с33

с34

с31

с32

с33

с34

С понятием цикла связаны важные свойства планов:

1) допустимый план является опорным, когда из занятых этим планом клеток нельзя образовать ни одного цикла;

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

Улучшение плана производится по следующей схеме. В подчеркнутых клетках табл. 3.6. находим клетку с наибольшей разностью т.е. где условие (**) нарушается максимально. Затем для этой клетки согласно свойству 2 строим единственный цикл. Набор клеток в цикле помечаем поочередно знаками «+» и «–», начиная с «+» в свободной клетке. Имеем таблицу 3.7

Таблица 3.7

В1

В2

В3

В4

В5

запасы

А1

40>21

+

–9<19

11=11

– 24

2<12

15>12

24

А2

43>26

–6<29

14=14

+ 2

1=1

–10

18<26

12

А3

50>39

1=1

13

21<22

8=8

+ 0

25=25

– 5

18

А4

53=53

–11

4<23

14<40

11<26

28=28

+ 5

16

потребности

11

13

26

10

10

Начиная с клетки (1, 1), где условие (**) нарушено максимально, строим цикл. Клетку (1, 1) помечаем знаком «+», далее ходим по занятым клеткам, поворачивая под прямым углом, знаки чередуем, пока не попадем в тот столбец или строку, откуда начали. Если вы нашли цикл, то он верный, т.к. цикл единственен. У нас все занятые клетки вошли в цикл, но это необязательно.

Рассмотрим элементы плана , расположенные в клетках цикла со знаком «–» : . Выберем из них наименьший обозначим Строим новый план по правилу

Новый план записываем в табл. 3.8. Клетка, в которой разница равна 0, у нас (3, 5), теперь будет свободной. Проверьте, что число занятых клеток по-прежнему равно 8.

Таблица 3.8

В1

В2

В3

В4

В5

запасы

А1

21

5

19

11

15

12

12

24

А2

26

29

14

7

1

5

26

12

А3

39

1

13

22

8

5

25

18

А4

53

6

23

40

26

28

10

16

потребности

11

13

26

10

10

Очевидно, что полученный план будет удовлетворять прежним ограничениям, т.к. сдвиг перевозки происходит по циклу, а значит, не нарушает суммарную перевозку по столбцу и по строке (в одном месте прибавили, а в другом – столько же отняли). Общая же стоимость перевозок уменьшается на число, равное где – объем перевозок, перемещаемый по циклу. У нас эта величина равна 5·(40–21)=5·19=95.

Действительно, для плана Х общая суммарная стоимость перевозки: .

Для нового плана

=5·21+19·11+7·14+5·1+13·1+5·8+6·53+10·28=1068.

Итак, мы построили новый «лучший» план, 3-й шаг закончен. И теперь переходим к следующей итерации: находим новые потенциалы, проверяем план на оптимальность, улучшаем, если план неоптимален.

Для нашей задачи проведем дальнейшее решение. Новая система потенциалов записана в табл. 3.9.

Условие (**) не выполняется в клетках (4, 3) и (4, 4). С клетки (4, 4) начинаем строить цикл. Выбираем наименьшее из чисел .

Таблица 3.9

В1

В2

В3

В4

В5

vj

А1

21

+ 5

–19<19

11

– 19

–2<12

4<12

21

А2

24<26

–6<29

14

+ 7

1

– 5

–1<26

24

А3

31<39

1

13

21<22

8

5

6<25

31

А4

53

– 6

23=23

43>40

30>26

+

28

10

53

ui

0

–30

–10

–23

–25

Строим новый план, добавляя Δ к клеткам с «+», и вычитая Δ из клеток с «–». Новый план выглядит как показано в табл.3.10.

Таблица 3.10

В1

В2

В3

В4

В5

vj

A1

21

+ 10

–13>19

11

– 14

–6<12

–4<12

21

A2

24<26

–10<29

14

12

–3<1

–1<26

26

A3

35<39

1

13

–25<22

8

5

10<25

35

A4

53

– 1

19<23

43>40

+

26

5

28

10

53

ui

0

–34

–10

–27

–25

Найдем новую систему потенциалов, запишем в таблицу 3.10.

Оказывается, план не оптимален, в клетки (4, 3) нарушается неравенство (**), еще раз строим цикл, улучшаем план, Δ=1.

Находим новую систему потенциалов (табл. 3.11), проверяем на оптимальность, убеждаемся, что полученный план оптимален.

Таблица 3.11

В1

В2

В3

В4

В5

vj

A1

21

11

–10<19

11

13

–3<12

–1<12

21

A2

24<26

–7<29

14

12

0<1

2<26

24

A3

32<39

1

13

22=22

8

5

10<25

32

A4

50<53

19<23

40

1

26

5

28

10

50

ui

0

­31

–10

–24

–22

–62

Итак, предложенный таблицей 3.11, план перевозок является оптимальным, при этом суммарная стоимость перевозок .

Действительно, после второй итерации стоимость перевозок уменьшилась на величину (30–26)·5=20, после третьей (43–40)·1=3, т.е. 1068–23=1045, что мы и имеем. Задача решена.

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