
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.86] |
![]() |
|
Страницы: (54) « Первая ... 2 3 [4] 5 6 ... 53 54 ( Перейти к последнему сообщению ) |
Сообщ.
#46
,
|
|
|
TEMENb, спасибо, прежде всего, за развёрнутый ответ.
Да, насколько я понимаю в микро-версии просто нет части команд: "Модели на micro-GPSS компактны, часто состоят из меньшего числа операторов, чем такие же модели, написанные на процедурных языках (например, на Фортране или Бейсике). Это объясняется тем, что в micro-GPSS встроено максимально возможное число логических программ, необходимых для моделирующих систем. В него также входят специальные средства для описания динамического поведения систем, меняющихся во времени, причем изменение состояний происходит в дискретные моменты времени. Micro-GPSS очень удобен при программировании, поскольку интерпрета-тор micro-GPSS (здесь и далее интерпретатором называется моделирующая часть системы micro-GPSS) многие функции выполняет автоматически. На-пример, micro-GPSS без специального на то указания пользователя собирает статистические данные, описывающие поведение модели, автоматически печа-тает итоговую статистику по завершении моделирования. Пользователю нет необходимости включать в модель операторы для сбора и накопления этих данных или задавать формат, указывающий, в каком виде должны быть распе-чатаны итоговые данные." Вот сам интепретатор, который нам дали - http://poiskolog.ru/trash/gpss-rus.EXE А вот краткая методичка по командам - http://poiskolog.ru/trash/Micro_GPSS.doc Касаемо самой программы - я уже написала, что тоже считаю что найденный мною вариант нерабочий - я просто привела его как пример. Именно по этой причине я постаралась сделать несколько своих вариантов - как я считаю правильным. Так вот по-возможности хотелось бы получить подсказку что у меня неправильно в _моих_ вариантах решения этой задачи, а не в том, который я привела первым для примера ![]() |
Сообщ.
#47
,
|
|
|
Методу скачаим. А сам микрожпсс я уже нашел.. вроде (не скачал, но еще не запускал)))
Судя по нагугленному - микрожпсс - это слабенькая попытка сделать жпсс более гибким.. эм... с возможностью создания своих блоков и "улучшением" уже имеющихся. Срезана половина команд (заменена на ифы и вайлы).. и вроде теперь он проще учится ))) Вообщем это надо в среду лезть.. смотреть - пробовать... ![]() Добавлено ааааааааааааааааааааа ![]() фигасее улучшили ![]() эта писец, детишки ))))) этот черный экранчик вызывает у меня благоговейный трепет )))) Цитата MICRO-GPSS STUDENT VERSION 95-01-01 C INGOLF STAHL Введите имя файла с программой на GPSS Длинна имени должна 4-25 Интересно, конечно, кому и что должна длинна ![]() Да уж, он полюбасу легче для изучения, особенно с учетом того, что программу надо писать в блокноте, а потом каждый раз прописывать путь к файлу в програмке-интерпритаторе "таких извращений Иван не видл" (с) ![]() |
Сообщ.
#48
,
|
|
|
Что происходит при изменении команды START 1 на команду START 10? При 10 прогонах получатся более точные результаты?
|
Сообщ.
#49
,
|
|
|
Ююю, стыдно должно быть за такие вопросы ))
Это самая первая лекция/лаба/глава. START А - означает промоделировать, со счетчиком завершений равным А. TERMINATE A - когда транзакт покидает модель, из вчетчика завершений вычитается значение А. Когда значение счетчика завершений становится равным нулю (или меньше нуля), то моделирование заканчивается. Цитата Ююю @ Что происходит при изменении команды START 1 на команду START 10? При 10 прогонах получатся более точные результаты? В данном случае вы либо увеличиваете время моделирования в 10 раз, либо увеличиваете в 10 раз колличество обработанных транзактов, либо... вообщем все зависит от конкретно вашей задачи. А результаты станосятся точнее, т.к. по теории вероятности, чем больше проведено экспериментов (чем дольше проводился эксперимент), тем точнее результат. |
Сообщ.
#50
,
|
|
|
привет всем! подскажите пожалуйста правильно ли я решила задачу!!!!
Абоненты звонят каждые 10 сек., время приема вызова распределено по экспоненц. з-ну со средним знач. 12 сек. , в случае неудачи дозвониться абонент попыток дозвониться больше не предпринимает. Смоделировать работу в течение 8 ч. TELEPHON STORAGE 2 GENERATE 10 GATE NU TEL,OUT ENTER TELEPHON ADVANCE (Exponential (1,0,12)) LEAVE TELEPHON OUT TERMINATE GENERATE 28800 TERMINATE 1 один из подвопросов - определить наименьшее число телефонов , при котором вызов принимается не менее чем от 90% абонентов. минимальное число телефонов использую - 2 шт., а отчет выдает что загруженность всего 61%. А я должна ответить какое число телефонов при 90%! ничего уже не понимаю! |
Сообщ.
#51
,
|
|
|
Подскажите как реализовать: Интервалы времени в потоке распределены по экспоненциальному закону со средним временим, распределенным равномерно от 20 до 40 единиц времени. Имеется ввиду что в GENERATE указывать?
|
Сообщ.
#52
,
|
|
|
GENERATE 30,10 вроде как...
|
Сообщ.
#53
,
|
|
|
Milaya, все верно. поступающий поток - 0.1 в секунду, а обрабатывающий поток - 0,1(6).
Итого 0.1/0.1(6)=0.6 60% идите компосируйте мозг преподу )) Добавлено Цитата artyomst @ Интервалы времени в потоке распределены по экспоненциальному закону со средним временим, распределенным равномерно от 20 до 40 единиц времени среднее значение - 30 отклонение - 10 закон - экспоненциальнй итого смещение - 20 коефиыиент растягивания - 20 ![]() ![]() GENERATE (Exponential (1,20,20)) Добавлено Цитата Milaya @ GENERATE 30,10 вроде как... Это равномерный закон Добавлено Вроде разрулил.. ![]() |
Сообщ.
#54
,
|
|
|
Некий производитель выпускает центробежные насосные агрегаты, которые собираются по заказам клиентов. Заказы поступают в среднем каждые 5 часов (экспоненциальное распределение). При поступлении заказа с него снимают две копии. Исходный заказ используется для получения со склада двигателя и подготовки его к сборке (200+100 минут). Первая копия используется для заказа и подгонки насоса (180+120 минут), а вторая копия -для производства опорной плиты (80+20 минут).
Когда насос и опорная плита готова, производится проверочный монтаж (50+10 минут). После того как будут готовы все три компонента, производится окончательная сборка. Агрегат разбирается, насос и двигатель окрашиваются, а опорная плита оцинковывается. Затем агрегат собирается окончательно (150+30 минут). Необходимо: Смоделировать сборку 50 насосных агрегатов Вот что я смог: ![]() ![]() zakaz storage 2 generate 300,,,,50 queue engine //очередь для получения двигателя depart engine advance 200,100 // время получения двигателя queue nasos // очередь для насоса enter zakaz depart nasos advance 180,120 // подгонка насоса queue plita // очередь для плиты enter zakaz depart plita advance 80,20 // производство опорной плиты leave zakaz leave zakaz а вот дальше что использовать для Цитата Когда насос и опорная плита готова, производится проверочный монтаж |
Сообщ.
#55
,
|
|
|
1. копии не снимаются (spleet)
2. одна деталь проходит обе обработки, а должна проходить одна копия одну. а джругая - другу. Цитата jaguar555 @ того как будут готовы все три компонента откуда ТРИ компонента? 3. потом их надо обьеденить (acemble) и сделать проверочный монтаж. 4. потом снова разбивается и отдельно части обрабатываются 5. и снова собирается. и моделирование заканчивается когда ОБРАБОТАЛОСЬ 50 деталей. не обязательно задавать на вход 50. Да и экспоненциальным распредилением на входе не пахнет. |
Сообщ.
#56
,
|
|
|
TEMENb
Цитата 4. потом снова разбивается и отдельно части обрабатываются 5. и снова собирается. Преп сказал, что это 2 advance делается вот что то еще мне удалось придумать ![]() ![]() generate (exponential(1,0,300)) queue engine seize stockman depart engine advance 200,100 split 1,nasos split 1,plita nasos queue get_nasos seize worker depart get_nasos advance 180,120 plita queue make_plita seize worker1 depart make_plita advance 80,20 assemble 3 queue check seize worker2 depart check advance 50,10 advance 150,30 release worker2 terminate GENERATE 1000 TERMINATE 1 START 1 Модель работает но как то странно: если ее запустить не 1 раз а 10, то получится что двигателей заказано 30 с лишним, а насосов и плит для них только 2, а в assemble их попадает около 50 |
Сообщ.
#57
,
|
|
|
о, появился сплит )
Это радует. только сплитов много сильно ![]() попробуй второй салит заменить на трансфер ![]() и ассембл надо с параметром 2 после обработки на метке насос - трансфер на асембл (насос ведь не участвует в заказе плиты) после асембла еще сплин, обработка и еще асембл. Другими словами: теперь больше похоже на правду, но всеравно еще не то, что надо ) |
Сообщ.
#58
,
|
|
|
Сдал седня такой вариант. поставили мне 4 бала и сказали что можно было все сделать проще, но не сказали как
Спасибо за помощь ![]() ![]() worker storage 2 generate (exponential(1,0,300)) queue engine enter worker,2 depart engine advance 200,100 leave worker,2 split 1,plita queue get_nasos enter worker depart get_nasos advance 180,120 leave worker transfer ,pribor plita queue make_plita enter worker depart make_plita advance 80,20 leave worker pribor assemble 2 queue check enter worker,2 depart check advance 50,10 advance 150,30 leave worker,2 terminate GENERATE 1000 TERMINATE 1 START 1 |
Сообщ.
#59
,
|
|
|
ну попрежнему не выполнено
Цитата jaguar555 @ Агрегат разбирается, насос и двигатель окрашиваются, а опорная плита оцинковывается. Затем агрегат собирается окончательно хотя на похоже это подрядидущие сплит и асембл которыми можно пожертвовать. а в остальном вроде соответствует заданию =) Где можно было упростить/добавить - незнаю, т.к. в задание особо не вчитывался. вы уж извините ![]() З.Ы.: м.. мдя. действительно нужен еще один сплит (плита, насос есть, а мотора нет), а после него уже трансфер.. Соответственно и асембл 3.. Цитата TEMENb @ откуда ТРИ компонента? Извините недосмотрел... |
Сообщ.
#60
,
|
|
|
На комплектовочный конвейер сборочного цеха каждые Т1 минут поступают N1 деталей первого типа и каждые Т2 минут – N2 деталей второго типа. Изделие комплектуется из N3 деталей каждого типа. Комплектация начинается только при наличии деталей обоих типов в необходимом количестве (рис. 1.)
Конвейер движется ритмично с шагом Т3 минут. При отсутствии необходимого количества деталей секция конвейера перемещается пустой («холостой ход»). Определить целесообразность перехода на другие режимы работы конвейера, оперируя такими параметрами: 1)размерами секции – количеством деталей каждого типа, из которых комплектуется изделие (возможны дополнительные варианты – по N4 и N5 изделий); 2) шагом конвейера (возможны дополнительные варианты – Т4 и Т5 минут). Оценить вероятность «холостого хода», средних и максимальных длин очередей каждого типа изделий. Варианты заданий Вариант Параметры Т1 N1 Т2 N2 N3 Т3 N4 N5 Т4 Т5 1 5±1 5 20±5 20 10 10 20 5 20 5 2 10±3 8 40±10 32 16 20 32 8 36 9 3 15±5 12 60±12 36 24 30 36 12 45 15 4 12±4 6 48±10 24 24 24 24 6 45 15 Есть код на GPSS, но он почему то не компелируется. Помогите пожайлуста!!! izd1 storage 10 объявление накопителя для изделий 1 izd2 storage 10 объявление накопителя для изделий 2 pust variable 0 poln variable 0 generate 480 задание общего времени моделирования terminate 1 generate 5,1 генерация деталей 1 первого типа QUEUE o1 enter izd1 вход деталей в накопитель 1 terminate generate 20,7 генерация деталей 1 первого типа QUEUE o1 split 1 создание 1 копии выходящего в блок транзакта enter izd2,2 вход деталей 2 в накопитель terminate generate 10 задание числа секций test GE s$izd2,1,pst проверка наличия деталей в накопителе 1 test GE s$izd1,2,pst проверка наличия деталей в накопителе 2 leave izd1,2 освобождение накопителя 1 leave izd2,1 освобождение накопителя 2 advance 10 обработка savevalue poln+,1 подсечет кол-ва полных секций terminate pst savevalue pust+,1 кол-во пустых секций terminate start 1 |