Використання функцій в імітаційних моделях

Спеціалізовані програмні засоби імітаційного моделювання, як правило, мають власні вбудовані процедури генерування випадкових чисел із заданим законом розподілу. Як зазначалося вище, вихідними даними є випадкові числа, рівномірно розподілені в інтервалі (0, 1). Для їх генерування у GPSS World використовуються відповідні генератори. Звертаються до генератора без попереднього його оголошення за допомогою СЧА RNn, де n – номер генератора. Початкове число генератора випадкових чисел співпадає з номером n генератора. Наприклад, RN315 – генератор з номером 315 і запускається із початковим числом 315.

У процесі моделювання систем може виникнути необхідність досліджувати:

· різні варіанти моделі для одного і того ж вхідного потоку випадкових чисел (послідовності випадкових чисел);

· один або декілька варіантів моделі для різних потоків випадкових чисел.

Перша необхідність легко реалізовується, оскільки генератори дозволяють відтворювати одні і ті ж послідовності рівномірно розподілених випадкових чисел.

У другому випадку GPSSW дозволяє змінювати початкові числа перших семи RN1... RN7 генераторів і формувати незалежні одну від іншої різні послідовності випадкових чисел. Для цього в GPSS World є команда RMULT наступного формату:

RMULT [A],[B],[C],[D],[E],[F],[G]

Операнд А задає початкове число для першого генератора випадкових чисел RN1. Аналогічно, іншими операндами задаються послідовності чисел для наступних генераторів, тобто: В – для RN2, С – для RN3, D – для RN4, Е – для RN5, F – для RN6, G –для RN7. СЧА, пов’язаний з даною командою, RN<номер генератора>, повертає ціле число з інтервалу від 0 до 999. При обчисленні випадкових функцій використовується випадкове число, вибиране з інтервалу від 0 до 0,999999 включно. Як правило, має бути заданий хоча б один операнд. Користувач може обрати будь-який генератор на сторінці Random Numbers (Випадкове число) журналу настроювань моделі (за замовчуванням – RN1).

Наприклад, командою


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



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