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

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

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

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

Добавлен: 09.04.2024

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

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

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

ПРИЛОЖЕНИЕ XIV—XV

Если t-я разность abs (t

[i]) — f min не равна нулю, то полагаем f [t] := fl

[i]

[эти значения f [t]

используются

на

(/ + 1)-м шаге]. Если

указанная

разность

равна нулю, то элемент изменил

свое

состояние. Если

для

него

f [і]]> 0 ,

то

f [i] := — 9>x (j. e. элемент восстановился), если же t [t']<[ 0, то

f [i] :=

<рх и мы

определяем

время

работы

восстановленного

элемента.

После

этого

полагаем

Т := Т

t min и

подсчитываем

количество

элементов,

которые

восстановятся.

Если г]> и — т , то система на /-м шаге отказала и г2 := 0, если же указанное усло­ вие не выполняется, то система работает и г2 := 1. Если г2 =г1 (в начале гі := 1), то система на j-u шаге не изменила своего состояния и мы снова переходим к отыска­ нию минимума для следующего шага. При этом полагаем г := 0 — условие того, что система не изменила свое состояние. Затем полагаем гі := г2 и проверяем гЗ = 1

(в начале процедуры гЗ:= 1). Если гЗ =

1, то Т — время работы системы. Полагаем

fp := Т; /в :=

0; гЗ := гЗ — 1 (подготавливаем гЗ для следующих шагов); г :=

Т := О

и выходим из

процедуры.

Если

гЗ Ф 1, то Т — время восстановления системы.

Полагаем Ів :=

Т\ fp := 0;

гЗ :=

г2> -|-

1, г := 0 и выходим из процедуры.

При

следующем обращении к процедуре все

операции повторяются.

 

 

 

 

 

Приложение

ПРИМЕР ПРОГРАММЫ

 

 

 

XV

ПОСЛЕДОВАТЕЛЬНОГО СОЕДИНЕНИЯ

 

СТАНДАРТНЫХ БЛОКОВ

Н АЗН АЧЕН И Е

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

Блок-схема программы приведена на рис. П.12.

О БО ЗН АЧЕНИЯ, ВВЕД ЕН Н Ы Е В ПРОГРАММЕ, И Е Е О СО БЕН Н О СТИ

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

п 1,

сЗІ,с41, с51

— формальные

параметры процедуры ^ п. с. в!

п2,

с32,с42, с52 — формальные

параметры процедуры ^„ен. о. д!

яЗ,

сЗЗ,с43, с53

— формальные

параметры процедуры ^ н. 0. д;

пб— число

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

соединенных

стандартных блоков;

fp, fß, dl, el, е2, kl, k2,

fVmax — формальные

параметры процедуры

 

d — постоянная, принимающая значения 0 или 1;

f [1 : пб] — время

работы

или

время

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

 

блоков;

 

 

 

 

 

 

Т 1 — время работы или время восстановления си­

 

стемы после каждого изменения ее состояния;

 

f min — минимум из

f [fj;

 

которого ока­

 

із — номер элемента,

время t для

гі,

залось минимальным;

 

 

г2, гЪ — переменные,

характеризующие содержимое

 

счетчиков.

 

 

 

 

2 3 5


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

Рис. П.12. Блок-схема программы соединения блоков

X

X)

S

іа

О

*m

X

К

XV—XIV ПРИЛОЖЕНИЯ

ПРИЛОЖЕНИЯ

Переключатель switch R2 := W1, W2,

№3 в зависимости от значения і дает

команду на переход к одной из трех

процедур 5°n. с. в,

0. д или 5 Ѵ Н. 0. д-

Переключатель switch L :— N 1,

N2 рассмотрен при описании процедуры &у .

В начале программы! d := 0, а затем d

1, так как только в этом случае внутри

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

тельности: п\, п2, пЪ, пб, сЗІ, с41, с51, с32, с42, с52, сЗЗ, с43, с53.

О ПИ САН И Е ПРОГРАММЫ

После ввода числового материала происходит первое обращение к процедуре и присвоение начальных значений параметрам. Далее при d 1 = 0 присваиваем к зна­ чение 1 и определяем моменты первых отказов каждого стандартного блока t [£], после чего полагаем d = 0 и переходим к отысканию min t [і]. Если же dl = 1, то сразу отыскиваем min t [£] и запоминаем номер £з элемента, у которого время нахождения в исследуемом состоянии оказалось минимальным. К значению Т 1 прибавляем t min.

Далее находим

t [і] := (abs (t [£]) — £min)Xsign (t [£]).

Переключатель R2 [із] в зависимости от номера направляет нас на одну из

трех процедур: ^ п. с. в. ^ н . о. д или ^»ен. о. д, в результате использования

которой

получаем значение £р или £в для соответствующего £ [із]. Таким образом,

все зна­

чения t [і] оказываются у нас подготовленными для следующего шага.

Далее проверяем состояние системы (восстанавливается она или работает) и выясняем, изменилось ли состояние по сравнению с предыдущим шагом. Если нет, то счетчик г\ подготовлен к следующему шагу, и мы переходим к отысканию мини­

мума

времени пребывания в исследуемом состоянии (т. е. начинается (/

1)-й шаг).

Если

же состояние системы изменилось, то выясняем, чем является-ГІ

после /-го

шага (временем работы или временем восстановления), и, подготовив соответственно этому гЗ для (/ + 1)-го шага, переходим к процедуре &у.

В зависимости от выполнения условий, приведенных в описании процедуры &у, или переходим к выполнению (/ + 1)-го шага, или после печати, предусмотренной в ^у, заканчиваем счет по программе.

 

Приложение

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

XVI

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

 

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

 

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

 

С ОГРАНИЧЕННЫМ ВОССТАНОВЛЕНИЕМ

 

Н А ЗН А Ч ЕН И Е

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

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

2 3 8


ПРИЛОЖЕНИЕ XVI

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

Процедура З’п. с. в.о (л> прб, сЗ, с4, с5, £р, £в, d) включает в себя: п, прб —■ переменные типа integer; d, tp, tu — переменные типа real; сЗ, с4, с5 — массивы.

Обращение к процедуре может быть записано без формальных параметров, если ввести обозначения, аналогичные принятым в описании процедуры &3П, с. „,

и,

кроме того, принять что прб — число ремонтных бригад.

г4,

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

процедуру SPn. с .в .0 необходимо описать: гі, гЗ,

р — переменные типа 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 происходит, как описано в предыдущих процедурах.

2 3 9


NO

 

I

d =

 

1

________

О

 

 

 

___________

 

I

1

__________

 

k - . =

T : = p : =

£

:

=

0; ( [

1 \ : = 9 > X

 

 

r1 : = r3 : = r4 : = 1;

 

 

г : =

1,

2,

. . . , n

 

 

t [(]

: =

&x

 

 

 

t min : =

1016

 

 

 

‘ =

1 ,2 ,......... n

 

 

 

Поиск

m in/[г]

 

 

 

T : — T

 

t min

 

 

 

 

i : —

 

 

t\

[i] : =

(abs (t [i]) — t min)

X sign (t [/])

 

 

t \

[ i ]

Ф

0

 

t[i] =

t\ [/]

 

 

 

 

 

M‘] > 0

 

 

 

 

 

 

 

0 5

>

•4

Варжапетян .

P : = p - f 1

Р г^/ф б

/2 [i] : =

t [£]

: f= — Ю6

S': = 6 + 1 ;

a [6 ]: =

i. P ■= Ю6

i:= i—j— 1

t -srn

r4 < лрб

6=pO

I1

im : = 106

t [i] : =

ZPX

P> 107

r4: = r4 — 1

0

 

* -

>

----- >

р : = р - -1

‘ = 1, 2...............

n;

t [i] < 0

 

 

i : =

1

 

 

 

1

0

1

1

 

 

 

aO : = a [i]

 

 

r2: = 1

 

r2 : =

0

 

 

 

 

 

 

 

 

 

 

 

 

12 [aO] <

tm

 

 

 

 

rl =

r2

 

 

 

 

0

1

1

 

 

 

!

о

 

 

 

 

 

 

 

 

r \: =

r2

 

 

i : =

i +

1

tm : — t2 [aO]

 

 

 

 

 

 

 

 

уОз : =

aO

 

 

r3 =

1

 

 

 

 

 

 

 

 

 

 

 

 

0

i

 

 

 

 

Ів : = Г; /р : =

Т : =

0;

/р : =

Г;

/в : = Т : = 0;

1 [/Оз]: =

12 [/Оз]

 

 

 

--->

г4 : =

г4 + 1

гЗ : = гЗ +

1

 

гЗ : = гЗ — 1

а [/Оз] : =

a [£]

 

 

 

 

 

 

 

6: = Е - 1

to

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

a

2 S

^3

§

ra

X

X

»

I V X ПРИЛОЖЕНИЕ


 

Приложение

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

хѵ Ті

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

 

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

 

С ОГРАНИЧЕННЫМ ВОССТАНОВЛЕНИЕМ

 

Н АЗН АЧЕН И Е

 

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

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

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

 

 

 

Процедура ^н.о.д.о (". ярб,

сЗ, с4, с5, tp, £в, d) включает

в себя: п, арб

переменные типа integer; d, tp,

ts — переменные типа real;

сЗ,

с4, с5 — массивы.

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

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

0.

д, и, кроме того,

принять, что лрб — число ремонтных бригад.

 

 

В программе, использующей процедуру ^Уо.д.о> необходимо описать: /Г, гЗ,

т4, р — переменные типа real;

t, t2 [1 : 2я] — массивы.

 

 

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

Аналогично процедуре ^н.о.д проверяем условие d = 1 и задаем величинам начальные значения. Далее отыскиваем 2п случайных интервалов времени t [і]. Определяем min | МП | и прибавляем его к времени Т (от одного состояния си­ стемы до другого). Для всех і := 1, . . ., 2п находим

Д [і] := (abs (t [/]) — t min) X sign (t [f ]).

Для элементов, не изменивших своего состояния, полученная разность abs (t [/]) —

t min будет являться значением t [і] на (/ -f- 1)-м шаге. Если элемент, у которого значение времени пребывания в исследуемом состоянии минимально, восстанавли­ вается, то для него находим время работы. Если элемент работал, то выясняем, имеются ли свободные ремонтные бригады. В том случае, когда их нет, запоминаем время восстановления, полученное для отказавшего элемента, а на место самого t [£] засылаем в регистр большое отрицательное число.

Когда свободные ремонтные бригады есть, устанавливаем, какая из цепочек начала восстанавливаться раньше, и для элементов этой цепочки, находящихся в очереди на восстановление, отыскиваем наименьшее время восстановления. Это значение заносим в массив t [£]. Таким образом, система будет подготовлена к сле­ дующему шагу.

Далее проверяем, есть ли хоть одна цепочка, у которой все элементы работают. Если есть, то система работает, если нет, то система восстанавливается. Затем про­ цесс осуществляется, как в процедуре 5®п,с.в.0.

2 4 2