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

    Составить задание на моделирование прохождения заявок которые могут обрабатываться на одном из двух устройств, причем предпочтительнее на первом. Поступление заявок по равномерному закону распределения с интервалом [6...10] единиц времени, время обработки на первом устройстве в интервале [2...8] по РР, на втором - [5...9].
    Исследовать модель, где заявки поступают на обработку в устройство с ограниченным числом мест в очереди, равным 3. Если очередь заполнена, то заявка покидает систему.



    Исследовать характеристики многоканальной системы при многомерном потоке заявок на входе системы. Например, при двух потоках на входе, трех идентичных каналах обслуживания и общей очередью к ним.


    1. Требуется промоделировать решение задач в двухпроцессорной ЭВМ с общей памятью, разделенной на восемь блоков. Каждой задаче отводится при ее решении один блок. Интервалы времени между поступлениями задач распределены равномерно в интервале [2,14] единиц времени, время обработки порции информации подчинено экспоненциальному закону с интенсивностью v1=5 в процессоре CPU1 и с v2=2 в процессоре CPU2. Выполнение задачи сводится к обработке порций информации. Между обработкой порций с вероятностью 0.6 возможно обращение к внешней памяти, в которой время обслуживания распределено равномерно в диапазоне [2,8]. С вероятностью 0.3 задачи оказываются решенными и покидают систему. Моделирование выполнить на отрезке времени, соответствующем решению не менее 100 задач.




    Модель: Два сетевых принтера.
    Принт-сервер обслуживает два принтера: цветной и монохроматический. Поток заявок на печать - пуассоновский со средним значением 1,5 с. 40% заявок требуют использования цветного принтера, остальные - монохроматического. Имеется общая очередь заявок (буферная память). Емкость буферной памяти соответствует 10 заявкам. Если при поступлении заявки нет свободного буфера, заявка покидает принт-сервер без обслуживания. Время вывода на печать распределено по нормальному закону, причем для монохроматического принтера математическое ожидание = 8, а среднеквадратическое отклонение = 1. Для цветного математическое ожидание = 6, а среднеквадратическое отклонение = 1. Построить модель. Определить процент необслуженных заявок. Построить таблицу очереди заявок.






    Модель магазина - гипермаркета "unreal,-".
    Покупатель заходит в магазин, ищет нужные товары и идёт с ними к кассе.
    Время работы: с 9.00 до 22.00.
    Количество покупателей: утром - 1 покупатель в минуту, в обед - 8 в минуту, после обеда - 3 в минуту, вечером - 15 в минуту, после 19.00 - 5 в минуту.
    Среднее время поиска нужного товара покупателем - 40 ±20 секунд.
    Средний объём корзины – от 0 до 10 товаров до 17.00, от 0 до 50 товаров - до 19.00 и от 0 до 8 - до 22.00 (количество товаров соответствует экспоненциальному распределению на указанном интервале).
    Средняя стоимость товара - 100 руб.
    Среднее время обработки товара кассиром - 10 ±8 секунд
    Покупатель идёт к кассе, у которой самая короткая очередь. Каждый покупатель согласен ждать своей очереди в течении 10 минут. Если он видит, что ждать придётся не менее часа, то вероятность того, что он встанет в очередь равна 0.1. (и плавно изменяется до 1 с уменьшением предполагаемого времени стояния в очереди). Если покупатель встал в очередь, то он её уже не покинет. Чем дольше покупатель стоит в очереди, тем сильнее портится его настроение (покупатель злится). Если покупатель стоит в очереди менее 10 минут, то его озлобленность равна нулю, 1 час – 0.3, 2 часа - 1. Озлобленность покупателя является вероятностью того, что он смертельно обидится на магазин unreal и больше никогда туда не придёт. Покупатель без товаров никогда не обижается, покупатель, не вставший в очередь из-за её слишком большой длины, обижается в зависимости от проведённого в магазине времени - если больше часа, то обида == 1, если меньше 10 минут - обида == 0.
    Надо определить, какое количество касс должно работать в каждое время суток, чтобы обиженных покупателей было не больше 0.01% и привести всю возможную статистику - среднее время нахождения в очереди и т.д.
      Petroid
      Можешь кинуть работу
      В системе передачи данных осуществляется обмен пакетами данных между пунктами А и В по дуплексному каналу связи. Пакеты поступают в пункты системы от абонентов с интервалами времени 10 ± 3 мс. Передача пакета занимает 10 см. В пунктах имеются буферные регистры, которые могут хранить два пакета (включая передаваемый). В случае прихода пакета в момент занятости регистров пунктам системы предоставляется выход на спутниковую полудуплексную линию связи, которая осуществляет передачу пакетов данных за 10 ± 5 мс. При занятости спутниковой линии пакет получает отказ.
      Смоделировать обмен информацией в системе передачи данных в течение 1 мин. Определить частоту вызовов спутниковой линии и ее загрузку. В случае возможных отказов определить необходимый для безотказной работы системы объем буферных регистров.
      SHARKY-88@mail.ru
        Подскажите, пожалуйста, почему не работают параметры? (в отчете их нет)

        INPUT TABLE IN,0,20,25
        OUTPUT TABLE OUT,0,20,25

        GTD MATRIX ,1,3
        INITIAL MX$GTD(1,1),0.02
        INITIAL MX$GTD(1,2),-0.79
        INITIAL MX$GTD(1,3),12.9

        GENERATE 10
        ASSIGN 1,(COS(3.14#2#RN1/1000)+COS(3.14#2#RN2/1000))
        ASSIGN 2,1

        IN VARIABLE P1
        OUT VARIABLE MX$GTD(1,P2)#P1
        TABULATE INPUT
        TABULATE OUTPUT

        QUEUE QUE
        OUT VARIABLE P2+1
        DEPART QUE
        TERMINATE 1
          Вопервых, если ты хочешь занести в таблицу вычисляемое выражение, то заноси вычисляемое выражение, а не значение его числового имени.
          поясняю разницу
          IN - значение числового имени (равняется порядка десяти тысяч)
          V$IN - значение вычисляемого выражения

          Вовторых, если мне не изменяет память, косинус выдает результат в интервале -1..1. знач косинус плюс косинус - -2..2
          Внимание вопрос, что ты собираешься рассмотреть в таблице с начальным значением 0 и шагом 20?

          Втретьих,строчечки с вариейблами вынеси куданибудь повыше. Эти блоки не являются функциональными (если в них входит транзакт, то ничего не происходит) и среди функциональных им делать нечего

          Добавлено
          И еще, если тебе нужен был график cos(x)+cos(x), то ты немного промахнулся.
          У тебя сейчас график cos(x1)+cos(x2), x1,x2 э 0..2*pi

          ну так.. к слову.. я незаю как именно тебе нужно, просто предупредил )
            Спасибо!!!
              Задача на Многоканальное устройство

              Цитата
              Магазин состоит из 3 отделов и одной кассы на выходе. Интенсивность прихода покупателей 2+-l мин. Вероятность покупок в отделах и время покупок соответственно распределено равномерно:
              • 1 отдел - вероятность покупки 0.75 - время покупки 120+-60
              • 2 отдел - вероятность покупки 0.55 - время покупки 150+-30
              • 3 отдел - вероятность покупки 0.82 - время покупки 120+-45

              Время обслуживания у кассы 2+,-1 мин. Составить модель работы магазина в течение 8 часов


              Если бы время покупки во всех трёх отделах было бы одинаковым и в условии бы не было разных вероятностей совершения покупки, то я, кажется, справился с задачей:

              ExpandedWrap disabled
                market STORAGE 3
                 
                GENERATE 2,1
                 
                ENTER market
                      
                TRANSFER .75,exitgone,done
                 
                done ADVANCE 120,60
                     LEAVE market
                     QUEUE PayTurn
                     SEIZE pay
                     DEPART PayTurn
                     ADVANCE 2,1
                     RELEASE pay
                     TERMINATE
                 
                exitgone LEAVE market
                         TERMINATE
                 
                GENERATE 60
                TERMINATE 1
                START 8


              Но как быть с тремя разными вероятностями и разным временем на совершение покупки?
                TEMENb
                Доброго времени суток.
                Задача: На сборочный участок цеха предприятия через интервалы времени, распределенные экспоненциально со средним значением 10 мин, поступают партии, каждая из которых состоит из трех деталей. Половина всех поступающих деталей перед сборкой должна пройти предварительную обработку в течение 7 мин. На сборку подаются обработанная и необработанная детали. Процесс сборки занимает всего 6 мин. Затем изделие поступает на регулировку, продолжающуюся в среднем 8 мин (время выполнения ее распределено экспоненциально). В результате сборки возможно появление 4% бракованных изделий, которые не поступают на регулировку, а направляются снова на предварительную обработку.
                Смоделировать работу участка в течение 24 ч. Определить возможные места появления очередей и их вероятностно-временные характеристики. Выявить причины их возникновения, предложить меры по их устранению и смоделировать скорректированную систему.

                Эта задача уже приводилась в этой теме на стр. 2 и 5: на второй Вы приводили решение похожей задачи, а на 5-ой задача 1 в 1. Задача выполняется, но вот только очереди забиты уж очень сильно... Не подскажете, в чем может быть дело?

                ExpandedWrap disabled
                  ;------------------------------------;
                  SBOR    STORAGE 2   ;
                  ;------------------------------------;
                          GENERATE    ,,,1    ;геним транзакт
                  MET1    ADVANCE (Exponential(1,0,10));  ;задержка генерации на 10 мин (эксп)
                      SPLIT   3,MET2  ;клоним 3 транзакта, отправляем их на метку
                      TRANSFER    ,MET1   ;отправляем родителя на метку
                  MET2    TRANSFER    .5,MET3 ;половину пропускаем, половину отправляем на метку
                  MET5    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   ;Задержка на время обработки
                      TRANSFER    .04,MET5    ;4 % деталей возвращаются на предв. обработку
                      ADVANCE (Exponential(1,0,8));регулировка
                      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 - forum.9.1
                   
                   
                                     Sunday, May 24, 2009 21:12:16  
                   
                             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
                            MET5                            6.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            157             1       0
                                      3    SPLIT              156             0       0
                                      4    TRANSFER           156             0       0
                  MET2                5    TRANSFER           468             0       0
                  MET5                6    QUEUE              230            24       0
                                      7    SEIZE              206             0       0
                                      8    DEPART             206             0       0
                                      9    ADVANCE            206             1       0
                                     10    RELEASE            205             0       0
                                     11    QUEUE              205             0       0
                                     12    LINK               205           204       0
                  MET3               13    QUEUE              239             0       0
                                     14    LINK               239           238       0
                  MET4               15    ENTER                2             0       0
                                     16    DEPART               2             0       0
                                     17    ASSEMBLE             2             0       0
                                     18    ADVANCE              1             0       0
                                     19    TRANSFER             1             0       0
                                     20    ADVANCE              0             0       0
                                     21    LEAVE                0             0       0
                                     22    LEAVE                0             0       0
                                     23    TERMINATE            0             0       0
                                     24    GENERATE             1             0       0
                  POVT               25    TEST               206             1       0
                                     26    TEST               205             0       0
                                     27    UNLINK             205             0       0
                                     28    UNLINK             205             0       0
                                     29    TRANSFER           205             0       0
                                     30    GENERATE             1             0       0
                                     31    TERMINATE            1             0       0
                   
                   
                  FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
                   PREDV              206    0.999       6.982  1      421    0    0     0     24
                   
                   
                  QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY
                   OCH1               35   24    230      1    22.825    142.901    143.525   0
                   OCH2              442  442    444      1   223.818    725.896    727.535   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  408
                   
                   
                  USER CHAIN         SIZE RETRY  AVE.CONT   ENTRIES  MAX     AVE.TIME
                   1                   34    0     21.579      239    37      130.016
                   2                    0    1      0.000      205     1        0.000
                   
                   
                  FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE
                       1    0        1440.443      1      2      3
                     421    0        1443.715      1      9     10
                     472    0        2880.000    472      0     30
                Сообщение отредактировано: andreynov -
                  может здесь чтото нето
                  Цитата andreynov @
                  UNLINK 1,MET4,1 ;отправить из 1-го списка пользователя на метку МЕТ4 один транзакт
                  UNLINK 2,MET4,1 ;отправить из 2-го списка пользователя на метку МЕТ4 один транзакт


                  Добавлено
                  RetiF это лишнее -
                  ExpandedWrap disabled
                    market STORAGE 3

                  И дальше добавь 2 и 3 отделы.
                    EugenСпасибо, конечно. Но я тоже не совсем понимаю действие этих строк и вообще блоков LINK | UNLINK. И что тут может быть не так, на твой взгляд?
                      andreynov, да не понятно где ошибка или пропущены блоки, напишите автору, возможно здесь GPSS задача этот вопрос разрешится быстрее
                        EugenВ теме, на которую ты дал ссылку, за деньги решают задачи что-ли?
                          так точно, кому охота тратить время, решать задачи за так ..
                          в Вашей задаче не корректна работа с МКУ. Не понятна как устроена модель, особенно здесь
                          Цитата andreynov @
                          LEAVE SBOR ;пришло две детали, а входит одно. потому покидаем два раза.
                          Спросите у автора 8-)
                            Eugen, да это не для меня задача, так что платить за неё не хочется :)
                            Уже забыл, что такое МКУ...
                            Спрошу... если найду, кто это :)

                            Добавлено
                            TEMENb, объясни пожалуйста, почему память нужно освобождать дважды?
                            ExpandedWrap disabled
                                  LEAVE   SBOR    ;покидаем сборку
                                  LEAVE   SBOR    ;пришло две детали, а входит одно. потому покидаем два раза.
                              Eugen, ох, ну зачем стебать то так жестоко? =)
                              незнал я тогда еще, что можно одним ливом освободить сразу два канала МКУ. теперь я старый мудрый воин и знаю как..


                              andreynov, потому что в этом разделе есть два вида помощи
                              1. мы подсказываем как организовать логику модели
                              2. мы подсказываем, в какие у лично вашей реализации есть недостатки (я лично в этом участвую редко, т.к. не всегда есть желание разбирать чужой код) или как можно было бы лучше организовать модель.

                              но брать свой же ранее написанный код и разжовывать его - вы уж простите.
                              Сообщение отредактировано: TEMENb -
                                Предметная область:
                                Роботизированная производственная система имеет два станка с числовым программным управлением, три робота, пункт прибытия и склад обработанных деталей. Детали прибывают на пункт прибытия в соответствии с экспоненциальным законом распределения со средним значением t0 секунд, захватываются одним из свободных роботов и перемещаются к первому станку, после чего робот освобождается. После завершения обработки на первом станке деталь захватывается одним из роботов и перемещается на второй станок, а после обработки на втором станке одним из роботов перемещается на склад обработанных деталей.
                                Время перемещения робота между пунктом прибытия и первым станком, первым и вторым станками, вторым станком и складом составляет t1, t2, t3 секунд, соответственно, независимо от того, «холостой» это ход или нет. Роботу необходимо время t4 ± t5 секунд на захват или освобождение деталей. Время обработки на первом станке распределено по нормальному закону со средним значением t6 секунд и имеет стандартное отклонение t7 секунд. Время обработки на втором станке имеет экспоненциальный закон распределения со средним значением t8 секунд.
                                Каждый робот может использоваться на каждом из путей перемещения деталей (при этом должен использоваться ближайший
                                из роботов).

                                Ниже приводится получившаяся модель на GPSS. В её коде можно условно выделить три аналогичные части, отделённые "***". Так вот проблема в том, что первые две части и третья по отдельности работают, а вместе, как приведено ниже, нет. Подскажите, пожалуйста, в чём дело!

                                ; исходные данные
                                INITIAL X$t_0,70
                                INITIAL X$t_1,10
                                INITIAL X$t_2,15
                                INITIAL X$t_3,20
                                INITIAL X$t_4,15
                                INITIAL X$t_5,3
                                INITIAL X$t_6,140
                                INITIAL X$t_7,20
                                INITIAL X$t_8,180

                                INITIAL X$pos1,0 ; приёмный пункт
                                INITIAL X$pos2,1 ; станок 1
                                INITIAL X$pos3,2 ; станок 2

                                INITIAL X$progon,0 ; нужно для учёта времени холостого прогона робота к нужному станку

                                GENERATE (EXPONENTIAL(1,X$t_0#2,(X$t_0)))

                                QUEUE priem

                                ; ищем робота находящегося возле приёмного пункта
                                proverka_pos1 TEST NE X$pos1,0,seize_robot1
                                proverka_pos2 TEST NE X$pos2,0,seize_robot2
                                proverka_pos3 TEST NE X$pos3,0,seize_robot3
                                ; ищем робота находящегося возле 1-го станка
                                proverka_pos1_1 TEST NE X$pos1,1,izm_progon1
                                proverka_pos2_1 TEST NE X$pos2,1,izm_progon2
                                proverka_pos3_1 TEST NE X$pos3,1,izm_progon3
                                ; ищем робота находящегося возле 2-го станка
                                proverka_pos1_2 TEST NE X$pos1,2,izm_progon11
                                proverka_pos2_2 TEST NE X$pos2,2,izm_progon22
                                proverka_pos3_2 TEST NE X$pos3,2,izm_progon33
                                ; ищем робота находящегося возле 3-го станка
                                proverka_pos1_3 TEST NE X$pos1,3,izm_progon111
                                proverka_pos2_3 TEST NE X$pos2,3,izm_progon222
                                proverka_pos3_3 TEST NE X$pos3,3,izm_progon333

                                TRANSFER ,proverka_pos1

                                ; определение времени движения ближайшего робота до станка
                                izm_progon1 SAVEVALUE progon,X$t_1
                                TRANSFER ,seize_robot1
                                izm_progon2 SAVEVALUE progon,X$t_1
                                TRANSFER ,seize_robot2
                                izm_progon3 SAVEVALUE progon,X$t_1
                                TRANSFER ,seize_robot3
                                izm_progon11 SAVEVALUE progon,(X$t_1 + X$t_2)
                                TRANSFER ,seize_robot1
                                izm_progon22 SAVEVALUE progon,(X$t_1 + X$t_2)
                                TRANSFER ,seize_robot2
                                izm_progon33 SAVEVALUE progon,(X$t_1 + X$t_2)
                                TRANSFER ,seize_robot3
                                izm_progon111 SAVEVALUE progon,(X$t_1 + X$t_2 + X$t_3)
                                TRANSFER ,seize_robot1
                                izm_progon222 SAVEVALUE progon,(X$t_1 + X$t_2 + X$t_3)
                                TRANSFER ,seize_robot2
                                izm_progon333 SAVEVALUE progon,(X$t_1 + X$t_2 + X$t_3)
                                TRANSFER ,seize_robot3

                                ; моделирование работы робота
                                seize_robot1 SEIZE robot1
                                SAVEVALUE pos1,1
                                DEPART priem
                                ADVANCE (X$t_1+X$t_4+X$t_5 + X$progon)
                                RELEASE robot1
                                TRANSFER ,metka_stanok1

                                seize_robot2 SEIZE robot2
                                SAVEVALUE pos2,1
                                DEPART priem
                                ADVANCE (X$t_1+X$t_4+X$t_5 + X$progon)
                                RELEASE robot2
                                TRANSFER ,metka_stanok1

                                seize_robot3 SEIZE robot3
                                SAVEVALUE pos3,1
                                DEPART priem
                                ADVANCE (X$t_1+X$t_4+X$t_5 + X$progon)
                                RELEASE robot3
                                TRANSFER ,metka_stanok1

                                ;моделирование работы станка
                                metka_stanok1 QUEUE pered_stankom1
                                SEIZE stanok1
                                DEPART pered_stankom1
                                ADVANCE (normal (1, X$t_6, X$t_7))
                                RELEASE stanok1

                                **************************************************************************************

                                QUEUE posle_stanka1

                                ;
                                a_proverka_pos1 TEST NE X$pos1,1,a_seize_robot1
                                a_proverka_pos2 TEST NE X$pos2,1,a_seize_robot2
                                a_proverka_pos3 TEST NE X$pos3,1,a_seize_robot3
                                ;
                                a_proverka_pos1_1 TEST NE X$pos1,0,a_izm_progon1
                                a_proverka_pos2_1 TEST NE X$pos2,0,a_izm_progon2
                                a_proverka_pos3_1 TEST NE X$pos3,0,a_izm_progon3
                                ;
                                a_proverka_pos1_2 TEST NE X$pos1,2,a_izm_progon11
                                a_proverka_pos2_2 TEST NE X$pos2,2,a_izm_progon22
                                a_proverka_pos3_2 TEST NE X$pos3,2,a_izm_progon33
                                ;
                                a_proverka_pos1_3 TEST NE X$pos1,3,a_izm_progon111
                                a_proverka_pos2_3 TEST NE X$pos2,3,a_izm_progon222
                                a_proverka_pos3_3 TEST NE X$pos3,3,a_izm_progon333

                                TRANSFER ,a_proverka_pos1

                                a_izm_progon1 SAVEVALUE progon,X$t_1
                                TRANSFER ,a_seize_robot1
                                a_izm_progon2 SAVEVALUE progon,X$t_1
                                TRANSFER ,a_seize_robot2
                                a_izm_progon3 SAVEVALUE progon,X$t_1
                                TRANSFER ,a_seize_robot3
                                a_izm_progon11 SAVEVALUE progon,X$t_2
                                TRANSFER ,a_seize_robot1
                                a_izm_progon22 SAVEVALUE progon,X$t_2
                                TRANSFER ,a_seize_robot2
                                a_izm_progon33 SAVEVALUE progon,X$t_2
                                TRANSFER ,a_seize_robot3
                                a_izm_progon111 SAVEVALUE progon,(X$t_2 + X$t_3)
                                TRANSFER ,a_seize_robot1
                                a_izm_progon222 SAVEVALUE progon,(X$t_2 + X$t_3)
                                TRANSFER ,a_seize_robot2
                                a_izm_progon333 SAVEVALUE progon,(X$t_2 + X$t_3)
                                TRANSFER ,a_seize_robot3

                                a_seize_robot1 SEIZE robot1
                                SAVEVALUE pos1,2
                                DEPART posle_stanka1
                                ADVANCE (X$t_2+X$t_4+X$t_5 + X$progon)
                                RELEASE robot1
                                TRANSFER ,a_metka_stanok2

                                a_seize_robot2 SEIZE robot2
                                SAVEVALUE pos2,2
                                DEPART posle_stanka1
                                ADVANCE (X$t_2+X$t_4+X$t_5 + X$progon)
                                RELEASE robot2
                                TRANSFER ,a_metka_stanok2

                                a_seize_robot3 SEIZE robot3
                                SAVEVALUE pos3,2
                                DEPART posle_stanka1
                                ADVANCE (X$t_2+X$t_4+X$t_5 + X$progon)
                                RELEASE robot3
                                TRANSFER ,a_metka_stanok2

                                a_metka_stanok2 QUEUE pered_stankom2
                                SEIZE stanok2
                                DEPART pered_stankom2
                                ADVANCE (EXPONENTIAL(1,0,(1/X$t_8)))
                                RELEASE stanok2

                                ************************************************************************************

                                QUEUE posle_stanka2

                                ;
                                b_proverka_pos1 TEST NE X$pos1,2,b_seize_robot1
                                b_proverka_pos2 TEST NE X$pos2,2,b_seize_robot2
                                b_proverka_pos3 TEST NE X$pos3,2,b_seize_robot3
                                ;
                                b_proverka_pos1_1 TEST NE X$pos1,1,b_izm_progon1
                                b_proverka_pos2_1 TEST NE X$pos2,1,b_izm_progon2
                                b_proverka_pos3_1 TEST NE X$pos3,1,b_izm_progon3
                                ;
                                b_proverka_pos1_2 TEST NE X$pos1,3,b_izm_progon11
                                b_proverka_pos2_2 TEST NE X$pos2,3,b_izm_progon22
                                b_proverka_pos3_2 TEST NE X$pos3,3,b_izm_progon33
                                ;
                                b_proverka_pos1_3 TEST NE X$pos1,0,b_izm_progon111
                                b_proverka_pos2_3 TEST NE X$pos2,0,b_izm_progon222
                                b_proverka_pos3_3 TEST NE X$pos3,0,b_izm_progon333

                                TRANSFER ,b_proverka_pos1

                                b_izm_progon1 SAVEVALUE progon,X$t_2
                                TRANSFER ,b_seize_robot1
                                b_izm_progon2 SAVEVALUE progon,X$t_2
                                TRANSFER ,b_seize_robot2
                                b_izm_progon3 SAVEVALUE progon,X$t_2
                                TRANSFER ,b_seize_robot3
                                b_izm_progon11 SAVEVALUE progon,X$t_3
                                TRANSFER ,b_seize_robot1
                                b_izm_progon22 SAVEVALUE progon,X$t_3
                                TRANSFER ,b_seize_robot2
                                b_izm_progon33 SAVEVALUE progon,X$t_3
                                TRANSFER ,b_seize_robot3
                                b_izm_progon111 SAVEVALUE progon,(X$t_1 + X$t_2)
                                TRANSFER ,b_seize_robot1
                                b_izm_progon222 SAVEVALUE progon,(X$t_1 + X$t_2)
                                TRANSFER ,b_seize_robot2
                                b_izm_progon333 SAVEVALUE progon,(X$t_1 + X$t_2)
                                TRANSFER ,b_seize_robot3

                                b_seize_robot1 SEIZE robot1
                                SAVEVALUE pos1,3
                                DEPART posle_stanka2
                                ADVANCE (X$t_3+X$t_4+X$t_5 + X$progon)
                                RELEASE robot1
                                TRANSFER ,konec

                                b_seize_robot2 SEIZE robot2
                                SAVEVALUE pos2,3
                                DEPART posle_stanka2
                                ADVANCE (X$t_3+X$t_4+X$t_5 + X$progon)
                                RELEASE robot2
                                TRANSFER ,konec

                                b_seize_robot3 SEIZE robot3
                                SAVEVALUE pos3,3
                                DEPART posle_stanka2
                                ADVANCE (X$t_3+X$t_4+X$t_5 + X$progon)
                                RELEASE robot3

                                konec TERMINATE

                                main GENERATE 28800
                                TERMINATE 1
                                start 10
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (54) « Первая ... 24 25 [26] 27 28 ...  53 54


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0575 ]   [ 15 queries used ]   [ Generated: 20.06.25, 11:16 GMT ]