книги из ГПНТБ / Тихомиров В.И. Линейное программирование в организации и планировании путевого хозяйства конспект лекций для студентов специальности Стр-во ж. д., путь и путевое хоз-во учеб. пособие
.pdf
и л и |
в р а з в е р н у т о м |
виде |
|
|
|
|
|
|
|
V,, + X,, |
+ |
. |
• + |
Xin 4~ -' i, л+1 |
= |
|
|
|
V2I ■+" |
Х22 |
+ |
. ■■+ |
x in + -v2, nil |
= a2 |
(40) |
|
|
|
|
|
|
|
|
|
|
|
mi “t” Хт2 + |
. |
■4” x mn 4_''r’m. л+1 |
d m |
|
|||
где |
Л'о. л+|, |
|
|
хт,п+, —дополнительные переменные, |
||||
обозначающие неиспользуемую для перевозок часть запасов.
Сумма этих дополнительных переменных должна быть рав на разнице между общим запасом и общей потребностью:
т |
т |
— у bj —ьус |
(41) |
V -V; |
|
||
i• /1+1 |
1 = 1 |
|
|
|
/ - 1 |
|
Таким образом, в данном случае в открытую транспорт ную задачу как бы включается условный потребитель (полу чатель), которому в качестве спроса приписывается разница между наличием груза и фактической потребностью в нем.
Как и в общей задаче линейного программирования, до полнительные переменные входят в целевую функцию с нуле выми коэффициентами.
.Модель открытой транспортной задачи с включением ус ловного потребителя представлена в табл. 32.
|
|
|
|
|
Таблица 32 |
|
|
Модель открытой транспортной задачи |
|
||||
Отправи |
|
Получатели грузов |
|
Условный |
Итого |
|
|
|
|
|
|||
тели |
1 |
2 |
• . . |
п |
получатель |
запас |
грузов |
л + 1 |
|||||
i |
1 c„ |
1 Су2 |
|
\ с,„ |
1 о |
л, |
х-и |
|
Л*12 |
|
Х1п |
Х\' ли |
|
2 |
1 Сг._ |
1 с ,. |
|
K sn _ | |
L_°_ |
й-i |
-v-л |
|
A*j2 |
|
X_>,j |
х2‘ч1 1 |
|
m |
1 c mi |
1 Сnj2 |
|
1__£шл |
1 0 |
аа |
|
|
ХГП'2 |
|
Япт |
хт> пи |
|
Итого |
6, |
Ь2 |
. . |
Ь„ |
/;усл |
|
потреб- |
|
|
|
|
|
|
ность
■ 60
При введении условного получателя открытая модель пре образуется в закрытую и решается как обычная транспортная задача.
Открытая транспортная модель чаще всего используется при определении наиболее .рационального размещения произ водственных предприятий (щебеночных, щпалопропиточных заводов, производственных механизированных баз и т. д.).
Порядок решения транспортных и сводящихся к ним задач аналогичен порядку решения симплекс-методом:
1) составляется исходная матрица перевозок;
2 ) отыскивается опорный план;
3) полученный опорный план проверяется на оптималь ность и в случае неоптимальности цикл повторяется.
§ 2. Методы нахождения опорного плана
Диагональный или метод северо-западного угла
Одним из первых в литературе был описан метод северозападного утла, который дает возможность построить началь ный план. Поясним его на примере (табл. 33).
1
2
3
4
5
1 |
2 |
|
|
ГО |
28 |
|
|
Z\ |
1 1 |
||
|
|||
27 |
4 |
|
|
|
1 |
15 |
|
5 |
12 |
|
|
|
1 |
1 |
|
13 |
21 |
|
|
20 |
14 |
|
|
9 |
17 |
|
|
|
|
|
|
Таблица 33 |
|
3 |
4 |
5 |
|
6 |
|
|
3 |
10 |
25 |
|
18 |
10 |
|
11 |
2 |
17 |
|
9 |
(5 |
|
1 |
22 |
8 |
|
16 |
25 |
|
I 22 |
1 2 - |
|
|
|
|
|
19 |
15 |
25 |
|
Т |
1° |
|
|
1 31 |
1 |
9 |
’ |
||
|
|
|||||
29 |
26 |
6 |
|
24 |
11 |
|
1 |
5 |
1 |
||||
|
|
6 |
||||
22 |
33 |
14 |
|
6 |
|
Назначение поставок (корреспонденций) начинают с клетки 1.1 (первая цифра означает строку, вторая-—столбец).
Размер их определяется минимальной величиной отправле ния (первая строка) или прибытия (первый столбец). В дан ном случае первый столбец (9< 10). Затем остаток отправле ния первой строки сравнивают с величиной прибытия второго столбца; наименьшую величину 1 помещают в клетку 1 .2 .
6—('81 |
81 |
Отправление первой строки исчерпано.
Переходим ко второй строке. Размер отправления второй строки сравниваем с остатком прибытия второго столбца. Наименьшую величину 15 помещаем в клетку 2.2. Этот процесс повторяется до тех пор, пока не будут удовлетворены все пункты потребления и не вывезен весь запас продукта из: пунктов отправления.
Итак, получен опорный план ш> методу северо-западного
угла. Этот |
план содержит т + п — 1 занятых клеток |
(5 + 6—1 = 10) |
по числу базисных переменных. |
При таком методе назначения постановки мы не обращаем внимания на их стоимость. Поэтому начальный план, постро енный методом северо-западного угла, обычно далек от опти мального.
Метод минимального элемента по столбцам (строкам)
Сущность данного метода поясним, используя данные пре дыдущего примера.
|
|
|
|
|
|
|
|
|
|
Таблица 34 |
|
1 |
|
2 |
|
3 |
4 |
|
5 |
6 |
|
||
32 |
|
28 |
|
3 |
|
10 |
|
25 |
|
18 |
К) |
|
|
|
|
1 |
8 |
1 |
2 |
|
|
|
|
27 |
|
4 |
15 |
11 |
|
2 |
|
17 |
|
9 |
15 |
|
|
1 |
|
|
|
|
|
|
|
|
|
5 |
|
12 |
|
1 |
|
22 |
|
8 |
16 |
25 |
|
9 |
|
14 |
|
|
|||||||
1 |
1 |
2 |
1 |
|
|
|
|
|
|
||
13 |
|
21 |
|
19 |
|
15 |
|
25 |
|
7 |
40 |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
1 31 |
1 |
з |
1 |
6 |
|
20 |
|
14 |
|
29 |
|
26 |
|
6 |
|
24 |
11 |
|
|
|
|
и |
|
||||||
|
|
|
|
|
|
|
|
1 |
|
|
|
9 |
|
17 |
|
22 |
|
33 |
|
14 |
|
6 |
|
Рассматриваем первый столбец (строку). Отыскиваем ми нимальный показатель критерия оптимальности. В данном примере он находится в клетке 3.1. Сравниваем размер от правления с размером потребления. Меньшее из этих чисел (9) принимается в качестве размера соответствующей постановки. Первый столбец из рассмотрения исключается, так как по требитель полностью обеспечен продуктом.
Переходим к рассмотрению второго столбца. Отыскиваем в нем минимальный элемент. Он находится в клетке 2.2. Срав
82
ниваем размер отправления с размером потребления. Мень ший из них (15) принимаем за поставку. Однако мы видим, что потребитель еще удовлетворен не полностью. Поэтому ищем в этом столбце следующий по величине минимальный элемент. Он находится в клетке 3.2. Сравниваем остаток по отправлению с размером неудовлетворенного спроса и мень ший из них (2) помещаем в систему 3.2. Подобным образом поступаем и в дальнейшем, просматривая оставшиеся столбцы.
Сравним стоимость перевозок по планам, рассчитанным методами северо-западного угла и минимального элемента столбца.
Zc3 = 32-9 + 28- 1+4- 15+12-1 + 1-22 + 22 + ■2 + 15 ■31 +25 • 9+
+ 6-5 + 24-6=1318 единиц стоимости.
ZMC= 5-9 + 4- 15+12-2 + 3-8+1 • 14+10-2+15-31+25-3 +
+ 6 -11 + 7- 6= 835 единиц стоимости.
Как видим, опорный план, рассчитанный по второму ме тоду, оказался лучшим.
А1етод наименьшей стоимости в матрице (табл. 35)
Воспользуемся данными табл. 33.
|
|
|
|
|
|
|
Таблица 35 |
|
|
1 |
2 |
3 |
4 |
|
5 |
6 |
|
1 |
32 |
28 |
3 |
10 |
ю |
25 |
18 |
10 |
|
|
|
|
1 |
|
|
|
|
2 |
.27 |
4 |
11 |
2 |
|
17 |
9 |
15 |
|
|
|
1 |
15 |
|
|
||
|
|
|
|
|
|
|
||
3 |
5 |
12 |
1 |
22 |
|
8 |
16 |
25 |
|
1 3 |
|
| 22 |
|
|
|
|
|
4 |
13 |
21 |
19 |
15 |
|
25 |
7 |
40 |
|
1 6 |
1 1 ' |
|
1 8 |
1 з |
1 6 |
|
|
5 |
20 |
14 |
29 |
26 |
|
6 |
24 |
И |
|
|
|
|
|
|
1 П |
|
|
|
9 |
17 |
22 |
33 |
|
14 |
6 |
|
|
В данном случае в матрице |
отыскивается |
минимальный |
|||||
элемент. Он находится в клетке 3.3. В эту клетку помещаем максимально возможную перевозку — 22 единицы. Третий
6 * |
83 |
столбец исключаем из рассмотрения. В оставшейся матрице опять находим минимальный элемент. Он находится в клет ке 2.4. В эту клетку помещаем максимум перевозки — 15 еди ниц. Вторую строку исключаем из рассмотрения. Процесс пов торяем до тех пор, пока не распределим весь объем перевозок.
Общая стоимость по данному плану получилась: 2ММ= = 905 единиц.
|
Метод двойного предпочтения |
(табл. 36) |
|
||||||||
|
|
|
|
|
|
|
|
|
|
Таблица 36 |
|
|
1 |
|
2 |
3 |
4 |
|
5 |
|
6 |
|
|
1 |
32 |
|
28 |
з х |
10 |
10 |
25 |
|
18 |
10 |
|
|
|
|
|
|
|
| |
|
|
|
|
|
2 |
27 |
|
4 Х |
11 |
2ХХ |
115 |
17 |
|
9 |
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
5 | |
3 |
12 |
1 ХХ |
22 |
|
S |
|
16 |
25 |
|
|
|
|
|
|
| |
22 |
|
|
|
|
|
4 |
13 |
|
21 |
|
19 |
15 |
|
25 |
|
? хх |
40 |
|
17 |
|
3 |
|
|||||||
|
1 |
6 |
1 |
|
1 |
8 |
1 |
1 6 |
|
||
5 |
20 |
|
14 |
29 |
26 |
|
6х х |
|
24 |
11 |
|
|
|
|
|
|
|
|
|
III |
|
|
|
|
9 |
|
17 |
22 |
33 |
14 |
|
6 |
|
||
Находим в каждой строке минимальный элемент и отме |
|||||||||||
чаем соответствующую клетку знаком X. Затем |
то же самое |
||||||||||
делаем в столбцах. |
В связи с этим некоторые клетки будут по |
||||||||||
мечены двумя знаками— XX. В данном случае такими клет ками являются 3.3; 2.4; 4.6; 5.5. Помещаем в эти клетки мак симально возможную корреспонденцию. Остальные распреде ляем в клетках с одним знаком, а также в неотмеченных с воз можно меньшей стоимостью, соблюдая при этом баланс от правления и прибытия.
Суммарная стоимость перевозок по этому плану составляет 2Дп = 905 единиц. Получилось совпадение со стоимостью пе ревозок по плану, построенному методом минимального эле мента матриц. Это случайное совпадение.
Сравнение методов построения опорного плана
При решении задач вручную можно выбрать любой из опи санных методов построения опорного плана. Однако следует отдать предпочтение методу наименьшей стоимости по столб цам (строкам). Этот метод прост и хорошо поддается авто матизации.
84
Случай вырождения. Все рассмотренные нами методы при водят к опорному плану, в котором число корреспонденции не превышает, а в большинстве случаев равно т + п — 1 .
В любом методе после назначения корреспонденции в ка кую-либо клетку исключается из рассмотрения строка или столбец, в зависимости от того, где находится минимум, по которому определена величина корреспонденции. При назна чении перевозки в последнюю клетку исключаются из рас смотрения одновременно и строка и столбец. Поэтому число занятых клеток и равно т + п — 1. При решении практических задач встречаются случаи, когда одновременно исключаются из рассмотрения строка и столбец не только в конце распреде ления. Тогда число занятых клеток становится меньше, чем т + п—1 . Такие случаи называются случаями вырождения. Они грозят опасностью зацикливания, т. е. бесконечного повторе ния итераций.
Для предупреждения зацикливания заполняют недостаю щее количество клеток поставками как угодно малой величи ны, чаще всего нулевыми поставками.
Однако такие поставки назначают не в любые клетки. Их положение необходимо определить при построении начального плана.
Рассмотрим для примера матрицу стоимостей (табл. 37), заимствованную из [5]. Здесь размеры отправления и прибы
тия кратны 5, Что чаще |
всего |
приводит к случаям |
вырож |
|||||||
дения. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 37 |
||
1 |
2 |
3 |
|
4 |
5 |
6 |
|
|
|
|
30 |
28 |
3 |
10 |
|
25 |
10 |
10 |
строка |
3 |
|
110 |
столбец |
1 |
||||||||
|
|
|
|
|
|
|
|
|
||
27 |
4 |
11 |
2 |
|
17 |
9 |
15 |
строка |
5 |
|
|15 |
столбец 5 |
|||||||||
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
||
5 |
12 |
W |
22 |
8 |
16 |
25 |
|
|
||
.1 5 |
1°, |
|
|
|
|
|
|
|
||
13 |
21 |
19 |
15 |
|
23 |
7 |
40 |
|
|
|
|
|20 |
|
1 |
5 |
|
.1.15 |
|
|
|
|
20 |
14 |
29 |
26 |
6 |
24 |
10 |
|
|
||
|
|0 |
|
|
|
1ю |
|
|
|
|
|
5 |
20 |
20 |
30 |
10 |
15 |
|
|
|
||
Построим начальный план методом наименьшей стоимости в матрице. Распределение окончено клеткой 4.2. Каждая стан ция отправила весь груз; все станции прибытия получили то,
Й
что им следовало. Однако, число занятых клеток равно 8 вместо 10. Следовательно, необходимо назначить две нулевые тщставки. Для выбора клеток'следует обратиться к записямсправа матрицы: третья строка вычеркивалась одновременно с первым столбцом, пятая строка — с пятым столбцом. Выбе рем столбец, где находится корреспонденция, назначенная в последнюю очередь, и найдем клетки пятой и третьей строк; или выберем строку последнего распределения и в ней найдем
клетки пятого и первого столбцов. В эти клетки |
(3.2 и 5.2 или |
|
4.1 и 4.5) и назначают нулевые поставки. |
|
|
|
§ 3. Методы нахождения оптимального плана |
|
Известны следующие методы нахождения |
оптимального |
|
плана: |
|
|
1. |
Метод потенциалов. |
|
2. |
Метод коэффициентов (МОДИ). |
'h |
3. |
Метод Форда—Фулкерсона. |
|
4. |
Метод разрешающих слагаемых. |
1 |
5. |
Венгерский метод. |
|
Остановимся на первых двух наиболее эффективных методах.
Метод потенциалов
Метод потенциалов — первый точный метод решения транспортной задачи — был предложен в 1949 г. Л. В. Канто ровичем и М. К- Гавуриным.
Покажем нахождение оптимального плана методом потен
циалов на примере, используя |
исходные данные табл. |
38. |
|||||||||
|
|
|
' |
|
|
|
|
|
|
Таблица 38 |
|
|
12 |
19 |
8 |
|
|
15 |
25 |
7 |
|
||
|
»1 |
V 2 |
03 |
|
' |
V i |
05 |
0 8 |
|
||
5«i |
32 |
28 |
3 |
|
10 |
|
|
25 |
|
18 |
10 |
|
|
|
1 |
8 |
|
1 |
2 |
|
|
|
|
15м3 |
27 |
4 |
11 |
|
. |
2 |
|
17 |
|
9 |
15 |
|
|
; 1 5 |
|
|
|
|
|
|
|
|
|
7и, |
5 |
1 2 |
1 |
|
|
22 |
|
'8 |
|
16 |
25 |
|
1 9 |
1 2 |
1 И |
|
|
|
|
|
|
|
|
0 |
13 |
2 1 |
19 |
|
15 |
|
25 |
7 |
1 |
40 |
|
|
|
|
|
|
|
1 31 |
1 |
3 |
6 |
||
19в6 |
20 |
14 |
29 |
|
|
26 |
|
6 |
|
24 |
11 |
|
|
|
|
|
|
|
|
1 И |
|
|
|
|
9 |
17 |
22" |
|
33 |
14 . |
6 |
|
|||
86
Алгоритм решения задачи следующий:
1.По одному из известных методов находим опорный план ;{в данном случае по методу минимального элемента столбца).
2.Определяем потенциалы строи и столбцов.
Потенциалы столбцов обозначим через v |
а потенциалы |
|
■строк — |
где / и г — порядковые номера |
столбца и строки. |
Затраты |
на перевозки по-прежнему будем обозначать буквой |
|
ciJ-
Задача заключается в отыскивании такой системы потен циалов, при которой соблюдаются условия оптимальности плана:
V/ — щ < си |
для |
свободных клеток |
(42) |
Vj — щ = С,j |
для |
занятых клеток |
(43) |
при % > 0.
Для определения значения потенциалов столбца и строки составляем уравнение вида V] — ut = Сц для каждой занятой клетки
щ—ы3= 5 |
V i—U]= 10 |
vz—££2= 4 |
v4—u4= 15 |
1>2—иг—12 |
v$—££4= 25 |
Оз—££,= 3 |
V5 ££5= 6 |
V3— U3= 1 |
п6—££4= 7 |
В этих десяти уравнениях содержится одиннадцать неиз вестных:
« 1 , * > 2 , V3t. V i, t ) 3 , U 6 , UU U2, a 3 , « 4 , « 5 -
Одну из них примем за нуль. Для того чтобы меньше было отрицательных потенциалов за нуль примем потенциалы чет вертой строки ц4 с большей стоимостью из всех . занятых клеток.
В связи с этим остальные потенциалы определятся так:
Р4—о = 15;
v5—0 =25;
25—££5= 6;
IIо О |
Г-ь |
( |
|
1 |
|
15 -w ^lO ;
. щ,= 15; |
v3—5= |
3; |
о3— 8; |
|
£>5=25; |
8 —££3= |
1; |
«3= 7; |
|
«53 19; |
•о2—7 =12; |
££2=19; |
||
£V= |
7; |
19—«2= |
4; |
££2 = 15; |
«1= |
5; |
t»i- 7= |
5; |
Од =12, |
87
Соответствующие потенциалы проставлены Ь левой и верх ней части таблицы. Пользуясь значениями потенциалов строк
истолбцов, исследуем каждую свободную клетку матрицы.
3.Исследуем свободные клетки на оптимальность. При о тимальном плане должны соблюдаться условия
Vj — «, < C[j.
При несоблюдении данного условия план считается не оп
тимальным. |
|
|
Итак, для клеток: 1.1 |
щ—« 1 = 12— 5 = |
7< 32 |
1.2 |
у2— « 1 = 19— 5 = |
14<28 |
1.5 У5— « 1 = 25— 5 = |
20<25 |
|
1.6 |
у6—« 1 = 7— 5 = |
2 < 18 |
2.1 |
о,—«2= 1 2 — 15 = — 3< 27 |
|
2.3 |
у3—и2= 8—15= — 7< 11 |
|
2.4 у4—«2=15—15= |
0< 2 |
|
2.5 у5—«2= 25—15= |
10< 17 |
|
2.6 у6—«2= 7—15= — 8< 9 |
||
3.4 о.)—«з=15— 7= |
8<22 |
|
3.5 v5-—«з= 25— 7= |
18> 8 нарушено |
|
|
|
условие |
3.6 о6—«3= 7— 7= |
0 < 16 |
|
4.1 |
о,—«4=12— 0= |
12< 13 |
4.2 |
у2—«4=19— 0 = |
19<21 |
4^3 |
у3—ы4= 8 — 0 = |
8 < 14 |
5.1 о,—«5=12— i t = — 7< 20 |
||
5:2 у2—«5—19— 19= |
0 < 14 |
|
5:3 У3—«5— ;8—19 = —11 < 29
5.4 у4—«5=15— 19 = — 4<26.
Проверка показала, что условие оптимальности нарушено в клетке 3.5 и поэтому план не Я'вляется оптимальным. Его можно улучшить, перераспределив поставки.
Перераспределение поставок производим с помощью так называемой цепи Шли замтсИутого -контура. К.о'нтур должен представлять собой прямоугольный многоугольник с четным
числом чйфйшн, ‘Йрйчем одна из нйх должна обязательно на
88
ходиться |
в клетке е |
нарушением оптимальности, а остальные— |
в занятых |
клетках. |
Клетка с нарушением обозначается ква |
дратом, а остальные кружками.
На рис. 14 представлен замкнутый контур, который был построен следующим образом: из клетки 3.5, где нарушены угловые оптимальности плана (см. табл. 39), мы провели пер вое звено контура, идущее вдоль третьей строки до занятой клетки 3.3 следующее звено построено между клетками 3.3 и 1.3. Третье звено построено между клетками 1.3 и 1.4, четвер тое между клетками 1.4 — 4.4, пятое — между клетками 4.4— 4.5 и, наконец, шестое—между клетками 4.5 и 3.5. При этом мы соблюдали условия, чтобы все вершины контура, кроме одной,, находились в занятых клетках, звенья располагались относительн'о друг друга под углом 90° и чтобы было четное число вершин.
+
Обход построенного контура начинаем с вершины, обозна ченной квадратом. В этой вершине ставим знак + , далее, сле дуя по направлению стрелок, в следующей вершине знак —г затем снова + и т. д. (знаки чередуются). У Каждой верши ны внизу ставим размер поставки.
Просматриваем вершины контура с отрицательными пока зателями. В нашем примере их три с размерами поставок
2,14 и 3.
Меньшую из них 2 отнимаем гот размеров поставок в от рицательных вершинах и прибавляем к размерам поставок в пМбжи'тельйкх ёе'ршинак, т. е. 0+2=ь2-, 14—2 —12, 8+ 2=10, 2—2= 0,31+2 = 33,3—2=1.
89
