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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



Постановка задачи

Предприятие имеет n1 цехов, производящих n1 типов блоков, т. е. каждый цех производит блоки одного типа. Интервалы выпуска блоков T1, T2, …, Tn1 -случайные. Из n1 блоков собирается одно изделие.

Перед сборкой каждый тип блоков проверяется на n11, n12,.., n1n соответствующих постах. Длительности контроля одного соответствующего блока T11, T12, …, T1n - случайные. На каждом посту бракуется q11, q12, …, q1n % блоков соответственно. Эти блоки в дальнейшем процессе сборки не участвуют и удаляются с постов контроля.

Прошедшие контроль, т. е. не забракованные блоки поступают на один из n2 пунктов сборки. На каждом пункте сборки одновременно собирается только одно изделие. Сборка начинается только тогда, когда имеются все необходимые n1 блоков различных типов. Время сборки Tc случайное.

После сборки изделие поступает на один из n3 стендов выходного контроля. На одном стенде одновременно проверяется одно изделие. Время проверки Tп случайное. По результатам проверки бракуется q2 % изделий. Причиной брака может быть от одного до q3 блоков.

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

Прошедшие стенд выходного контроля изделия поступают в отдел военной приемки. Время приемки Tпр одного изделия случайное. По результатам приемки бракуется q4 % изделий, которые направляются вновь на стенд выходного контроля и снова проверяются. Принятые военной приемкой изделия направляются на склад.

Задание на исследование:

Разработать имитационную модель функционирования предприятия.

Исследовать влияние качества изготовления блоков на количество принятых военной приемкой изделий в течение недели (42 часов).

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

Исходные данные

n1 = 3; T1 = 19; T2 = 11; T3 = 15;

n11 = 2; n12 = 2; n13 = 2; T11 = 12; T12 = 16; T13 = 21;

q11 = 0, 02; q12 = 0,03, q13 = 0,04;

n2 = 2; Tc = 22; n3 = 2; Tп = 26; q2 = 0,05;

m = 1; Pk1 = 1,0; Pбл1 = 0,33; Pбл2 = 0,33; Pюл3 = 0,33; 

Tзам1 = 12; Tзам2 = 15; Tзам3 = 12;

n4 = 2; Tпр = 18; q4 = 0.15. 

 

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

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

Первым этапом при создании имитационной модели является составление формализованного описания работы предприятия. В процессе составления описания необходимо представить работу предприятия как СМО и выявить основные ее блоки и связи между ними.

Схема работы предприятия

Представим структуру предприятия по изготовлению изделий в виде схемы, показанной ниже, на рисунке 1.

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

Исходя из структуры предприятия (рис. 1), модель должна состоять из следующих сегментов:

1. Ввод исходных данных;

2. Имитация работы цехов по изготовлению блоков;

3. Имитация работы постов контроля блоков;

4. Имитация работы пунктов сборки изделий;

5. Имитация работы стендов контроля собранных изделий;

6. Имитация работы пунктов приема изделий;

7. Имитация склада готовых изделий;

8. Имитация склада бракованных блоков;

9. Вывод результатов моделирования.

 

Рис. 1 – Предприятие как система массового обслуживания.

           

Параметры модели

Блоки и изделия в модели следует имитировать заявками со следующими полями (параметрами):

1. block - номер цеха (коды 1-3 соответственно), выпустившего блок;

2. sign1 – признак брака на постах контроля блоков и стендах контроля изделий;

3. numBlBrak1 - numBlBrak3 – признаки забракованных блоков 1-3 соответственно;

4. timeSbor – время сборки изделия (замены блоков).

5. isBraked  - признак того, что блок уже один раз был забракован.

Указанные выше поля предназначены для отслеживания технического состояния блоков и изделий, и, в зависимости от этого, прохождения их по фазам изготовления изделия.

Смысл sign1 в том, что это признак брака блока, и этой переменной со значением 1 помечается бракованный блок. Бракованное изделие имеет признак брака sign1=2.

Поле timSbor введено для удобства построения модели. В это поле заносится либо время сборки изделия из четырех блоков, либо время замены каких-либо забракованных блоков в уже собранном изделии.

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

Для обеспечения работы модели введены параметры процесса изготовления изделий из блоков, приведенные в таблице 1.

 

Таблица 1 – Параметры процесса изготовления изделий из блоков.

Название Назначение
aveTimeShop1…aveTimeShop3 Средние интервалы времени выпуска блоков1-3 цехами 1-3.
postKontr1…postKontr3 Количество постов контроля блоков1-3.
procBrakBlock1…procBrakBlock3 Проценты брака блоков 1-3 на постах контроля блоков.
kolPunSborki Количество пунктов сборки изделий.
timeSborki Среднее время сборки одного изделия.
kolStendKontr Количество стендов контроля собранных изделий.
timeKontrIzd Среднее время контроля на стенде одного собранного изделия.
procBrakIzd Процент брака собранных изделий на стендах контроля.
verBlock1 Вероятность того, что забракованным в уже собранном изделии окажется один блок.
verBlock2 Вероятность того, что забракованными в уже собранном изделии окажутся два блока.
verBlNum1…verBlNum3 Вероятности брака на стенде контроля блоков 1-3.
timeZamBlock1…timeZamBlock3 Среднее время замены (одного блока) блоков 1-3.
kolPunPriem Количество пунктов приема изделий, прошедших пункты контроля.
timePriemIzd Среднее время приема одного изделия.
procBrakPriem Процент брака изделий на пунктах приема.

 

В ходе моделирования на основе приведенных исходных данных формируется и выводится на текущее модельное время информация, представленная в таблице 2.

 

Таблица 2 – Выходная информация модели.

Название Назначение
kolIzBlock1…kolIzBlock3 Количество изготовленных блоков 1-3.
kolTestBlock1…kolTestBlock3 Количество протестированных блоков 1-3 (как исправных, так и забракованных).
brakBlock1…brakBlock3 Количество забракованных на постах контроля блоков 1-3.
gotBlock1…gotBlock3 Количество изготовленных всего готовых блоков 1-3.
ostGotBlock1…ostGotBlock3 Количество оставшихся готовых блоков 1-3.
kolSobrIzd, testSobrIzd, brakSobrIzd Количество собранных на пунктах сборки изделий, проверенных и забракованных на стендах контроля.
kolPriemIzd, brakPriemIzd Количество принятых и забракованных приемкой изделий соответственно.
zamBlock1…zamBlock3 Количество замененных блоков 1-3, забракованных на стендах контроля и пунктах приема изделий.
allBrakBlock1…allBrakBlock3 Всего забракованных блоков 1-3.
kolGotIzd Количество готовых изделий, отправленных на склад.

 

 

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

Все данные модели разделяются на входные и выходные.

Входные данные могут меняться в указанных пределах с помощью предусмотренных элементов взаимодействия с моделью («Бегунков»).

Выходные данные выводятся во время работы модели и меняются с течением модельного времени.

Ввод исходных данных

Для организации ввода исходных данных использованы элементы «Параметр» и «Бегунок» Основной палитры AnyLogic.

Значения элементов и их свойств представлены в таблице 3. Каждому параметру соответствует свой бегунок, с помощью которого можно будет в дальнейшем настраивать значения параметров в заданных рамках. Имя бегунков соответствуют названиям параметров.

 

 Таблица 3 – Элементы ввода исходных данных.

Параметр

Бегунок для параметра

Имя Тип Значение по умолчанию Минимальное значение Максимальное значение
aveTimeShop1 double 19 10 100
aveTimeShop2 double 11 10 100
aveTimeShop3 double 15 10 100
postKontr1 int 2 1 20
postKontr2 int 2 1 20
postKontr3 int 2 1 20
procBrakBlock1 double 0.02 0 0.35
procBrakBlock2 double 0.03 0 0.35
procBrakBlock3 double 0.04 0 0.35
timeTestBlock1 double 12 10 100
timeTestBlock2 double 16 10 100
timeTestBlock3 double 21 10 100
kolPunSborki int 2 1 20
timeSborki double 22 10 100
kolStendKontrIzd int 2 1 20
timeKontrIzd double 26 10 100
procBracIzd double 0.05 0 0.35
verBlock1 int 0.99 0.8 1
verBlock2 int 0.9999 0.9 1
verBlNum1 double 0.25 0 0.35
verBlNum2 double 0.25 0 0.35
verBlNum3 double 0.25 0 0.35
timeZamBlock1 double 12 10 60
timeZamBlock2 double 15 10 60
timeZamBlock3 double 12 10 60
kolPunPriem int 2 1 20
timePriemIzd double 18 15 100
procBrackPriem double 0.15 0 0.35

 

Имитация  работы цехов

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

Класс Product

Для записи и хранения параметров блоков и изделий в дополнительные поля заявок нужно создать нестандартный класс заявки - Product.

Поля Java класса, которые потребуются в дальнейшем при разработке модели:

1. int numBlock;

2. int sign1;

3. int numBlBrak1;

4. int numBlBrak2;

5. int numBlBrak3;

6. int numBlBrak4;

7. double timeSbor;

8. boolean isBraked

Логическая переменная isBraked, как уже было сказано выше, введена для того, чтобы отмечать блоки, которые были уже один раз забракованы. Ее введение предотвращает зацикливание в работе модели.

Элементы модели

Для моделирования цехов используются 3 элемента Source. Свойства каждого из элементов представлены в таблице 4.

 

Таблица 4 – Элементы Source и их свойства.

Элемент Свойства Значения свойств
Класс заявки: Заявки прибывают согласно: Количество заявок, прибывающих за один раз: Новая заявка: Действие при выходе:     Время между прибытиями: Product Времени между прибытиями 1 New Product () kolIzBlock1++; entity.numBlock = 1; entity.timeSbor= exponential(1/timeSborki); exponential(1/aveTimeShop1)
Класс заявки: Заявки прибывают согласно: Количество заявок, прибывающих за один раз: Новая заявка: Действие при выходе:   Время между прибытиями: Product Времени между прибытиями 1 New Product () kolIzgBlock2++; entity.numBlock = 2; exponential(1/aveTimeShop2)
Класс заявки: Заявки прибывают согласно: Количество заявок, прибывающих за один раз: Новая заявка: Действие при выходе:     Время между прибытиями: Product Времени между прибытиями 1 New Product () kolIzBlock3++; entity.numBlock = 3; entity.timeSbor= exponential(1/timeSborki); exponential(1/aveTimeShop 3)

Элементы модели

Для имитации работы постов контроля блоков одного типа (одного цеха) потребуются элементы:

1. queue – имитация склада изготовленных цехом блоков;

2. delay – имитация времени тестирования блока;

3. selectOutPut – имитация процесса браковки блоков.

Свойства каждого из элементов представлены в таблице 5.

 

Таблица 5 – Элементы постов контроля и их свойства.

Элемент Свойства Значения свойств
Класс заявки: Вместимость: Product Максимальная
Класс заявки: Время задержки:   Вместимость: Действие при выходе: Product exponential(1/get_Main(). timeTestBlock1(\2\3)) get_Main().postKontr1(\2\3) get_Main().kolTestBlock1++;
Выход true выбирается: Вероятность [0-1]: Действие при выходе (true):   Действие при выходе (false):   С заданной вероятностью 1-get_Main().procBrakBlock1(\2\3) get_Main().gotBlock1(\2\3)++; get_Main().brackBlock1(\2\3)++; entity.sign1 = 1; entity.numBLBrak1(\2\3) = 1;

 

В результате моделирования была получена схема, представленная на рисунке 3.

Рис. 3 – Смоделированные посты контроля блоков.

 

Элементы модели

Сборка изделия начинается тогда, когда будут готовы три блока(по одному каждого из трех типов). Полагаем, что время готовности блоков различное. Значит, нужно воспользоваться такими элементами AnyLogic, которые предназначены для синхронизации движения заявок (в данном случае блоков). Элементы класса Match предназначены именно для синхронизации движения двух заявок.

После готовности трех блоков для дальнейшей имитации процесса сборки нужно эти три заявки объединить в одну и интерпретировать ее как изделие. В AnyLogic имеются элементы некоторых классов, которые позволяют осуществить такое объединение. Применим элементы класса Combine, позволяющие из двух заявок получить одну. Процесс объединения будет происходить по мере готовности блоков, значит, на пункте сборки будет создаваться очередь, для имитации которой нужно использовать элемент queue.

Для имитации непосредственно процесса сборки взят элемент delay, а для разделения потока изделий на собранные первично и на изделия с замененными блоками после браковки – элемент selectOutPut.

Свойства каждого из элементов представлены в таблице 6.

 

Таблица 6 – Элементы пунктов сборки и их свойства.

Элемент Свойства Значения свойств
Классы заявок: Вход1, Вход2: Условия соответствия Максимальная вместимость 1 Максимальная вместимость 2   Product, Product true
Классы заявок: Вход1, Вход2, Выход: Объединенная заявка: Product, Product, Product entity1
Класс заявки: Максимальная вместимость Product
Класс заявки: Выход true выбирается: Условие:   Product При выполнении условия entity.sign1 == 0
Класс заявки: Вместимость: Действия при выходе:     Product get_Main().kolPunSborki if (entity.sign1 == 0) {get_Main().kolSobrIzd++;} if (entity.sign1 == 2) {if (entity.numBLBrak1 == 1) {get_Main().zamBlock1++;} if (entity.numBLBrak2 == 1) {get_Main().zamBlock2++;} if (entity.numBLBrak3 == 1) {get_Main().zamBlock3++;} get_Main().kolZamIzd++;}
Выход true выбирается: Условие:   При выполнении условия БракИздБл1(2\3) == 0
Класс заявки: Использовать: Условие0: Условие1: Условие2: Product Условия entity.numBlBrak1 == 1 entity.numBlBrak2 == 1 entity.numBlBrak3 == 1
Класс заявки:   Product
Классы заявок: Вход1, Вход2, Выход: Объединенная заявка: Действие при входе 1:   Действия при выходе: Product, Product, Product entity1 if (entity.numBLBrak1(2\3) == 1) БрИздБл 1(2\3) ++; if (entity.numBLBrak1(2\3) == 1) БрИздБл1(2\3) --;
Классы заявок: Оригинал, Копия: Количество копий: Новая заявка (копия): Действие при выходе копии: Product, Product 1 new Product() entity.sign1 = 0;

 

Изделия после элемента пунктСборки разделяются на два потока: собранные изделия первично (entity.sign1=0) и изделия с замененными блоками (entity.sign1=2). Разделение необходимо для учета количества изделий с замененными блоками и количества замененных блоков различных типов.

Разделение потока изделий осуществляется элементом selectOutPut по условию entity.sign1 == 0, так как в случае, если изделие было забраковано на стендах выходного контроля или на пунктах приема изделий, признак entity.sign1 будет равен 2.

Каждый порт ГотБл1 …ГотБл3 соединяется с входом соответствующего элемента selectOutPut. Выходы true этих элементов соединены с соответствующими входами элементов match - match1. Таким образом, с выходов true готовые блоки будут направляться для первичной сборки изделий, а с выходов false – для замены бракованных блоков. В качестве условия разделения потоков использованы простые переменные БрИздБл1 …БрИздБл3. Например, если БрИздБл2 ≠0,то имеется забракованное изделие с блоком2.

В результате моделирования была получена схема, представленная на рисунке 4.

 

Рис. 4 – Смоделированный пункт сборки изделий.

 

Элементы модели

На стендах будет создаваться очередь, для имитации которой использован элемент queue.

Для имитации непосредственно процесса контроля изделий использован элемент delay.

По результатам контроля некоторые изделия будут признаны браком. Для отбраковки использованы элементы selectOutPut.

Свойства каждого из элементов представлены в таблице 7.

 

Таблица 7 – Элементы стендов контроля и их свойства.

Элемент Свойства Значения свойств
Класс заявки: Вместимость: Product Максимальная
  Класс заявки: Время задержки:   Вместимость: Действие при выходе: Product exponential(1/timeKontrIzd) kolStendKontrIzd testSobrIzd++;
Выход true выбирается: Условие: Действие при выходе (false):   При выполнении условия entity.sign1 == 0 {double a=0; int numBlockp = 0; a = random(); if (a<1) numBlockp = 3; if (a <= (verBlNum1+verBlNum2)) numBlockp=2; if (a <= (verBlNum1)) numBlockp=1; if (numBlockp == 1) {entity.numBLBrak1 = 1; entity.timeSbor = exponential(1/timeZamBlock1);} if (numBlockp==2) {entity.numBLBrak2 = 1; entity.timeSbor = exponential(1/timeZamBlock2);} if (numBlockp==3) {entity.numBLBrak3 = 1; entity.timeSbor = exponential(1/timeZamBlock3);} entity.sign1 = 2;}
Выход true выбирается: Вероятность [0..1] Действие при выходе (false):   С заданной вероятностью 1- procBracIzd double a=0; int numBlock = 0; entity.sign1 = 2; a = random(); if (a<1) numBlock = 3; if (a <= (verBlNum1+verBlNum2)) numBlock=2; if (a <= (verBlNum1)) numBlock=1; if (numBlock == 1) {entity.numBLBrak1 = 1; entity.timeSbor = exponential(1/timeZamBlock1);} if (numBlock==2) {entity.numBLBrak2 = 1; entity.timeSbor = exponential(1/timeZamBlock2);} if (numBlock==3) {entity.numBLBrak3 = 1; entity.timeSbor = exponential(1/timeZamBlock3);} brakSobrIzd++;

 

Код в свойство Действие при выходе (false) обоих элементов selectOutPut введен для розыгрыша номера забракованного в изделии блока. В результате розыгрыша в одно из полей entity.numBlBrak1…entity.numBlBrak3 заносится признак брака. В поле entity.timeSbor - время замены соответствующего блока на пункте сборки. Полю entity.sign1 присваивается значение 2 - признак брака в изделии.

Элементы модели

На пунктах приема будет создаваться очередь, для имитации которой использован элемент queue.

Для имитации непосредственно процесса приема изделий использован элемент delay.

По результатам контроля некоторые изделия будут признаны браком. Для отбраковки используется элемент selectOutPut.

Свойства каждого из элементов представлены в таблице 8.

 

Таблица 8 – Элементы пунктов приема и их свойства.

Элемент Свойства Значения свойств
Класс заявки: Вместимость: Product Максимальная
  Класс заявки: Время задержки: Вместимость: Действие при выходе: Product exponential(1/timePriemIzd) kolPunPriem kolPriemIzd++;
Выход true выбирается: Вероятность [0..1]: Действие при выходе (false):   С заданной вероятностью. 1- procBrackPriem entity.sign1 = 2; brakPriemIzd++;

 

Код свойства «Действие при выходе» элемента delay введен для подсчета количества kolPriemIzd принятых всего изделий.

Код свойства Действие при выходе (false) элемента selectOutPut считает количество brakPriemIzd забракованных изделий и полю entity.sign1 присваивает 2 – признак брака в изделии.

Имя: ГотИзделия

Класс заявки: Product

Действие при выходе: kolGotIzd++;

ostGotBlock1 = gotBlock1 - kolGotIzd - zamBlock1;

ostGotBlock2 = gotBlock2 - kolGotIzd - zamBlock2;

ostGotBlock 3 = gotBlock 3 - kolGotIzd – zamBlock 3.

Код свойства Действие при выходе введен для счета количества kolGotIzd готовых изделий, Кроме того, ведется счет готовых для сборки блоков, то есть изготовленных цехами и проверенных на постах контроля, но не использованных для сборки изделий блоков п отипам ostGotBlock1…ostGotBlock3 на текущее модельное время.

Элементы модели

Для разделения бракованных блоков используется элемент selectOutPut. Свойства элементов представлены в таблице 9.

 

Таблица 9 – Элементы склада бракованных блоков и их свойства.

Элемент Свойства Значения свойств
Выход true выбирается: Условие:   При выполнении условия. entity.sign1 == 1  
Выход true выбирается: Условие:   При выполнении условия. entity.isBraked==true
Использовать: Условие 0: Действие при выходе 0: Условие 1: Действие при выходе 1: Условие 2: Действие при выходе 2: Условия. entity.numBLBrak1 == 1 entity.isBraked=true entity.numBLBrak2 == 1 entity.isBraked=true entity.numBLBrak3 == 1 entity.isBraked=true
Класс заявки: Действие при входе: Product if (entity.numBLBrak1 == 1) {allBrakBlock1++;} if (entity.numBLBrak2 == 1) {allBrakBlock2++;} if (entity.numBLBrak3 ==1) {allBrakBlock3++;}
  Класс заявки: Действие при входе: Product if (entity.numBLBrak1 == 1) {allBrakBlock1++;} if (entity.numBLBrak2 == 1) {allBrakBlock2++;} if (entity.numBLBrak3 == 1) {allBrakBlock3++;}

 

 

 

Работа модели

Исследование

Необходимо исследовать влияние качества изготовления блоков на количество принятых военной приемкой изделий в течение недели (42 часов).

В настройках эксперимента указываем: запустить на период времени 42 часа.

Результаты работы модели в течении 42х часов изображены на рисунке 5.

 

Рис. 5 – Работа модели предприятия.

 

 

На приемке бракуется около 14% изделий, а это значительный процент. Следовательно, решение повторно проверять забракованные на пункте приемки блоки, обосновано и эффективно. Блоки, забракованные на приемке изделий, могут оказаться исправными и могут быть использованы для сборки другого изделия. 56 блоков прошли контроль повторно.

 

 

Заключение

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

    На этапе проектирования модели предприятия была построена его схема, выделены основные производственные блоки и их составляющие. Также, что немало важно, были определены входные и выходные показатели модели. Меняя входные параметры, мы можем наблюдать за тем, что произойдет с выходными. Следовательно, мы можем ставить эксперименты на модели, а не на реальном предприятии, что позволит избежать многочисленных рисков. 

Имитационное моделирование – разработка компьютерных моделей и постановка экспериментов на них. Целью моделирования является принятие обоснованных, целесообразных управленческих решений, что и позволяет избежать рисков от внедрения неэффективных решений.

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

 


Список литературы

1. Компьютерное моделирование: Пособие для курсового и дипломного проектирования/ В.Д.Боев, Д.И. Кирик, Р.П. Сыпченко - СПб.: ВАС, 2011.-348 с.

2. Имитационное моделирование систем в среде AnyLogic: учебно-методическое пособие / М. В. Киселёва. Екатеринбург: УГТУ - УПИ, 2009. - 88 с.

3. Моделирование систем в среде AnyLogic 6.4.1. Часть 2. / Мезенцев К.Н. Москва, 2011.- 108 с.

 

4. http://www.xjtek.ru – Официальный сайт разработчика системы AnyLogic. Система справочной документации AnyLogic, форумы.

 

 

           

 

Постановка задачи

Предприятие имеет n1 цехов, производящих n1 типов блоков, т. е. каждый цех производит блоки одного типа. Интервалы выпуска блоков T1, T2, …, Tn1 -случайные. Из n1 блоков собирается одно изделие.

Перед сборкой каждый тип блоков проверяется на n11, n12,.., n1n соответствующих постах. Длительности контроля одного соответствующего блока T11, T12, …, T1n - случайные. На каждом посту бракуется q11, q12, …, q1n % блоков соответственно. Эти блоки в дальнейшем процессе сборки не участвуют и удаляются с постов контроля.

Прошедшие контроль, т. е. не забракованные блоки поступают на один из n2 пунктов сборки. На каждом пункте сборки одновременно собирается только одно изделие. Сборка начинается только тогда, когда имеются все необходимые n1 блоков различных типов. Время сборки Tc случайное.

После сборки изделие поступает на один из n3 стендов выходного контроля. На одном стенде одновременно проверяется одно изделие. Время проверки Tп случайное. По результатам проверки бракуется q2 % изделий. Причиной брака может быть от одного до q3 блоков.

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

Прошедшие стенд выходного контроля изделия поступают в отдел военной приемки. Время приемки Tпр одного изделия случайное. По результатам приемки бракуется q4 % изделий, которые направляются вновь на стенд выходного контроля и снова проверяются. Принятые военной приемкой изделия направляются на склад.

Задание на исследование:

Разработать имитационную модель функционирования предприятия.

Исследовать влияние качества изготовления блоков на количество принятых военной приемкой изделий в течение недели (42 часов).

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

Исходные данные

n1 = 3; T1 = 19; T2 = 11; T3 = 15;

n11 = 2; n12 = 2; n13 = 2; T11 = 12; T12 = 16; T13 = 21;

q11 = 0, 02; q12 = 0,03, q13 = 0,04;

n2 = 2; Tc = 22; n3 = 2; Tп = 26; q2 = 0,05;

m = 1; Pk1 = 1,0; Pбл1 = 0,33; Pбл2 = 0,33; Pюл3 = 0,33; 

Tзам1 = 12; Tзам2 = 15; Tзам3 = 12;

n4 = 2; Tпр = 18; q4 = 0.15. 

 

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

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

Первым этапом при создании имитационной модели является составление формализованного описания работы предприятия. В процессе составления описания необходимо представить работу предприятия как СМО и выявить основные ее блоки и связи между ними.

Схема работы предприятия

Представим структуру предприятия по изготовлению изделий в виде схемы, показанной ниже, на рисунке 1.

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

Исходя из структуры предприятия (рис. 1), модель должна состоять из следующих сегментов:

1. Ввод исходных данных;

2. Имитация работы цехов по изготовлению блоков;

3. Имитация работы постов контроля блоков;

4. Имитация работы пунктов сборки изделий;

5. Имитация работы стендов контроля собранных изделий;

6. Имитация работы пунктов приема изделий;

7. Имитация склада готовых изделий;

8. Имитация склада бракованных блоков;

9. Вывод результатов моделирования.

 

Рис. 1 – Предприятие как система массового обслуживания.

           

Параметры модели

Блоки и изделия в модели следует имитировать заявками со следующими полями (параметрами):

1. block - номер цеха (коды 1-3 соответственно), выпустившего блок;

2. sign1 – признак брака на постах контроля блоков и стендах контроля изделий;

3. numBlBrak1 - numBlBrak3 – признаки забракованных блоков 1-3 соответственно;

4. timeSbor – время сборки изделия (замены блоков).

5. isBraked  - признак того, что блок уже один раз был забракован.

Указанные выше поля предназначены для отслеживания технического состояния блоков и изделий, и, в зависимости от этого, прохождения их по фазам изготовления изделия.

Смысл sign1 в том, что это признак брака блока, и этой переменной со значением 1 помечается бракованный блок. Бракованное изделие имеет признак брака sign1=2.

Поле timSbor введено для удобства построения модели. В это поле заносится либо время сборки изделия из четырех блоков, либо время замены каких-либо забракованных блоков в уже собранном изделии.

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

Для обеспечения работы модели введены параметры процесса изготовления изделий из блоков, приведенные в таблице 1.

 

Таблица 1 – Параметры процесса изготовления изделий из блоков.

Название Назначение
aveTimeShop1…aveTimeShop3 Средние интервалы времени выпуска блоков1-3 цехами 1-3.
postKontr1…postKontr3 Количество постов контроля блоков1-3.
procBrakBlock1…procBrakBlock3 Проценты брака блоков 1-3 на постах контроля блоков.
kolPunSborki Количество пунктов сборки изделий.
timeSborki Среднее время сборки одного изделия.
kolStendKontr Количество стендов контроля собранных изделий.
timeKontrIzd Среднее время контроля на стенде одного собранного изделия.
procBrakIzd Процент брака собранных изделий на стендах контроля.
verBlock1 Вероятность того, что забракованным в уже собранном изделии окажется один блок.
verBlock2 Вероятность того, что забракованными в уже собранном изделии окажутся два блока.
verBlNum1…verBlNum3 Вероятности брака на стенде контроля блоков 1-3.
timeZamBlock1…timeZamBlock3 Среднее время замены (одного блока) блоков 1-3.
kolPunPriem Количество пунктов приема изделий, прошедших пункты контроля.
timePriemIzd Среднее время приема одного изделия.
procBrakPriem Процент брака изделий на пунктах приема.

 

В ходе моделирования на основе приведенных исходных данных формируется и выводится на текущее модельное время информация, представленная в таблице 2.

 

Таблица 2 – Выходная информация модели.

Название Назначение
kolIzBlock1…kolIzBlock3 Количество изготовленных блоков 1-3.
kolTestBlock1…kolTestBlock3 Количество протестированных блоков 1-3 (как исправных, так и забракованных).
brakBlock1…brakBlock3 Количество забракованных на постах контроля блоков 1-3.
gotBlock1…gotBlock3 Количество изготовленных всего готовых блоков 1-3.
ostGotBlock1…ostGotBlock3 Количество оставшихся готовых блоков 1-3.
kolSobrIzd, testSobrIzd, brakSobrIzd Количество собранных на пунктах сборки изделий, проверенных и забракованных на стендах контроля.
kolPriemIzd, brakPriemIzd Количество принятых и забракованных приемкой изделий соответственно.
zamBlock1…zamBlock3 Количество замененных блоков 1-3, забракованных на стендах контроля и пунктах приема изделий.
allBrakBlock1…allBrakBlock3 Всего забракованных блоков 1-3.
kolGotIzd Количество готовых изделий, отправленных на склад.

 

 

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

Все данные модели разделяются на входные и выходные.

Входные данные могут меняться в указанных пределах с помощью предусмотренных элементов взаимодействия с моделью («Бегунков»).

Выходные данные выводятся во время работы модели и меняются с течением модельного времени.

Ввод исходных данных

Для организации ввода исходных данных использованы элементы «Параметр» и «Бегунок» Основной палитры AnyLogic.

Значения элементов и их свойств представлены в таблице 3. Каждому параметру соответствует свой бегунок, с помощью которого можно будет в дальнейшем настраивать значения параметров в заданных рамках. Имя бегунков соответствуют названиям параметров.

 

 Таблица 3 – Элементы ввода исходных данных.

Параметр

Бегунок для параметра



Поделиться:


Последнее изменение этой страницы: 2021-01-08; просмотров: 177; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.120.133 (0.193 с.)