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

книги из ГПНТБ / Голенко Д.И. Статистические модели в управлении производством

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

 

 

 

л

л

л

 

 

 

 

 

Л 7 — величины z\,

z2, z3

записываются

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

щие ячейки памяти массива ЛР'3;

(имеются

ли детали

Р& — проверяется

условие /Cj>0

в очереди к /-Й группе

оборудования);

 

 

-Р9 — проверка

условия,

имеется

ли среди

деталей,

стоящих

в

очереди

к /-Й

группе оборудования,

деталь с

 

 

А

 

 

 

 

 

 

 

 

 

номером

z2

= z2;

проверка

осуществляется

для

того, что­

бы установить,

не

было

ли

выделенное

существенное

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

Рю — проверка условия к: —1 ,(проверка производит­ ся для того, чтобы не вычислять приоритеты, если в оче­

реди стоит ровно одна партия деталей);

 

Р\х — проверка, имеются ли в очереди

детали с прио­

ритетом П = К,

где К — некоторое

очень

большое чис­

л о — приоритет

детали, вынужденно

снятой с обработки

(детали, снятые с обработки вследствие поломки станка,

считаются самыми срочными

и должны

быть при воз­

можности

поставлены

на обработку

в первую

очередь);

Р12 — выбор

из ячейки у номера

подпрограммы,

по

которой

вычисляются

приоритеты

для

данного

цикла

имитации;

 

по массиву Мзг

величины z\,

z2,

 

Ліз — определение

г3 ,

t0 для единственной детали, стоящей в очереди.

 

 

 

Л и — определение

по массиву М^3

величины zu

z2,

z3 ,

^0 для детали с максимальным

приоритетом;

 

 

 

Л is — определение

величин

приоритетов для

всех

де­

талей, стоящих

в очереди, в соответствии с номером под­

программы, указанной в ячейке у;

 

 

 

 

 

Л16 — деталь

ставится на обработку; при этом:

1)

на­

ходится

первый свободный станок:

т. е. среди

станков

 

 

 

 

 

 

 

л

 

 

группы / в Л^'з находится такой, у которого

TB^Zi

в

время освобождения станка); 2) в ячейки памяти, соот­

ветствующие

этому

станку,

заносятся

величины

Л

 

 

 

 

^ B ^ Z I - H O (новое

время

освобождения

станка),

z2, z3,

t0; 3)

в

массив

М2

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

с координатами

гі = Т"в;

z2

— z2; z3

= z 3

+ l

(в дальнейшем

вектор Z,

впер-

вые попадающий в М2 , обозначается через Z, а соответ­

ствующие координаты

І

обозначаются через z\, z2,

zs).

С17 — фиксируется

случайная

величина

простоя

дета­

ли z2 на операции

z3

(группа оборудования

/ ) , при

этом:

1) по z2 и 23 в МІ

находится

соответствующая ячейка и

 

 

 

 

 

 

 

Л

 

к ее содержимому

добавляется

величина

z\ — z^ (содер-

 

 

 

 

 

 

 

 

Л

жимое указанной

ячейки

до

занесения величины

Z\—Z\

может быть отлично от нуля

только

в том

случае,

если

деталь Z\ уже простояла

в очереди

и начала обработку,

которая затем была прервана); 2) из очереди к /-й груп­ пе оборудования (массив М ' 3 ) выбираются величины г ь

22 , z3 , *о, П;

A is — увеличивается на единицу количество свобод­ ных станков и свободных рабочих в /-й группе оборудо­

вания (массив

М * 3 ) tij—-tii+\,m.j—ynij+\.

Эти опера­

ции производятся

в связи с тем, что (см. оператор Р8) де-

Л

таль z2 окончила обработку, а других деталей, претен­ дующих в данный момент времени на обработку, в /-Й группе оборудования нет. Оператором Л[8 заканчи­ ваются все операции преобразования информации для группы оборудования, которая закончила обработку ка­ кой-нибудь детали. Дальнейшие преобразования связа­ ны с переходом к группе оборудования /, на которой вы-

 

 

Л

полняется следующая

операция

обработки детали z2;

Рід — проверяется

условие

iZ 20 (і = 20 обозначает

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

Р20 — проверяет по массиву М { 3 условия п»>0 (име­ ются ли свободные станки в ї-й группе оборудования);

Р2\

— проверка по массиву Мг '3 условия

Отг>0

(име­

ются ли свободные рабочие в і-й

группе

оборудования);

А22

— деталь

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

в очередь на обработ-

 

 

л

л

 

Л

 

 

ку, при этом: величины Zi = zu

z2 = z2, z3

= z3, t0

записы­

ваются в ту часть массива М'3 ,

которая

выделена

под

очередь к і-й группе оборудования; содержимое

счетчика

партий

деталей

в очереди увеличивается

на

единицу

КІ+І = КІ + І;

А2з— деталь становится на обработку, при этом 1) уменьшается на единицу количество свободных рабочих и станков; 2) находится первый свободный станок (т. е.

 

 

 

Л

 

 

 

 

 

 

 

 

станок, у которого

Г в < г і )

и в

соответствующие

ячейки

 

 

 

 

 

 

Л

Л

 

 

Л

 

памяти

заносятся

величины

Ть

= г\ + 10,

z2 = z2,

z3

= z3,

t0;

3) в массив М 2 заносятся

координаты ожидаемого суще­

ственного состояния

 

Л

.

Л

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Zi — TBl

z2

= z2t

г 3 = + 1 ;

 

 

 

 

 

С2 4 — обрабатывается

статистическая

информация

по простоям после окончания обработки

партий

деталей:

 

 

 

 

 

 

 

 

 

л

 

 

1) пооперационные простои детали с номером

z2

из мас­

сива М 3

разносятся по группам оборудования

 

с дополни-

 

 

 

 

 

 

 

 

 

 

 

л

тельной

разбивкой

по стоимости материала

детали

z2.

Пусть, например,

в массиве

М4 информации

 

о простоях

находится интервал,

соответствующий

простою

данной

детали на данной операции, тогда количество

попаданий

в этот интервал увеличивается

на единицу. Кроме этого,

увеличивается на единицу [«количество реализаций | случайной величины простоев» и подочитываются накап­ ливаемые суммы % и | 2 для определения после окончания

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

дисперсии;

2)

все

пооперационные простои

по

детали

л

 

 

 

 

 

 

 

 

 

 

 

 

z2 суммируются, и

суммарный простой партии ир)

об­

рабатывается

как

реализация

случайной

величины

про­

стоя

для

данной

партии, т. е.

определяются значения

STnp, SPnp, увеличиваются

на

 

единицу

общее

количе­

ство

реализаций и

количество

попаданий

в

соответству-

 

 

 

 

 

 

 

 

 

 

Л

 

 

ющий интервал; 3)

величина

Г п р

заносится

(по z2)

в мас­

сив

М5 ; 4) данные

по пооперационным

простоям

для

 

Л

 

 

 

 

 

 

 

 

 

 

 

партии 22 в массиве Af4 стираются;

 

 

 

 

Ф2 5 — определяет

следующие

параметры

для

детали

Л

 

 

 

 

 

 

 

 

 

 

 

 

г2: 1) в соответствии с заданным законом распределения количества бракованных деталей в партии вычисляется количество годных деталей и отрезок времени At, в тече­ ние которого изготовленные детали будут израсходованы. Результат заносится в массив М5; 2) по данным из М5 определяются величины А (запас в часах работы пред-

л

приятия, соответствующий точке заказа для детали г2) и длительность цикла обработки 7,0бр = 2^о;

Р26 — проверяется наличие дефицита деталей на сбор­

ке:

 

T=A-(Tnp

+ To6v)^>0

 

 

 

 

Если

Т<сО, то это означает, что к моменту

изготовления

 

 

 

 

 

 

 

 

 

партии 22 на сборке

отсутствуют

детали

и

необходимо

определить, сорван ли месячный план

производства;

А27

— определяется

очередная

точка заказа

для дета-

Л

 

 

 

 

 

 

 

 

 

ли z2,

для чего переобозначается

М5)

t3

на

t3 + At, а

 

 

 

 

л .

 

 

 

 

в М2 записывается вектор Zi — t3,z2=z2,Z3

= 0;

 

 

Ф28

— выполняет следующие операции: генерирует £—

случайную величину,

равномерно

распределенную

в ин-

 

 

 

 

 

 

 

 

Л

 

тервале [0,1]; по величине р (р определяется

по z2 из Мь)

Т (см. Р26) определяет

вероятность

срыва плана

из-за

 

 

 

 

 

1

 

 

 

 

дефицита данной детали рс=\ (1р)

16;

 

 

 

 

/>29 — проверка условия

£><рс

(сорван

ли план);

из-за

Азо — фиксируется

срыв плана и номер

детали,

отсутствия которой произошел срыв; в ячейку памяти (5 (см. массив М5 ) заносится единица и увеличивается число

срывов

плана на единицу;

 

 

 

 

Рзі — проверка условия At + T<c.O, при этом определя­

ется «глубина»

дефицита или возможность

покрытия

вновь

изготовленной партией

деталей

задолжности

по

данной детали;

 

.

л .

л •

 

А32

— в М2

записывается

вектор Zi — zuz2

= z2,z3

= 0,

обозначающий повторный запуск в производство детали,

прошедшей обработку;

в Ms переобозначается t3 на t3 +

+ At;

 

 

 

 

 

Фзз — генерируется

случайная

величина£,равномерно

распределенная

в интервале

[0,1];

 

 

Р 3 4 — проверяется условие 1>рм

(Е^Рм обозначает

наличие материала или заготовок,

необходимых для за­

пуска партии деталей

в обработку),

где величина рш оп-

Л

 

 

 

 

 

ределяется по z2

из массива

М5;

 

 

Л35 — переобозначаем в

ячейке существенных состоя-

л

л

 

 

 

 

иий величину z3 на z3+l (преобразование вызвано тем, что нулевая операция обработки — ожидание материа-

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

 

 

л

ЛI 3 6 определяется

величина

Ям по z2 из массива М5

соответствует среднему времени ожидания мате-

риала в часах);

 

 

Ф37 — определяется

случайная

величина времени ожи­

дания материала, т. е. генерируется случайная величина

/, распределенная по закону F(t)

= 1—е~ V ;

л

л

С 3 8 — в массиве МІ по z2 и z3 = 0 определяется адрес ячейки, в которую заносится величина t, полученная опе­

ратором

Ф37;

 

 

Л 3

9 в массив существенных состояний М2 записыва­

ется

вектор с координатами

z^Zx + t

(см. оператор Ф 3 7 );

л

 

.

л

 

 

z2=z2,Zz

= Zz+ 1;

л

 

/ > 4 0

проверяется условие

22 = 200

(т. е. является ли

анализируемое существенное состояние началом смены);

Л41

определяется величина / — содержимое

ячейки

а (см.

массив М 5 ) . Величина / обозначает номер

группы

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

Ф 4 2 определяет количество рабочих Ij (/ на основе Л 4 і), вышедших на смену к /-й группе оборудования (/_,-— случайная величина, распределенная по закону Бернулли

с р =

0,9);

 

Р 4

3 проверяет условие Yj= m j—nij + lj>0

[ntj—ко­

личество незанятых рабочих в прошедшей смене к момен­ ту ее окончания; trij— общее количество рабочих для рас­ сматриваемой группы оборудования в прошедшей смене);

Л 4 4 определяются

новые (для

наступившей смены)

значения trij и m3-; trij—у j, т^ = Ц;

 

 

 

Р45 — проверяется

условие / с 3 > 0

(есть ли детали

в

очереди к /-й группе оборудования). Эта проверка

необ­

ходима в связи с тем, что в закончившейся смене

детали

могли простаивать в очереди из-за отсутствия рабочего,

а

в новой смене рабочих оказалось больше, чем в предщест-

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

Я4 6 — проверка условия m j > 0

(есть ли свободные ра­

бочие);

 

Р47 — проверяется условие п ;

> 0 (есть ли свободные

станки). Если имеются детали в очереди и при этом име­

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

переда­

ется оператору Рю Для выбора соответствующей

детали

и ее обработки;

Л

 

 

Р48— проверяется условие 22^=200. Эта проверка

осу­

ществляется для того, чтобы фиксировать случай

установ­

ки детали на обработку

в связи с внутренним переходом

детали с одной операции обработки на другую;

 

 

А 4 9

— переобозначим

э- на к, — 1; т3 - на rrij1;

п3-

на

tij1

(после постановки

детали на обработку количество

деталей в очереди, количество свободных станков и сво­

бодных рабочих уменьшаются на единицу);

 

Р50— проверяется условие / < Л где

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

групп оборудования. Если / = Г, то это означает, что по всем группам оборудования установлено сменное коли­ чество рабочих, при / < Г необходимо перейти к группе оборудования с номером

Л51 — выполняет следующие операции: в ячейку а за­ сылается единица. Это делается для того, чтобы в начале

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

начался

с первой

группы; в М2

записывается вектор, координаты

которого

обозначают

существенное состояние,

связанное

л

с началом очередной смены z\ = Zi+8, z2 = 200, z 3 =0 ; со­ держимое счетчика проработанных с начала месяца смен

(ячейкаК\ из М5)

увеличивается на единицу Ci+i =

Cj+\;

А52 — проверка

условия

С < 4 4 . Условно принято,

что

месяц содержит 44

смены, поэтому условие С = 44 обозна­

чает, что месяц закончен.

Фиксация момента окончания

месяца необходима в связи с проверкой выполнения ме­ сячного плана;

Р 5 3

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

условие 6 = 0, где

б — содержимое

ячейки

р из Мъ (6 = 0 обозначает, что месячный план вы­

полнен) ;

 

 

 

Л 5 4

— в ячейку К\

засылается С—44;

в ячейку

р засы­

лается

6 = 0. Оператор А54 заканчивает

группу

операто­

ров, преобразующих

информацию в связи с началом сме­

ны;

 

 

 

 

А55 — счетчик количества месяцев, в которых план не выполнен (содержимое ячейки Ki из М 5 — увеличивается на единицу);

/І56 — содержимое ячейки / увеличивается на единицу для перехода к очередной группе оборудования;

А57 — одна из обрабатываемых партий деталей из-за отсутствия рабочего снимается с обработки и устанав­

ливается

в очередь, при этом выполняются

следующие

операции:

1) все станки группы / упорядочиваются по ве­

личине Гц, так, что станок с максимальным

Тв является

первым; 2) помечается в полученном ряду станок, у кото­

рого 7 , в < 7 , ы о д ;

3)

в ячейки массива

, отведенные под

очередь

деталей,

записывается

вектор с

 

координатами

Л

 

 

 

 

Л

 

 

 

 

 

Zi = zu

z2

= z2,

z3

= zz,

t = TB—zu

П = К,

где

величины

^2, 2з, Тв

относятся к помеченному

станку,

а

К—число,

близкое к «машинной

бесконечности»,— приоритет, при­

сваиваемый детали, снятой с обработки;

4)

в записи ра­

бот на помеченном станке переобозначается

Тв

на 2 Ь т. е.

фиксируется момент освобождения станка; 5) число де­

талей в очереди, число свободных

станков

и число сво­

бодных рабочих увеличивается на единицу: kj+l,

>ij+L

rtij+l;

 

 

 

Ф58 — генерируется случайная

величина

| , распреде­

ленная по закону 1е~х. Оператор

Ф58 является

первым

в группе операторов, имитирующих поломки и восстанов­

ления

станков;

 

 

 

 

 

А"

Л 5 9

— определяется

Г в

 

 

 

для станка с номером z3 по

 

 

 

Л

 

 

 

 

 

группе оборудования / = г 2

— 200;

 

 

 

чает,

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

условие ТВМ0Я

ВМ0Д

озна­

что существенное

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

с

выходом

станка из строя);

 

 

л

 

 

 

 

 

 

 

 

 

 

 

PSi

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

условие TB<Zy

(был ли загружен

работой станок в момент поломки);

 

 

 

Л 6 2

вычисляется

длительность

пребывания

станка

в ремонте At = \ 2 l , где Х2

 

 

Л

 

 

определяется по / и z3 из масси­

ва М5; а |

определяется

оператором

Ф58; далее

в Мг за­

писывается

вектор, характеризующий

момент

восстанов-

Л

л

-

л

 

ления станка: zx = Zi + At, z2

= z2,

23 = 23 ;

наконец, пере­

обозначаются в массиве М /

величины

Тв

на ГМод и щ на

п-1. Присвоение величине Тв 'значения Г м о д

вместо zx =

Л

было отли­

^--Zi+At необходимо для того, чтобы можно

чить ситуацию, характеризующую выход станка из строя, от его восстановления;

А63

обрабатываемая

на

помеченном станке деталь

в связи

с выходом станка

из

строя снимается с обработ­

ки и устанавливается в очередь; для этого необходимо

произвести следующие операции:

1) в очередь к /-й груи-

 

 

 

 

 

 

 

л

 

л

 

л

 

пе

записываются

величины

Z\—Z\,

z2

= z2,

z3

= z3,

t —

 

Л

 

 

 

 

 

 

 

 

 

 

 

=

ГВ Z|, Yi = K; 2)

вычисляется

A = X2l

(по

аналогии с

оператором Л6 г); 3)

в N[2 записывается

 

л

 

.

л

Z\ = Z\+At,

z2 =

z2,

л

 

 

 

 

 

 

М 3 величины

 

2з—23;

4) переобозначаются

в

массиве

Тв

на 7"м о д

и ntj на m,— 1;

 

 

 

 

 

 

 

 

 

 

Ам

определяются

новые

значения

параметров

/-й

группы станков, связанных с моментом

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

одного

из станков данной группы, для

чего

вычисляется

 

 

 

 

 

 

л

 

 

л

.

л

 

At = ki%;

в М 2 записывается

z\=Zi+At,

z2 = z2,

z3 = z3;

пе­

реобозначаются Тв

на

z\, tij

на

rtj+1.

После

снятия

де­

тали с вышедшего из строя станка и после восстановле­ ния какого-нибудь станка (операторы А63 и Аы) управле­ ние передается на просмотр очереди. Это делается для того, чтобы иметь возможность деталь, снятую с обра­ ботки, переставить на другой станок или запустить вос­ становленное оборудование;

Л

^65 проверяется условие 22 = 200, чтобы отличить ситуацию начала обработки детали при восстановлении оборудования от случая постановки детали на обработку в начале смены;

А66

— производим замену kj на

kj1;

С 6 7

— производится обработка

статистических данных,

накопившихся в массиве М4 : 1) для каждой детали рас­ считываются величины математического ожидания t и дисперсии о2 распределения длительности цикла обра­

ботки;

2) подсчитываются

точки заказа

по формуле

d(t+kpa),

где kp — число,

зависящее от

надежности

снабжения сборки (если принять гипотезу о нормальном распределении длительности цикла обработки, то целе­ сообразно положить £ =2 — 2,5); 3) для каждой группы

оборудования в целом и раздельно по каждой подгруппе рассчитываются величины математического ожидания пролеживаний деталей в очереди к данной группе и дис­ персия этой величины; 4) выдаются на печать все вели­ чины, определенные в пп. 1, 2 и 3, и, кроме того, печата­ ются данные по количеству попаданий случайных вели­ чин из пп. 1 и 3 в заданные интервалы.

^68-—рассчитывается и печатается суммарная стои­ мость незавершенного производства, при этом Cj— ве­ личина незавершенного производства для /-й детали вычисляется по формуле

где Oj и tj определяются оператором

С67; Nj— количество

деталей в партии по /-й детали

(массив M i ) ; IIj

стои­

мость детали (массив М 5 ) ; Tj— средний интервал

време­

ни между запусками у'-й партии в

производство

(мас­

сив М 5 ) ;

 

 

 

 

Р 6 9 — проверяется условие N>Nmax

(не занижена ли

надежность выполнения плана), где величина

N — содер­

жимое ячейки Кч из М5 , Nmax

рассчитанная

заранее по

заданной надежности выполнения плана производства

верхняя грань доверительного

интервала для

N;

 

 

Л 7 0

корректируются

точки заказа

на

увеличение.

Для

этого определяется

величина

kp

= j — ^ т

а х

+ kp

и

 

 

 

 

 

 

 

 

 

ЮЛ*max

 

 

для

всех

деталей повторяется

расчет

из п. 2

 

оператора

С6 7

при kp

= kp;

 

 

 

 

 

 

 

 

 

 

Рп — проверяется

условие N<Nmin

 

 

(не завышена

ли

надежность выполнения плана), где JVmm — нижняя

грань

доверительного интервала для JV;1

 

 

 

 

 

 

 

А72

— корректируются

точки заказа

на уменьшение.

Для этого определяется величина kp

= kp

Nln

N и для

всех деталей производится перерасчет при kp = kp;

 

 

Л73 — подготовка

исходных

данных

для

повторного

счета;

 

 

 

 

 

 

 

 

 

 

 

 

Р74 — проверяется

условие

<у><Е

 

— число

про­

веряемых

правил приоритета,

< у > содержимое

ячей­

ки у в массиве М5);

Л 7 5

увеличивается содержимое ячейки у на единицу

(переход к новой подпрограмме

для вычисления приори­

тетов) ;

 

Р76

Л

 

— проверяется условие г 2

= 200;

Я77 — окончание работы алгоритма.

В общих чертах работа алгоритма сводится к следую­ щему. Оператор А\ определяет момент наступления бли­

жайшего существенного состояния, а ряд логических опе­

раторов (Р 3 , Р4, РІО) распознает

его. Каждое

существен­

ное состояние в зависимости от

его характера

вызывает

необходимость проведения определенной последователь­ ности действий, после завершения которых управление снова передается оператору А\ для определения очеред­ ного существенного состояния. Так, например, если су­ щественное состояние связано с переходом детали с од­ ной операции обработки на другую, то прежде всего определяется группа оборудования, на которой законче­ на обработка, и если к этой группе имеются детали в очереди, то производится (работает группа операторов 10—17) определение наиболее «срочной» из них и после­ дующая «загрузка» освободившегося станка этой де­ талью. После этого происходит обращение к группе обо­ рудования, на котором осуществляется последующая (в соответствии с технологическим процессом) операция обработки (работают операторы 20—23), и в зависимо­ сти от того, имеются ли свободный рабочий и свободный станок, либо какая-нибудь из этих составляющих, необ­ ходимых для производства работ, отсутствует, происхо­ дит постановка детали на обработку или в очередь. Если

существенное состояние связано с точкой заказа очеред­ ной партии деталей, то оператор Р4 передает управление оператору Ф33, который совместно с Р34 определяет на­ личие материала, необходимого для начала обработки. Если материал отсутствует, то операторами 36—39 оп­ ределяется время его ожидания и подсчитываются мо­ менты наступления существенных состояний, связанных с получением необходимого материала.

Группа операторов 24—32 осуществляет преобразо- - вания, связанные с окончанием обработки партии дета­ лей: определяется момент следующего запуска партии в обработку, происходит частичная обработка статисти­ ческой информации по пролеживаниям деталей в очере-

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