Имитационная модель СМО
Введение
Имитационная модель СМО представляет собой алгоритм, отражающий
поведение СМО, т.е. отражающий изменения
состояния СМО во времени при заданных
потоках заявок, поступающих на входы
системы. Параметры входных потоков заявок
- внешние параметры СМО. Выходными параметрами
являются величины, характеризующие свойства
системы - качество ее функционирования.
Примеры выходных параметров: производительность СМО - среднее
число заявок, обслуживаемых в единицу
времени; коэффициенты загрузки оборудования
- отношение времен обслуживания к общему
времени в каждом ОА; среднее время обслуживания
одной заявки. Основное свойство ОА,
учитываемое в модели СМО, - это затраты
времени на обслуживание, поэтому внутренними
параметрами в модели СМО являются величины,
характеризующие это свойство ОА. Обычно
время обслуживания рассматривается как
случайная величина и в качестве внутренних
параметров фигурируют параметры законов
распределения этой величины.
Имитационное моделирование позволяет
исследовать СМО при различных типах входных
потоков и интенсивностях поступления
заявок на входы, при вариациях параметров
ОА, при различных дисциплинах обслуживания
заявок. Дисциплина обслуживания
- правило, по которому заявки поступают
из очередей на обслуживание. Величина,
характеризующее право на первоочередное
обслуживание, называется приоритетом.
В моделях СМО заявки, приходящие на вход
занятого ОА, образуют очереди, отдельные
для заявок каждого приоритета. При освобождении
ОА на обслуживание принимается заявка
из непустой очереди с наиболее высоким
приоритетом.
Основной тип ОА - устройства, именно в
них происходит обработка транзактов
с затратами времени. К ОА относятся также накопители (памяти),
отображающие средства хранения обрабатываемых
деталей в производствееных линиях или
обрабатываемых данных в вычислительных
системах. Накопители характеризуются
не временами обслуживания заявок, а емкостью
- максимально возможным количеством одновременно
находящихся в накопителе заявок.
К элементам имитационных моделей СМО
кроме ОА относят также узлы и источники заявок. Связи
ОА между собой реализуют узлы, т.е. характерезуют
правила, по которым заявки направляются
к тому или иному ОА.
Для описания моделей СМО при их исследовании
на ЭВМ разработаны специальные языки
имитационного моделирования. Существуют
общецелевые языки, ориентированные на
описание широкого класса СМО в различных
предметных областях, и специализированные языки,
предназначенные для анализа систем определенного
типа. Примером общецелевых языков служит
широко распространенный язык GPSS, примером
специализированного языка - язык МПЛ/ВС
моделирования вычислительных систем.
В зависимости от выбранного способа организации модели используются свой язык формализации и своя методика составления формального описания объекта имитации. Каждый из способов имеет свою специфику реализации. Описания одной и той же имитационной модели для каждого способа имитации существенно отличаются друг от друга.
После составления формального описания объекта моделирования приступают к его проверке. Это первая проверка достоверности будущей модели сложной системы в процессе моделирования. Для обеспечения контроля правильности функционирования модели вводятся классические модели, достоверность которых доказана. Они фигурируют в модели в виде составных частей. На вход таких моделей поступают данные, вычисляемые в других частых модели, достоверность которых проверяется. Если результат работы классической модели окажется недостоверным, то считают, что предшествующая часть формального описания системы также недостоверна.
В ходе проверки достоверности модели необходимо ответить на следующие вопросы:
• Позволяет ли модель решить поставленные задачи моделирования?
• Насколько полна предложенная схема модели?
• Отражает ли она фактическую последовательность развития процессов в реальной системе?
Необходимо
провести анализ каждой функции модели
и убедиться, что она нашла
свое отражение в формальном описании
системы. Если уравнения получены на
основании анализа опытных
Важно правильно выбрать вычислительные средства, которые обеспечили бы исследователю легкость программирования, минимальные затраты на моделирование, доступность ЭВМ, быстрое получение результатов. Конкретные рекомендации по выбору ЭВМ и математического обеспечения моделирования предоставить трудно.
Результатом этапа является проверенное формальное описание исследуемой системы на выбранном языке формализации. Моделирование систем может происходить в различных языках программирование, что значительно усложняет этапы моделирования, для того чтобы облегчить создание моделей прибегают к специализированным средам разработки имитационных моделей систем различной сложности, таким как например: MatLab (Simulink), Simula, Simscript, GPSS и другие.
В данной курсовой работе построение и исследование модели будет
производиться в языке моделирования GPSS, а математическая часть рассчитана на языке высокого уровня Delphi 2010 так как это высоко интегрированная компьютерная среда моделирования общего назначения. А также это мощный инструмент моделирования покрывающий и дискретное и непрерывное компьютерное моделирование, с высоким уровнем взаимодействия и визуализации. Для данной работы этот программный продукт подходит полностью, как для быстрого изучения , так и для реализации поставленной задачи.
1 Анализ технического задания
В курсовой работе
требуется разработать
Информационно-
поисковая библиографическая
Смоделировать процесс работы системы за 8 часов. Определить среднюю и максимальную длину очереди к терминалу, а так же коэффициенты загрузки технических средств системы. Как изменится параметры очереди к терминалу, если будет установлен еще один терминал?
В ходе курсовой работы необходимо исследовать следующие вопросы:
- Разработка Q- схемы модели;
- Разработка сети Петри модели;
- Разработка графа состояния системы;
- Выбор и обоснование алгоритмов;
- Описание математической модели;
- Описание инструментария;
- Описание пользовательского интерфейса;
- Описание результатов моделирования;
Системы массового обслуживания (Q- схемы) представляют собой класс математических схем, разработанных в теории массового обслуживания и различных приложениях для формализации процессов функционирования систем, которые по своей сути, являются процессами обслуживания. Для задания Q- схемы также необходимо описать алгоритмы ее функционирования, которые определяют набор правил поведения заявок в системе в различных неоднозначных ситуациях.
Теория сетей Петри развивается в нескольких направлениях: разработка математических основ, структурная теория сетей, различные приложения (параллельное программирование, дискретные динамические системы).
Ввод и вывод имитационной модели будем производить в редакторе языка GPSS, сохраненные все файлы будут храниться также в редакторе.
2 Выбор и обоснование алгоритмов решения задачи
Для моделирования системы в языке GPSS, необходимо выполнить следующие решение алгоритмов, таких как:
- Разработка графа состояния системы;
- Разработка Q- схемы модели;
- Разработка сети Петри модели;
- Разработка графа состояния сис
темы
Рассмотрим построение графа состояния модели:
Рассматриваемая система относится к СМО. Построим граф состояний системы. Состояния системы могут быть следующими:
S0- свободен первый канал;
S1- первый канал занят;
S2- очередь;
S3- свободен второй канал;
S4- второй канал занят;
S5- очередь;
S6- свободен третий канал(вводим для терминала);
S7- третий канал занят;
S8- очередь;
Получим граф состояния :
Данная система состоит из трех фаз, каждая фаза является одно канальной системой с ожиданием.
- Разработка Q-схемы модели:
При обслуживание заявок можно выделить две основные составляющие: ожидание, обслуживание заявок. Это можно отобразить в виде некоторого прибора Пi состоящего из канала и некоторого накопителя с определенной емкостью.
На каждый элемент прибора обслуживания, действует поток событий. Поток событий- последовательность однородных событий следующих одно за другим в какие либо случайные моменты времени. То есть переходы системы из состояния в состояния будут, как бы инициированы действиями каких либо потоков событий.
В данном проекте используется Q- схема с тремя каналами, соединенными последовательно через один накопитель:
- Разработка сети Петри модели:
- это двудольный (направленный граф);
- это аппарат для моделирования динамических систем (процессов). В основном (асинхронных, параллельных процессов). Асинхронный- это процесс в котором имеется временная независимость одного процесса от другого.
Сеть Петри определяется, как четверка множеств < P,T,I,O>,
где Р- множество вершин (позиций) ;
Т- множество переходов;
I,O- множество входных и выходных функций.
Позициям вершинам –О, соответствуют переходы I. Функции I соответствуют дуги, которые идут от позиций к переходам. Функции О, которые идут от перехода к позиции.
Ниже приведена сеть Петри, для исследуемой модели:
Опишем сеть Петри
p0 – Ожидание к терминалу;
p1 – Источник ЭВМ1;
p2- Источник ЭВМ2;
p3 – Идет обработка, ЭВМ 1 занята;
p4 – ЭВМ 1 свободна;
p5 – Идет обработка ЭВМ2;
p6 – ЭВМ 2 свободна;
p7 – Очередь ЭВМ1;
p8 – ЭВМ 1 занята;
p9 – Очередь ЭВМ2;
p10 – ЭВМ 1 занята;
p11 – ЭВМ 2 занята;
p12 – Очередь заявок либо к ЭВМ 1, либо к ЭВМ 2;
p13 – Вывод результата.
Опишем переходы:
t0 – время начала работы терминала;
t1, t3, t5, t7– происходит запись в накопитель;
t2, t4, t6, t8 – происходит поступление информации на обработку в канал;
t9 – Завершение работы вывод результата.
3 Описание математической модели
Введение понятия «математическая схема» позволяет рассматривать математику не как метод расчета, а как метод мышления, как средство формулирование понятий, что является наиболее важным при переходе от словесного описания системы к формальному представлению процесса ее функционирования в виде некоторой математической модели (аналитической или имитационной). Математическую схему можно определить как звено при переходе от содержательного к формальному описанию процесса функционирования системы с учетом воздействия внешней среды. Каждая конкретная система характеризуется набором свойств, под которыми понимают величины, отражающие поведение моделирующего объекта и учитывающие условия ее функционирования. При построении математической модели системы необходимо решить вопрос об ее полноте. Полнота модели регулируется выбором границе системы.
В данной курсовой работе разрабатываемая модель представляет собой многоканальную систему, состоящую из 3-х фаз соединенных последовательно, первая фаза одноканальная система с ожиданием, вторая фаза многоканальная система с ожиданием, одноканальная система с ожиданием.
В связи с этим математический расчет будет производиться на основе одноканальной системы с ожиданием.
Математическое представление одноканальной системы с ожиданиями:
λ λ λ λ
μ 2μ …
μ μ μ μ
S0-Система свободна, заявок нет
S1-одна заявка под обслуживанием очереди нет
S2-одна заявка под обслуживанием одна заявка в очереди
Sm+1- одна заявка под обслуживанием m мест в очереди занято
Где
pi – вероятность наступления i- го события.
- интенсивность потока
- средние число заявок обслуживаемых в единицу времени.
А – абсолютная пропускная способность
q – относительная пропускная способность
Ротк – вероятность отказа
- среднее значение занятых мест в очереди
- среднее время ожидания заявки в очереди
- время нахождения заявки в системе
Математическое представление многоканальной системы с ожиданиями:
λ λ λ λ λ λ λ
μ 2μ … …
μ μ μ μ μ μ μ
S0-Система свободна, заявок нет
S1-1 канал занят очереди нет
S2-2 канала занято очереди нет
Sn- все каналы заняты очереди нет
Sn+1- все каналы заняты 1 место в очереди занято
Sn+m- все каналы заняты m заявок в очереди
Где
pi – вероятность наступления i- го события.
- интенсивность потока
- средние число заявок обслуживаемых в единицу времени.
А – абсолютная пропускная способность
q – относительная пропускная способность
Ротк – вероятность отказа
- среднее значение занятых мест в очереди
- среднее время ожидания заявки в очереди
- время нахождения заявки в системе
Для облегчения
математического расчета систем
Листинг программы представлен в приложении А
Рисунок 3.1 – Окно программы
Результаты произведенных вычислений:
**********Первая Фаза**********
ro=0,600
p0=0,434
p1=0,260
p2=0,156
p3=0,094
Pотк=0,056
Pобс=0,944
A=0,047
r=0,512
t|=10,243
t|=22,243
**********Вторая Фаза**********
ro=1,333
p0=0,256
p1=0,341
p2=0,228
p3=0,101
p4=0,045
p5=0,020
p6=0,009
Pотк=0,009
Pобс=0,991
k=0,512
r=0,112
Tожид=1,106
Тобсл=8,250
Tсист=9,356
**********Третья Фаза*********
ro=0,700
p0=0,361
p1=0,252
p2=0,177
p3=0,124
Pотк=0,087
Pобс=0,913
A=0,213
r=0,684
t|=2,931
t|=5,931
= 3,581
4 Описание инструментария
Как было приведенно выше для проектирования данной модели выбран имитационный язык программирования GPSS, тогда для реализации в нем программы необходимы следующие операторы:
GENERATE A,B,C,D,E
С помощью операндов A и B, задаваемых как вещественные или целые положительные числа ( возможно, выражения), определяется равномерное распределение интервалов при генерации заявок. Интервалы между заявками могут быть от A-B до A+B включительно. Плотность вероятности в интервале равна 1/(2*B).
TERMINATE A
Моделирование задержки заявки ведет блок ADVANCE, который имеет 1 или 2 параметра. Блок очень похож на GENERATE и его параметры А и В имеют тот же смысл. Они определяют интервал задержки заявки. Здесь так же, если B является ссылкой на функцию, то интервал задержки определяется как произведение A на B. Общая форма блока:
ADVANCE A,B
Войти в ADVANCE и находиться в нем одновременно, может любое число заявок. Обычно блок ADVANCE моделирует обслуживание заявок в устройстве или в многоканальном устройстве и поэтому он обрамляется блоками входа/выхода в них.
В случае устройств, занятие устройства отображается блоком
SEIZE A
а освобождение устройства отображается блоком
RELEASE A
Здесь A – это номер или метка (имя) устройства.
Когда устройство занято, то в него не могут входить другие заявки, а когда оно свободно, то в него входит первая по очереди заявка.
Эти номер или имя устройства в блоках SEIZE и RELEASE должны быть одинаковыми. Устройство перестанет быть занятым, когда занявшая его заявка. пройдет через блок RELEASE этого устройства.
МЕТ STOREGE A,B
Емкость накопителя описывает параметром А(№ устройства), В- емкость.
ENTER A,B
Для фиксации входа транзакта в память
А-указывается № памяти
В-число единиц памяти занимаемым транзактом
LEAVE
Выход из транзакта
GATE R A,B
Оператор условного перехода. R- условие.
TABLE A,B,C,D
Таблица. А- аргумент таблицы. В- верхняя граница нижнего интервала. В-ширина интервала.D- число интервала.
TABULATE A,B
Обращение к таблице
А- имя таблице
В- все измерения, сколько единиц должно быть добавлено к счетчику.
5 Описание пользовательского интерфейса
Интерфейс языка GPSS прост, потому что вся модель программируется блочно и вызов всех функций происходит как в обычных приложениях Windows, пример рабочей области языка приведен ниже:
Рисунок 5.1 – Рабочая область языка GPSS.
Программирование происходит в специализированном текстовом редакторе самого языка, он вызывается командой File-new-modal.
Операторы языка вызываются командой Edit-insert gpss bloks, вид операторов приведен ниже
Рисунок 5.3 – Операторы языка GPSS
Запуск модели осуществляется командой command-create simulation-start1.
Для пошагового изучения модели используется команда window- simulation window-blocs window.
6 Описание результатов моделирования
Исходный код программы, представлен в приложении Б
Описание полученной модели:
Окно статистики состоит из под разделов, содержащих стандартную статистику об объектах GPSS. Описание начинается с заголовка,
GPSS World Simulation Report - ЮЛЯ.54.1
Содержит имя файла (курсовой), затем указывается дата и время моделирования: Wednesday, November 10, 2010 03:33:52
Затем идет информация о времени моделирования, о числе блоков, устройств , и многоканальных устройств
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 2880.000 41 5 0
- START TIME - абсолютное
системное время в момент
- END TIME - абсолютное
время, когда счетчик
- BLOCKS - количество блоков,
использованных в текущей
- FACILITIES - количество устройств, использованных в модели, к моменту завершения моделирования;
- STORAGES - количество многоканальных устройств, использованных в текущей модели к моменту завершения моделирования.
Затем идет информация о метках, использованных в модели и об их значениях. В данной модели будет так
NAME VALUE
MET1
MET2 13.000
MET3 20.000
MET_ERROR1 27.000
MET_ERROR2 31.000
MET_ERROR3 35.000
MET_EXIT 39.000
MET_EXITK1 11.000
MET_EXITK2 18.000
MET_EXITK3 25.000
MET_VOZVRAT1 10.000
MET_VOZVRAT2 17.000
MET_VOZVRAT3 24.000
TT 10000.000
Здесь NAME – это имя метки, а VALUE - это её числовое значение.
Далее описываются блоки текущей модели, например в следующем виде:
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 10 0 0
2 SEIZE 10 0 0
3 ADVANCE 10 0 0
4 RELEASE 10 0 0
5 TRANSFER 10 0 0
MET1 6 GATE 10 0 0
7 SEIZE 4 0 0
8 ADVANCE 4 0 0
9 TRANSFER 4 0 0
MET_VOZVRAT1 10 ADVANCE 1 0 0
MET_EXITK1 11 RELEASE 4 0 0
12 TRANSFER 4 0 0
MET2 13 GATE 6 0 0
14 SEIZE 2 0 0
15 ADVANCE 2 0 0
16 TRANSFER 2 0 0
MET_VOZVRAT2 17 ADVANCE 2 0 0
MET_EXITK2 18 RELEASE 2 0 0
19 TRANSFER 2 0 0
MET3 20 GATE 4 0 0
21 SEIZE 4 0 0
22 ADVANCE 4 0 0
23 TRANSFER 4 0 0
MET_VOZVRAT3 24 ADVANCE 1 0 0
MET_EXITK3 25 RELEASE 4 0 0
26 TRANSFER 4 0 0
MET_ERROR1 27 SEIZE 1 0 0
28 ADVANCE 1 0 0
29 RELEASE 1 0 0
30 TRANSFER 1 0 0
MET_ERROR2 31 SEIZE 2 0 0
32 ADVANCE 2 0 0
33 RELEASE 2 0 0
34 TRANSFER 2 0 0
MET_ERROR3 35 SEIZE 1 0 0
36 ADVANCE 1 0 0
37 RELEASE 1 0 0
38 TRANSFER 1 0 0
MET_EXIT 39 TERMINATE 10 0 0
40 GENERATE 1 0 0
41 TERMINATE 1 0 0
Здесь поле LABEL определяет метку блока, поле LOC определяет имя или номер этого блока. Поле BLOCK TYPE определяет
тип блока GPSS World.
Поле ENTRY COUNT определяет количество заявок, вошедших в данный блок, после последнего выполнения блоков RESET или CLEAR, или с начала работы программы.
Поле CURRENT COUNT определяет количество заявок, находящихся в данном блоке в конце моделирования.
Поле RETRY определяет количество заявок, ожидающих специальных условий, зависящих от состояния данного блока.
TABLE MEAN STD.DEV. RANGE RETRY FREQUENCY CUM.%
VISIO1
20.252 10.509
VISIO2
29.079 10.703
VISIO3
25.445 0.000
VISIO4
43.385 0.000
Поле TABLE определяет имя или номер объекта типа "таблица" или "Q-таблица".
Поле MEAN определяет среднее взвешенное значение табулируемого аргумента. Значение преобразовывается в формат двойной точности при выводе в файл статистики.
Поле STD.DEV определяет взвешенное среднеквадратичное отклонение.

- Имитационная модель функционирования системы с отказами
- Имитационного моделирования систем с приоритетным обслуживанием и отказами
- Имитационное моделирование
- Имитационное моделирование
- Имитационное моделирование
- Имитационное моделирование
- Имитационное моделирование
- Имитационная модель динамики численности популяции русского осетра в Каспийском море
- Имитационная модель динамики численности русского осетра
- Имитационная модель на языке GPSS/H системы двухмашинного обслуживания потока пользователей
- Имитационная модель на языке GPSS/H системы двухпоточной регулировки агрегатов
- Имитационная модель на языке gpss/h системы передачи данных
- Имитационная модель работы порта
- Имитационная модель работы распределенной вычислительной системы