Автор: Пользователь скрыл имя, 04 Ноября 2012 в 14:28, курс лекций
Дисциплина «Моделирование в проектировании сложных систем» рассматривает вопросы применения имитационного моделирования при проектировании сложных технических и других систем, к которым относятся гибкие производственные системы (ГПС), их подсистемы, и другие объекты дискретного производства, а также транспортные, информационные, банковские, торговые, и т.п. системы, в основе которых с точки зрения моделей лежат системы массового обслуживания.
MATRIX RETRY INDICES
ZAGRS 0
1 1 . 972
2 1 . 997
3 1 . 998
4 1 . 996
5 1 . 996
6 1 . 998
7 1 . 996
8 1 . 995
9 1 . 997
10 1 . 995
ZAGRN 0
1 1 . 529
2 1 . 556
3 1 . 593
4 1 . 576
5 1 . 588
6 1 . 563
7 1 . 571
8 1 . 607
9 1 . 581
10 1 . 589
Из этих результатов видно, что после десяти декад процесс относительно работы основного оборудования установился (загрузка комплекса станков более 99 %, загрузка наладчиков более 55%).
4.
создание моделей систем с
использованием объектов
В этом разделе рассматриваются генераторы случайных величин, функции и переменные, а также ряд операторов, необходимых для применения перечисленных объектов.
4.1. Генераторы случайных чисел, использование дискретных равномерных распределений
Источником случайности в моделях являются генераторы случайных чисел. Их СЧА RNn, где n – номер генератора (совпадающий с его начальным числом). Ограничения на количество генераторов нет. Первые семь генераторов (RN1 – RN7) являются управляемыми. Пользователь может в необходимых случаях установить их начальные значения. При этом используется команда PMULT (установить значение генератора). Ее формат:
PMULT [A], [B], [C], [D], [E], [F], [G]
В операндах, заданных явно целыми положительными числами, устанавливаются необходимые начальные значения генераторов, остальные остаются без изменений. Например,
PMULT , , 32, , 40, , 72
устанавливает новые значения генераторов с номерами 3, 5, 7.
Все генераторы выдают равномерно распределенные числа в интервале от 0 до 0,999999 при вычислении функций и от 0 до 999 включительно – в остальных случаях.
Рассмотренные до сих пор
интервалы генерации и
generate 20, 5
advance 30, 2
Закон равномерного распределения
можно задать, используя библиотечный
генератор дискретно-
DUNIFORM (n, min, max)
Здесь n – номер генератора, min – левое крайнее, max – правое крайнее значения диапазона.
Для приведенных примеров в этой записи
generate (DUNIFORM (1, 15, 25))
advance (DUNIFORM (1, 28, 32))
Как видно из записи, библиотечный генератор в качестве операнда А блоков заключается в круглые скобки.
Перечень библиотечных генераторов других распределений приведен в [1].
При использовании равномерно–
A – B + (2 # B # RNn) / 999,
где А и В – соответственно среднее значение и полуразмах диапазона, а RNn=0÷… 999.
4.2. Использование
дискретных неравномерных
(функции типа D)
Предположим, что случайная переменная принимает значения 2, 5, 6, 8, 10 с относительной частотой 0,1; 0,2; 0,25; 0,12; 0,33 соответственно, как изображено в таблице:
Значение случайной величины |
Относительная частота |
Суммарная частота |
Диапазон |
Номер |
2 |
0,1 |
0,1 |
0 … 0,1 |
1 |
5 |
0,2 |
0,3 |
0,1+ … 0,3 |
2 |
6 |
0,25 |
0,55 |
0,3+ … 0,55 |
3 |
8 |
0,12 |
0,67 |
0,55+ … 0,67 |
4 |
10 |
0,33 |
1,00 |
0,67+ … 1,00 |
5 |
Пусть разыгранное число из интервала [0, 1] будет 0,328153. Оно попало в интервал № 3 и значение случайной величины равно 6.
Таким образом, для розыгрыша случайного числа в соответствии с распределением, определенным таблицей, необходимо иметь источник случайных чисел в интервале [0, 1] и суммарную частоту появления значений переменной. Эта информация задается с помощью дискретной функции FUNCTION (определить функцию). Ее формат:
<имя > FUNCTION RNn, Dm
X1, Y1 /…/ Xm, Ym
В поле метки записывается
символическое имя функции, в
операнде
А – генератор случайных чисел,
в B – символ D и количество пар значений
аргумента и функции, во второй строке
– значения суммарной частоты (аргумента)
и случайной величины (функции). Эти пары
разделяются наклонной чертой, причем
значения суммарной частоты должны возрастать.
Функция записывается в самом начале программы
(до первого оператора GENERATE).
Для значений, отраженных в рассматриваемой таблице, функция, например, с именем ALFA, имеет вид:
ALFA FUNCTION RN5, D5
. 1, 2 /. 3, 5 /. 55, 6 /. 67, 8 / 1, 10
Функция имеет СЧА: FN$ имя.
График этого распределения будет следующим:
При использовании дискретных неравномерных распределений в качестве аргумента можно задавать не только СЧА генераторов, а и других объектов, например, параметров транзактов (Pj), блоков (Wj или Nj) и т.п.
Например,
С помощью функции типа D можно задать и равномерное распределение. Например, значения переменной 2, 5, 6 и 8 выпадают с одинаковой частотой, равной 0,25. Тогда дискретная функция будет:
Примечание: В условии примера 3.3 изменим распределение интервалов обжига в соответствии с таблицей:
Время обжига |
6 |
7 |
8 |
9 |
10 |
Относительная частота |
0.05 |
0.25 |
0.4 |
0.25 |
0.05 |
Суммарная частота |
0.05 |
0.30 |
0.70 |
0.95 |
1.00 |
Программа при четырех сборщиках:
OBR FUNCTION RN1,D5
.06,6/.3,7/.7,8/.95,9/1,10
GENERATE ,,,4
SBOR ADVANCE 30,5
SEIZE
ADVANCE FN$OBR
RELEASE OTO
TRANSFER ,SBOR
GENERATE 2400
TERMINATE 1
START
Форма выходных данных та же, что и в примере 3.3, но некоторые значения будут отличаться от прежних. Сопоставляя их, можно сделать вывод об эффективности участка при том или другом виде распределения интервалов обжига.
4.3. Использование
непрерывных распределений (
Пусть следующая таблица задает значения частоты и соответствующий диапазон случайной величины:
Относительная частота |
Суммарная частота |
Диапазон случайной величины |
0 |
0 |
< 10 |
0,05 |
0,05 |
10 … 15 – |
0,35 |
0,40 |
15 … 25 – |
0,25 |
0,65 |
25 … 30 – |
0,35 |
1,00 |
30 … 35 – |
При моделировании непрерывных
распределений выполняется
Непрерывная неравномерная функция будет иметь вид:
График этой зависимости следующий:
Функция типа С может применяться и для моделирования равномерных распределений. Если случайная переменная распределена равномерно и непрерывно на интервале, например, от 3 до 10, то ее можно задать так:
Так как наибольшее значение RN5 есть 0,999999, то значение переменной ACD никогда не достигнет величины 10, т.е. наибольшее целое число будет 9.
Функцию типа С целесообразно применять для задания равномерного распределения целых чисел в широком диапазоне. Например, если надо задать такие значения от 100 до 850 включительно, то можно записать:
Если в дискретной функции в качестве значений переменной используются и СЧА, то при определении такой функции в операнде В указывается символ Е. Такую функцию называют атрибутивно–значимой. Например,
MET FUNCTION P1, E3
2, V$ALFA / 5, V$BETTA / 8, V$GAMA
В этом случае при соответствующем значении аргумента (допустим Р1=3) вычисляется значение случайной переменной функции MET через арифметическую переменную ALFA.
Если в дискретной функции типа D аргумент принимает последовательно целые значения 1, 2, 3,…, то в операнде В указывается символ L, а функцию называют списковой. Например:
ААА FUNCTION N$ALFA, L4
1,25 / 2, 40 / 3, 60 / 4, 80
Если же в списковой функции в качестве значений переменной используются и СЧА, то в операнде В указывается символ М, а функция называется списковой атрибутивно–значимой. Например:
КАР FUNCTION P5, М4
1, Q1 / 2, Q2 / 3, Q3 / 4, 12
4.4. Моделирование пуассоновских потоков
Часто в СМО интервалы
времени поступления и
A#FN$XPDIS,
где функция типа С с именем XPDIS задается 24 парами чисел:
XPDIS 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 /.92,2.52/.94,2.81/.95,2.99/.
Пусть, например, распределение поступления транзактов экспоненциальное, среднее значение равно 80 единицам. Это моделируется блоком:
GENERATE 80, FN $ XPDIS
Если распределение времени обработки транзактов также экспоненциальное при среднем значении 42, то эта ситуация моделируется блоком:
ADVANCE 42, FN $XPDIS
В общих случаях предварительно (в начале программы) должна быть задана функция XPDIS.
В GPSS World экспоненциальное распределение можно задать с помощью библиотечного генератора оператором EXPONENTIAL, формат которого
EXPONENTIAL (A, B, C)
Здесь А – номер генератора случайных
чисел, В – величина сдвига,
С – среднее значение, причем В и С – вещественные значения.
Например, вместо приведенных выше операторов можно записать:
GENERATE (EXPONENTIAL (1, 0, 80))
ADVANCE (EXPONENTIAL (5, 0, 42))
4.5. Арифметические переменные, моделирование нормального распределения
Арифметическая переменная предназначена для вычисления арифметических выражений. Она определяется командой VARIABLE или FVARIABLE (переменная). В GPSS World различий между этими командами нет. В GPSS PC первая соответствует переменной с плавающей точкой (при этом отбрасывается дробная часть как в окончательном выражении, так и в промежуточных вычислениях), вторая – переменной с фиксированной точкой (дробная часть отбрасывается только в окончательном результате).
Формат переменной:
<имя> VARIABLE <выражение>
В поле метки указывается символическое имя, в поле операндов – выражение. Выражение – это набор данных, связанных арифметическими операциями. В GPSS World допустимы операции:
^ – возведение в степень (x^y соответствует xy),
# – умножение,
/ – деление,
\ – целочисленное деление (результат – целое число),
@ – деление по модулю (13 @ 3 = 1, результат остаток),
+ – сложение,
- – вычитание.
Порядок вычисления: ^, #, /, \, @, +, –. Допускаются круглые скобки, при этом вычисляется выражение в этих скобках.
Примеры:
ABC VARIABLE (P2 – P4) / 2
KAP VARIABLE (Q$OTO + Q$ALK) # 28.5
Арифметическая переменная имеет СЧА V$ имя.
Случайная величина с нормальным распределением однозначно описывается заданием математического ожидания (среднего) и стандартного отклонения. При моделировании такого распределения применяют выражение:
Информация о работе Моделирование в проектировании сложных систем