- •Компьютерное моделирование на языке gpss
- •Лабораторная работа № 1 моделирование случайных величин
- •1 Постановка задачи
- •2 Метод построения модели
- •3 Блок–схема модели
- •4.Особенности работы в среде gpss/pc
- •Лабораторная работа № 2 Исследование систем реального времени при бесприоритетных дисциплинах обслуживания заявок
- •1 Постановка задачи
- •2 Задание
- •3. Метод построения модели
- •Содержание отчета
- •Варианты заданий
- •Лабораторная работа № 3 Исследование систем реального времени при дисциплинах обслуживания заявок c приоритетами
- •1 Постановка задачи
- •2. Метод построения модели
- •Задание
- •Лабораторная работа № 4 Разработка имитационной модели специализированной вычислительной системы
- •1 Постановка задачи
- •Содержание отчета
- •Лабораторная работа № 5 Разработка имитационной модели системы телеобработки данных
- •1 Постановка задачи
- •Тестовая работа по выполнению курсовой работы
- •Постановка задачи
- •. Описание проблемной ситуации
- •Обсуждение исходной задачи
- •2. Практическая часть
- •2.1. Разработка и тестирование имитационной программы смо Эрланга
- •2.2. Машинный эксперимент
Тульский Государственный Университет
Кафедра математического анализа
Компьютерное моделирование на языке gpss
Методические указания к выполнению лабораторных работ
Тула 2006
УДК 681.32 К 63
Даны указания к выполнению лабораторных работ по курсу «Компьютерное моделирование». Приведена методика исследования сетей массового обслуживания на языке GPSS.
Ил. 10 , табл. 12 , библиогр. 4 назв.
Составитель: Герлейн О.В., Рецензент , проф., зав. кафедрой "Информатика и вычислительная техника"
СОДЕРЖАНИЕ
Лабораторная работа № 1. |
Моделирование случайных величин |
Лабораторная работа № 2. |
Исследование систем реального времени при бесприоритетных дисциплинах обслуживания заявок |
Лабораторная работа № 3 |
Исследование систем реального времени при дисциплинах обслуживания заявок c приоритетами |
Лабораторная работа № 4 |
Разработка имитационной модели специализированной вычислительной системы |
Лабораторная работа № 5 |
Разработка имитационной модели системы телеобработки данных |
Тестовая работа по выполнению курсовой работы |
«Исследование и оптимизация системы контроля» |
Литература
Лабораторная работа № 1 моделирование случайных величин
Цель работы – освоение методики и получение практических навыков моделирования случайных величин с заданными законами распределения средствами языков программирования и моделирования.
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
1 Постановка задачи
Постановка задачи заключается в формировании дискретных и непрерывных случайных величин с заданными законами распределения средствами языка моделирования GPSS и языков программирования.
Методика получения случайных величин заключается в следующем:
разыгрывается случайное число из выборки чисел, равномерно распределенных в интервале [0;1];
полученное число некоторым образом преобразуется в эквивалентное ему значение в соответствии с заданным законом распределения.
Для получения случайных чисел Ui , равномерно распределенных в интервале [0;1], используются генераторы случайных чисел (ГСЧ). В GPSS они имеют имена RN$1, RN$2,...,RN$8 и генерируют числа в интервале [0.000000;0.999999].
Например, в языке Турбо–Паскаль в качестве ГСЧ можно использовать стандартный ГСЧ (функция Random и процедура Randomize) или составить ГСЧ по тому или иному специальному методу формирования случайных чисел
Равномерное дискретное распределение.
В GPSS данное распределение задается в блоках GENERATE или ADVANCE операндами A и B, где A – среднее значение случайной величины, B – отклонение от среднего.
Например, GENERATE 16,4 задает интервал поступления транзактов в модель как выборку из девяти значений:
12, 13, 14, 15, 16, 17, 18, 19, 20
Для получения данного распределения средствами языков программирования следует использовать формулу:
yi = [(A – B) + ui (2B + 1)] , (1)
где yi – целая часть выражения, случайная величина, равномерно распределенная в интервале [(A – B); (A +B)]; ui – случайная величина, равномерно распределенная в интервале [0;0.999999].
Неравномерное дискретное распределение.
Случайная величина задается своими значениями yi, i = 1, 2, ... , N и соответст–вующими им вероятностями (или относительными частотами) Pi.
В GPSS закон распределения случайной величины задается картой FUNCTION (табл.1.1)
Таблица 1.1
1 ... 7 |
8 ... 18 |
19 ... |
имя |
FUNCTION |
RN$j , DN |
z1, y1 / z2, |
y2 / . . . / zN, yN |
|
где имя – числовое (целое положительное число) или символьное имя; j = 1, 2, ..., 8;
N – число значений случайной величины yi ; i zi – значение суммарной частоты, причем zi = ∑ Pj , i = 1,...,N;
Ссылка на функцию имеет следующий вид: GENERATE FN$имя.
В качестве значения случайной величины выбирается такое yi, для которого полученное значение ГСЧ < zi. Геометрическая интерпретация розыгрыша случайной величины приведена на рис.1.1.
Рис. 1.1
Равномерное непрерывное распределение
В случае моделирования непрерывных случайных величин их значения находят из решения уравнения:
Ui = F(xi), (2)
где Ui –случайная величина, равномерно распределенная в интервале [0,1]; F(xi) – функция распределения искомой случайной величины.
Такой способ получил название "Способ обратной функции", так как требует отыскания функции, обратной к F(xi). Для данного распределения функция плотности распределения имеет вид:
f(x) =1/(b–a), a ≤ x≤ b; f(x) = 0, x<a , x > b.
Функция распределения получается интегрированием f(x):
F(xi) =(x)dx (3)
В GPSS равномерно распределенная в интервале [a;b] непрерывная случайная величина моделируется в виде (табл.1.2) Таблица 1.2
1 ... 7 |
8 ... 18 |
19 ... |
имя |
FUNCTION |
RN$j , C2 |
0 , y1 / 1, y2 |
|
|
где y1 – минимальное значение случайной величины, равное a; y2 – максимальное значение, равное b + 1 .
Ссылка на функцию имеет следующий вид: GENERATE FN$имя .
Геометрическая интерпретация розыгрыша непрерывной случайной величины приведена на рис.1.2.
Для моделирования непрерывной случайной величины средствами языков программирования необходимо вычислить F(xi) из уравнения (3) и, подставив полученное значение в (2), решить уравнение (2) относительно xi. Полученное выражение легко программируется.
Экспоненциальное распределение
Функция плотности распределения имеет следующий вид:
f(x)=e–x, x > 0; f(x) =0, x < 0 ;
x = 1/ ; x2 = 1/ 2
В GPSS для моделирования экспоненциально распределенной случайной величины при среднем значении, равном 1, используется следующая функция:
XPDIS FUNCTION RN$1,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
Рис. 1.2
Если среднее значение случайной величины отлично от 1, то в блоках GENERATE или ADVANCE ссылка на функцию XPDIS задается так: GENERATE среднее значение, FN$XPDIS.
Моделирование экспоненциально распределенной случайной величины средствами языков программирования аналогично предыдущему распределению.
Распределение Эрланга
Функция плотности распределения имеет следующий вид:
f(x)=e–x, x > 0; f(x) =0, x < 0
где k – порядок распределения Эрланга; λ – интенсивность потока Эрланга; mx = k/λ; σx2 = k/λ2.
Примером моделирования потока Эрланга 2–го порядка при = 0.1 в GPSS является следующая функция:
ERLAN FUNCTION RN$1, C24
0,0/ .0176, 2/ .0616, .4/ .1219, .6/ .1913, .8 / .2642, 1 .3374, 1.2/ .4082, 1.4/ .4751, 1.6/ .5372, 1.8/ .5941,2 .6454, 2.2/ .6915, 2.4/ .7326, 2.6/ .7689, 2.8/ .8008,3 .8641, 3.5/ .9084, 4/ .9596, 5 .9826, 6/ .9927, 7/ .997,8 .9988, 9.0/ .9995, 10
Ссылка на функцию имеет следующий вид:
GENERATE 1/λ , FN$ERLAN.
В случае моделирования случайной величины с распределением Эрланга средствами языка программирования используют соотношение:
k
yi = ∑ xj,
j=1
где yi – случайная величина с распределением Эрланга k–го порядка;
xj – случайная величина, распределенная по экспоненциальному за–кону с параметром λ.