
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
Страницы: (54) « Первая ... 17 18 [19] 20 21 ... 53 54 ( Перейти к последнему сообщению ) |
Сообщ.
#271
,
|
|
|
Доброго времени суток, проверьте пожалуйста правильность написания модели. Условие задачи : В аэропорту на ленту транспортера поступает багаж где он проходит проверку, 5% не проходят проверку и идут на дополнительную проверку после чего возвращаются обратно на ленту, после проверки багаж разделяется на четыре разных погрузочных ленты(и вот тут заключается основная проблема вроде все работает но как-то не так).
Вот то что я намоделировал: SIMULATE CHECK STORAGE 2 L STORAGE 4 OBR STORAGE 2 BAG STORAGE 8 INTEGER &I * МОДУЛЬ ИСПОЛНЕНИЯ GENERATE 1,1 поступление багажа RETEST QUEUE CHECK организация очереди контроля ENTER OBR DEPART CHECK ADVANCE 1,1 LEAVE OBR TRANSFER .050,,TEST 5% багажа идет на дополнительную проверку * TEST TEST QUEUE MTEST организация очереди на дополнителую проверку SEIZE TESTER DEPART MTEST ADVANCE 2,1 RELEASE TESTER TRANSFER ,RETEST возврат на общий контроль * Разделение на линии L1 TEST E L1,1,OT проверка если не проходит то идет обратно на выбор линии QUEUE LNB ENTER BAG DEPART LNB ADVANCE 1 LEAVE BAG TERMINATE 1 OT TRANSFER ,L2 L2 TEST E L2,2,OTH проверка если не проходит то идет обратно на выбор линии QUEUE LNC ENTER BAG DEPART LNC ADVANCE 1 LEAVE BAG TERMINATE 1 OTH TRANSFER ,L3 L3 TEST E L3,3,OTHE проверка если не проходит то идет обратно на выбор линии QUEUE LND ENTER BAG DEPART LND ADVANCE 1 LEAVE BAG TERMINATE 1 OTHE TRANSFER ,L4 L4 TEST E L4,4,L1 проверка если не проходит то идет обратно на выбор линии QUEUE LNE ENTER BAG DEPART LNE ADVANCE 1 LEAVE BAG TERMINATE 1 * ПРОВЕРКА DO &I=1,35,1 START 60 CLEAR ENDDO END Заранее спасибо за помощь. |
Сообщ.
#272
,
|
|
|
ошибки:
- нет полного текста задачи - нет символа конца gpss кода перед коментариями - метки TEST не может быть в gpss, это название исполняемого блока - L1, L2, L3, L4 равны номерам строк, где они указаны как метки блокив. Так что устолия всегда false что делает эта конструкция? Цитата DO &I=1,35,1 START 60 CLEAR ENDDO END задача вроде не сложная, могу подправить за $ |
Сообщ.
#273
,
|
|
|
Eugen спасибо большое за помощь, но исправить хочу сам, я сейчас обучаюсь этому языку, Вы мне тока объясните пожалуйста, где я накасячил.
1.нет символа конца gpss кода перед комментариями –что это за символ 2.L1, L2, L3, L4 равны номерам строк, где они указаны как метки блокjв. Так что устолия всегда false- можно по подробнее обьяснить что необходимо сделать. 3.С меткой TEST это я просмотрел 4.А Эта конструкция задает петлю чтобы не надо было каждый раз писать Start Clear для получения различных данных. Я пишу на GPSSH Заранее спасибо |
Сообщ.
#274
,
|
|
|
1. GENERATE 1,1 поступление багажа - разве их не нужно разделять ";" или "*"
2. L1 TEST E L1,1,OT - и далее еще 3 строки. При проверкb условия if(L1 == 1).. здесь L1 всегда = номеру строки в которой стоит этот TEST 4. DO &I=1,35,1 - что обозначет каждая цифра |
Сообщ.
#275
,
|
|
|
Детали, необходимые для работы цеха, находятся на цеховом и центральных складах. На цеховом складе хранится 20 комплектов деталей, потребность в которых возникает через 60+-10 минут и составляет один комплект. В случае снижения запасов до трех комплектов, формируется в течении 60 минут заявка на пополнение запасов цехового склада до полного объема в 20 комплектов, которая посылается на центральный склад, где в течении 60+-20 минут происходит комплектование за 60+-5 минут осуществляется доставка деталей в цеховой склад.
Смоделировать работу цеха в течении 400 часов. Определить вероятность простоя цеха из-за отсутствия деталей и среднюю загруженность цехового склада. Определить момент пополнения запасов цехового склада при котором вероятность простоя цеха равна 0. Вот моя программа. ![]() ![]() simulate initial x$och,20; generate 24000; terminate 1; generate 60,10; test NE x$och,0,vihod0; SAVEVALUE och-,1; test e x$och,3,vihod; split 1,centrskl; vihod terminate ; vihod0 terminate; centrskl advance 60; advance 60,20; advance 60,5; SAVEVALUE och,20; terminate; start 1; Нужно определить: 1)Вероятность простоя цеха из-за отсутсятвия деталей. 2)среднюю загрузженность цехового склада. 3)Определить момент пополнения запасов цехового склада при котором вероятность простоя цеха равна 0 Помогите опредилить эти значения? |
Сообщ.
#276
,
|
|
|
2Eugen
Доброго времени суток, 1. нет их разделять не нужно их нужно просто писать в соответствующей колонке (25 вроде пробел от начала строки) 2.тоесть вместо L1 TEST E L1,1,OT необходимо написать FL TEST E L1,1,OT( например) я правильно понял? 3.сначала в блоке SIMULATE пишем INTEGER &I (для ввода петли) &I=1 - индекс начала петли,представляющей собой целочисленную скалярную ампеерпеременную; 35 - характеризует собой предельный номер конечного члена петли(сколько раз прогонять) 1 - задает приращение индекса Ещё раз спасибо за помощь |
Сообщ.
#277
,
|
|
|
Здрасти!
хотелось бы переделать задачку из GPSSWorld просто в GPSS возможно ли это?! VVrema variable (Exponential(1,0,X$Vrem)) initial X$Vrem,5 generate 6,3 savevalue Vsego+,1 assign PVrema1,V$VVrema assign PVrema2,V$VVrema queue Och1 seize Ustr1 depart Och1 advance P$PVrema1 release Ustr1 queue Och2 seize Ustr2 depart Och2 advance P$PVrema2 release Ustr2 test LE (P$PVrema1+P$PVrema2),10,MetBol test L (X$Bol/X$Vsego),.3,MetTerm savevalue Vrem,5 MetTerm terminate MetBol savevalue Bol+,1 test GE (X$Bol/X$Vsego),.3,Met1 savevalue Vrem,4 MetTerm1 terminate Met1 savevalue Vrem,5 transfer ,MetTerm1 generate 10000 terminate 1 start 1 |
Сообщ.
#278
,
|
|
|
Возможно.
пронумеруйте каждый функциональный блок, все формулы вынесите вычисляемыми выражениями, в т.ч и условия для теста. Закон распредиления прийдется задать при помощи оператора FUNCTION Удачи ) |
Сообщ.
#279
,
|
|
|
Привет! Не не понимаю, в чем ошибка...
Задача такая: На двухканальный телефон скорой помощи в среднем 1 раз в 100 секунд с равной вероятностью звонят старики, взрослые и дети. Время разговора с ними соответственно 180 с, 150 с, 210 с. мой текст программы такой: emerg storage 2 generate 100 transfer pick old,baby old assign 1,(Uniform(1,160,200)) transfer ,old1 aged assign 2,(Uniform(1,130,170)) transfer ,aged1 baby assign 3,(Uniform(1,190,230)) transfer ,baby1 old1 enter emerg advance P1 leave emerg terminate aged1 enter emerg advance P2 leave emerg terminate baby1 enter emerg advance P3 leave emerg terminate generate 86400 terminate 1 программа выдает такую ошибку:28 ADVANCE. Line 16. advance P2 Reference to a non-existent Parameter. |
Сообщ.
#280
,
|
|
|
1. В операторе трансфер стоит пробел вместо запятой,
2. параметр пик кидает на случайную строку между метками. В результате чего транзакты попадают на адвансы, не попав на ассижены, следстиве - попытка задержатся на велечину параметра, которого еще вообще то не существует 3. метки baby1, aged1 и old1 - не пришей кобыле хвост. код то одинаковый. Упростим. 4. ИМХО лучше использовать DUniform. Он дает дискретные значения. В ЖПСС верд погоды не делает (прекрасно работает с дробным временем), но чисто теоритически так вроде как привильней. Цитата emerg storage 2 generate 100 transfer pick,met1,met2 met1 transfer ,old transfer ,aged met2 transfer ,baby old assign 1,(DUniform(1,160,200)) transfer ,met3 aged assign 1,(DUniform(1,130,170)) transfer ,met3 baby assign 1,(DUniform(1,190,230)) transfer ,met3 met3 enter emerg advance P1 leave emerg terminate generate 86400 terminate 1 start 1 А вообще, раз сказано про равные ВЕРОЯТНОСТИ, то помоему лучше задать переходы именно вероятностями Цитата emerg storage 2 generate 100 transfer (2/3),old transfer .5,aged,baby old assign 1,(DUniform(1,160,200)) transfer ,met3 aged assign 1,(DUniform(1,130,170)) transfer ,met3 baby assign 1,(DUniform(1,190,230)) transfer ,met3 met3 enter emerg advance P1 leave emerg terminate generate 86400 terminate 1 start 1 З.Ы.: выделяйте код. Добавлено Ну и это тебе на закуску )) Цитата OLD VARIABLE (DUniform(1,160,200)) AGED VARIABLE (DUniform(1,130,170)) BABY VARIABLE (DUniform(1,190,230)) fun function RN2,E3 .33,V$OLD/.66,V$AGED/1,V$BABY emerg storage 2 generate 100 assign 1,FN$FUN enter emerg advance P1 leave emerg terminate generate 86400 terminate 1 start 1 |
Сообщ.
#281
,
|
|
|
Люди,спасайте. Короче у меня версия GPSS, в которой размер модели ограничен 180 блоками (180 операндов, строк кода).
Подскажите, кто знает, как снять это огранечение. Или если как я понимаю это ограничение именно версии программы, дайте ссылочкку плиз, где скачать, версию хотябы на 500 строк. (и желательно просто бесплатную ссылку ![]() Спайте, курсач горит ![]() |
Сообщ.
#282
,
|
|
|
h4_botan, не попадалась еще ни одна программа, для которой не хватило бы 180 блоков.
Скорей всего вы что то делаете не так. Добавлено А способ снять ограничение весьма прост. для этого надо заплатить 500 бакинских минутеансофтвейру за комерческую версию программы ![]() Добавлено З.Ы.: для сравнения можешь перечитать предыдущие два поста. Я не напрягаясь уменьшил вдвое размер программы, без искажения условий и потери точности моделирования. |
Сообщ.
#283
,
|
|
|
Гы гы гы гы, давайте я к примеру выложу условие задачи, а вы мне,Уважаемый, скажите, уложитесь ли вы в 180 блоков.
На вход СМО поступает входной поток, в котором с вероятностью 0,58 имеются заявки первого типа; с остаточной вероятностью – второго. Заявки первого типа обслуживаются в 3-х канальном узле с общей очередью (устройства 1-3); второго типа – в двухканальном узле с индивидуальными очередями каждого устройства (устройства 4 и 5). СМО также располагает тремя безотказными резервными устройствами, которые могут быть использованы в случае отказа любого из основных устройств СМО. Отказы наступают в системе с заданной периодичностью, причем с вероятностью 0,75 наступает отказ одного устройства; с вероятность 0,2 – двух устройств; с вероятностью 0,05 – трех устройств (любого или любых равновероятно). В случае множественности отказа время восстановления индивидуально для каждого отказавшего устройства. Время обслуживания в используемом резерве эквивалентно времени обслуживания в резервируемом устройстве. На момент запуска системы одно резервное устройство находится в «горячем» резерве у первого устройства трехканального узла; второе – в «горячем» резерве у первого устройства двухканального узла; третье – в «холодном» резерве. Для первого отказа, если он происходит не в устройствах с «горячим» резервом, используется «холодный» резерв. Резерв считается использованным, если он отработал время восстановления устройства. Отключение использованного резерва от устройства (перевод в «холодное» состояние) происходит после наступления в системе очередного отказа в том случае, если отказ не наступил в устройстве, к которому подключен резерв. В случае отказа устройства СМО остаток незавершенного обслуживания ожидает продолжения обслуживания в резервном устройстве в течение времени, равного 1,25×МОп, где МОп – заданное математическое ожидание времени подключения резерва. Если за этот интервал подключения резерва не происходит (не успевает, нет свободных резервных устройств), то остаток направляется в кратчайшую очередь работающих устройств своего узла, где принимается при длине очереди не более 2-х заявок; в противном случае – теряется. ![]() Добавлено Кстати, могу, приложить код ко всему этому.... |
Сообщ.
#284
,
|
|
|
2TEMENb, Вы случайно не можете мне помочь с задачей? я её выше описал, а то eugen пропал куда-то.. =\
Заранее спасибо |
Сообщ.
#285
,
|
|
|
ну обемная задачка, по преварительным оценкам до 60-90 блоков )
видели задачки и пообьемней ![]() давай код. будем править. |