Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Большие системы и управление

..pdf
Скачиваний:
10
Добавлен:
29.10.2023
Размер:
11.27 Mб
Скачать

130

Рис*22* Машинная реализация метода Фогеля, часть I

131

О т блока'16

W ?у0лип

^_

<

20 ^Vomln• - Ч

А« (in)

Рг (minf ,minz , J )

22

$min : = ^

min2

23A1(minf(J),PAl)

24V ^ V A ll ^ l l^ )

 

-----------ч

25

/ ° } •* Д;

 

do

 

<

25

max :=Д.

 

27

А» (Пр)

29

 

(Lq)

(d0)

30

^max ^

max

 

нет к бл 36

 

да<

 

31

Аа (Пр)

Рис.23. Машинная реализация метода Фогеля, часть 2

132

Рис.24. Машинная реализация метода Фогеля, часть 3

133

Расчеты по описанному методу на ЦВМ М-20 показали, что до­ пустимое решение совпадает с оптимальным с точностью до 5-10#, машинное время экономится при этом приблизительно в два раза. Поэтому во многих практических задачах допустимый план, полу­ ченный по методу Фогеля, может служить хорошим приближением к оптимальному плану перевозок.

На рис,22-24 приводится блок-схема алгоритма.

В блоке I

оператор

А 0соответствует вводу исходных данных:

||£ t-j||, a-L 76j.

В блоке 2

осуществляются подготовительные опера­

ции для отыскания минимума в строке и максимальной разности.

Оператор P1 ( m i n 1 , т 1 п 2)проверяет,

который по порядку минимум

отыскивается. Оператор Ат( п й п 7Ш ,

PAj) запоминает первый мини­

мум и номер столбца, В блоке 10 оператор А 2 восстанавливает

прежний вид матрицы ||£ ^ ||и получает разность в столбце. Опера­ тор А3 (Пр) производит переадресацию группы команд в программе (блок 13). В блоке 15 оператор А ^ ( Пр) восстанавливает команды и подготавливает исходные данные для получения минимума в столб­ це и максимальной разности. Оператор А5 (РА^)блока 17 осущест­ вляет запоминание номера столбца. Смысл остальных блоков не требует пояснений. Если при работе с программой пользоваться

только оперативным

запоминающим устройством ЦВМ М-20,

то

на т

и п накладывается

ограничение т + п +2 тп - 1716.

 

 

Рассмотрим построение оптимального плана перевозок с

уче­

том критерия "минимум потерь груза в пути при достав

 

ан-

ные сроки" по методу потенциалов. Согласно работам план перевозок является оптимальным, если каждому пункту можно

поставить в соответствие число ик (потенциал), к =

1 , 2 ,

т + п » так что выполняются условия:

 

 

если

= 0 ,

(21)

если

ОС: : > 0 .

( 22)

 

с<г

 

Потенциалы в пунктах строятся следующим образом. В какомлибо пункте 10 значение потенциала задается произвольно (это вполне допустимо, так как в условиях (2 1 ) и (22) фигурируют только разности потенциалов). Затем построение потенциалов производится по формулам (22). Если на некотором этапе обнару­ жится нарушение условий (2 1 ) и (2 2), то это говорит о том, что исходный план не является оптимальным и его можно улучшить при помощи следующего построения.

 

 

 

134

 

 

Пусть для некоторого маршрута

( i ' , j r)

имеем:

 

 

V

-

: ч

(23)

 

 

 

Из участков (маршрутов),

вдоль которых совершались перевоз­

ки и определялись потенциалы

i?L , находим цепочку, соединяющую

пункты l и

j с пунктом

t 0 *

Если несколько последних участков

от цепочек

совпадают, то

их отбрасываем*

Оставшаяся совокуп­

ность участков образует простой замкнутый контур* Простота кон­

тура

означает, что кроме пути ( L y j 1) , соединяющего пункты V

и У

, существует единственное полукольцо, проходящее через

пункты, для которых определены потенциалы, и соединяющее ука­ занные пункты. Введем на полученном контуре ориентацию. Будем

считать положительным направлением направление от

пункта j '

к пункту V не непосредственно, а

по контуру* Противоположное

направление считаем отрицательным*

Введем величины

д ц 9 харак­

теризующие ориентацию каждого участка полученного контура* При­ чем, если перевозки осуществляются в положительном направлении, то полагаем

(24)

~ XLi

а если в отрицательном, то

(25)

6ч = ~ х ч

Находим

А = min

 

 

(26)

, . . .

 

участков, перевозка на ко-

где ( i , }) принимает значение наперев

торых осуществляется в отрицательной направлении*

 

Вводим на контуре новые потоки,

полагая

 

=

 

*

(27)

 

+ Л >

 

если перевозка осуществлялась в

положительном направлении и

Х Ч =

 

- А .

(28)

 

 

ч

 

если перевозка осуществлялась в отрицательном направлении.План перевозок X , полученный после изменения перевозок на контуре описанным способом, имеет значение функции потерь меньшее, чем исходный план X , т .е . L ( X 1) - L ( X ) [9 ].

135

6 соответствии с полученный после исправления новым планом уточняются потенциалы* Через конечное число шагов получим опти­ мальный план, т*е* такой план, для которого выполняются усло­ вия потенциальности (2 1 ) и (22) .

Метод потенциалов удовлетворяет требованию целочисленности и позволяет (например, за недостатком машинного времени) остановиться на любом приближении.

Имеется другой метод построения потенциалов - метод уточ­ нения верхних и нижних оценок [12 ] , не требующий специального выделения того случая, когда не все пункты связаны между собой грузопотоками ( т .е . отпадает необходимость привлечения 8 -про­ цедуры). Метод заключается в следующем. Условия (21) и (22) .вы­ писанные для всех участков, можно рассматривать как систему неравенств относительно потенциалов. В случае совместности системы план перевозок оптимален я ее решение позволяет опре­ делить значение потенциала в каждом пункте:

пк~

п к

{ к = 172 , . . . , т + п ),

(29)

где гг~ - нижняя оценка, а

и* -

верхняя оценка

значения по­

тенциала в пункте к .

 

 

 

 

Процеос нахождения верхних и нижних оценок

заключается в

следующем. Вначале для каждого пункта задаются некоторые гру­ бые оценки потенциалов - В - пк~ 3» где В - некоторое большое число. Для произвольно выбранного пункта можно задать значе­

ние потенциала

= и * = щ )* затем уточняются оценки.

Формулы уточнения оценок потенциалов в конечном пункте

маршрута

имеют следующий вид:

 

 

maxjuT, йг) •,

tf'+=mLn {^ +7 t f / } ,

(30)

где

v :

, iK*"- прежние значения оценок потенциалов в

пункте J. ,

_

о

&

 

 

аопределяются из соотношений

до _

Й Г= v i ~ ъ

,

если

j o ц

= 0 ;

(31)

 

&Г = и г '+ ^

?

если

х ц

;> 0 о

(32)

 

Как видно из формул (30),

 

значения щ и

выбираются так,

чтобы не нарушались условия (2 1 ) и

(22 ) .

 

 

136

Рис.25. Блок-схема алгоритма построения оптимального плана по по методу двусторонних оценок, часть I

137

Рис.26* Блок-схема алгоритма построения оптимального плана по методу двусторонних оценок, часть 2

138

Если на некотором шаге процесса уточнения получим, что ниж­ няя оценка больше верхней(Vy > то это свидетельствует о том, что полученный план не является оптимальным и его можно улуч­ шить. Улучшенный план получается аналогично описанной выше про­ цедуре: находится простой замкнутый контур, на нем вводится ориентация и изменяется поток.

Следует заметить, что получение кратчайшего пути на сети является частным случаем метода потенциала (уточнение границ потенциалов производится при хц= 0) .

Блок-схема изложенного алгоритма изображена на рис.26 и 26.

Оператор

А 0 осуществляет

ввод необходимых исходных данных (до­

пустимого

плана

X аол »

матрицы ||

^ - | | , первоначальных оценок

^ ~ 7

. В блоке 2 оператор А7(Пр)подготавливает поле для за­

поминания промежуточных данных,

необходимых для получения кон­

тура. Оператор

А 2 ( Пр) выбирает

очередной номер пункта и оценки

i?j~,

; оператор А^(ГГр)в блоке

I I

запоминает номер участка се­

ти,

по которому

уточнялась оценка;

оператор As осуществляет

засылку уточненных оценок на соответствующие поля. В блоке 14 оператор ^(^ )п р о в ер я ет , проводилось ли уточнение оценок в обоих смежных пунктах, соединенных-данным участком. Если уточ­ нение проведено, то совершается переход к блоку 16; если уточ­ нение не проведено в обоих направлениях, то осуществляется пе­ реход к блоку 15. В блоке 15 оператор А6 ( 0 р) производит пере­ мену ориентации. Блок 17 осуществляет проверку плана грузопо­

токов на оптимальность. Если получен оптимальный план, то

со­

вершается переход к

блоку 31, в противном случае - к блоку

4 . .

В блоке 19 оператор

A 7 (f]p,j) выполняет подготовительную работу

для получения первой части контура. Оператор Ав (Лр)(блок

21)

формирует вспомогательные команды для обнаружения меток (мет­ ки делались в процессе уточнения оценок). Оператор Ag(flpJзаме­ чает" участок и находит следующий пункт, примыкающий к участку. Оператор (7с)проверяет контур на замкнутость. Если контур не замкнут, то осуществляется переход к блоку 25, в противном слу­

чае -

к

блоку 26. Оператор А 10(Ор)вводит

на

контуре

ориентацию.

Оператор Дп (Лр)в

блоке 26 находит очередной номер

пункта.

В блоке

27 оператор

АТ2(Л р) выполняет

подготовительные опера­

ции для получения второй части контура.

Оператор АТЗ(Д)

отыски­

вает

А

- величину,на которую по формулам

(27) и (28)

изменя­

ются грузопотоки.Оператор Л ( Х ош ) в блоке 31 выдает оптимальный план грузопотоков на печать.Программа занимает 607 ячеек (вось­ меричная система счисления) .На т и п накладывается ограничение

т + п + т п £ 1000 .

139

Кандидат технических наук Л.И. ГРИГОРЬЕВА

ТРАНСПОРТНАЯ ЗАДАЧА ПО КРИТЕРИЮ СТОИМОСТИ С УЧЕТОМ ПРОПУСКНОЙ СПОСОБНОСТИ УЧАСТКОВ И УЗЛОВ

Задачу планирования перевозок по критерию стоимости с уче­

том пропускных способностей Z r ( r = 1 ,2 # . .. »

N ) отдельных

участков и пропускных способностей

a v (>J = 7,2, . . . 7 т+п+п') узлов

можно сформулировать, если принять

для пунктов

отправления

а для пунктов назначения - bv =/?vдля промежуточных пунк­

тов /?^= 0, так что

 

 

 

 

 

£

 

= О-

 

 

(D

\>=1

 

 

 

 

Требуется найти план

перевозок

5Т = ( х ] 1х г , . . . ,

x N) такой»

чтобы выполнялись условия:

 

 

 

 

x r * Q

( р = /, 2 , . . . , N) ,

(2 )

П

^ Р

^

~ ^^

*

(3)

 

rt 0 $

 

 

 

Х г

- V

( г = /, 2,

/У),

(4)

 

 

 

 

 

(5)

 

 

А/

 

 

 

(6)

Соседние файлы в папке книги из ГПНТБ