ПРИЛОЖЕНИЕ XVI
ОБРАЩЕНИЕ К ПРОЦЕДУРЕ
Процедура З’п. с. в.о (л> прб, сЗ, с4, с5, £р, £в, d) включает в себя: п, прб —■ переменные типа integer; d, tp, tu — переменные типа real; сЗ, с4, с5 — массивы.
Обращение к процедуре может быть записано без формальных параметров, если ввести обозначения, аналогичные принятым в описании процедуры &3П, с. „,
и, |
кроме того, принять что прб — число ремонтных бригад. |
|
В программе, использующей |
процедуру SPn . с .в .0 необходимо описать: гі, гЗ, |
г4, |
р — переменные типа real; £, |
t2 [1 : n] — массивы. |
ОПИСАНИЕ ПРОЦЕДУРЫ
Начало процедуры & п, с. в .0 совпадает с началом процедуры с. в. После
нахождения min 1£ [t]| и прибавления его к Т поступаем следующим образом: для всех і находим
<1 [і] |
:= (abs (£ [i]) — £m in)xsign |
(I [£]). |
Для всех элементов, |
кроме отказавшего, после /-го |
шага £ [г] := £1 [£]. Эле |
мент, у которого время пребывания в исследуемом состоянии оказалось минималь ным, изменил свое состояние. Если он восстанавливался, то восстановление закон чено и для него определяем время работы. Если он работал, то нужно проверить, имеются ли свободные ремонтные бригады. Если они есть, то для отказавшего эле мента находим время восстановления; если нет, то время восстановления этого эле мента запоминаем, а на его место заносим в регистр большое отрицательное число. В этом случае считаем, что система отказала на у-м шаге, и переходим к проверке изменения состояния системы.
На (у -1- 1)-м шаге снова ищем пребывание системы в исследуемом состоянии.
Если минимальное время оказалось у работавшего элемента и свободных ремонтных бригад нет, то, как и на у-м шаге, определяем для этого элемента время восстановле ния, запоминаем его, а на его место заносим в регистр большое отрицательное число. Система при этом продолжает оставаться в состоянии отказа. В том случае, когда свободные бригады есть, отыскиваем элемент, у которого время восстановления минимально, и приписываем ему ранее вычисленное и хранящееся в ячейках памяти значение времени восстановления. Для остальных элементов £ [£] :== £1 [£]. Система в этом случае также находится в состоянии отказа.
Если минимальное время оказалось у ранее восстанавливавшегося элемента, то ищем для него время работы (для остальных элементов £ [£] := £1 [£]) и прове ряем для всех і : = 1...........п, имеются ли элементы, находящиеся в состоянии
восстановления. Если их нет — система работает, если они есть — система восста навливается. Проверяем, изменила ли система свое состояние по сравнению с пре
дыдущим шагом. Если да, то получаем соответственно значения £р := Т или £в := |
Т . |
Если нет, то |
переходим к отысканию min |£ |
[£]| и т. д., т. е. выполняем (у -f- 1)-й |
шаг. При этом процедура подготовлена к последующему обращению к ней (Т := |
О |
и т. д.). |
по d происходит, как описано |
в предыдущих процедурах. |
|
Проверка |
|