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

книги из ГПНТБ / Оптимизация процессов грузовой работы

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

 

 

 

 

ПРИЛОЖЕНИЕ IX

 

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

 

(взятое с запасом);

аі, а2

1 ) •— ориентировочное число путей

[1 : я] — массивы для записи входных и выходных дуг графа;

сі

[1 : т] — массивы для

записи

путей графа;

 

сЗ — массив для записи параметров законов распределения времени

 

работы;

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

с4 [1 ; я ] — массив для

с5 [я +

работы;

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

1 :2я] — массив для

 

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

в начале

каждой реализации равна 1,

 

<1—-постоянная,

которая

 

а внутри реализаций

равна 0.

в, необходимо, кроме того,

В программе, в которой используется процедура

описать: гі, г2, гЗ —-переменные типа real, характеризующие содержимое счетчи­

ков; t

[1 : я] — массив, содержащий случайные времена работы.

До использования в программе процедуры

в необходимо обратиться к про­

цедуре

После этого в массиве cl [1 : яі] оказываются записанными все пути графа.

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

Вначале процедуры осуществляем присваивание величинам начальных значе­ ний. Затем в случае начала новой реализации (при d = 1) полагаем содержимое счетчиков равным нулю и после первого обращения к процедуре-функции 3>х полу­ чаем случайные интервалы времени t [і] для всех дуг графа. После этого, подгото­ вив соответствующие величины, переходим к поиску min (t [t ]). К этому же мы при­ ходим от начала процедуры в случае продолжения старой реализации (при d =4= 1). Устройство, описываемое дугой, которой соответствует t min, на у'-м шаге изменило

свое состояние. Если оно до этого работало, то для него ищем время восстановления, если же восстанавливалось, то ищем время работы, причем для удобства программи­ рования время восстановления записываем со знаком минус. Остальные устройства своего состояния не изменили, и соответствующие им интервалы времени на ('/ -)-1)-м шаге будут:

t\ [і] : = (abs (t [i]) — t min) X sign (t [i]).

Среди i = 1..........it фиксируем номера тех дуг, которые соответствуют устрой­

ствам, находящимся в процессе восстановления. После этого все пути графа прове­ ряем, выясняя, входит ли в них каждая из дуг, соответствующих восстанавливаю­ щимся устройствам, или нет. Если есть хоть один путь, где устройства работают, то система считается работоспособной и t min прибавляется к <р (в противном слу­ чае система считается отказавшей и /в : = /в -|- / min). После этого проверяем, изменила ли система свое состояние по сравнению с предыдущим шагом. Если нет, то переходим к поиску очередного t min; если да, то обращаемся к началу процедуры соответственно со значением либо ф, либо fe. При последующих обращениях к про­ цедуре процесс повторяется.

NO

00

Ю

 

 

I—*

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

в,

CO

ПРИЛОЖЕНИЯ

IX ПРИЛОЖЕНИЕ

 

Приложение

МОДЕЛИРУЮЩИЙ АЛГОРИТМ ПОВЕДЕНИЯ

X

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

 

В ПРОЦЕССЕ ПЛАВАНИЯ

 

С УЧЕТОМ ПРОФИЛАКТИКИ

 

При составлении блок-схемы данного алгоритма учитывается, что для получения исходных данных и обработки конечных результатов используются процедуры, рас­ смотренные в предыдущих приложениях. Процесс функционирования системы был описан в гл. 5 и поэтому здесь не рассматривается.

Характер работы алгоритма учитывает специфику функционирования системы, обусловленную формой языка определений (блок-схемы надежности). Некоторые моменты, не определяемые структурой системы, а именно наличие или отсутствие профилактики, объем ЗИПа и т. п., предусматриваются самим алгоритмом.

Дадим определения переменных и обозначений,

вводимых

в блок-схему алго­

ритма:

 

коэффициентов

значимости;

 

 

 

(Й £)— массив

 

 

систем;

доп ■— допустимый предел

снижения качества для многозначных

т3 — количество блоков в ЗИПе;

 

 

 

тр — количество

резервных блоков;

 

 

 

М — число

имеющихся

 

ремонтников;

 

 

 

R\ — признак

наличия

избыточности в системе;

 

 

Rn — признак

необходимости

проведения

профилактики;

 

г — число срывов;

работы системы;

 

 

 

Гс — случайное

время

 

работать

система;

Гр — интервал

времени,

в течение которого должна

Гдоп — допустимое

время

простоя системы во время сеанса работы;

іі

— случайное

время

исправной работы і-го блока;

 

 

іср — время

работы до

срыва функционирования;

 

 

ів,- — время

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

і-го блока;

 

 

 

t3[

■— время замены і-го блока;

 

 

 

tpi

— случайное время исправной работы резервного устройства і-го блока;

і0св / — случайное время освобождения /-го ремонтника, т. е. время от начала

 

восстановления і-го блока до начала восстановления (і -ф- 1)-го блока;

& — процедура

нахождения

путей в графе (приложение VI);

 

0>у — процедура получения характеристик надежности

восстанавливаемых

 

систем

(приложение VII);

 

 

 

0>х — процедура моделирования случайных чисел с произвольным законом распределения (приложение IV);

И— признак многозначной системы;

О— признак однозначности системы;

С— признак наличия структурной избыточности; (а ,-)— массив признаков отказавших блоков;

Дп — длительность профилактических работ; X — параметр потока отказов;

р.і — параметр

потока

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

в рабочем

цикле;

р. 2 — параметр

потока

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

в цикле

профилактики;

тож — время ожидания начала профилактики;

 

т„р — время простоя

системы, включая

профилактику.

На рис. П.7 приведены

следующие операторы *.

 

* С целью упрощения блок-схемы алгоритма на рисунке не показан ряд масси­ вов и признаков, которые входят в программу моделирования.

2 2 0

ПРИЛОЖЕНИЕ X

Операторы 1, 2, 8, 32, 35, 40, 54 — процедура &>х, позволяющие получать серию или одиночное случайное число по требуемому закону в нужные моменты про­ хождения программы.

Операторы 3, 5, 43 — логические операторы, осуществляющие набор необхо­ димого количества чисел, среди которых ведется поиск.

Оператор 7 используется при необходимости нахождения путей графа (проце­ дура &).

Оператор 12 осуществляет последовательное отыскание минимальных времен среди набора чисел в ходе одной реализации.

Оператор 15 проверяет логическое условие min /, <[ 0.

Операторы 16, 20 проверяют принадлежность выбранного случайного времен­ ного интервала заданному отрезку [О, Тр].

Оператор 26 характеризует степень избыточности системы.

Операторы 27, 36, 37 — признаки логических ветвей, характеризующих избы­ точность системы.

Операторы 30, 45 проверяют наличие свободных ремонтников.

Операторы 31, 46 проверяют принадлежность выбранного момента времени освобождения к интервалу [О, Т].

Оператор 47 проверяет логическое условие возможности восстановления за сеанс работы.

Оператор 48 проверяет условие возможности окончания профилактики за время Тр.

Оператор 52 проверяет логическое условие наличия і блоков в ЗИПе. Оператор 49 формирует времена т0ж, тпр и передает блокам, реализующим

процедуру <?у.

Операторы 4, 53 изменяют признак наличия і блоков в ЗИПе на единицу. Оператор 55 формирует новое число с учетом восстановления.

Оператор 38 проверяет логическое условие наличия у і-го блока резервных устройств.

Оператор 39 изменяет признак наличия резерва у t-го блока на единицу. Оператор 41 формирует новое число с учетом включения резервного уст­

ройства.

Оператор 28 проверяет логическое условие функционирования системы с пока­ зателем качества выше допустимого предела.

Оператор 22 формирует массив признаков отказавших блоков. Оператор 17 образует число, дополняющее до машинной единицы.

Оператор 29 определяет число срывов функционирования за время сеанса. Оператор 33 формирует число, соответствующее времени работы блока с мак­

симальным коэффициентом значимости.

Оператор 34 формирует новое случайное время работы і-го блока вместо ма­ шинной единицы в регистре і-го блока.

Оператор 42 формирует время освобождения ремонтника. Оператор 9 формирует новое случайное время восстановления.

Оператор 21 проверяет логическое условие необходимости проведения профи­ лактики.

Оператор 23 — ключ, характеризующий дисциплину проведения профилактики. Оператор 24 размещает блоки по степеням убывания коэффициентов значи­

мости. ■' Оператор 25 проверяет наличие ЗИПа у выбранных блоков.

Операторы 6, 44 формируют минимальное время освобождения ремонтников при проведении профилактики..

Операторы 13, 56 формируют суммарное время, затрачиваемое на замену і-го блока.

Оператор 51 формирует время, затрачиваемое на замену блока с меньшим коэффициентом значимости.

Оператор 57 определяет наличие вновь выбранного блока в ЗИПе. Оператор 18 проверяет наличие ЗИПа у всех отказавших блоков.

Оператор 11 определяет полученное после профилактики суммарное значение коэффициента значимости.

2 2 1

ПРИЛОЖЕНИЕ X

ПРИЛОЖЕНИЯ

|К ^у

Рис. П.7. Блок-схема

Моделирующего алгоритма,

2 2 2

223

 

ПРИЛОЖЕНИЯ

Оператор 14 проверяет логическое условие возможности включения системы после окончания профилактики в рабочий режим.

Оператор 19 проверяет логическое условие соответствия числа замен числу отказавших блоков.

Рассмотрим работу алгоритма.

В начальный момент времени t = 0 все блоки системы считаются новыми.

С помощью процедуры ЗРХ (оператор 1 — см. приложение IV) вырабатываются случайные времена исправной работы для всех основных блоков системы в соот­ ветствии с их законами распределения (оператор 3) и с помощью процедуры & (опе­ ратор 7 — см. приложение VI) в случае представления системы графом опреде­ ляется связность путей, после чего все числа передаются оператору 12, с которого начинается моделирование процесса функционирования в рабочем режиме одно­ значной либо многозначной системы, в соответствии с вариантами, рассмотренными в § 5.5. Если система описывается не графом, а другими способами, то управление с оператора 3 передается на оператор 12, минуя процедуру #*.

Оператор 12 выбирает ближайший момент изменения состояния блоков min ft-, где і = 1, 2, . . ., N {N — число блоков в системе). Так же как в приложениях VII—IX, будем считать, что время исправной работы берется со знаком плюс, а время восстановления со знаком минус. Если min /,• выбирается с признаком «отказ» (ветвь 0 логического оператора 15), то после этого проверяется, принадле­ жит ли минимальный интервал (оператор 20) заданному периоду времени работы [О, Г].

Если это условие не выполняется, то вся реализация считается положитель­ ной и время работы системы используется либо для формирования гистограммы, либо просто для учета числа реализаций с профилактикой (оператор 21). В случае выполнения указанного условия управление передается переключателю R і (опера­ тор 26), выбирающему одну из ветвей алгоритма в зависимости от наличия в системе избыточности и ее вида.

Рассмотрим последовательно эти ветви.

Ветвь 36, 45, 46, 47, 48, 52, 49, 53, 54, 55. В случае однозначной системы логи­ ческий оператор 45 определяет наличие ремонтников, способных восстанавливать системы. При их отсутствии случайное время работы фиксируется как время работы системы в данном сеансе. При выполнении условия М Ф 0 оператор 46 сравнивает минимальное время освобождения ремонтника с оставшимся временем рабочего цикла, т. е. проверяет условие min t0св < ta — Тр — min t[. Если это условие не выполняется, то min t0CB фиксируется как Тс\ если оно выполняется, то прове­ ряется следующее логическое условие (оператор 47), согласно которому время вос­ становления блока tB меньше допустимого времени простоя системы. При нару­ шении данного условия фиксируется срыв функционирования и tB классифици­ руется как Тс; при соблюдении условия рассматривается (оператор 48) одна из стра­ тегий [*пР] < U p], при которой момент начала профилактики выбирается до или после окончания рабочего цикла. Если профилактика начинается ранее конца рабо­ чего цикла, то проверяется наличие запасных блоков того же вида, что и отказав­ ший (оператор 52), и если их нет, то <min фиксируется как Тс. В случае начала профилактики после окончания рабочего цикла оператор 49 формирует времена ожидания и простоя системы и передает их для вычисления коэффициента готов­ ности.

Если число блоков в ЗИПе не исчерпано, то их количество уменьшается на 1 (оператор 53), определяется время исправной работы нового блока и время про­ филактики (оператор 54), отыскивается суммарное время (оператор 55), которое пере­ дается к оператору 12 для повторения цикла.

Ветвь 374L При наличии в однозначной системе структурной избыточности (резерва) вначале оператор 38 проверяет, имеются, ли резервные блоки. Если они исчерпаны, то управление передается операторам, рассмотренным в предыдущей ветви для моделирования процесса включения блоков из ЗИПа. Если имеются резервные блоки, то их число уменьшается на 1 (оператор 39), затем формируется случайное время исправной работы нового блока (оператор 40), определяется сум­ марное время (оператор 41) и управление передается на оператор 12. Следует ого­ вориться, что в том случае, когда восстановления резерва не предусмотрено, можно

- 2 2 4

ПРИЛОЖЕНИЕ X

определять общее время работы резервированной структуры и сразу отыскивать min t[.

Ветвь 27, 28, 22, 17, 2934, 42. При рассмотрении многозначной структуры фиксируется накопление отказов с учетом коэффициентов значимости (оператор 28).

При наличии структурной избыточности коэффициент значимости резервированного блока не уменьшается до отказа последнего устройства в структуре.

В том случае, когда суммарный коэффициент еще не превышает допустимое значение, фиксируются номера отказавших блоков {а;} (оператор 22), затем машин­ ный код времени этих блоков дополняется до 1 (оператор 17) и управление пере­ дается оператору 12 для дальнейшего поиска. Если суммарный коэффициент ока­

жется выше допустимого значения, фиксируется срыв функционирования (опера­ тор 29), определяется наличие ремонтника (оператор 30) и время его освобождения (оператор 31), и если ремонтник освобождается ранее конца рабочего цикла, то нахо­

дится случайное время исправной работы устройства с максимальным коэффициен­ том значимости (оператор 33). Далее суммарное время min ^ -j- | тах где 4-

соответствует блоку с максимальным коэффициентом значимости kß, засылается вместо машинной единицы в ячейку с кодом блока, и операция поиска продолжается. Одновременно формируется время освобождения ремонтника.

Теперь рассмотрим случай, когда логический оператор 15 выдает признак

«восстановление» и время восстановления не выходит за границы интервала [0, Гр] (оператор 16). В этом случае определяется момент времени очередного отказа і-го блока (оператор 8), полученное значение складывается с | min t( | (оператор 9),

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

Поскольку при моделировании конкретной системы работает только одна из рас­ смотренных ветвей алгоритма, то после окончания одной реализации фиксируется число срывов функционирования и времена работы и простоя за время рабочего цикла. Данные гистограммы обрабатываются с помощью процедуры, приведенной в приложении V. Общее число реализаций подсчитывается по одному из существую­ щих методов.

Таким образом, с помощью рассмотренного алгоритма реализуются все варианты функционирования в рабочем цикле.

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

При отсутствии профилактики (оператор 21) min tL передается на построение

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

1)замена части отказавших блоков в случае многозначной системы;

2)замена всех отказавших в рабочем цикле блоков;

3)обновление всех блоков, в том числе и неотказавших.

Если имеет место первый вариант, то после определения необходимости профи­ лактики (ключ Ян, оператор 23) происходит ранжировка по величинам коэффициента значимости (оператор 24) и проверка наличия ЗИПа у блоков с максимальными коэффициентами значимости (оператор 25). Затем вырабатываются времена замен t3

в том количестве, которое выбрано на основании заданных критериев (например, восстановление до уровня эффективности 0,8 и т. п.) (операторы 35 и 43), и минималь­ ные времена освобождения ремонтных бригад (оператор 44). После этого выясняется

принадлежность интервала времени освобождения ремонтника заданному интервалу профилактики (оператор 10). В случае, если min іосв > Дп, берется блок со сле­ дующим (меньшим) значением коэффициента значимости (оператор 51), определяется наличие блока в ЗИПе и управление передается к оператору 35. Если Дп [> min /осв,

то время замены (оператор 43) складывается с временем освобождения, при этом формируются новые значения t0св.

При втором варианте работает ветвь алгоритма, идущая через оператор 18,

который проверяет наличие ЗИПа у всех отказавших устройств, взятых в массиве [а,-]. Затем управление передается оператору 2, выполняющему те же функции, что и оператор 35. Отличие от рассмотренной уже ветви 44, 50, 56, 51, 57 состоит

15 А . Г . В а р ж а п е т я п

2 2 5

ПРИЛОЖЕНИЯ

в том, что в случае неполного проведения профилактики из суммарного коэффи­ циента значимости, равного единице, вычитается коэффициент значимости невос­ становленного блока (при аддитивных kE) либо решается одно из известных пра­ вил [10] (при неаддитивных kE) (оператор 11), а затем проверяется условие

kE доп (оператор 14). В случае выполнения этого условия ведется дальней-

І

шая проверка восстановления, в случае его невыполнения фиксируется срыв профи­ лактики и отказ системы по крайней мере на следующий сеанс работы.

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

Вся последующая обработка ведется на основе полученной статистики за N реа­

лизаций.

 

 

Приложение

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

XI

РАБОТЫ И ВРЕМЕНИ ВОССТАНОВЛЕНИЯ

 

ПРИ ПОСЛЕДОВАТЕЛЬНОМ СОЕДИНЕНИИ

 

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

 

Н А ЗН А Ч ЕН И Е

Процедура служит для получения случайного времени работы и восстановления при последовательном соединении. Блок-схема приведена на рис. П. 8.

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

 

 

 

Процедура !Р„. с. в (л, сЗ, с4, с5,

tp, /в,

d) включает в себя: я — переменную

Типа integer;

d, tp, ів — переменные

типа

real; сЗ, с4, с5 — массивы.

 

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

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

 

 

tp — время работы;

 

 

 

 

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

 

 

 

я — число последовательно соединенных элементов;

 

 

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

 

мени работы;

 

 

времени

с4 [1 : я] — массив для записи номеров законов распределения

с5 [л +

работы;

 

 

 

1 : 2л 1 — массив для записи номеров законов времени восстановления;

 

d — постоянная, которая в начале каждой реализации

равна 1,

авнутри реализаций равна 0.

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

При значении входного параметра d — 1 присваиваем величинам k и Т нуле­ вые значения и полагаем гІ:—гЗ:= 1. Далее выполняем одно обращение к процедурефункции !РХ. Затем получаем случайные интервалы времени t [і] всех элементов

* При использовании этой и последующих (см. приложения XII—XVIII) про­ цедур в одной программе целесообразно присваивать счетчикам и массивам времен индексы, соответствующие назначению процедуры. В настоящей работе эти индексы опущены,

2 2 6

ПРИЛОЖЕНИЕ XII

и отыскиваем минимальный. При d 1 сразу переходим к поиску min | I [І]|. Находим

/1 [t'] := (abs (I [I] — I min) x sign (I [t])

и прибавляем 1 min к T (время от одного состояния системы до другого). Элемент, у которого И [t ] = 0 (т. е. время его пребывания в исследуемом состоянии было минимальным), на у-м шаге изменил свое состояние. Если он работал, то находим время его восстановления и наоборот, причем для удобства программирования время восстановления записываем со знаком минус. Остальные элементы своего состояния

не меняют, и после /-го шага 1 [I] := И [і]. Если среди элементов

есть такие,

у которых І[і] < 0, то система восстанавливается.

 

Если система на у-м шаге не изменила своего состояния, то переходим к отыска­

нию минимального из полученных на у'-м шаге I [I]. Если состояние

изменилось,

то полученное к этому моменту значение Т заносим в массивы Ів либо Ір (в зависи­ мости от того, работала система до этого или восстанавливалась). Затем Т пола­ гаем равным нулю и обращаемся к началу процедуры, причем все необходимые вели­ чины оказываются подготовленными к (у + 1)-му шагу.

Таким образом, при каждом выходе из процедуры получаем или Ір, или Ів (первый раз Ір, затем эти величины чередуются). В зависимости же от d либо реали­

зация будет продолжаться (при

d =/= 1), либо будет начинаться

новая реализация

(при

d = 1).

с. в. необходимо описать г 1, гЪ — переменные

типа

В программе, использующей

real; I [1 : п] — массив, так же, как в приложении IX.

 

 

 

 

Приложение

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

ХИ

РАБОТЫ И ВРЕМЕНИ ВОССТАНОВЛЕНИЯ

 

ПРИ НАГРУЖЕННОМ

 

 

ОБЩЕМ ДУБЛИРОВАНИИ

 

 

Н А ЗН А Ч ЕН И Е

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

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

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

 

Процедура

0. д (п, сЗ, с4, с5, !р, Ів, d) включает

в себя: п — переменную

типа integer; d,

Ір, Ів — переменные типа real; сЗ, с4,

с5 — массивы.

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

Ір — время работы; Ів — время восстановления;

п — число элементов основной цепочки (резервной цепочки); сЗ — массив для записи параметров законов распределения вре­

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

15’

2 2 7

NO

NO

Oo

ПРИЛОЖЕНИЯ

I

to

 

 

to

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

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

CO

XII ПРИЛОЖЕНИЕ

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