На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (54) « Первая ... 41 42 [43] 44 45 ...  53 54  ( Перейти к последнему сообщению )  
> GPSS , Вопрос для знающих
    на входе есть равномерное распределение, и 2 обслуживающих канала,1 задан по экспоненциальному закону,а второй по пуассону. загрузка системы = о,6
    SIMULATE
    ..//тут надо задавать точки,но жпсс вроде как равномерное понимает,но как это записать? и надо ли задавать законы обслуживающих приборов?
    GENERATE FIV $Ravn
    QUEUE qu
    MKS STORAGE 2
    ENTER MKS
    LEAVE MKS
    TERMINATE
    TERMINATE 1
    DEPART Pribor1
    RELEASE Pribor1
    DEPART Pribor12
    RELEASE Pribor2
    DEPART System
    GENERATE 100000
    TERMINATE 1

    я впервые пишу на жпсс,и наверное много где накосячила((((
      Здравствуйте!

      Обращаюсь к вам за помощью. Нам в магистратуре внезапно дали задания по GPSS World, хотя читали только MatLab LabVieW, и то как физикам)(это я к тому, что в программировании, а особенно в очередях очень плохо разбираюсь)

      Знаю, что есть подобные задачи, но не могу понять как сделать так, чтобы сообщение ждало не больше N секунд, а потом удалялось.
      то есть для этого нужно использовать "TEST", но непонятно как считать время.
      Сама задача сформулирована так:
      Каждые 3+-1 сек генерируется сообщение, они идут в буфер, где обрабатываются по очереди, время обработки 5+-2 сек, если сообщение ждет обработки больше 12 сек, то оно удаляется

      вот то, что я смогла написать.
      [ code ]
      GENERATE 3,1,0,200 ; генерирует 200 сообщений, через каждые 3+-1 сек,
      mr EQU 12 ; константа, может пригодится

      SAVEVALUE OBRABOTAN,0 ; число обработанных (почем-то при работе они не обнуляются...
      SAVEVALUE UDALEN,0 ; число удаленных

      QUEUE OZD ;заняло место в очереди на обработку в буфере

      Где-то здесь, как я понимаю, должно быть условие с TEST

      SEIZE BUF ;ожидание на обработку
      DEPART OZD ;выход из очереди на обработку
      ADVANCE 5,2 ;обрабатывается в буфере 5+-2 сек
      RELEASE BUF ;освобождение буфера
      Proshlo TERMINATE 1 ;
      SAVEVALUE OBRABOTAN+,1 ; изменить число обработанных

      Dele TERMINATE 1 ;удалить сообщение по условию
      SAVEVALUE UDALEN+,1 ;изменить число удаленных

      ;Время всего процесса
      GENERATE 1 ;моделирование времени работы системы
      SAVEVALUE 1+,1 ;счетчик времени (в сек)
      TRM TERMINATE 1 ;одна сек системного времени прошла
      CCL STORAGE 1 ;вместительность обработчика
      START 3000 ;общее время, чтоб с запасом хватило

      MWT TABLE M1,15,15,15
      [ /code ]

      Буду рада любым подсказкам, или хотя бы ссылкам на книги, где можно найти подобные примеры. Заранее большое спасибо!
      Сообщение отредактировано: Wrenka -
        переделала и привела в божеский вид,но всё равно выдаёт ошибку
        PUAS FUNCTION RN2, C25
        0,1/0.04,0.96/0.08,0.92/0.12,0.88/0.16,0.85/0.2,0.8187
        0.24,0.786/0.28,0.755/0.32,0.726/0.36,0.698/0.4,0.67/0.44,0.64/0.48,0.619
        0.52,0.59/0.56,0.57/0.6,0.549/0.64,0.527/0.68,0.507/0.72,0.487/0.76,0.468/0.8,0.449
        0.84,0.342/0.88,0.414/0.92,0.398/0.96,0.383
        EXPO FUNCTION RN2,C25
        0,0/0.04,0.0082/0.08,0.0167/0.12,0.0255/0.16,0.0349/0.2,0.0446/0.24,0.0549/0.28,0.0657
        0.32,0.0771/0.36,0.0892/0.4,0.1022/0.44,0.1160/0.48,0.1308/0.52,0.1468/0.56,0.1642
        0.6,0.1833/0.64,0.2043/0.68,0.2279/0.72,0.2546/0.76,0.2854/0.8,0.3219/0.84,0.3666
        0.88,0.4241/0.92,0.5051/0.96,0.6438
        Simulate
        MKS STORAGE 2
        Generate 5,0.33
        QUEUE System
        QUEUE ochered
        Enter MKS
        Depart ochered
        Advance FN$PUAS
        Leave MKS
        Depart System
        Generate 5,0.33
        QUEUE System
        QUEUE ochered
        Advance FN$EXPO
        Leave MKS
        Depart System
        Terminate
        Generate 10000
        Terminate 1
        Start 1
          iriska_187, в описании функции удалите пробел после запятой
          и вообще никогда не ставьте пробелы после запятых. жпсс их трактует как разделитель между параметрами транзакта

          З.Ы.: впрочем на этом ваши проблемы не оканчиваются
          З.з.Ы.: откуда вы взяли такие цифры экспоненциального распределения???
            Подскажите как сделать проверку многоканального устройства на занятость

            GATE NU имя_устройства,метка - работает,но все транзакты поступают в последующий блок, а между меткой не распределяются
              great_dndz, пользуйтесь тестом и СЧА МКУ

              СЧА МКУ
              Sj Текущее содержимое многоканального устройства j. Содержимое многоканального устройства может изменяться блоками ENTER и LEAVE.
              Rj Число свободных единиц многоканального устройства j. Эта величина может изменяться блоками ENTER и LEAVE.
              SRj Коэффициент использования многоканального устройства j в тысячных долях, т.е., если коэффициент равен 0.65, то SRj равно 650.
              SAj Среднее содержимое многоканального устройства j (целая часть).
              SMj Максимальное содержимое многоканального устройства j.
              SCj Общее число входов в многоканальное устройство j.
              STj Среднее время пребывания транзактов в многоканальном устройстве j.
              SEj Флаг незанятости многоканального устройства j: 1 - свободно, 0 - занято.
              SFj Флаг заполненности многоканального устройства j: 1 - заполнено, 0 - не заполнено.
              SVj Флаг готовности многоканального устройства j: 1 - готово, 0 - не готово.
              SNVj Флаг неиспользуемости многоканального устройства j: 1 - неиспользуется, 0 - используется.
                Пользуюсь

                TEST E SE$Имя_устройства,1,BACK1

                пишет ошивку в параметре B теста, независимо от 0 или 1 ((((((((((((((
                  текст шедевра в студию.

                  З.Ы.: я лично предпочел бы написать

                  TEST E S$Имя_устройства,0,BACK1 ;полностью свободное устройство
                  TEST G R$Имя_устройства,0,BACK1 ;Устройство имеет свободные каналы
                    В такой записи работает, но аналогично Gate. Транзакты идут либо ниже, либо в бэк1. Подскажите кто знает, наверно в логике ошибка

                    KD1 EQU 2 ;количество деталей на первичню регулир.
                    PERV_REG STORAGE 2 ;выделяем для устр. первичн регул. 2 канала
                    VTOR_REG STORAGE 2 ;выделяем для устр. вторичн. регул. 2 канала
                    NAKOPITEL STORAGE 2
                    INITIAL X$KOLAGR1SORT,0 ;начальное колич. деталей первого сорта
                    INITIAL X$KOLAGR2SORT,0 ;начальное колич. деталей второго сорта
                    INITIAL X$PRIBDET1,500 ;прибыль от реализации деталей первого сорта
                    INITIAL X$PRIBDET2,220 ;прибыль от реализации деталей второго сорта
                    ;PERVERV_REG STORAGE 2 ; выделяем емкость уст-ва перв.регул.
                    GENERATE 40,8,,2 ;генерация входа агрегатов по времени
                    ; SPLIT 2,AGR ;создаём 2 копии агрегатов
                    ; GATE NU PERV_REG,BACK1 ;проверка устройства на занятость, если занято то переход в бэк1
                    KOL1 SAVEVALUE KOLAGR1SORT+,1
                    TEST G S$PERV_REG,0,BACK1
                    QUEUE PERV_DET ;встать в очередь для сбора статистики на первичн. регул.
                    ENTER PERV_REG,2 ;посылка агрегатов,занять уст-во перв. регул.
                    DEPART PERV_DET ;освободить очередь
                    ADVANCE 40 ;,FN$EXPDIS ;задержка на первичной регулировке
                    LEAVE PERV_REG,2 ;покидаем уст-во
                    TRANSFER ,BACK2 ;переход на втор. регулир.
                    ;ВТОРИЧНАЯ РЕГУЛИРОВКА

                    BACK2 QUEUE VTOR_DET ;встать в очередь для сбора статистики на ВТОР. регул.
                    ENTER VTOR_REG ;занимаем уст-во втор. регул-ки
                    DEPART VTOR_DET ;освободить очередь
                    ADVANCE 80 ;,EXPDIS ;задержка на втор. регулир.
                    LEAVE VTOR_REG ;покидаем уст-во
                    TRANSFER ,KOL1 ;перенаправление на подсчет количества
                    ;НАКОПИТЕЛЬ

                    BACK1 ENTER NAKOPITEL ;занять уст-во накопитель
                    LEAVE NAKOPITEL ;покинуть накопитель
                    TRANSFER ,BACK3 ;переход агрегатов из накоп. на частичн регул.
                    ;ЧАСТИЧНАЯ РЕГУЛИРОВКА
                    BACK3 QUEUE CHASTICH_DET
                    SEIZE CHAST_REG ;занять однокан. уст-во - частичн.регул.
                    DEPART CHASTICH_DET
                    ADVANCE 60 ;,EXPDIS ;задержка на частичн.регул.
                    RELEASE CHAST_REG ;покидаем уст-во
                    SAVEVALUE KOLAGR2SORT+,1
                    TRANSFER ,back1 ;перенаправление на подсчет количества


                    terminate 0 ;
                    GENERATE 10080 ;таймер 24 часа
                    terminate 1 ;
                    start 1 ;
                      Цитата TEMENb @
                      iriska_187, в описании функции удалите пробел после запятой
                      и вообще никогда не ставьте пробелы после запятых. жпсс их трактует как разделитель между параметрами транзакта

                      З.Ы.: впрочем на этом ваши проблемы не оканчиваются
                      З.з.Ы.: откуда вы взяли такие цифры экспоненциального распределения???

                      по обратной формуле -1/lambda*Ln(1-x)
                      Кстати программа теперь работает,но не выдаёт нужных цифр
                      Сообщение отредактировано: iriska_187 -
                        Помогите надо решить задачу на gpss

                        В телефонный коммутатор включены 4 внутреннии и 3 внешнии линии .Звонки распределяются с отношением 60% и 40% .Определить показатели эффективности системы есть интенсивность звонков y=0.02 c(показательное распределение) а среднее время обработки вызова линией 60 сек.
                          В обробатывающий цех через 5±1 мин поступают детали двух типів с вероятностью 0.4 первого типа, с веростяностью 0.6 второго типа.
                          Детали первого типа обрабатываются верстатом А, время обработки 15±5 мин и в каждый момент времни может обрабатываться 1 деталь. Детали второго типа обрабатываются верстатом В (время роботы 8±4). Смоделируйте работу цеха в течении двух суток.

                          Пожалуйста помогите с задачей а то в GPSS я вообще не в теме... Надеюсь для тех кто шарит такие задачи 5 мин дела...
                          Заранее спасибо
                          С уважением.
                            Ладно я уже понял что решение задачи никто не скинет... Тогда возьму попроще вот эту...

                            На станцію технічного обслуговування, що складається з боксу для ремонту і боксу для технічного огляду, кожні 25±10 хв. Надходять автомобілі. З них 73% потребують ремонту, який триває 45±15 хв, а 27% проходять технічний огляд, який триває 17±8 хв. Змоделюйте 40 год. роботи станції технічного обслуговування.
                              Хоть бы на русский перевел ;)

                              ExpandedWrap disabled
                                GENERATE 25,10
                                TRANSFER .73,MET1
                                QUEUE REM
                                SEIZE REM
                                DEPART REM
                                ADVANCE 45,15
                                RELEASE REM
                                TERMINATE
                                MET1 QUEUE TEH
                                SEIZE TEH
                                DEPART TEH
                                ADVANCE 17,8
                                RELEASE TEH
                                TERMINATE
                                 
                                GENERATE 2400
                                TERMINATE 1
                                 
                                STATR 1
                                GENERATE 25,10
                                TRANSFER .73,MET1
                                QUEUE REM
                                SEIZE REM
                                DEPART REM
                                ADVANCE 45,15
                                RELEASE REM
                                TERMINATE
                                MET1 QUEUE TEH
                                SEIZE TEH
                                DEPART TEH
                                ADVANCE 17,8
                                RELEASE TEH
                                TERMINATE

                                GENERATE 2400
                                TERMINATE 1

                                START 1

                                Добавлено
                                TEMENb спасибо большое) а я уже и не ждал помощи по своему делать начал)
                                Сообщение отредактировано: ninja7 -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (54) « Первая ... 41 42 [43] 44 45 ...  53 54


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0696 ]   [ 15 queries used ]   [ Generated: 18.06.25, 10:34 GMT ]