
- •1.2 Таймер модельного часу
- •1.3 Типи операторiв
- •1.4 Внесення транзактiв до моделi.
- •1.6 Елементи, що вiдображають одноканальнi обслуговуючi пристрої
- •1.8 Збiр статистики при чеканні
- •2 Порядок виконання роботи
- •1 Короткі теоретичні відомості
- •2 Порядок виконання роботи
- •1 Короткі теоретичні відомості
- •2 Приклад моделювання одноканальної смо з чергою
- •3 Порядок виконання роботи
- •1 Короткі теоретичні відомості
- •2 Порядок виконання роботи
- •1 Короткі теоретичні відомості
- •2 Порядок виконання роботи
- •1 Короткі теоретичні відомості
- •2 Порядок виконання роботи
- •1 Короткі теоретичні відомості
- •2 Порядок виконання роботи
- •1 Короткі теоретичні відомості
- •2 Порядок виконання роботи
- •1 Короткі теоретичні відомості
- •2 Порядок виконання роботи
2 Порядок виконання роботи
1. Опрацювати теоретичний матеріал.
2. Написати сегмент програми, який моделює надходження 14 транзактiв за рівномiрним законом розподiлу (23 9 хв).
3. Написати сегмент програми, який моделює надходження 100 транзактiв за рівномiрним законом розподiлу (10 0.5 хв).
4. Написати сегмент програми, в якому моделювання припиняється пiсля того, як через модель пройдуть 300 транзактiв. Транзакти повиннi надходити у модель кожнi 25 4 од. модельного часу.
5. Задати час моделювання роботи системи - 8 год. Одиниця модельного часу - 1 с.
6. Навести фрагмент програми, що iлюструє обробку деталi на верстатi. Назна пристрою – VERSTAT, час обробки — 10 од. модельного часу.
7. Навести фрагмент програми, який iлюструє процес шлiфування виробу. Шліфування займає 4 1 хв, в кожен момент часу може оброблятися тiльки один вирiб. Одиниця модельного часу— 1 с.
8. 3більшити на три одиниці довжину черги з номером 3.
9. Зменшити довжину черги з номером 1 на одну одиницю.
ЛАБОРАТОРНА РОБОТА №2
МОДЕЛЮВАННЯ ДИСКРЕТНИХ І БЕЗПЕРЕРВНИХ ВИПАДКОВИХ ВЕЛИЧИН
Мета роботи: Вивчення методів отримання псевдовипадкових чисел із заданим законом розподілу за допомогою засобів мови імітаційного моделювання GPSS.
При підготовці до лабораторної роботи необхідно вивчити методи отримання випадкових величин із заданим законом розподілу.
1 Короткі теоретичні відомості
1.1 Функції
Для опису залежностей, що мають місце в модельованих системах, в програмних моделях GPSS широко використовуються функції. У цій лабораторній роботі функції використовують для завдання законів розподілу імітованих на ЕОМ випадкових величин, розподіл яких відрізняється від рівномірного. У GPSS існує 5 типів функцій, в цій роботі будуть розглянуті тільки безперервні і дискретні.
Функція задається за допомогою рядка визначення функції і одного або більше рядків проходження. Рядок визначення функції має вигляд:
|
ІМ'Я |
FUNCTION |
A, B |
|
де A - аргумент функції, яким може бути будь-який стандартний числовий атрибут (СЧА); B - тип функції (C - безперервна, D - дискретна) і число координат "значення аргументу - значення функції"; ім'я функції може бути або числовим або символьним.
Безпосередньо після рядка визначення функції розташовуються рядки проходження функції. Існує два формати рядків проходження: фіксований і вільний. Основною одиницею інформації в рядках проходження є пара чисел, що розділяються комою: аргумент Xi і відповідне цьому аргументу значення функції Yi. У рядках проходження вільного формату основні одиниці розділяються символом "/":
X1,Y1/X2,Y2/ ... /Xi,Yi/ ... /Xn,Yn.
Робоче поле рядка проходження вільного формату обмежене колонками 1-71. Будь-яке число повинне бути закінчене в тому ж рядку в якому воно почате.
У разі фіксованого формату числа в рядку проходження функції записуються в шестиколонних полях: X1 - в колонках 1-6, Y1 - в колонках 7-12, X2 - в колонках 13-18, Y2 - в колонках 19-24 ., X6 - в колонках 61-66, Y6 - в колонках 62-72.
Слід мати на увазі, що для будь-якого формату значення Xi обов'язково повинні слідувати у зростаючому порядку.
Дискретна числова функція є ступінчастою. Вона змінюється тільки при тих значеннях аргументу, які задані в картах проходження. Значення дискретної функції обчислюється за наступним правилом: при X < X1 значення функції рівне Y1; якщо Xi-1 < X < Xi, воно рівне Yi; коли X > Xn - рівне Yn. Значення функції привласнюється її СЧА - FN. Посиланням на функції може бути FNj, де j - числове ім'я функції або FN$ИМЯ, якщо ім'я функції символічне. Передбачається, що все Пішов є цілі числа. Наприклад:
|
130 |
FUNCTION |
P2, D4 |
|
2, 20 / 5, 27 / 6, 30 / 7, 36 |
Ця функція має числове ім'я 130 тому посиланням на цю функцію є FN130. Аргументом цієї функції є параметр номер 2 транзакта.
Безперервну числову функцію, як і дискретну, задають парами крапок. Проте значення безперервної функції, що знаходяться між точками Yi , Yi+1, інтерпретатор GPSS визначає шляхом лінійної інтерполяції. Значення Yi зберігаються в пам'яті ЕОМ у виді чисел з плаваючою крапкою, проте від кінцевого результату інтерполяції завжди береться ціла частина і значення функції завжди є цілим числом, за винятком наступних випадків: нецілі значення може мати функція, використовувана в полі B блоків АDVANCE і GENERAТЕ, а також в полі C блоку ASSIGN.
1.2 Арифметичні змінні
Арифметичні змінні дозволяють проводити обчислення по формулах в яких використовуються імена СЧА, матриць і так далі. Кожна арифметична змінна визначається рядком опису:
|
ІМ'Я |
VARIABLE |
ВИРАЗ |
|
У
полі мітки записується ім'я змінної
(числове або символьне). У полі операції
указується слово VARIABLE
(ЗМІННА) або FVARIABLE.
Арифметичний вираз записується в
колонках 19-71. Змінна VARIABLE
використовується для обчислення по
правилах цілочисельної арифметики,
FVARIABLE
- з плаваючою крапкою. Проте результат
обчислень, що привласнюється імені
змінної, завжди є цілим числом. При
записі виразів використовують наступних
арифметичних операторів: "+" -
складання; "-" - віднімання; "#"
- множення; "/" - ділення; @ - ділення
по модулю, при якому часткове відкидається,
залишок вважається позитивним і є
результатом (остання операція визначена
тільки для VARIABLE).
Значення констант, використовуваних у
виразі, не повинні перевищувати числа
(
- 1) = 16777215. Ім'ям СЧА арифметичної змінної
є V, після якої записується числове ім'я
змінної або через знак $ символьне ім'я.
Зверненням до арифметичної змінної є або Vj - якщо вона була задана номером j, або V$ИМ’Я- у разі символьного імені.
1.3 Використання таблиць
У системі імітаційного моделювання GPSS таблиці використовуються для отримання числових характеристик і гістограм СЧА. Опис таблиці слід виконувати за допомогою рядка ТАБЛІЦЯ, формат якого має вигляд:
|
ІМ'Я |
TABLE |
A, B, C, D |
|
де ІМ'Я - чисельне або символьне ім'я таблиці; A - аргумент таблиці (ім'я СЧА), значення якого табулюється; B - перше граничне значення; C - ширина проміжних інтервалів; D - загальне число інтервалів таблиці, включаючи лівий і правий інтервали. Значення B, C і D можуть бути тільки цілими константами.
Якщо транзакт входить в блок TABULATE A, де A - ім'я таблиці, то в цю таблицю заноситься значення СЧА, заданого в полі A рядка ТАBLE. Наприклад:
|
TIME |
TABLE |
Q$QUEUE,2,4,12 |
|
|
|
TABULATE |
TIME |
|
У приведеному прикладі кожного разу, коли транзакт входитиме в блок TABULATE TIME, в таблицю з ім'ям TIME заноситиметься значення довжини черги з ім'ям QUEUE.
1.4 Використання засобів мови GPSS для моделювання випадкових величин
У GPSS є вісім датчиків рівномірно розподілених псевдовипадкових чисел у кожного з яких є своє ім'я: RN1, RN2 ..., RN8. Імена датчиків є СЧА, які використовуються при зверненні до них. Якщо ім'я датчика використовується як аргумент функції, він видає числа, рівномірно розподілені в інтервалі 0,000000 - 0,999999. У будь-якому іншому випадку - в інтервалі 000 - 999.
Для імітації дискретних випадкових величин використовуються дискретні функції GPSS. Хай необхідно імітувати дискретну випадкову величину X, задану рядом розподілу
-
X
15
18
25
30
Y
0,15
0,2
0,35
0,3
Дискретна функція для імітації цієї випадкової величини може бути записана в наступному вигляді:
|
RAND |
FUNCTION |
RN3, D4 |
|
.15, 15 / ..35, 18 / .7, 25 / 1, 30 |
В даному прикладі RN3 - аргумент функції (третій датчик псевдовипадкових чисел). У рядку проходження функції приводяться сумарні частоти використання значень випадкової величини. Значення функції, що встановлюються інтерпретатором залежно від значення RN3 приведені в таблиці 1.1
Таблиця 1.1
RN3 |
FN$RAND |
RN3 |
FN$RAND |
(0, 0.15) |
15 |
(0.350001, 0.7) |
25 |
(0.150001, 0.35) |
18 |
(0.700001,0.999999) |
30 |
Необхідно знати, що безперервні випадкові величини імітуються в GPSS - моделях за допомогою безперервних функцій. При цьому слід використовувати кусочно-лінійну апроксимацію функцій, зворотних нормованим функціям розподілу.
В таблицях 1.2 і 1.3 приведені рядки визначення і проходження функцій для моделювання випадкових величин, розподілених по нормальному закону з m = 0, = 1 (функція NRM) і експоненціальному закону з 1/ = 1 (функція EXPN):
Таблиця 1.2
|
NRM |
FUNCTION |
RN2, C25 |
|
0,-5/.00003,-4/.00135,-3/.00621,-2.5/.02275,-2/ |
||||
.06681,-1.5/.11507,-1.2/.15866,-1/.21186,-.8/.2725,-.6/ |
||||
.34458,-.4/.42074,-.2/.5,0/.57296,.2/.65542,.4/ |
||||
.72575,.6/.78814,.8/.84134,1/.88493,1.2/.93319,1.5/ |
||||
.97725,2/.99379,2.5/.99865,3/.99997,4/1,5 |
Таблиця 1.3
|
EXPN |
FUNCTION |
RN1, C24 |
|
0,0/.1,.104/.2,.222/. 3,.355/.4,.509/.5,.69/.6,.915/ |
||||
.7,1.2/.75,1.38/.8,1.6/.84,1.83/.88,2.12/.9,2.3/ |
||||
.922,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9/ |
||||
.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8 |
Пуасcоновські потоки імітуються в GPSS за допомогою блоку GENERATE як потоки з експоненціальним розподілом інтервалів часу між подіями. Наприклад, блок GENERATE 200, FN#EXPN забезпечує імітацію пуассоновского потоку подій з 1/ = 200.
Значення нормально розподіленої випадкової величини з середнім арифметичним значенням m і среднєквадратичним відхиленням в GPSS отримують на основі співвідношення X = * Xн + m, де Xн - значення нормальної нормованої випадкової величини, яке може бути отримане зверненням до функції NRM. Для обчислення цього співвідношення в GPSS може бути використана, наприклад, дійсна змінна
|
GAUSS |
FVARIABLE |
28+5#FN$NORM |
, |
яка дає можливість отримати нормально розподілену випадкову величину с m = 28, = 5.