Имитационное моделирование на языке GPSS. Методическое пособие по дисциплине "Компьютерное моделирование". Алтаев А.А. - 36 стр.

UptoLike

Составители: 

36
деталей со временем (50 ± 20) единиц. Все процессы подчиняются равномерному закону.
В результате моделирования необходимо определить коэффициенты занятости рабочих.
Программа имеет вид:
SIMULATE Начало моделирования
GENERATE 300,50 Поступление деталей
MANA SEIZE 1
ADVANCE 70,20 Первый рабочий, первая операция
HERE MATCH THERE Сверка
ADVANCE 20,10 Первый рабочий, вторая операция
RELEASE 1
TRANSFER ,MANC
MANB SEIZE 2
ADVANCE 60,30 Второй рабочий, первая операция
THERE MATCH HERE Сверка
ADVANCE 30,20 Второй рабочий, вторая операция
RELEASE 2
MANC ASSEMBLE 2
SEIZE 3
ADVANCE 50,20 Сборка
RELEASE 3
TERMINATE 1
START 500
END
2.4 БЛОКИ, ОПИСЫВАЮЩИЕ РАБОТУ ОБОРУДОВАНИЯ
Язык GPSS оперирует с тремя типами объектов, принадлежащих аппаратной
категории: устройствами, памятями и ключами.
Устройство терминологии GPSS является аналогом обслуживающего прибора
системы массового обслуживания (Q-схемы) [I8]. В любой момент времени устройство
может быть занято только одним транзактом. Состояние устройства меняют шесть
блоков: SEIZE, RELEASE, PREEMPT, RETURN, FUNAVAIL, FAVAIL, которые
используются попарно.
В результате входа транзакта в блок SEIZE устройство, указанное
в этом блоке, будет
занято. Оно останется занятым, пока тот же транзакт не пройдет соответствующий блок
RELEASE. Если какой-либо транзакт занимает устройство, описанное в поле А блока
SEIZE, то никакой другой транзакт не сможет войти в этот блок (и вообще не сможет
захватить это устройство в любом другом блоке SEIZE). Транзакт может
занять любое
число устройств.
Блок RELEASE служит для освобождения устройства, которое ранее было захвачено
проходившим в блоке SEIZE транзактом. При выполнении этого блока программы
задержка возникнуть не может. Устройство освобождается в момент входа транзакта в
блоке RELEASE. Освобождение выполняется только тем транзактом, которым оно было
занято. Если перед SEIZE задерживаются несколько транзактов, они обслуживаются
в
соответствии с правилом: «первым пришелпервым обслужен».
Рассмотрим пример использования блоков SEIZE и RELEASE:
SEIZE 1
ADVANCE 10,5
RELEASE 1
(т. е. происходит занятие устройства I, задержка от 5 до 15 единиц времени и
освобождение устройства 1).
деталей со временем (50 ± 20) единиц. Все процессы подчиняются равномерному закону.
В результате моделирования необходимо определить коэффициенты занятости рабочих.
   Программа имеет вид:
             SIMULATE                         Начало моделирования
             GENERATE            300,50       Поступление деталей
MANA         SEIZE               1
             ADVANCE             70,20        Первый рабочий, первая операция
HERE         MATCH               THERE        Сверка
             ADVANCE             20,10        Первый рабочий, вторая операция
             RELEASE             1
             TRANSFER            ,MANC
MANB         SEIZE               2
             ADVANCE             60,30        Второй рабочий, первая операция
THERE        MATCH               HERE         Сверка
             ADVANCE             30,20        Второй рабочий, вторая операция
             RELEASE             2
MANC         ASSEMBLE            2
             SEIZE               3
             ADVANCE             50,20        Сборка
             RELEASE             3
             TERMINATE 1
             START               500
             END

             2.4 БЛОКИ, ОПИСЫВАЮЩИЕ РАБОТУ ОБОРУДОВАНИЯ
   Язык GPSS оперирует с тремя типами объектов, принадлежащих аппаратной
категории: устройствами, памятями и ключами.
   Устройство терминологии GPSS является аналогом обслуживающего прибора
системы массового обслуживания (Q-схемы) [I8]. В любой момент времени устройство
может быть занято только одним транзактом. Состояние устройства меняют шесть
блоков: SEIZE, RELEASE, PREEMPT, RETURN, FUNAVAIL, FAVAIL, которые
используются попарно.
   В результате входа транзакта в блок SEIZE устройство, указанное в этом блоке, будет
занято. Оно останется занятым, пока тот же транзакт не пройдет соответствующий блок
RELEASE. Если какой-либо транзакт занимает устройство, описанное в поле А блока
SEIZE, то никакой другой транзакт не сможет войти в этот блок (и вообще не сможет
захватить это устройство в любом другом блоке SEIZE). Транзакт может занять любое
число устройств.
   Блок RELEASE служит для освобождения устройства, которое ранее было захвачено
проходившим в блоке SEIZE транзактом. При выполнении этого блока программы
задержка возникнуть не может. Устройство освобождается в момент входа транзакта в
блоке RELEASE. Освобождение выполняется только тем транзактом, которым оно было
занято. Если перед SEIZE задерживаются несколько транзактов, они обслуживаются в
соответствии с правилом: «первым пришел — первым обслужен».
   Рассмотрим пример использования блоков SEIZE и RELEASE:
SEIZE               1
ADVANCE             10,5
RELEASE             1
    (т. е. происходит занятие устройства I, задержка от 5 до 15 единиц времени и
освобождение устройства 1).

  36