Моделирование в проектировании сложных систем

Автор: Пользователь скрыл имя, 04 Ноября 2012 в 14:28, курс лекций

Описание работы

Дисциплина «Моделирование в проектировании сложных систем» рассматривает вопросы применения имитационного моделирования при проектировании сложных технических и других систем, к которым относятся гибкие производственные системы (ГПС), их подсистемы, и другие объекты дискретного производства, а также транспортные, информационные, банковские, торговые, и т.п. системы, в основе которых с точки зрения моделей лежат системы массового обслуживания.

Работа содержит 1 файл

МОДЕЛИРОВАНИЕ В ПРОЕКТИРОВАНИИ (на печать).docx

— 542.67 Кб (Скачать)

 

 

MATRIX    RETRY  INDICES   VALUE

   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. Его формат:

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, Y/…/ 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                             OTO

ADVANCE                     FN$OBR

RELEASE                       OTO

TRANSFER                    ,SBOR

GENERATE                   2400

TERMINATE                 1

START                           1

Форма выходных данных та же, что и в примере 3.3, но некоторые  значения будут отличаться от прежних. Сопоставляя их, можно сделать вывод об эффективности участка при том или другом виде распределения интервалов обжига.

4.3. Использование  непрерывных распределений (функции  типа С), функции типа E, L, M

Пусть следующая таблица  задает значения частоты и соответствующий  диапазон случайной величины:

 

Относительная частота 

Суммарная частота 

Диапазон случайной величины

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. Моделирование  пуассоновских потоков

Часто в СМО интервалы  времени поступления и обслуживания требований (транзактов) подчиняются пуассоновскому закону. При их моделировании можно использовать в блоках GENERATE и ADVANCE в операнде А – среднее значение, а в операнде В – экспоненциальную функцию XPDIS с единичным средним значением. При этом значение времени поступления или задержки транзакта вычисляется так:

 

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/.96,3.2/.97,3.5/.98,3.9 /.99,4.6 /.995,5.3 .998,6.2/.999,7/.9998,8

Пусть, например, распределение  поступления транзактов экспоненциальное, среднее значение равно 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$ имя.

Случайная величина с нормальным распределением однозначно описывается заданием математического ожидания (среднего) и стандартного отклонения. При моделировании такого распределения применяют выражение:

Информация о работе Моделирование в проектировании сложных систем