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

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

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

120

I l f k ( y ) q ( x ) ^

E f k( y ) q k { x ) ,

(5)

к

к

 

что возможно лишь в том случае, когда в выражениях (4) и (5) имеет место равенство. Таким образом, установлено, что

= n u n Е [min fk ( y ) (6)

Из выражения (6) следует, что в сформулированной задаче перевозок представляется возможным сначала выбрать оптимальные в смысле приведенного критерия маршруты, а затем оптимизировать

объемы перевозок на них. Отсутствие ограничений по пропускной способности транспортной сети позво­ ляет выбрать не более од­ ного маршрута между каж­ дой парой пунктов (L, j ) . Известную трудность пред­ ставляет проблема выбора допустимого маршрута из множества всевозможных маршрутов.

Следует отметить, что число различных путей между двумя заданными пунктами с увеличением числа узловых пунктов очень быстро растет.В ка­ честве верхней границы число путей между двумя заданными пунктами может служить 2 т+ n + n'-l

Транспортная сеть в дан­ ном случае эквивалентна полному графу [2 ]. На

рис. 17 показан рост числа путей между заданными пунктами в зависимости от роста числа пунктов. Те маршруты от пункта с до пункта J , которые удовлетворяют ограничению по времени

121

(выполняется условие 4 ), являются допустимыми. Оптимальным маршрутом от пункта I до пункта j считается тот, на котором вероятность потери груза минимальна. Таким образом, возникает необходимость для каждого допустимого маршрута вычислить вре­ мя его прохождения и сравнить с допустимым временем. Для мар­ шрутов, удовлетворяющих ограничению по времени, необходимо вы­ числить вероятность потери груза на данном маршруте и между каждой парой пунктов выбрать наиболее надежный маршрут.

Покажем, что случай, когда задано время пребывания груза

в каждом пункте:

для пунктов отправления i^(

1 , 2 , . . . ,

т)*

для пунктов назначения t - ( ] = I ,

 

 

 

2, . . . , л ) , для

промежуточных пунк­

 

 

 

тов t к ( к -

1 ,2 ,

...,/7*) и вероят­

 

 

 

ности потери грузов соответственно

 

 

 

P'L

tPj $ РК* сводится путем некоторо­

 

 

 

го преобразования к случаю, когда

 

 

 

заданы только характеристики участ­

 

 

 

ков транспортной сети. Это возмож­

 

 

 

но только тогда, когда транспорт­

 

 

 

ной сети можно соотнести ориенти­

 

 

 

рованный граф 6 ' ( w ,U). Считаем,

 

 

 

что время пребывания в пункте и

Рис.18. Сеть до преоб­

вероятность его

потери не зависят

разования

 

от количества груза.

 

 

 

 

Преобразование заключается в следующем. Для ориентирован­

ного графа

 

Построится эквивалентный граф G (W* и*) следую­

щим образом

[б ]. Каждому узлу иге W поставим в

соответствие

два узла иг‘и ш Л

Если дуга (иг, ц )

U (це WJ»

то

U *

и

(иг] urf)eU*

а

если ( q*, ьу)<ьУ, то (ц1, ш 1)е U* для каждого

узла ureW . Тогда время прохождения грузом дуги (ш[ ш ) соста-

В И Т

~

С р = t ( u r , q )

На рис. 18 изображена часть транспортной сети до преобра­

зования, а

на рис.19 -

после преобразования.

Аналогично соотносятся заданные вероятности потери груза

в исходном

и преобразованном графах. Однако заметим еще раз,

что подобное преобразование проводилось, когда исходной транс­ портной сети можно соотнести ориентированный граф. В общем слу­ чае для практических задач нет необходимости проводить такое преобразование. Так, если от пункта 10 до пункта j 0 маршрут

122

есть

последовательность

участков ui0iluiji2- -ui

j 0> т0

вРемя

прохождения этого маршрута составит

 

 

 

 

h 0i =

ц

P = о

P

 

 

 

o i 0

r e ( t 0 , j 0 )

 

 

 

В пунктах

 

 

 

,

Cti

 

отправления можно учесть время погрузки t-L

= -~ г

где

/^ - фронт погрузки

(количество

транспортов,

нагружаемых

в единицу времени). Аналогично можно определить время разгруз­ ки в пунктах назначения. Такие оценки времени погрузки и раз­ грузки являются завышенными. Временем задержки в промежуточ­ ных пунктах в некоторых случаях можно пренебречь.

Если удается перечислить все элементарные пути между пунк­ тами отправления и пунктами назначения, то можно найти опти­ мальный маршрут между заданными пунктами 10 и j 0 , т .е . маршрут, вероятность потери груза на котором минимальна:

Рг

. = m in . 47 -

Т 1 Р г У г Ыв) П

Р а а

(7)

K L o t < t o J

 

 

 

 

9= о

>

 

где рг-

вероятность непотери груза

на участке г ;

 

pq -

вероятность непотери груза

в пункте ср.

 

Количество различных

путей между фиксированными пунктами

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

123

женная методика, позволяющая достаточно быстро отыскать "хоро­

ший"

маршрут,

 

 

 

 

 

 

В качестве одного из приближенных методов можно использо­

вать метод статистических испытаний, укрупненная блок-схема

которого изображена на рис.20.

 

 

 

Блок I

означает начало

цикла

 

по числу испытаний, блок 2

содер­

 

жит оператор А ,((ц ^)которы й

 

 

организует

процедуру^одучайного

 

поиска маршрута от

пункта

I

до

 

пункта j .

В блоке 3 осуществля­

 

ется

расчет

времени следования

 

по маршруту

 

Блок 4 осущест­

 

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

 

м а р ш р у т а В

блоке 5

опера-

 

 

Az(Pmin ( ( Ч ) $ ) ) шб*Р а е *

 

 

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

 

потери минимальна. Блок 6 прове­

 

ряет

конец цикла по испытаниям.

 

Данный метод позволяет

получить

 

оптимальный маршрут с

наперед

 

 

заданной вероятностно.

Время

 

 

счета определяется числом испы­

 

таний.

 

 

 

 

 

 

 

Если в

качестве оптимальных

 

путей принять кратчайшие,

то

 

 

можно воспользоваться методом

 

 

Форда [2 ].

Сущность алгоритма

 

 

нахождения кратчайшего пути за­

 

ключается в

следующем [7 ].

Счи­

 

тается заданным граф G(W, U )7

Рис.20. Укрупненная блок-

соответствующий транспортной се­

ти,

связывающей между

собой пунк­

схема машинного алгоритма

отыскания оптимального

ты отправления, назначения и про­

маршрута методом стати­

межуточные пункты. Для каждого

стических испытаний

 

ребра (участка сети) ие U

задана длина соответствующая сред-

нему времени пробега участка

t ц ,

 

 

Временем пребывания груза в узлах пренебрегаем. Каждому

пункту присваивается некоторый индекс

Л р ( р = I , 2 f . . . , / 77+/7t//J.

Для пункта

10 (от

которого

определяем кратчайше маршруты до

124

всех остальных) полагаем ЛРо= О, а Далее проводится процесс уточнения следующем. Для некоторого пункта к

для прочих пунктов Л = оо индексов» заключающийся в находим

 

 

( и )

 

 

 

 

1

 

 

 

Х х

=

+

Ч / с

'

I

(8)

 

 

 

гг,:

 

(Н )+ т ^ Я

I

 

где

новое

значение

индекса;

 

 

 

прежнее значение;

 

 

 

 

 

Л(^ ]- уточненное значение

индекса в пункте

к

 

Номер участка,

который приводит к понижению индекса в пунк­

те

к , запоминается.

Процесс

повторяется до тех

пор, пока

дальнейшее понижение индексов становится невозможным. Значения окончательных индексов в каждом пункте соответствуют длинам

кратчайших маршрутов от пункта 10 до всех остальных,

т .е .

Л ; = т сп

Е t r y l v) = ( T * a 0 , j 0 ) ) ,

(9)

*реМ (1о,Д)

где ц - некоторый путь, принадлежащий множеству путей, соеди­ няющих пункт L0 с пунктом I • Путь, соответствующий кратчай­ шему расстоянию, устанавливается по номерам участков, которые запоминались на последнем шаге уточнения индексов. Делается

это следующим образом.

Пусть для пункта j

запоминался уча­

сток U .По этому

участку на графе находим пункт

к

, смежный

с пункте» j • По пункту

к

находим участок

и ,

понизивший

индекс в пункте к . Процесс продолжается до тех пор, пока не

придем в пункт

Z0.

Найденная таким образом

последовательность

участков {л*= [ а р , иГУ..,^ с о с т а в и т

минимальный путь

от пункта

i 0 до пункта }

° ,

которому

соответствует вероятность потери

груза

Для оптимизации плана перевозок на множестве

кратчайших маршрутов строится матрица ||^ - ||

(Z=7,Z,.,.,/77^=7,2,...7flJ;

где

 

 

 

 

 

 

 

 

 

 

P*Ui)> если

T*h .} ± i - don,

 

R

, если T(l n > t - g o n .

125

Рассмотрим еще один вариант построения матрица 1^ц\\ • Если вероятность потери груза на некотором участке постоянна, то между двумя вершинами можно найти наиболее надежный маршрут [8]. Под надежностью маршрута имеется в виду вероятность доставки груза на этом маршруте, т . е . величина

 

d<W o)= n

( ; - p j (о^ />«,- 1) ,

 

(Ю)

 

 

U^'Lo/io)

 

 

 

 

 

 

 

где

ри - вероятность потери груза

на

участке

и .

 

 

Определить наиболее надежный путь от пункта

i 0 до пункта

jo

- это значит найти такой

путь (lorj 0) * , для которого вели­

чина

d u ° 7* o) имела бы максимальное

значение*

 

 

 

 

Отыскание

 

 

 

 

 

 

 

 

 

 

m ax

 

 

m a x

T l { 1 - p u )

 

 

 

 

 

 

(«•o ,io)

 

 

 

 

 

можно заменить нахождением максимума

 

 

 

 

 

 

 

In П О - P J = £

l n ( 1 ~p u)

 

 

 

( ID

 

 

U£(Wo)

“ e(Wo)

 

 

 

 

 

 

или минимума £

- In ( 1~pa)t где

- l n ( / - p < J ^ 0

. З д е с ь

 

we^io)

 

 

 

 

 

 

 

 

 

множество различных путей

от времени

i 0

до верши­

ны

.

 

 

 

 

 

 

 

 

 

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

значение - I n

р и и опре­

делить между пунктами б0 и j 0 путь минимальной длины, то этот

путь

будет также наиболее надежным от

пункта

i 0 до

 

пункта j 0.

Если

^

Ha минимального пути,

то е х р

 

 

j

есть максимальная надежность маршрута от пункта

10до пункта j D

 

Таким образе»!,

если вероятность потери’ груза

на

участке

постоянна, то между каждой парой пунктов

отправления и назна­

чения можно определит^ наиболее надежный маршрут и составить

матрицу

||

Л по следующему правилу:

 

 

 

 

1-

^0 »Jo)*.

, е с ли

Т*

6: i

 

 

е х р ( - L ( o^ oh)

Ч

г

 

 

 

4>><io)

i 3on

R ,

бели T *

V 3on

 

 

 

 

 

(L * ia) *

 

 

126

127

Такое построение матрицы | ( ^ | | приводит к хорошим резуль­ татам, если надежность объектов транспортной сети не зависит от времени•

Алгоритм, приведенный на блок-схеме (рис*21), позволяет находить кратчайший, наиболее надежный и наидлиннейший путь между заданными пунктами. Приведем краткое описание блок-схемы.

В блоке I оператор А 0 осуществляет ввод программы, необхо­

димых постоянных,

а также исходных данных [графа 6(W7U ),длин

участков, данных,

необходимых для вычисления P(i^) , tj доп] *

и перевод исходной информации из двоичной системы счисления в

десятичную. Елок 2 -

блок начала цикла (ВЦ) по числу пунктов

отправления.

В блоке

3 оператор

А1(Пр) осуществляет запомина­

ние регистра

адреса,

величине

присваивается значение "О",

а величине

 

значение

R (большое число). Оператор

А'г(Пр) блока 4 -фиксирует установление индексов. Блок 5 осущест­ вляет начало цикла по числу участков сети Блок 7 со­ держит логический оператор 7j(0p), который проверяет наличие перемены ориентации при уточнении оценок (индексов). Если пере­

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

бло­

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

 

 

Блок 8 осуществляет перемену направления перевозки. В бло­

ке 9 проверяется конец цикла (КЦ) по

г (по числу участков).

Оператор А3(£71})(блок II) формирует кратчайшие маршруты от

i3ad

до всех пунктов назначения. Оператор

( P(i,j)) вычисляет

ве­

роятность потери груза на маршруте (/,^) . Оператор

 

выдает на печать маршруты от 1зад до всех остальных пунктов j ,

их протяженности и вероятности потери груза. В блоке 15

опера­

тор

А 5 ( I

 

||)

вычисляет матрицы || (= - 1| , оператор

п 2(

1 М

выдает на

печать матрицу | | ^ | | .

 

 

 

Программа, составленная согласно описанному алгоритму для

ЦВМ М-20,

занимает 0472 ячейки (восьмеричная система счисле­

ния).

Настройка программы производится по трем параметрам:

 

-

номеру ячейки, с которой начинается ввод исходных дан­

ных

 

н

;

 

 

 

 

 

 

 

-

 

числу

пунктов на сети ( п = т + п + n f)

 

 

 

-

 

чисду

участков сети

N .

 

 

 

Если принять во внимание количество ячеек, которое занима­

ет программа,

стандартные

подпрограммы к поле, отведенное для

путей,

то

п

и

А/ должны удовлетворять соотношению

п + N ~ 1536.

128

Рассмотрим далее построение допустимого плана в задаче пе­ ревозок* План перевозок, удовлетворяющий условиям 1,2,3,4, на­ зывается допустимым* После построения оптимальных маршрутов и

матрицы

||^ .| допустимым является план,

удовлетворяющий усло­

виям

^

 

 

 

 

 

&0 ( 1

= /, 2

. у/77;

j — /?2 ,. . . , п ) ,

(К)

 

т

п

Х-- = a i

.

 

 

= bi

£

(13)

Построение допустимого плана можно осуществить по методу "северо-западного угла" или по методу "минимального элемента" [9] * Наиболее приемлемым (дает хорошее приближение к оптималь­ ному) является метод Фогеля, заключающийся в следующем [ю ] •

I.Составляется матрица Ч7 * число строк которой равно

т + 2 ,

а число столбцов - /7 + 2 . Первые тп элементов мат­

рицы

-

это элементы матрицы ||^£-{| ( I = 1,2,...,/77-j- = I,

2,

п ),

(ш + I)—я строка и (/7 + 1)-й столбец - разности,

процесс получения которых будет описан в следующем пункте; (/л+ 2)-я строка соответствует потребностям пунктов назначения, (/? + 2)-й столбец - наличию груза в пунктах отправления.

Таким образе»!, матрица Y имеет следующий вид;

*Г/2 *** ^/л

Д; л+г

02

^27

^22 **’

^2л Д2 Л+1

^ m j ^тг ' ’ *

п ^т п+1

0

 

+ п ^т+1 2

 

о

ь 1

ь 2 . .

 

0

0

2. Находим разности матрицы jj

сначала по строкам, а

затем по столбцам следующим образом/ Отыскиваем

= W

3; тем находим:

 

 

 

 

 

129

 

 

 

 

 

 

 

 

 

(16)

 

i i * i l

 

 

 

J-iTim

 

 

В (п+

1)-й столбец матрицы

заносим разности:

^ '< b

Sij,

=

A / n + i

5 • • • ’

 

 

(17)

%mjm= A rnn<-i ■

Аналогично заполняется (m + D -я строка.

 

 

Находим

 

 

 

 

 

 

т 1 Ф ; / } = f c V - • ■ >’ т 1 п { ^ Л

 

(18)

- К »

 

L

 

1

 

i

 

 

т М * г £ , } =

■■ 5

т .1 п { ^ п }

 

(19)

1 1сФ 1*1

 

 

 

 

 

 

В строку (/77+ I)

заносятся следующие разности:

 

7

^ /

~ А т-ы /’ •••’ $1'/7

^ п

£t"П л—

 

1 ~

L.1

 

п

i'f,n~

3.

Отыскиваем

 

 

 

 

max {А^n+J , ^m+7j}*

Находим в строке (столбце), соответствующей наибольшей разности, минимальный элемент £ — fl.

4. Определяем х,- • следующим образе»:

*00

а)

если а; >6;,

то x-L :=6j, а вместо а;о записывается

столбец j 0 вычеркивается0^

в дальнейших расчетах не участвует;

в)

если Of <6^*о л£

g

а вместо

to ставится Ъ; - а;

строка вычеркивается;

0

 

с)

если

а-. =6;

,то ос-

;• :О; = 6; э

 

 

 

L0 <Г0

L0(j 0

Lo to

 

и столбец

 

 

in

 

 

 

 

 

 

Далее переходим к повторению пунктов 2,3,4 с учетом изме­ нений, внесенных в матрицу V .

Совершив не более чем + п - I) шаг, получим допустимый план перевозок.

Допустимый план, построенный по методу Фогеля, оказывается предпочтительнее, чем допустимый план, построенный по методу "северо-западного угла" или методу "минимального элемента".

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