Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Программа модели. В программе модели те же сегменты (п
В программе модели те же сегменты (п. 6.4.1.6), только вместо сегмента задания времени моделирования и расчета результатов включен сегмент организации завершения моделирования и расчета результатов моделирования. Один прогон наблюдения завершается подготовкой N_ изделий, т. е. поступлением их на склад. Поэтому соответствующие этим изделиям транзакты не выводятся сразу из модели, как в прямой задаче, а поступают в сегмент организации завершения моделирования и расчета результатов моделирования. В блоке Met10 SAVEVALUE NIzd+,1 подсчитывается количество подготовленных изделий. Если это количество равно N_, т. е. выполняется условие TEST E X$NIzd,N_,Term5 фиксируется один прогон. С целью сокращения машинного времени расчет результатов моделирования производится один раз по накопленной статистике за все прогоны. Программа, как и в п. 6.3.2.2, построена так, чтобы расчет результатов моделирования не требовал ее изменения при различном числе прогонов, задаваемом пользователем. Ниже приведена программа обратной задачи. ; Модель функционирования предприятия. Обратная задача; Замена имен МКУ номерами Kontr1 EQU 1; Замена имени МКУ Kontr1 номером Kontr2 EQU 2; Замена имени МКУ Kontr2 номером Kontr3 EQU 3; Замена имени МКУ Kontr3 номером Kontr4 EQU 4; Замена имени МКУ Kontr4 номером ; Задание исходных данных q11_ EQU 0.02; Доля забракованных блоков на постах n11 q12_ EQU 0.03; Доля забракованных блоков на постах n12 q13_ EQU 0.04; Доля забракованных блоков на постах n13 q14_ EQU 0.06; Доля забракованных блоков на постах n14 q2_ EQU 0.05; Доля брака изделий на пункте выходного контроля q4_ EQU 0.03; Доля забракованных изделий приемкой TipBl EQU 4; Максимальное количество типов блоков, изготавливаемых цехами T1_ EQU 19; Средний интервал выпуска блоков типа 1 T01_ EQU 6; Стандартное отклонение времени выпуска блоков типа 1 T2_ EQU 11; Средний интервал выпуска блоков типа 2 T3_ EQU 15; Средний интервал выпуска блоков типа 3 T03_ EQU 8; Стандартное отклонение времени выпуска блоков типа 3 T4_ EQU 18; Средний интервал выпуска блоков типа 4 T11_ EQU 12; Среднее время контроля на постах n11 T011_ EQU 6; Стандартное отклонение времени контроля на постах n11 T12_ EQU 16; Среднее время контроля на постах n12 T13_ EQU 21; Среднее время контроля на постах n13 T14_ EQU 17; Среднее время контроля на постах n14 Tc_ EQU 22; Среднее время сборки изделия T0c_ EQU 2; Стандартное отклонение времени сборки изделия Tp_ EQU 15; Среднее время проверки изделия Tpr_ EQU 18; Среднее время приема изделия T0pr_ EQU 2; Стандартное отклонение времени приема изделия N_ EQU 122; Количество изделий, которое необходимо подготовить ; Задание количества пунктов сборки и контроля Sbor STORAGE 2; Количество пунктов сборки Kontr1 STORAGE 3; Количество постов n11 Kontr2 STORAGE 2; Количество постов n12 Kontr3 STORAGE 2; Количество постов n13 Kontr4 STORAGE 2; Количество постов n14 Kontsb STORAGE 2; Количество пунктов сборки ; Сегмент имитации работы цеха 1 без постов контроля GENERATE T1_,T01_; Источник блоков типа 1 ASSIGN 1,1; Код 1 в параметре 1 транзакта - тип 1 блока ASSIGN 2,((T11_-T011_)+2#T011_#(RN27/1000)) ; Розыгрыш времени контроля и запись в Р2 ASSIGN 9,q11_; Запись в Р9 доли брака блоков после постов контроля TRANSFER,Met1 ; Сегмент имитации работы цеха 2 без постов контроля GENERATE (Exponential(32,0,T2_)); Источник блоков типа 2 ASSIGN 1,2; Код 2 в параметре 1 транзакта - тип 2 блока ASSIGN 2,(Exponential(23,0,T12_)); Розыгрыш времени контроля и запись в Р2 ASSIGN 9,q12_; Запись в Р9 доли брака блоков после постов контроля TRANSFER,Met1 ; Сегмент имитации работы цеха 3 без постов контроля GENERATE T3_,T03_; Источник блоков типа 3 ASSIGN 1,3; Код 3 в параметре 1 транзакта - тип 3 блока ASSIGN 2,(Exponential(22,0,T13_)); Розыгрыш времени контроля и запись в Р2 ASSIGN 9,q13_; Запись в Р9 доли брака блоков после постов контроля TRANSFER,Met1 ; Сегмент имитации работы цеха 4 без постов контроля GENERATE (Exponential(32,0,T4_)); Источник блоков типа 4 ASSIGN 1,4; Код 4 в параметре 1 транзакта - тип 4 блока ASSIGN 2,(Exponential(22,0,T14_)); Розыгрыш времени контроля блока и запись в Р2 ASSIGN 9,q14_; Запись в Р9 доли брака блоков после постов контроля ; Сегмент имитации работы постов контроля блоков Met1 QUEUE P1; Встать в очередь с номером в Р1 ENTER P1; Занять МКУ с номером в Р1 DEPART P1; Покинуть очередь с номером в Р1 ADVANCE P2; Имитация контроля качества блока с временем контроля в Р2 LEAVE P1; Освободить МКУ с номером в Р1 ASSIGN 10,0; Подготовка к циклу Met21 ASSIGN 10+,1; Начало цикла по числу типов блоков TEST E P10,P1,Met21; Какой тип блока подготовлен? TRANSFER P9,,Met14; Отправить брак блоков к Met14 LINK P1,FIFO; Готовые блоки на склад с номером в Р1 ; Сегмент имитации сборки изделий GENERATE,,,1 Met3 ASSIGN 1,0; Подготовка к циклу Met13 ASSIGN 1+,1; Начало цикла по числу типов блоков TEST L P1,TipBl,Met4; Все ли типы блоков? TEST NE CH*1,0; Есть на складе готовые блоки? UNLINK P1,Term5,1; Да TEST G P1,TipBl,Met13; Блоки всех типов есть? Если да, Met4 UNLINK P1,Met5,1; то отправить блоки на сборку TRANSFER,Met3; Вернуться для проверки наличия всех типов блоков для следующего изделия Met5 QUEUE Sbor; Занять очередь на пункты сборки ENTER Sb; Занять пункт сборки DEPART Sbor; Освободить очередь на пункт сборки ADVANCE (Normal(15,Tc_,T0c_)); Имитация сборки LEAVE Sb; Освободить пункт сборки ; Cегмент имитации работы стендов выходного контроля Met9 QUEUE KSbor; Занять очередь на стенд выходного контроля ENTER KSb; Занять стенд выходного контроля DEPART KSbor; Освободить очередь на стенд выходного контроля ADVANCE (Exponential(11,0,Tp_)); Имитация работы стенда выходного контроля LEAVE KSb; Освободить стенд выходного контроля TRANSFER q2_,,Met5; Направить изделие в приемку, а брак -на замену на пункт сборки ; Сегмент имитации работы приемки QUEUE Opr; Занять очередь на пункт приемки SEIZE KPr; Занять пункт приемки DEPART Opr;Освободить очередь пункта приемки ADVANCE (Normal(11,Tpr_,T0pr_)); Имитация работы приемки RELEASE KPr; Освободить пункт приемки TRANSFER q4_,,Met9; Готовые изделия - на склад ; Сегмент организации завершения моделирования и расчета результатов моделирования TEST L X$Prog,TG1,Met10; Если X$Prog< содержимого счетчика завершений, то SAVEVALUE Prog,TG1; записать в X$Prog содержимое счетчика завершений - количество прогонов из TG1 SAVEVALUE NIzd,0 Met10 SAVEVALUE NIzd+,1; Счет и сохранение в ячейке NIzd количества принятых приемкой изделий TEST E X$NIzd,N_,Term5; Если принято N_изделий, зафиксировать один прогон TEST E TG1,1,Met12; Если содержимое счетчика завершений равно 1, то расчет результатов моделирования ASSIGN 1,0; Подготовка к циклу Met15 ASSIGN 1+,1; Начало цикла по числу типов блоков SAVEVALUE (10+P1),(INT(CH*1/X$Prog)); Количество готовых блоков всех типов, оставшихся на складах SAVEVALUE P1,(INT(X*1/X$Prog)); Количество забракованных блоков всех типов ASSIGN 11,(20+P1); Задание номера сохраняемой ячейки и запись его в Р11 TEST GE P1,TipBl,Met15; Все ли типы блоков для подготовки изделия имеются на складах цехов? SAVEVALUE TIzd,((AC1/X$Prog)/60); Расчет и сохранение в ячейке TIzd времени подготовки N_изделий, час SAVEVALUE STIzd,((X$TIzd/N_)#60); Расчет и сохранение в ячейке STIzd среднего времени подготовки одного изделия, мин Met12 SAVEVALUE NIzd,0; Обнуление X$NIzd - подготовка к очередному прогону TERMINATE 1 Met14 SAVEVALUE P1+,1; Количество брака блоков всех типов TERMINATE Term5 TERMINATE; Вывод вспомогательных транзактов Отладьте модель. Запустите модель, указав в команде START 1000 прогонов. По окончании моделирования в отчете, фрагмент которого приведен ниже, SAVEVALUE RETRY VALUE TIZD 0 39.438 STIZD 0 19.396 получите, что среднее время подготовки N_=122 изделий составляет 40 ч (39,438) при среднем времени подготовки одного изделия 20 мин (19,396). Как видно, эти результаты согласуются с исходными данными и результатами решения прямой задачи. Результаты решения обратной задачи можно проверить. Найдите в самом начале отчета START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 2366280.440 74 1 6 Разделите END TIME (абсолютное модельное время АС1) на количество прогонов и минут в одном часе, т. е. на 60 000, получите?40 ч. Теперь в программе модели укажите командой EQU количество изделий N_=244: N_ EQU 244 Выполните моделирование, указав, как и в предыдущем случае, в команде START 1000 прогонов. Из отчета
видно, что время подготовки, как и число изделий, увеличивается в два раза при неизменном времени изготовления одного изделия. Сделайте выводы: влияет ли стохастичность, как и при решении прямой задачи, на результаты моделирования. Date: 2015-07-17; view: 409; Нарушение авторских прав |