
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.86] |
![]() |
|
Страницы: (54) « Первая ... 3 4 [5] 6 7 ... 53 54 ( Перейти к последнему сообщению ) |
Сообщ.
#61
,
|
|
|
для начала можно поудалять коментарии
или хотя б отделить их точкой с запятой.. или звездочкой |
Сообщ.
#62
,
|
|
|
Помогите !!!! запрограммить пожалуйста!!!
В небольшом кафе работают две официантки (А и B) обслуживая по 7 четырехместных столиков. Официантка А пользуется большей популярностью, чем официантка В. Приходя в кафе, клиент садится за столик официантки В только в том случае, если все места за столиками, которые обслуживает официантка А, заняты. Клиенты приходят в кафе через 2 ± 1 минут и, если не застают свободных мест, становятся в очередь. Когда клиент садится на освободившееся место, он ждет, пока к нему подойдет официантка и примет у него заказ. Время приема заказа у официантки А занимает 35 ± 6 секунд, у официантки В соответст¬венно 22 ± 6 секунд. Приняв заказ у клиента, официантки сразу же его выполняют. Время выполнения заказа обеими официантками составляет 180 ± 30 секунд. После получения заказа клиент на протяжении 10 ± 3 минут обедает и уходит из кафе. Официантки обслуживают клиентов по принципу FIFO и в каждый момент времени могут об¬служивать не более одного клиента. Определить время ожидания в очереди и время, которое клиент проводит за столиком кафе. Промоделируйте работу кафе на протяжении 10 ч. помогите... |
Сообщ.
#63
,
|
|
|
Скрытый текст запрограммируйте за меня, пажалста-пажалста ![]() VitaminkaKush, задавайте вопросы, где не понятно. Поможем. А уже кодить всеравно прийдеться вам. клиенты приходят клиенты пытаются войти в МКУ РЕСТОРАН Клиенты смотрят, а не занята ли первая официантка.. и идут к соответствующей официантке клиенты садятся за столик (станосятся в МКУ-очередь к официантке) обслуживаются официанткой покидают МКУ столик покидают МКУ ресторат покидают модель вот и вся ваша модель. |
Сообщ.
#64
,
|
|
|
Посмотрите пожалуйста правильно я запрограммировал в 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,5; генерация деталей 1 первого типа queue o2; 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; Добавлено Всмысле для варианта №1, в задаче выше про комплектовочный конвейер!? |
Сообщ.
#65
,
|
|
|
структура программы похожа на правильную, хотя я б использовал пользовательские списки вместо МКУ (наличие деталей)
касаемо цифр задачи - особо не сверялся.. ну есть подозрение. что напартачил с колличеством деталий в партии при поступлении.. но может я просто условие понял не так хорошо как автор ![]() отсутствуют доп задания. А вообще СЧА прошарил - зачет. Совет: Сделай размер МКУ соответствующий колличеству деталей для одного перемещения. тогда можно будет просто проверять контейнеры на заполненость => на ходу можно будет поменять параметры моделирования. |
Сообщ.
#66
,
|
|
|
Помогите пожалуйста решить задачу...GPSS World...student version...
Постановка задачи: На сборочный участок цеха предприятия через интервалы времени, распределенные экспоненциально со средним значением 10 мин, поступают партии, каждая из которых состоит из трех деталей. Половина всех поступающих деталей перед сборкой должна пройти предварительную обработку в течение 7 мин. На сборку подаются обработанная и необработанная детали. Процесс сборки занимает всего 6 мин. Затем изделие поступает на регулировку, продолжающуюся в среднем 8 мин (время выполнения ее распределено экспоненциально). В результате сборки возможно появление 4% бракованных изделий, которые не поступают на регулировку, а направляются снова на предварительную обработку. Смоделировать работу участка в течение 24 ч. Определить возможные места появления очередей и их вероятностно-времен¬ные характеристики. Выявить причины их возникновения, пред¬ложить меры по их устранению и смоделировать скорректированную систему. Начал решать,но выводит следующие...поясните пожалуйста 12/13/08 19:04:29 START 1 12/13/08 19:04:29 Simulation in Progress. 12/13/08 19:04:29 Error Stop. 12/13/08 19:04:29 Halt. 12/13/08 19:04:29 Clock:0.000000. 12/13/08 19:04:29 There are no Transactions. Check Transaction Limits and Blocking. ____________________________________________________________________________________ SBOR STORAGE 2 ; ;------------------------------------; GENERATE ,,,1 ;геним транзакт MET1 ADVANCE (Exponential(1,0,10));задержка генерации по экспоненциальному закону на 10 мин SPLIT 3,MET2 ;клоним 3 транзакта, отправляем их на метку TRANSFER ,MET1 ;отправляем родителя на метку MET2 TRANSFER .5,MET3 ;половину пропускаем, половину отправляем на метку QUEUE OCH1 ;занять очередь 1 SEIZE PREDV ;первичная обработка DEPART OCH1 ;покинуть очередь ADVANCE 7 ;задержка на время обработки RELEASE PREDV ;покинуть первичную обработку QUEUE OCH2 ;занять очередь 2 LINK 2,FIFO ;ПОСТАВИТЬ В 2-Й СПИСОК ПОЛЬЗОВАТЕЛЯ ;------------------------------------; MET3 QUEUE OCH2 ;занять очередь 2 LINK 1,FIFO ;ПОСТАВИТЬ В 1-Й СПИСОК ПОЛЬЗОВАТЕЛЯ ;------------------------------------; MET4 ENTER SBOR ;занять устройство сборки DEPART OCH2 ;покинуть очередь 2 ASSEMBLE 2 ;собрать из двух деталей одну ADVANCE 6 ;Задержка на время обработки ADVANCE (Exponential(1,0,8)); изделие поступает на регулировку продолжающуюся 8 мин по экспоненциальному закону TRANSFER .04,MET4;4% браковых изделий отправляем на предварительную обработку LEAVE SBOR ;покидаем сборку LEAVE SBOR ;пришло две детали, а входит одно. потому покидаем два раза. TERMINATE ;транзакт покидает систему ;------------------------------------; GENERATE ,,,1 ;геним POVT TEST G CH1,0 ;если первый список пользователя больше нуля, то дальше TEST G CH2,0 ;если второй список пользователя больше нуля, то дальше UNLINK 1,MET4,1 ;отправить из 1-го списка пользователя на метку МЕТ4 один транзакт UNLINK 2,MET4,1 ;отправить из 2-го списка пользователя на метку МЕТ4 один транзакт TRANSFER ,POVT ;перейти на метку ;------------------------------------; GENERATE (24#60) ;геним транзакт через 8 часов TERMINATE 1 ;из счетчика завершений вычитаем 1 ;------------------------------------; START 1 ; ;------------------------------------; |
Сообщ.
#67
,
|
|
|
Это может показаться странным, но ваша задача у меня промоделировалась (на правильность реализации не смотрел).
вот отчет ![]() ![]() GPSS World Simulation Report - Untitled Model 1.3.1 Saturday, December 13, 2008 18:12:33 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 1440.000 31 1 1 NAME VALUE MET1 2.000 MET2 5.000 MET3 13.000 MET4 15.000 OCH1 10001.000 OCH2 10003.000 POVT 25.000 PREDV 10002.000 SBOR 10000.000 LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY 1 GENERATE 1 0 0 MET1 2 ADVANCE 146 1 0 3 SPLIT 145 0 0 4 TRANSFER 145 0 0 MET2 5 TRANSFER 435 0 0 6 QUEUE 201 19 0 7 SEIZE 182 0 0 8 DEPART 182 0 0 9 ADVANCE 182 1 0 10 RELEASE 181 0 0 11 QUEUE 181 0 0 12 LINK 181 180 0 MET3 13 QUEUE 234 0 0 14 LINK 234 233 0 MET4 15 ENTER 2 0 0 16 DEPART 2 0 0 17 ASSEMBLE 2 0 0 18 ADVANCE 1 0 0 19 ADVANCE 1 0 0 20 TRANSFER 1 1 0 21 LEAVE 0 0 0 22 LEAVE 0 0 0 23 TERMINATE 0 0 0 24 GENERATE 1 0 0 POVT 25 TEST 182 1 0 26 TEST 181 0 0 27 UNLINK 181 0 0 28 UNLINK 181 0 0 29 TRANSFER 181 0 0 30 GENERATE 1 0 0 31 TERMINATE 1 0 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY PREDV 182 0.883 6.988 1 398 0 0 0 19 QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY OCH1 21 19 201 13 6.316 45.252 48.381 0 OCH2 413 413 415 1 207.152 718.792 720.528 0 STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY SBOR 2 0 0 2 2 1 1.988 0.994 0 361 USER CHAIN SIZE RETRY AVE.CONT ENTRIES MAX AVE.TIME 1 53 0 21.214 234 53 130.548 2 0 1 0.006 181 2 0.047 FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE 398 0 1442.223 1 9 10 1 0 1457.824 1 2 3 439 0 2880.000 439 0 30 Попробуйте закоментировать ВЕСЬ код. и запускайте моделирование. после успешных попыток - открывайте несколько блоков. таким образом вы найдете то мето, в котором программа дает сбой. |
Сообщ.
#68
,
|
|
|
спасибо...все заработало
|
Сообщ.
#69
,
|
|
|
добрый вечер вот решаю задачу на gpssh (преподаватель очень придирчевый
![]() немогу понять в задаче как вычислить производительность зала? вот задание Система обслуживания запросов с двумя различными ЭВМ и общим терминалом. В зал поисковой системы из двух специализированных ЭВМ с общим терминалом ввода-вывода через экспоненциально распределенные интервалы времени со средним – 2 мин заходят по одному клиенты и с вероятностями 0,7 и 0,3 обращаются к ЭВМ1 и к ЭВМ2, если в зале не более 10 клиентов. На подготовку запроса на терминале тратится 2+-1 мин, на вывод найденного ответа – 0,5 мин работы терминала "вне очереди"(без участия ЭВМ). ЭВМ1 «ищет» 3+-2 мин, ЭВМ2 - 6+-4 мин. По концептуальной модели разработать программную модель системы с использованием ЯИМ GPSS/H. Экспериментально найти: коэффициент отказа клиентам (войти в зал) и загрузку ЭВМ, гистограмму и среднее значение времени пребывания клиента в зале, производительность зала. ![]() вот что я написал SIMULATE ;начать моделирование. 1 TABLE M1,3,3,30 ;определение таблицы 1. 1 STORAGE 10 ;определение вместимости H1. RMULT 1E5 ;Установить начальное значение ГСЧ. GENERATE RVEXPO(1,2) ;генерировать заявки = 2 мин експ. TRANSFER BOTH,ME1,ME2 ;Если в Н1 есть свободные места, заявка входит внего, иначе идет на выход из КМ ME2 TERMINATE ;выход заявки из системы ME1 ENTER 1 ;вход заявки в накопитель H1 QUEUE H2 ;Вход заявки в накопитель Н2 SEIZE 1 ;Вход заявки в ОУ1 DEPART H2 ;Выход заявки из накопителя Н2, освобождение очереди. ADVANCE 2,1 ;Задержка в ОУ1, от 1 до 3 минут. RELEASE 1 ;Выход заявки из ОУ1 TRANSFER .7,ME4,ME3 ;С вероятностью 0,7 заявки будут переданы в Н3 и с вероятностью 0.3 в Н4. ME3 QUEUE H3 ;Вход заявки в накопитель Н3 SEIZE 2 ;Вход заявки в ОУ2 DEPART H3 ;Выход заявки из накопителя Н3, освобождение очереди. ADVANCE 3,2 ;Задержка в ОУ2, от 1 до 5 минут. RELEASE 2 ;Выход заявки из ОУ2 TRANSFER ,ME5 ;Безусловный переход на ФЭК "Присвоить приоритет 1" ME4 QUEUE H4 ;Вход заявки в накопитель Н4 SEIZE 3 ;Вход заявки в ОУ3 DEPART H4 ;Выход заявки из накопителя Н4, освобождение очереди. ADVANCE 6,4 ;Задержка в ОУ3, от 2 до 10 минут. RELEASE 3 ;Выход заявки из ОУ3 TRANSFER ,ME5 ;Безусловный переход на ФЭК "Присвоить приоритет 1" ME5 PRIORITY 1 ;Присвоить заявке приоритет 1 QUEUE H5 ;Вход заявки в накопитель Н5 SEIZE 1 ;Вход заявки в ОУ1 DEPART H5 ;Выход заявки из накопителя Н5, освобождение очереди. ADVANCE .5 ;Задержка в ОУ1, 0,5 минуты. RELEASE 1 ;Выход заявки из ОУ1 LEAVE 1 ;Выход заявки из накопителя Н1, освобождение 1 места в очереди. TABULATE 1 ;Занести значение t в таблицу 1 SAVEVALUE 1,(N3*1000)/N30,XL ;Cохранение значения коэффициента отказа клиентам (войти в зал) SAVEVALUE 2,FR2,XL ;Cохранение значения загрузки ЭВМ1 SAVEVALUE 3,FR3,XL ;Cохранение значения загрузки ЭВМ2 SAVEVALUE 4,ST1,XL ;Cохранение значения времени пребывания заявок в зале TERMINATE ;выход заявки из системы GENERATE 2E6 ;задание времени моделирования. TERMINATE 1 ;Значение счетчика завершений уменьшить на 1 START 1 ;Выполнение модели и задание начального значения счетчика завершений END ;Окончание программы |
Сообщ.
#70
,
|
|
|
yolko, выглядит, как будто вы решили похвастаться.
Невижу вопросительного знака в посте )) Если у вас что то не работает или где-то модель себя ведеть некоректно - спрашивайте. Проверять весь код на правильность не буду. т.к. это на порядок сложнее, чем написать с нуля. |
Сообщ.
#71
,
|
|
|
нужно вычислить производительность зала , тоесть H1. как это сделать недоходит
![]() поставил вопросительный знак. |
Сообщ.
#72
,
|
|
|
ну насколько я понимаю, производительность зала, это отношение принятых студентов, к общему колличеству студентов.
Если вам надо пощитать это програмно - N$ME1 и (N$ME1+N$ME2) дадут вам эти значения. Вам надо только в последний момент времени пощитать N$ME1/(N$ME1+N$ME2). |
Сообщ.
#73
,
|
|
|
спасибо TEMENb , попробую так сделать. как сдам напишу.
|
Сообщ.
#74
,
|
|
|
ИМХО это намного удобнее посмотреть в отчете и на калькуляторе разделить два числа.
покрайней мере, пока я был маленьким и глупым ![]() |
Сообщ.
#75
,
|
|
|
Здравствуйте! я с проблемой решения задачи :
Транспортный цех объединения обслуживает три филиала А, В и С. Грузовики перевозят изделия из А в В и из В в С, возвращаясь затем в А без груза. Погрузка в А занимает 20 мин, переезд из А в В длится 30 мин, разгрузка и погрузка в В – 40 мин, переезд в С – 30 мин, разгрузка в С – 20 мин и переезд в А – 20 мин. Если к моменту погрузки в А и В отсутствуют изделия, грузовики уходят дальше по маршруту. Изделия в А выпускаются партиями по 1000 шт. через 20±3 мин, в В – такими же партиями через 20±5 мин. На линии работает 8 грузовиков, каждый перевозит 1000 изделий. В начальный момент все грузовики находятся в А. Смоделировать работу транспортного цеха объединения в течение 1000 ч. Определить частоту пустых перегонов грузовиков между А и В, В и С и сравнить с характеристиками, полученными при равномерном начальном распределении грузовиков между филиалами и операциями. По вашему совету воспользовался решением задачи с http://vuithelp.ru/files/42.html ,но меня смущают (и не то слово) выходные данные,особенно размер очереди и ваще сам алгоритм решения задачи..... Пытался делать с использованием GATE и TEST блоков,но запутался..... Направте на путь истинный Вот нездоровый код программы : 10 GENERATE 20,3 ; В филиале А генерируются изделия 20 QUEUE H1 ; В филиале А образуется очередь 30 SEIZE K1 ; Занять К1 40 DEPART H1 ; K1 покидает очередь 50 ADVANCE 70 ; Задержка на переезд 60 RELEASE K1 ; Освобождаем К1 70 TERMINATE 80 GENERATE 20,3 ; В филиале А генерируются изделия 90 QUEUE H1 ;В филиале А образуется очередь 100 SEIZE K2 ; Занять К2 110 DEPART H1 ; K2 покидает очередь 120 ADVANCE 70 ; Задержка на переезд 130 RELEASE K2 ; Освобождаем К2 140 TERMINATE 150 GENERATE 20,3 ; В филиале А генерируются изделия 160 QUEUE H1 ; В филиале А образуется очередь 170 SEIZE K3 ; Занять К3 180 DEPART H1 ; Освобождаем К3 190 ADVANCE 70 ;Задержка на переезд 200 RELEASE K3 ; Освобождаем К3 210 TERMINATE 220 GENERATE 20,3 ; В филиале А генерируются изделия 230 QUEUE H1 ; В филиале А образуется очередь 240 SEIZE K4 ; Занять К4 250 DEPART H1 ; K4 покидает очередь 260 ADVANCE 70 ;Задержка на переезд 270 RELEASE K4 ; Освобождаем К4 280 TERMINATE 290 GENERATE 20,5 ; В филиале B генерируются изделия 300 QUEUE H2 ; В филиале B образуется очередь 310 SEIZE K5 ; Занять К5 320 DEPART H2 ; K5 покидает очередь 330 ADVANCE 70 ;Задержка на переезд 340 RELEASE K5 ; Освобождаем К5 350 TERMINATE 360 GENERATE 20,5 ; В филиале B генерируются изделия 370 QUEUE H2 ; В филиале B образуется очередь 380 SEIZE K6 ; Занять К6 390 DEPART H2 ; K6 покидает очередь 400 ADVANCE 70 ; Задержка на переезд 410 RELEASE K6 ; Освобождаем К6 420 TERMINATE 430 GENERATE 20,5 ; В филиале B генерируются изделия 440 QUEUE H2 ; В филиале B образуется очередь 450 SEIZE K7 ; Занять К7 460 DEPART H2 ; K7 покидает очередь 470 ADVANCE 70 ; Задержка на переезд 480 RELEASE K7 ; Освобождаем К7 490 TERMINATE 500 GENERATE 20,5 ; В филиале B генерируются изделия 510 QUEUE H2 ; В филиале B образуется очередь 520 SEIZE K8 ; Занять К8 530 DEPART H2 ; K8 покидает очередь 540 ADVANCE 70 ;Задержка на переезд 550 RELEASE K8 ; Освобождаем К8 560 TERMINATE Что странно в проге ни слова о переходах.... Что делать? |