На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (54) « Первая ... 50 51 [52] 53 54   ( Перейти к последнему сообщению )  
> GPSS , Вопрос для знающих
    См. среднее число требовании вы очереди на обслуживание.
    Прикреплённая картинка
    Прикреплённая картинка
      Lazio, вообщем я этой формулы не знаю, результат деления (0,66 на 0,22) позволяют мне думать, что это коим то образом связанно с трехканальностью рассматриваемого устройства.
      Больше помочь ничем не могу. так глубоко анализ не учили.
        TEMENb, спасибо, теперь это надо заставить работать =\ а завтра уже сдать! х_Х
          Доброго времени суток форумчане!
          Помогите пожалуйста разобраться с лабораторной, а именно с определением таблиц.

          Была задача:

          В парикмахерскую с одним креслом приходят клиенты; интервалы времени между ними случайны и распределены равномерно в интервале [35±15] минут. Время обслуживания также распределено равномерно на интервале [13±4] минут. Клиенты, приходящие в парикмахерскую, обслуживаются в порядке очереди «первый пришел – первым обслужен».
          Задание: необходимо разработать и отладить имитационную модель парикмахерской в системе моделирования GPSS; модель должна обеспечить получение статистических данных об очереди.

          Параметры для построения таблицы равномерного распределения [0,60] шаг 5.

          Таблица в модели будет выглядеть следующим образом:

          PARIK TABLE M1,0,5,12 ; формирование таблицы (0 - левая граница, 5 - это шаг, 12 - число интервалов (получается 5*12=60, т.е. правая граница, согласно заданию)

          Правильно ли я рассуждаю?

          Так вроде бы понятно, но при рассмотрении другого примера моделирования никак не могу понять откуда взялись параметры TABLE:

          Задача:
          Переговорный пункт имеет одно помещение с тремя кабинами для переговоров. Если посетитель застает свободной хотя бы одну кабину, то он оплачивает будущий разговор в кассе, затем ждет соединения и ведет переговоры, после чего покидает переговорный пункт. Если посетитель застает все кабины занятыми, он ждет освобождения одной из них у входа в переговорный пункт.
          Интервал времени между приходами посетителей – случайный, распределенный по равномерному закону, составляет 1,5±0,4 мин. Время ожидания соединения – 3,5±1,1 мин., время разговора посетителя по телефону – 4,4±1,35 мин. Длительность разговора и время ожидания соединения – случайные величины, подчиняются равномерному распределению.

          Сам текст:
          ; Вместимость переговорного пункта
          Punkt STORAGE 3 ; емкость переговорного пункта
          Transit TABLE M1,.5,1,30 ; формирование таблицы
          ; Имитация прихода посетителей
          GENERATE 1.85,1 ; приход посетителей
          Povtor GATE SNF Punkt,Zanyt ; регулируется поток посетителей
          ; Имитация работы переговорного пункта
          ENTER Punkt ; войти на переговорный пункт
          QUEUE Ocher_kassir ; включение в очередь
          SEIZE Kassir ; обращение к кассиру
          DEPART Ocher_kassir ; выход из очереди
          ADVANCE 1.5,0.4 ; оплата за разговор
          RELEASE Kassir ; освобождение кассира
          ADVANCE 4.4,1.35 ; время разговора посетителей
          LEAVE Punkt ; оставить переговорный пункт
          TABULATE Transit ; табулировать переговорный пункт
          TERMINATE ; уход посетителей
          Zanyt ADVANCE 3.5,1.1 ; время ожидания освобождения телефона
          TRANSFER ,Povtor ; переход к оператору с меткой Povtor
          ; Задание времени моделирования
          GENERATE 480 ; время работы модели
          TERMINATE 1 ; уменьшение общего времени моделирования на 1 мин
          START 1 ; пропускаются по одному посетителю



          Вот откуда взялись эти значения M1,.5,1,30? Это высчитывается как-то? Ткните носом конкретно на этом примере, а то не доперает до меня и все(
            katenokcat, у вас несколько неправильно построена логика работы.
            Если транзакт создаст затор, то вы изымаете его из очереди и уничтожаете. в условии вашей задачи не сказано, что его надо уничтожать
            статистику по сумарному времени можно снять, используя mark и m1, запоминая время, если транзакт создавал затор, а вот по продолжительности затора - надо расчиплять первый и крайний транзакт.. примерно так, как вы это делаете, только не перенаправлять, а именно расчиплять. что б родитель продолжил движение по маршруту.

            Добавлено
            Ghza, да подбирают их.
            я, например, стандартно ставлю 0,1,1000
            потом подганяю, что б небыло лишних интервалов.
            Цитата Ghza @

            PARIK TABLE M1,0,5,12 ; формирование таблицы (0 - левая граница, 5 - это шаг, 12 - число интервалов (получается 5*12=60, т.е. правая граница, согласно заданию)

            тут вы немного ошибаетесь в суждениях. интервалов на самом деле не 12.. а 10, если память мне не изменяет. т.е. на один или два меньше, чем ожидается. вот ну не помню точно. а лезть проверять - лень :rolleyes:
            Сообщение отредактировано: TEMENb -
              Цитата TEMENb @
              katenokcat, у вас несколько неправильно построена логика работы.
              Если транзакт создаст затор, то вы изымаете его из очереди и уничтожаете. в условии вашей задачи не сказано, что его надо уничтожать
              статистику по сумарному времени можно снять, используя mark и m1, запоминая время, если транзакт создавал затор, а вот по продолжительности затора - надо расчиплять первый и крайний транзакт.. примерно так, как вы это делаете, только не перенаправлять, а именно расчиплять. что б родитель продолжил движение по маршруту.

              Добавлено
              Ghza, да подбирают их.
              я, например, стандартно ставлю 0,1,1000
              потом подганяю, что б небыло лишних интервалов.
              Цитата Ghza @

              PARIK TABLE M1,0,5,12 ; формирование таблицы (0 - левая граница, 5 - это шаг, 12 - число интервалов (получается 5*12=60, т.е. правая граница, согласно заданию)

              тут вы немного ошибаетесь в суждениях. интервалов на самом деле не 12.. а 10, если память мне не изменяет. т.е. на один или два меньше, чем ожидается. вот ну не помню точно. а лезть проверять - лень :rolleyes:

              Теперь вообще потерялась:(
              Ибо в задании где параметры для построения таблицы распределения были [0,50],с шагом 5 в исходнике было указано
              TABLE M1,0,5,10

              Почитала литературу:

              num TABLE A, B, C, D, E

              где num – имя или номер таблицы (это понятно)
              А – поле, в котором может быть записан либо аргумент таблицы (это M1)
              B – верхняя граница нижнего интервала; (это 0)
              C – ширина интервала; (это шаг 5)
              D – число интервалов; (ну тут чисто логически определила, что пять раз по 10 - выйдет 50)

              В общем непонятно. И как подбирать тоже:( Я понимаю, что не понимаю (простите за тавтологию)самого принципа построения таблиц. И стремаюсь жутко, потому что наверняка задаю тут тупые вопросы), но мне надо писать курсач. Потому очень хочу разобраться:(
              Помогите кто-нить, а:(
                Ghza, ну в чем проблема провести маленький эксперимент? ))

                ExpandedWrap disabled
                  ttt table   rn1,0,5,12
                   
                      generate    1
                      tabluate    ttt
                      terminate   1
                   
                      start   1000


                ExpandedWrap disabled
                  TABLE              MEAN    STD.DEV.       RANGE           RETRY FREQUENCY CUM.%
                   TTT             499.794  298.497                           0
                                                         _  -        0.000             4     0.40
                                                     0.000  -        5.000             8     1.20
                                                     5.000  -       10.000             9     2.10
                                                    10.000  -       15.000             7     2.80
                                                    15.000  -       20.000             7     3.50
                                                    20.000  -       25.000             4     3.90
                                                    25.000  -       30.000             3     4.20
                                                    30.000  -       35.000             5     4.70
                                                    35.000  -       40.000             4     5.10
                                                    40.000  -       45.000             3     5.40
                                                    45.000  -       50.000             6     6.00
                                                    50.000  -  _                     940   100.00


                как видите получили 10 полноценных интервала, + два интервала от минусбесконечности до нуля и от 50 до плюс бесконечности.

                Добавлено
                кстати, стоит заметить, что 0 попадает в интервал (минус бесконечность; ноль]
                ну и остальные числа аналогично.
                Сообщение отредактировано: TEMENb -
                  Цитата TEMENb @

                  Спасибо большое, теперь дошло:)
                    prototype, вам нужно добавить параметр в initial, что бы определить время приохда
                    кроме того вставить блок таймера.
                      Здравствуйте.
                      Подскажите пожалуйста, если у меня есть фрагмент программы

                      TARR1 VARIABLE 0
                      GENERATE 1
                      TEST E V$TARR1,0,MET1
                      SAVEVALUE TARR1,4
                      TEST E V$TARR1,4,MET1
                      SAVEVALUE TARR1,8
                      MET1 TERMINATE 1
                      START 1

                      то почему по завершению программы значение TARR1 - 4, а не 8?

                      Версия GPSS - 4.1.3
                        ...и сразу дополнение: почему в аналогичной программе переменная себя так необычно ведет? если я правильно понимаю - в первый проход я сравниваю ее с нулем, она увеличивается до четырех - затем я сравниваю четыре с четырем и получается что это неверно(!), а затем, на втором проходе - четыре снова увеличивается на четыре и дает восемь.

                        ExpandedWrap disabled
                          TARR1 VARIABLE 0
                          GENERATE 2
                          TEST E V$TARR1,0,MET1
                          SAVEVALUE TARR1+,4
                          TEST E V$TARR1,4,MET1
                          SAVEVALUE TARR1+,3
                          MET1 TERMINATE 1
                          START 2
                          Цитата qwert-chan @
                          Здравствуйте.
                          Подскажите пожалуйста, если у меня есть фрагмент программы

                          TARR1 VARIABLE 0
                          GENERATE 1
                          TEST E V$TARR1,0,MET1
                          SAVEVALUE TARR1,4
                          TEST E V$TARR1,4,MET1
                          SAVEVALUE TARR1,8
                          MET1 TERMINATE 1
                          START 1

                          то почему по завершению программы значение TARR1 - 4, а не 8?

                          Версия GPSS - 4.1.3


                          потому что
                          V$TARR1 всегда равно нулю и аж никак не четырем

                          наблюдая за ходом ваших мыслей, думаю ваша программа должна выглядеть так
                          initial x$TARR1,0
                          GENERATE 1
                          TEST E x$TARR1,0,MET1
                          SAVEVALUE TARR1,4
                          TEST E x$TARR1,4,MET1
                          SAVEVALUE TARR1,8
                          MET1 TERMINATE 1
                          START 1

                          и сразу дополнение. скачайте версию посвежее и больше не путайте переменные с сохраняемыми величинами.
                          Сообщение отредактировано: TEMENb -
                            Черт, а я всю ночь ошибку ищу. Спасибо вам большое.)) =)
                              TEMENb, спасибо! Вы были правы :)
                                Здравствуйте помогите пожалуйста ..



                                Тема. Решение задачи сетевого планирования средствами имитационного моделирования.
                                Логическая взаимосвязь работ, подлежащих выполнению в ходе технического обслуживания средств вычислительной техники, представлена на рис. Для обозначения каждого вида работы используется пара вершин графа, соединенных дугой. Числа, записанные над дугами, означают продолжительность соответствующих работ в часах. Необходимо построить модель, позволяющую получить распределение времени всего комплекса работ. Найти вероятность того, что все работы будут выполнены не более, чем за 70 часов. Найти наиболее вероятное время завершения технического обслуживания.
                                Прикреплённый файлПрикреплённый файл____________________.docx (12,4 Кбайт, скачиваний: 259)
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (54) « Первая ... 50 51 [52] 53 54 


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,1067 ]   [ 19 queries used ]   [ Generated: 25.04.24, 11:41 GMT ]