Rmult 15,,125,,518

встановлюються початкові числа генераторів RN1, RN3, RN5. Решта значень залишається без змін.

У GPSS World псевдовипадкові числа генеруються за 32-бітовим мультиплікативним конгруентним алгоритмом (див. розд. 2.5). Алгоритм дозволяє отримати 231 – 1, тобто 2 147 483 647 псевдовипадкових чисел.

У GPSS World генератори випадкових чисел використовуються для оброблення одночасних подій, в блоках TRANSFER, що працюють в режимі статистичної передачі, в блоках GENERATE і ADVANCE.

Розглянемо методи знаходження випадкових чисел з різними імовірнісними розподілами за допомогою засобів GPSS World.

Генерування випадкових чисел для дискретних рівномірних розподілів

Моделювання випадкових дискретних величин було розглянуто у розділі 2.3. У блоках GENERATE і ADVANCE обслуговування вимог, розподілених за рівномірним законом, задається за допомогою модифікатора-інтервалу. Наприклад:

GENERATE 500,30

ADVANCE 500,30

Також можна використовувати описаний у розділі 8.5 вбудований генератор дискретно-рівномірного розподілу DUniForm (n, min, max), де n – номер гене­ратора рівномірно розподілених випадкових чисел, min і max – мінімальне і максимальне значення, що генеруються. Тоді вище наведені блоки запи­шуть­ся у форматі:

GENERATE DUniForm(211,5000,9000)

ADVANCE DUniForm(211,5000,9000)

Використаємо обидва ці підходи для моделювання і порівняємо отримані результати.

GENERATE 500,30

QUEUE Cher1

SEIZE Kan

DEPART Cher1

ADVANCE 500,30

RELEASE Kan

TERMINATE

GENERATE 20000

TERMINATE 1

GENERATE (DUniForm(211,5000,9000))

QUEUE Cher1

SEIZE Kan

DEPART Cher1

ADVANCE (DUniForm(211,5000,9000))

RELEASE Kan

TERMINATE

GENERATE 20000

TERMINATE 1

Використовуючи модифікатор-інтервал, блок GENERATE за 10 000 прогонів згенерував 400 005 транзактів, з яких ОКП Саn було обслужено 399 981. Застосування вбудованого генератора DUniForm (211,5000,9000) дозволило згенерувати 399 926 транзактів, з яких обслужено 399 863.

Генерування випадкових чисел для дискретних нерівномірних розподілів

Визначення інтервалів надходження та обслуговування вимог або інших величин у багатьох випадках зумовлює генерування випадкових чисел з дискретним нерівномірним розподілом. Розглянемо приклади використання функцій типу D.

1) IML FUNCTION X$A2,D5

1.2, 6.9/2.1, 1.6/5.33, 9.2/5, 8/9.7, 12.03

2) RAM FUNCTION RN1,D5

0,0/.3, 7.3/.4, 6.7/.8, 8.93/1.0, 0.1

Функція типу D з випадковим аргументом використовується для моде­лювання дискретного ймовірнісного розподілу. Під час обчислення функції з потоку вибирається число у діапазоні (0,1) і знаходиться менше значення X із списку даних функції, яке є більшим або дорівнює вибраному випадковому числу. Відповідне значення Y повертається як значення функції.

3) Нехай функція, яка використовується у моделі, задана таблично. Згідно з цією табл. 8.2, випадкова величина повинна отримувати значення 3, 7, 13, 21, 33 з частотою 0,12; 0,18; 0,25; 0,32; 0,13 відповідно.

Таблиця 8.2

Значення випадкової величини Відносна частота Сумарна частота Діапазон Інтервал
  0,12 0,12 0,0...0,12  
  0,18 0,3 0,12...0,3  
  0,25 0,55 0,3...0,55  
  0,32 0,87 0,55...0,87  
  0,13 1,0 0,87...1,0  

Згенеруємо число в інтервалі (0, 1). Нехай ним буде 0,687528. Це число потрапляє в інтервал 4. Шуканим значенням випадкової величини є 21.

Таким чином, для згенерування випадкових чисел відповідно до дея­ко­го дискретного розподілу використовується таблиця, якою задана функція. Дані такої таблиці, а саме значення випадкової величини і сумарної частоти випадання значення випадкової величини користувач задає за допомогою функції типу D – дискретного типу. У списку даних функції типу D значення аргументу Х повинні бути типу Expression, а значення функції Y типу integer, real або Name. Джерелом випадкових чисел виступає генератор RN3. Для нашого прикладу функція, задана табл. 8.2, буде визначена командою FUNCTION так:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: