Здравствуйте, прошел курс "Концептуальное проектирование систем в AnyLogic и GPSS World". Можно ли получить по нему сертификат? У нас в институте требуют сертификаты для создания портфолио. |
Модель функционирования предприятия
Модель функционирования предприятия в AnyLogic
Формализованное описание
Модель, исходя из структуры предприятия (см. рис. 6.1), должна состоять из следующих сегментов:
- ввода исходных данных;
- имитации работы цехов по изготовлению блоков;
- имитации работы постов контроля блоков;
- имитации работы пунктов сборки изделий;
- имитации работы стендов контроля собранных изделий;
- имитации работы пунктов приема изделий;
- имитации склада готовых изделий;
- имитации склада бракованных блоков;
- вывода результатов моделирования.
Блоки и изделия в модели следует имитировать заявками со следующими полями (параметрами):
- block - номер цеха (коды 1…4 соответственно), выпустившего блок;
- sign1 - признак брака на постах контроля блоков, стендах контроля изделий и на пунктах приема изделий;
- numBlBrak1 … numBlBrak4 - признаки забракованных блоков 1…4 соответственно;
- timeSbor - время сборки изделия (замены блоков);
- cost - стоимость готового изделия.
Указанные поля предназначены для отслеживания технического состояния блоков и изделий и в зависимости от этого прохождения их по фазам изготовления изделия.
Поле timSbor введено для удобства построения модели. В это поле заносится либо время сборки изделия из четырех блоков, либо время замены каких-либо забракованных блоков в уже собранном изделии.
Стоимость изготовления изделия может возрасти по сравнению с минимальной стоимостью (CMIN) за счёт выявления брака и замены блоков. Для фиксации этой стоимости введено поле cost.
Для обеспечения работы модели вводятся следующие параметры процесса изготовления изделий из блоков:
- aveTimeShop1…aveTimeShop4 - средние интервалы времени выпуска блоков 1…4 цехами 1…4;
- stKomplBlock1…stKomplBlock4 - стоимости комплектующих блоков 1…4;
- stIzgBlock1…stIzgBlock4 - стоимость изготовления блоков 1…4;
- postKontr1…postKontr4 - количество постов контроля блоков 1…4;
- procBrakBlock1…procBrakBlock4 - проценты брака блоков 1…4 на постах контроля блоков;
- stTestBlock1…stTestBlock4 - стоимости тестирования (одного блока) блоков 1…4;
- kolPunSborki - количество пунктов сборки изделий;
- timeSborki - среднее время сборки одного изделия;
- stSborki - стоимость сборки одного изделия;
- kolStendKontr - количество стендов контроля собранных изделий;
- timeKontrIzd - среднее время контроля на стенде одного собранного изделия;
- procBrakIzd - процент брака собранных изделий на стендах контроля;
- stKontrIzd - стоимость контроля на стенде одного собранного изделия;
- verBlock1 - вероятность того, что забракованным в уже собранном изделии окажется один блок;
- verBlock2 - вероятность того, что забракованными в уже собранном изделии окажутся два блока;
- verBlNum1…verBlNum4 - вероятности брака на стенде контроля блоков 1…4;
- timeZamBlock1…timeZamBlock4 - среднее время замены (одного блока) блоков 1…4;
- stZamBlock1…stZamBlock4 - стоимость замены (одного блока) блоков 1…4;
- kolPunPriem - количество пунктов приема изделий, прошедших пункты контроля;
- timePriemIzd - среднее время приема одного изделия;
- procBrakPriem - процент брака изделий на пунктах приема изделий;
- stPriemIzd - стоимость приема одного изделия.
В ходе моделирования на основе приведенных исходных данных формируется и выводится на текущее модельное время следующая информация:
- kolIzBlock1…kolIzBlock4 - количество изготовленных блоков 1…4;
- kolTestBlock1…kolTestBlock4 - количество протестированных блоков 1…4 (как исправных, так и забракованных);
- brakBlock1…brakBlock4 - количество забракованных на постах контроля блоков 1…4;
- gotBlock1…gotBlock4 - количество изготовленных всего готовых блоков 1…4;
- ostGotBlock1…ostGotBlock4 - количество оставшихся готовых блоков 1…4;
- kolSobrIzd, testSobrIzd, brakSobrIzd - количество собранных на пунктах сборки изделий, проверенных и забракованных на стендах контроля;
- kolPriemIzd, brakPriemIzd - количество принятых и забракованных приемкой изделий соответственно;
- zamBlock1…zamBlock4 - количество замененных блоков 1…4, забракованных на стендах контроля и пунктах приема изделий;
- allBrakBlock1…allBrakBlock4 - всего забракованных блоков 1…4;
- minCostIzd - минимальная стоимость одного изделия;
- minCostGotIzd - минимальная стоимость готовых изделий;
- kolGotIzd - количество готовых изделий, отправленных на склад.
На текущее модельное время собирается статистика по следующим стоимостным показателям функционирования предприятия:
- costKomplBlock1…costKomplBlock4,costKomplBlock - стоимости комплектующих блоков 1…4 и суммарная стоимость комплектующих всех блоков;
- costIzgBlock1…costIzgBlock4,costIzgBlock - стоимости изготовления блоков 1…4 и суммарная стоимость изготовления всех блоков (без учета стоимости тестирования блоков);
- CostBlock1…CostBlock4 - стоимости изготовления блоков 1…4 с учётом тестирования;
- sumCostBlock1…sumCostBlock4, sumCostBlock - суммарные стоимости изготовления блоков 1…4 с учётом тестирования и суммарная стоимость изготовления всех блоков;
- costTestBlock1…costTestBlock4,costTestBlock - стоимости тестирования блоков 1…4 на постах контроля и суммарная стоимость тестирования всех блоков;
- costSborIzd, costTestIzd, costPriemIzd - стоимости сборки, проверки и приемки изделий;
- costBrakBlock - суммарные затраты на все забракованные блоки;
- costGotIzd - затраты на выпуск готовых изделий;
- costBlockIzd - стоимость блоков одного изделия;
- costIzd - стоимость одного изделия;
- timeIzd - среднее время изготовления одного изделия;
- koefIncrCostIzd - коэффициент увеличения себестоимости изделия.
Минимальная стоимость изделий будет тогда, когда не будет бракованных блоков и изделий. В терминах постановки задачи это условие имеет вид:
![С_{min}=С_{minизд} \cdot N_{изд},](/sites/default/files/tex_cache/c16d2d4815a7d27e7a45e57ba7996507.png)
где - количество готовых изделий (поступивших на склад);
- минимальная себестоимость производства одного изделия, вычисляется по формуле:
![С_{изд}=\sum\limits_{i=1}^{nl}(C_{кi}+C_{изгi}+C_{прi})+C_{сб}+C_{к}+C_{п}](/sites/default/files/tex_cache/e6e612b1014c68a64cc714fce93653f1.png)
В случае наличия брака себестоимость производимой продукции увеличится и составит . То есть коэффициент увеличения себестоимости будет равен
![K_c=C_{max}/C_{min}](/sites/default/files/tex_cache/9b024d2d770ae2e28d36b3df00be50b2.png)
Запишем в идентификаторах исходных данных и результатов моделирования то же самое:
![costBlock1=stKomplBlock1+stIzqBlock1+stTestBlock1;](/sites/default/files/tex_cache/4a3514fba7d98849e00494bea719317d.png)
![costBlock2=stKomplBlock2+stIzqBlock2+stTestBlock2;](/sites/default/files/tex_cache/96141be43d1ca5bcaa110cb6cebc7566.png)
![costBlock3=stKomplBlock3+stIzqBlock3+stTestBlock3;](/sites/default/files/tex_cache/862715d8db197f2a67ffdef9bf1a1025.png)
![costBlock4=stKomplBlock4+stIzqBlock4+stTestBlock4;](/sites/default/files/tex_cache/13b3939212c9436da02ed5989b452b6e.png)
![costBlockIzd=costBlock1+costBlock2+costBlock3+costBlock4;](/sites/default/files/tex_cache/868e0d22c729015f0175a42dcebdbdf8.png)
![C_{minизд}=costBlockIzd+stSborki+stKontrIzd+stPriemIzd;](/sites/default/files/tex_cache/0adf5e4fa6a55c3f6f51087b86084e42.png)
![C_{min=}C_{minизд} \cdot colGotIzd; C_{max}= costGotIzd+costBrakBlock.](/sites/default/files/tex_cache/ee334e1458d4b930d65611fad7feb672.png)
![K_c=koefIncrCostIzd=\frac{C_{max}}{C_{min}}](/sites/default/files/tex_cache/a8845e43db3ad69cef89c344559f438d.png)