Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Государственное
образовательное учреждение
высшего профессионального образования
«Комсомольский-на-Амуре государственный технический университет»
Факультет Компьютерных технологий
Кафедра математического обеспечения и применения ЭВМ
По курсу «Компьютерное моделирование»
Выполнил: Шелестов И.А.
Проверил: Петров Ю.А.
Комсомольск-на-Амуре
2007
Программа моделирования.
; GPSS World Sample File - FOUNDRY.GPS, by Gerard F. Cummings
***********************************************************************
* *
* Foundry Simulation Model *
* Time Unit Is One Minute *
* Моделирование литейного завода *
* Время работы одна минута *
***********************************************************************
* P1 = Type of Job - Тип работы
* P2 = Number in the Order - Номер заказа
* P3 = Weight of a Component - Вес компонента
* P4 = Molding Time per Component – Время одного компонента
* P5 = Due Date - Срок
* P6 = Total Weight per Order - Общий вес заказа
* P7 = Index for Looping - Индекс оборота
;Функция определения веса, имеет 8 аргументов, генерирует случайные числа в
;пределах 1
Weight FUNCTION RN1,C8 ;Вес компонента в килограммах
0.0,3/.13,6/.25,11/.50,20/.70,28/.85,35/.95,42/1.0,50
;Функция определения заказа, 2 аргумента генерирует случайные числа в
;пределах 1
Ordertype FUNCTION RN1,D2 ;Новый заказ P1=1: Повторный P1=2
0.3,1/1.0,2
Size VARIABLE RN1@19+6 ;Переменная, определяет размер заказа
Ddate VARIABLE V$Mtime#P2+RN1@121+40+C1 ;Переменная, определяет срок
Mtime VARIABLE (P3#2) ;Переменная, время литья одного ;компонента
Day VARIABLE (C1/480) ;индикатор дня
Total VARIABLE P3#P2 ;Общий вес заказа
Times TABLE M1,400,400,20 ;Таблица, затрачиваемое время
Cast TABLE X$Wtmold,400,400,20 ;Таблица, вес слепка металла
Molders STORAGE 18 ;Количество слепков
***********************************************************************
GENERATE (Exponential(1,0,60)) ;Заказ назначается каждый час
ASSIGN 1,FN$Ordertype ;Определение типа заказа
TEST E P1,2,Newjob ;Повторяется ли заказ
;если Р1 не равен 2, то
;идем на Newjob
ADVANCE 300,180 ;Определение местонахождения образца
Commence ASSIGN 2,V$Size ;Определение размера заказа
ASSIGN 3,FN$Weight ;Вес компонента
ASSIGN 4,V$Mtime ;Время плавлении одного компонента
ASSIGN 5,V$Ddate ;Определение срока
ASSIGN 6,V$Total ;Определение общего веса заказа
GATE SNF Molders,Wait ;Есть ли свободные слепки
;если свободных нет – переход на Wait
Beg ENTER Molders ;Подготовка заказа
ASSIGN 7,P2 ;P7=номер заказа
Next ADVANCE P4 ;Время плавления компонента
LOOP 7,Next ;Прохождения всех компонентов
LEAVE Molders ;Заказ выполнен
SAVEVALUE Wtmold+,P6 ;Определение общего веса каждого ;заказа
UNLINK 1,Beg,1 ;Выпуск следующего заказа
TABULATE Times ;Заполнение таблицы времени
TERMINATE ;Окончание
*
Newjob ADVANCE 4320,1440 ;Время создания нового заказа
TRANSFER ,Commence ;Переход на создание заказа
*
Wait LINK 1,P5 ;Переход ожидания заказа в 1
*
***********************************************************************
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.