На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (54) « Первая ... 3 4 [5] 6 7 ...  53 54  ( Перейти к последнему сообщению )  
> GPSS , Вопрос для знающих
    для начала можно поудалять коментарии
    или хотя б отделить их точкой с запятой.. или звездочкой
      Помогите !!!! запрограммить пожалуйста!!!

      В небольшом кафе работают две официантки (А и B) обслуживая по 7 четырехместных столиков. Официантка А пользуется большей популярностью, чем официантка В. Приходя в кафе, клиент садится за столик официантки В только в том случае, если все места за столиками, которые обслуживает официантка А, заняты. Клиенты приходят в кафе через 2 ± 1 минут и, если не застают свободных мест, становятся в очередь.
      Когда клиент садится на освободившееся место, он ждет, пока к нему подойдет официантка и примет у него заказ. Время приема заказа у официантки А занимает 35 ± 6 секунд, у официантки В соответст¬венно 22 ± 6 секунд. Приняв заказ у клиента, официантки сразу же его выполняют. Время выполнения заказа обеими официантками составляет 180 ± 30 секунд. После получения заказа клиент на протяжении 10 ± 3 минут обедает и уходит из кафе. Официантки обслуживают клиентов по принципу FIFO и в каждый момент времени могут об¬служивать не более одного клиента.
      Определить время ожидания в очереди и время, которое клиент проводит за столиком кафе. Промоделируйте работу кафе на протяжении 10 ч.

      помогите...
        Скрытый текст
        запрограммируйте за меня, пажалста-пажалста
        :D

        VitaminkaKush, задавайте вопросы, где не понятно. Поможем. А уже кодить всеравно прийдеться вам.

        клиенты приходят
        клиенты пытаются войти в МКУ РЕСТОРАН
        Клиенты смотрят, а не занята ли первая официантка.. и идут к соответствующей официантке
        клиенты садятся за столик (станосятся в МКУ-очередь к официантке)
        обслуживаются официанткой
        покидают МКУ столик
        покидают МКУ ресторат
        покидают модель


        вот и вся ваша модель.
          Посмотрите пожалуйста правильно я запрограммировал в 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, в задаче выше про комплектовочный конвейер!?
            структура программы похожа на правильную, хотя я б использовал пользовательские списки вместо МКУ (наличие деталей)

            касаемо цифр задачи - особо не сверялся.. ну есть подозрение. что напартачил с колличеством деталий в партии при поступлении.. но может я просто условие понял не так хорошо как автор ;)

            отсутствуют доп задания.

            А вообще СЧА прошарил - зачет.

            Совет: Сделай размер МКУ соответствующий колличеству деталей для одного перемещения. тогда можно будет просто проверять контейнеры на заполненость => на ходу можно будет поменять параметры моделирования.
              Помогите пожалуйста решить задачу...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 ;
              ;------------------------------------;
                Это может показаться странным, но ваша задача у меня промоделировалась (на правильность реализации не смотрел).

                вот отчет
                ExpandedWrap disabled
                                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


                Попробуйте закоментировать ВЕСЬ код.
                и запускайте моделирование. после успешных попыток - открывайте несколько блоков. таким образом вы найдете то мето, в котором программа дает сбой.
                  спасибо...все заработало
                    добрый вечер вот решаю задачу на gpssh (преподаватель очень придирчевый :( а я почти неразбираюсь в gpss)
                    немогу понять в задаче как вычислить производительность зала?

                    вот задание
                    Система обслуживания запросов с двумя различными ЭВМ и общим терминалом.
                    В зал поисковой системы из двух специализированных ЭВМ с общим терминалом ввода-вывода через экспоненциально распределенные интервалы времени со средним – 2 мин заходят по одному клиенты и с вероятностями 0,7 и 0,3 обращаются к ЭВМ1 и к ЭВМ2, если в зале не более 10 клиентов. На подготовку запроса на терминале тратится 2+-1 мин, на вывод найденного ответа – 0,5 мин работы терминала "вне очереди"(без участия ЭВМ). ЭВМ1 «ищет» 3+-2 мин, ЭВМ2 - 6+-4 мин.
                    По концептуальной модели разработать программную модель системы с использованием ЯИМ GPSS/H. Экспериментально найти: коэффициент отказа клиентам (войти в зал) и загрузку ЭВМ, гистограмму и среднее значение времени пребывания клиента в зале, производительность зала.
                    user posted image

                    вот что я написал
                    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 ;Окончание программы
                    Сообщение отредактировано: yolko -
                      yolko, выглядит, как будто вы решили похвастаться.
                      Невижу вопросительного знака в посте ))
                      Если у вас что то не работает или где-то модель себя ведеть некоректно - спрашивайте.
                      Проверять весь код на правильность не буду. т.к. это на порядок сложнее, чем написать с нуля.
                        нужно вычислить производительность зала , тоесть H1. как это сделать недоходит :(
                        поставил вопросительный знак.
                          ну насколько я понимаю, производительность зала, это отношение принятых студентов, к общему колличеству студентов.
                          Если вам надо пощитать это програмно - N$ME1 и (N$ME1+N$ME2) дадут вам эти значения. Вам надо только в последний момент времени пощитать N$ME1/(N$ME1+N$ME2).
                            спасибо TEMENb , попробую так сделать. как сдам напишу.
                              ИМХО это намного удобнее посмотреть в отчете и на калькуляторе разделить два числа.
                              покрайней мере, пока я был маленьким и глупым :D - я именно так и делал
                                Здравствуйте! я с проблемой решения задачи :
                                Транспортный цех объединения обслуживает три филиала
                                А, В и С. Грузовики перевозят изделия из А в В и из В в С, возвращаясь затем
                                в А без груза. Погрузка в А занимает 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

                                Что странно в проге ни слова о переходах.... Что делать?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (54) « Первая ... 3 4 [5] 6 7 ...  53 54


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0412 ]   [ 15 queries used ]   [ Generated: 21.04.25, 07:25 GMT ]