Файл: Оптимизация процессов грузовой работы..pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.04.2024

Просмотров: 225

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ПРИЛОЖЕНИЕ VI

Далее

выполняется второй

этап вычислений. Полагаем объем равным я2 : =

 

 

 

ѵ (п2)

«1 -}- 200.

Вновь

рассчитываем

частоты — — — , затем берем объемы яЗ, я4 и т. д.

до тех пор,

пока

не выполнится

условие

 

(nk)

ѵ(пк-\)

 

і_______ JT______

 

nk

 

(П .14)

 

Ilk — 1

Одновременно с получением гистограммы определяется суммарное время работы

системы

^ ( с, а также ^ t\, £

^

t\.

После выполнения условия (П.14) А

nk, х0 выводится на печать и осуще­

ствляется

переход на вторую метку переключателя.

 

Приложение

П Р О Ц Е Д У Р А

V I

П О Л У Ч Е Н И Я

 

В С Е Х П У Т Е Й Г Р А Ф А

 

Н АЗНАЧЕНИ Е

Процедура составлена для нахождения всех путей графа от начальной вер­

шины до конечной. Процедура составлена так, что все найденные пути запоминаются. Блок-схема процедуры приведена на рис. П.З.

О Б Р А Щ ЕН И Е К П РО Ц ЕДУРЕ

Процедура 5° (q, п,

т , он, ак, а і, а2, с 1, с2) включает в себя: q, п,

пг,

ан, ак

переменные типа integer; c l,

с2 — массивы; а і, а2 — массивы типа integer.

 

Пусть в

основной

программе:

 

 

 

q — число вершин, входящих в самый длинный путь, уменьшенное на

 

 

единицу;

 

 

 

 

п — исходное число дуг;

 

 

 

т — суммарное число вершин, входящих во все пути;

 

 

 

ан— 1 — начальная

вершина графа и всех путей;

 

 

 

ак — конечная вершина всех путей;

 

 

аі

[1 : я ]

— все входы дуг графа;

 

 

а2

[1 : я ]

— все выходы дуг графа;

 

 

cl

[1 : т ]

— массив для записи вершин всех путей графа;

 

 

с2

[1 : т ]

— массив

для

записи номеров мест вершин в массивах

аі

и а2.

Тогда обращение к процедуре может быть записано без формальных параметров.

2 0 7


to

о

00

>

Варжапетян .

ю

о

Р ис. П . 3 . Блок-схема процедуры

со

ЕНИЯ ПРИЛОЖ

VI ЕНИЕ ПРИЛОЖ


ПРИЛОЖЕНИЯ

О ПИ САНИ Е ПРОЦЕДУРЫ

 

Граф задается дугами, записываемыми с помощью определенных выше массивов

с і,

с2,

 

а і,

а2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П е р в ы й

э т а п .

Началу всех путей ан =

 

1 (в массиве сі)

при условии, что

сі

[1]

:

=

1,

 

всегда

соответствует с2

[1]

: =

0. Далее, если сі

[2]

: =

о2

[1], то

с2

[2]

: =

1.

Если

сі

[3] : =

а2

[/], то с2

[3]

:

=

/

и т. д. Затем среди аі ищем

вход,

который

совпадает с выходом, записанным

в сі

[2]. Когда он найден, то:

 

1) запоминаем

его

номер j : — ja

: —

j (первый

раз);

 

 

 

 

 

 

2)

 

а2 [/] записываем

в сі

[3], а в с2 [3] записываем номер /

найденных аі и а2.

 

Теперь среди аі отыскиваем вход, который совпадает с последним из найденных

сі и т. д. до тех пор,

пока вновь найденное сі не будет совпадать с ак.

 

 

 

Ищем

новый

путь.

Снова

сі [А]

: =

1,

с2

[ft]

: = 0, cl

[ft -)-

1 ]

: =

о2 [1 ],

с2

[ft +

1 ] :

=

1,

и

далее

в

а і

ищем,

начиная

с

аі

[уз -)- 1],

вход,

совпадающий

с cl [ft +

1 ],

и т. д .,

пока

не найдем все пути, имеющие первыми двумя

вершинами

аі

[1] и а2 [1]. Так ж е ищем все пути, имеющие первыми двумя вершинами а і [2]

и а2 [2] и т. д. Когда дойдем до такой пары аі

[s]

и а2 [s], что а і

[s ] =

ан, то в сі

после очередного пути заносим признак конца первого этапа — 1,

а в соответствую­

щие с2 заносим п +

1, где п — номер

последней дуги

графа.

 

 

 

 

 

 

В т о р о й

э т а п .

Берем первые три вершины первого пути и ищем среди а 1

вход, совпадающий с сі

[3], но такой, чтобы соответствующее ему а2 было отлично

от сі

[4],

и далее продолжаем вычисления, как на первом этапе.

 

 

 

 

После того как все отвечающие указанному условию пути исчерпаны, в сі зано­

сим признак конца второго этапа —2 и после проверки выполнения условия г2 < [ q

(г2 — счетчик)

можно

переходить к следующему этапу.

Т р е т и й

э т а п .

Берем четыре вершины и поступаем так ж е, как на предыду­

щих этапах. При выполнении условия г2^> q в сі заносим после последней вершины

0.1 — конец всех путей. Затем осуществляем выход из процедуры.

П Р О Ц Е Д У Р А П О Л У Ч Е Н И Я Х А Р А К Т Е Р И С Т И К Н А Д Е Ж Н О С Т И

В О С С Т А Н А В Л И В А Е М Ы Х С И С Т Е М П О Р Е А Л И З А Ц И Я М А Л Ь Т Е Р Н И Р У Ю Щ Е Й

П О С Л Е Д О В А Т Е Л Ь Н О С Т И (С Р Е Д Н И Е Д А Н Н Ы Е )

Н А ЗН АЧЕН И Е

Приложение

Ѵ И

Процедура

служит для получения среднего

времени работы, среднего времени

восстановления

и коэффициента готовности по

формулам:

Е *.і

і=і

где tp — случайное время работы; N

— число реализаций;

tB — случайное время

восстановления; Т ср~— среднее время

работы; tcp — среднее

время восстановления;

ftp — коэффициент готовности.

 

 

Блок-схема процедуры приведена

на рис. П .4.

 

210


ПРИЛОЖЕНИЕ V II

Рис. П .4 . Блок-схема процедуры ^ у .

14*

21 1

ПРИЛОЖЕНИЯ

О Б РА Щ ЕН И Е К П РО Ц ЕД УРЕ И ЕЕ О СО БЕН НО СТИ

Процедура

(<р,

fa,

d, e l, s2, k\, k.2,

N max)

включает

в себя:

k2 — пере­

менную типа integer; tp, te, d,

e l,

E2, k\, Wmax — переменные типа real.

Обращение к процедуре может быть записано и без формальных параметров,

если в основной программе ввести следующие обозначения:

 

 

tp — случайное

время

работы;

 

 

 

 

/в — случайное

время

восстановления;

 

 

 

d — постоянная,

принимающая значение

0 или 1;

 

 

е I, е2 — погрешности;

 

 

 

 

 

 

 

k l , k2 — постоянные;

 

 

 

 

 

 

 

Лішах — число, которое ограничивает

количество реализаций.

 

Среди указанных обозначений

tp, fa, e l,

е2, Al,

Лішах — входные

параметры;

k2, d — выходные параметры.

 

 

 

 

 

 

Процедура

имеет

следующие

особенности:

 

 

 

1. При первом обращении к процедуре надо положить А1 =

0, в результате чего

величинам присваиваются начальные значения, а для дальнейшего счета надо поло­

жить

k\

Ф 6.

 

 

 

 

 

2.

В

программе,

где используется

процедура

^ у, необходимо

описать Тра,

Тва , Т р \а , Т в і а , N a ,

іа, j a — переменные типа real.

 

3.

В

программе,

где используется

процедура

необходимо

предусмотреть

переключатель с двумя метками

 

 

 

 

 

 

 

switch L1

: =

N1, N2,

 

 

где N1 : процедура получения <р ів\ â°y;

go to L\

[A2];

 

N2 : продолжение

программы.

 

 

 

 

4.

Процедура

построена так, что при первом обращении к процедуре полу­

чения ф

и /в должно обязательно получаться только время работы, при втором обра­

щении — только время восстановления и т. д ., т. е. при нечетном обращении должно получаться время работы, а при четном — время восстановления.

5.

В процедуре & у введена постоянная d, которая после первого обращения к ^ у

имеет значение 1, а потом все время равна 0 (так ж е, как и в процедуре

п, в опи­

сании

которой этот вопрос изложен подробно).

 

6.

Процедура & у выдает на печать следующие числа: первое — среднее время

работы; второе — среднее время восстановления; третье — коэффициент готовности; четвертое — количество реализации.

Если ж е количество реализаций N больше или равно ІѴтах, а приводимое ниже

условие (П .15) не выполнено, то будут печататься следующие числа: первое — сред­ нее время работы за N реализаций; второе — среднее время восстановления за N реализаций; третье — среднее время работы за N — 100 реализаций.

ОПИ САН И Е ПРО ЦЕДУРЫ

Вначале программы проводим 200 реализаций, т. е. 200 раз обращаемся к блоку получения случайного времени работы и случайного времени восстановления, в ре­ зультате чего получаем суммарное время работы и суммарное время восстановления

100 100

Т р 1 в = 2 / Р /, 7 b l f l = . j * B t -

І — 1

1=1

затем проводим еще 200 реализаций и получаем

200

200

Т р 2 а = ^ tpi, Т'в2а =

/•

(=i

i=i

212


ПРИЛОЖЕНИЕ VIII

После этого проверяем выполнение условий

|(Г р 1а — Т р 2 а ) І Т р \ а \ ^ . e l и | (Т віа — Гв2а)/Гв1а

е2.

(П .15)

Если хотя бы одно неравенство не выполняется, то проводим еще 200 реализаций и опять делаем проверку и т. д ., пока условие (П.15) не выполнится. Если условие (П.15) выполняется, то выводим на печать среднее время работы, восстановления, коэффициент готовности и количество реализаций. Если ж е условие (П .15) не выпол­ няется, а количество реализаций N больше N m ax, то выводятся на печать среднее время работы и среднее время восстановления за N реализаций и за /V — 100 реали­

заций.

 

Приложение

П Р О Ц Е Д У Р А П О Л У Ч Е Н И Я

Ѵ Ш

Х А Р А К Т Е Р И С Т И К Н А Д Е Ж Н О С Т И

 

В О С С Т А Н А В Л И В А Е М Ы Х С И С Т Е М

 

ПО Р Е А Л И З А Ц И Я М

АЛ Ь Т Е Р Н И Р У Ю Щ Е Й П О С Л Е Д О В А Т Е Л Ь Н О С Т И

(Д А Н Н Ы Е Н Е С Т А Ц И О Н А Р Н О Г О П Е Р И О Д А )

Н А ЗН А Ч ЕН И Е

Процедура была составлена для получения коэффициента kr (t{) в заданные мо­

менты времени по формуле

 

М М =

Р (и 6 [Т2Л-1> т 2п])

( і = 1,

2, . . ., L)

и

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

функционирования

системы

на заданном интервале (t,

t

-|- Д t):

 

 

 

 

P ( t , t -|- A i ) = Р (т; ё

и , і + Ы ] ) ,

где

 

 

 

т 2к — т 2 * - 1 4 “ М б т 2 *+ 1 — ТЧ - М + 1 (k — 1 , 2 , . . . );

т0 = 0; тг = /рг;

М— случайные времена работы; /в*>— случайные времена восстановления. Блок-схема процедуры представлена на рис. П .5.

ОБРА Щ ЕН И Е К ПРО Ц ЕД УРЕ И ЕЕ О СО БЕН НО СТИ

Процедура 0>н. п (ф , (в, d, бв, k l , k2,

ТО,

te,

Ate, T ie , M ш ах,

L , Д)

вклю­

чает в себя k2 —

переменную типа integer;

ф , ts, d,

k\, ТО, /в, Дйз, М

max, L, Д —

переменные типа

real; бв, Т і в — массивы типа

real.

 

 

 

Среди указанных обозначений k2, d — выходные параметры, а остальные

пара­

метры входные.

 

 

 

 

 

 

Пусть в основной программе:

 

 

 

 

 

ф— случайное время работы;

Ф— случайное время восстановления;

d

число, равное 1 или 0;

kl , k2

постоянные;

2 1 3