Одноканальная СМО
Министерство
образования и науки Российской
Федерации
Пояснительная записка к курсовой работе
по дисциплине:
«Компьютерное
моделирование»
Рязань 2011
Введение
Компьютерное моделирование является одним из эффективных методов изучения сложных систем. Компьютерные модели проще и удобнее исследовать в силу их возможности, проводить вычислительные эксперименты, в тех случаях, когда реальные эксперименты затруднены из-за финансовых или физических препятствий или могут дать непредсказуемый результат. Логичность и формализованность компьютерных моделей позволяет выявить основные факторы, определяющие свойства изучаемого объекта-оригинала (или целого класса объектов), в частности, исследовать отклик моделируемой физической системы на изменения ее параметров и начальных условий.
Построение компьютерной модели базируется на абстрагировании от конкретной природы явлений или изучаемого объекта-оригинала и состоит из двух этапов - сначала создание качественной, а затем и количественной модели. Компьютерное же моделирование заключается в проведении серии вычислительных экспериментов на компьютере, целью которых является анализ, интерпретация и сопоставление результатов моделирования с реальным поведением изучаемого объекта и, при необходимости, последующее уточнение модели и т. д.
К основным этапам компьютерного моделирования относятся:
- постановка задачи, определение объекта моделирования;
- разработка концептуальной модели, выявление основных элементов системы и элементарных актов взаимодействия;
- формализация, то есть переход к математической модели; создание алгоритма и написание программы;
- планирование и проведение компьютерных экспериментов;
- анализ и интерпретация результатов.
Различают
аналитическое и имитационное моделирование.
При аналитическом
Целью курсовой работы является практическое усвоение основных разделов теоретической части курса «Компьютерное моделирование», закрепление и углубление знаний по математическим и программным средствам моделирования, получение навыков комплексного решения задач на базе современных ЭВМ.
В
ходе выполнения курсовой работы необходимо
сформулировать задачу моделирования
в соответствии с конкретными целями моделирования;
разработать формализованную модель в
виде модели системы массового обслуживания
(СМО); разработать программную модель
на основе алгоритмического описания
модели; составить программу на языке
имитационного моделирования GPSS, провести
ее отладку, проверку адекватности модели;
оценить и проанализировать полученные
результаты моделирования.
- Постановка задачи
Одноканальная СМО – ЭВМ, на которую поступают заявки (требования на расчеты). Поток заявок – простейший со средним интервалом между заявками tср.=10 мин. Время обслуживания распределено по закону Эрланга 3-го порядка с математическим ожиданием tобсл.=8 мин.
Определить
среднее число заявок в СМО и среднее
число заявок в очереди, а также средние
времена пребывания заявки в системе и
в очереди. Решите задачу, используя аналитическую
и имитационную модели СМО.
- Разработка концептуальной модели и ее формализация
Переформулируем предложенную задачу в терминах теории массового обслуживания. В данном случае исследуемую систему можно представить в виде СМО разомкнутого типа, содержащей один канал обслуживания. Время обслуживания распределено по закону Эрланга 3-го порядка с математическим ожиданием tобсл.=8 мин. или с интенсивностью потока обслуживаний μ=1/ tобсл. При загруженном канале заявки могут ждать обслуживания в общей очереди числом мест m. Дисциплина ожидания – бесприоритетная, заявки ставятся в очередь в порядке поступления. Дисциплина обслуживания также бесприоритетная, при освобождении канала обслуживания заявка выбирается из начала очереди (дисциплина FIFO). Поток заявок – простейший, со средним интервалом между заявками tср.=10 мин. или с интенсивностью λ =1/ tср.
Таким
образом, исследуемая система представляет
собой одноканальную СМО с неограниченной
очередью при простейшем потоке заявок
и одним обслуживающим аппаратом. Тогда
модель исследуемой системы в виде СМО
разомкнутого типа можно представить
следующем образом (рисунок 1).
tобсл.
λ
Рисунок
1. Модель исследуемой системы
- Аналитический расчет СМО
Исследуемая система – одноканальная СМО с неограниченной очередью при простейшем потоке заявок и произвольном времени обслуживания.
На
одноканальную СМО поступает
простейший поток заявок с интенсивностью
потока заявок λ, которую рассчитаем по
формуле:
λ
=1/ tср=1/10=0,1
(заявки/мин)
Время
обслуживания распределяется по закону
Эрланга 3-го порядка с математическим
ожиданием tобсл.=1/ μ=8 (мин), где μ- интенсивность
потока обслуживаний. Отсюда
μ=1/ tобсл. =1/8=0,125 (заявки/мин).
Коэффициент
вариации времени обслуживания для
закона Эрланга 3-го порядка рассчитывается
ν =1/
, так как k=3, то
ν
=1/
.
Обозначим
λ/μ=ρ. Эта величина носит название относительной
интенсивности. Подставляем значения
и получаем
ρ=0,1/0,125=0,8
Среднее число заявок в очереди rср. определяется по формуле Поллачека-Хинчина (1):
rср.=
Подставляем значения и получаем:
rср.=
=
=
=2,128≈2,13
Среднее число заявок в СМО zср. рассчитываем по формуле
Поллачека-Хинчина
(2):
zср.=
Подставляя необходимые значения величин, получаем:
zср.=
=
=
=2,928≈2,93
Среднее
время пребывания заявки в системе tср.сист. рассчитываем по
формуле Литтла (3).
tср.сист.=
zср
/ λ
Аналогично
рассчитываем среднее время пребывания
заявок в очереди по формуле Литтла (4):
tср.оч.=
rср/
λ
Подставляя в формулы (3) и (4) рассчитанные выше значения zср. и rср, а также значение интенсивности потока заявок , получаем:
tср.сист.=2,93/0,1=29,3 (мин)
tср.оч.=2,13/0,1=21,3 (мин)
Расчет величин rср. и zср. производился по формулам Поллачека-Хинчина, так как эти формулы используется в случае, если рассматривается одноканальная СМО с неограниченной очередью, на которую поступает произвольный рекуррентный поток заявок с интенсивностью λ и коэффициентом вариации ν, заключенным между нулем и единицей: 0< ν <1. Время обслуживания tобсл. также имеет произвольное распределение со средним значением tобсл. == 1/m . Для этого случая точных аналитических формул получить не удается, можно только приближенно оценить среднюю длину очереди, ограничить ее сверху и снизу. Но, если входящий поток – простейший (как в исследуемой системе), то обе оценки - верхняя и нижняя - совпадают, и получается формула Поллачека–Хинчина (формулы (1) и (2)) [1].
Также при расчетах использовались формулы Литтла. Формула Литтла применяется для любой СМО, при любом характере потока заявок, при любом распределении времени обслуживания, при любой дисциплине обслуживания .Среднее время пребывания заявки в системе равно среднему числу заявок в системе, деленному на интенсивность потока заявок.
Точно
таким же образом определяется вторая
формула Литтла, связывающая среднее время
пребывания заявки в очереди и среднее
число заявок в очереди (формулы (3) и (4)).
Рассмотрим состояние системы, когда в ней m заявок.
Возможные переходы:
S0 - в системе нет ни одной заявки;
S1 - в системе одна заявка, она находится на обслуживании в обслуживающем аппарате, очереди нет;
S2 – в системе две заявки, причем одна из них на обслуживании, другая в очереди;
Sm – в системе m заявок , причем одна на обслуживании, а m-1 заявок в очереди.
Граф
переходов для исследуемой СМО
представлен на рисунке 2.
λ λ λ ......... λ λ
μ
μ
μ ......... μ
μ
Рисунок 2. Граф переходов
Этой системе соответствует матрица интенсивности переходов Λ . Сумма интенсивностей переходов, выходящих данного состояния записывается со знаком «-» в главной диагонали. Интенсивности переходов, входящие в данное состояние записываются со знаком «+».
S0 S1 S2 Sm
S0 -λ λ 0 …………... …0
Λ= S1 μ (-λ +μ)
λ ………0 …….0
S2 0 μ (-λ +μ) λ……...0
Sm 0 0 0 ……. μ (-λ +μ) λ
По полученной матрице составим систему уравнений. Запись ведется по столбцам.
В установившемся режиме имеем систему алгебраических уравнений:
- λP0 + μP1=0
λP0-( λ +μ)P1+ μP2=0
λP1-( λ +μ)P2+ μP3=0
………………………
λPm-1-( λ +μ)Pm+ μPm-1=0
Дополним систему условием нормировки:
Введем обозначение ρ =λ/ μ= υср* λ.
Решая систему с приведенными обозначениями , получаем:
Из первого уравнения: P1= ρP0
Из второго уравнения: P2= ρP1= ρ2Po
Из третьего уравнения: P3= ρP2= ρ3Po
………………….
Из m-го уравнения: Pm= ρPm-1= ρmPo
Чтобы найти Pi, найдем прежде P0,подставив их в уравнение (**), получим:
n n
∑ Pi=∑ ρi Po=1
i=0
i=0
Если ρ<1, то существует предел суммы как суммы бесконечно убывающей геометрической прогрессии. Таким образом:
P0=(1/(1-ρ))-1
P0=1- ρ
1- ρ=η, следовательно η – коэффициент загрузки.
ρ =1- η
Тогда P0=1-ρ=η – вероятность того, что система простаивает или это коэффициент простоя СМО. Таким образом, физический смысл коэффициента ρ состоит в том, что он определяет загрузку СМО или вероятность того, что система не простаивает.
Рассчитаем вероятность для исследуемой системы:
P0=1-
0,8=0,2
- Алгоритмизация модели
Работу СМО можно представить в виде непрерывной цепи блоков, добавив к ней компоненты, предназначенные для управления моделированием. Блоки GPSS используются для описания функций моделируемой системы и управляют движением транзактов. После выполнения соответствующей программы транзакт либо продолжает движение к следующему блоку, либо задерживается на некоторое время в том же блоке, где он находился. В зависимости от назначения блоки подразделяются на несколько групп [2]. В данной моделируемой системе будут использоваться следующие группы блоков:
- Блоки, осуществляющие модификацию атрибутов транзактов (ADVANCE, GENERATE, TERMINATE).
- Блоки, организующие использование объектов аппаратной категории (SEIZE, RELEASE).
- Блоки, обеспечивающие получение статистических результатов (QUEUE, DEPART).
Порядок
блоков в блок-диаграмме
Заполним
таблицу определений (см. таблицу 1).
Таблица определений является списком
различных элементов языка GPSS, использованных
в модели, с краткой характеристикой тех
частей системы, которые описываются этими
элементами [3].
Таблица 1 - Таблица определений
| Элементы GPSS | Назначение |
| Транзакты:
Первый сегмент модели: Второй сегмент модели: |
Поток заявок на обслуживание Таймер |
| Приборы:
Device |
ЭВМ |
| Очередь:
Quu |
Очередь, используемая для сбора статистики об ожидании заявок |
- Кодирование программы
Программа
была разработана на основе алгоритмического
описания модели и составлена на языке
имитационного моделирования
При разработке GPSS-модели одноканальной системы необходимо осуществить программную имитацию следующих событий: создание задания (транзакта), постановку транзакта в очередь, уход
транзакта из очереди, занятие устройства, задержку на время обработки
(выполнения транзакта), освобождение устройства, уход транзакта из
моделируемой системы [3]. Модель включает в себя семь общих блоков, которые выполняют следующие функции:
1 - генерирование транзактов;
2 - постановка
транзакта в очередь с
3 - занятие транзактом одноканального устройства с символическим
именем Device, имитирующим ecnhjqcndj с одним входом и одним
выходом;
4 - выход транзакта из очереди;
5 - моделирование
обслуживания транзакта
6 - освобождение транзактом устройства Device;
7 - удаление одного транзакта из модели.
Также модель содержит помимо основного сегмента (блоки
1-9) дополнительный, который задает время моделирования (блоки
10-11). Блоки GENERATE работают независимо друг от друга. Через 100 единиц модельного времени блок GENERATE с номером 10 сгенерирует один транзакт, что вызовет вычитание единицы из счетчика завершений и моделирование прекратится.
Также, необходимо учесть, что время обслуживания в модели распределено по закону Эрланга 3-го порядка В этой модели выборка случайных чисел, распределенных по закону Эрланга, формируется с помощью с датчика равномерно распределенных чисел RN1 и вычисляемого объекта функции с именем ERLAN, функция непрерывная (C) и задана таблично 23 узловыми точками.
Строки 1-6 модели определяют функцию распределения
Эрланга третьего порядка. Моделирование наступления событий
производится блоком GENERATE, операнд A которого является
величиной обратной параметру λ.
Все описанные выше события были реализованны с помощью возможностей языка GPSS.
- GENERATE - данный блок определяет точку входа транзакций в модель вместе с вероятностными характеристиками входящего потока.
Generate [интервал],[разброс],[
Интервал — среднее время между созданием транзакций;
Разброс — разброс времени между созданием транзакций (число или функция);
Задержка — начальная задержка создания первой транзакции;
Ограничение — максимальное количество создаваемых транзакций;
Приоритет — приоритет создаваемых транзакций.
- TERMINATE [<вычитаемое>] - данный блок уничтожает транзакции, входящие в него. Попытка захвата транзакцией блока всегда успешна.
Вычитаемое — значение, вычитаемое из счётчика завершения при удалении очередной транзакции (0 по умолчанию).
- SEIZE [<имя устройства>] - данный блок устанавливает заданное одноканальное устройство в состояние занятости входящей в него транзакцией.
Имя устройства — имя или номер устройства.
Действие блока:
Если данное устройство свободно, то входящая транзакция занимает
его и пытается войти в следующий блок.
Если устройство занято, транзакция помещается последней в очередь
ожидающих это устройство (с тем же приоритетом).
Прохождение транзакций через большинство блоков осуществляется
мгновенно с точки зрения моделирования. Внесение задержек в прохождение
осуществляется при помощи специальных блоков.
- ADVANCE [<интервал>],[<разброс>]
Интервал, разброс — имеют тот же смысл, что и аналогичные пара-
метры блока GENERATE.
- RELEASE [<имя устройства>]
Действие блока:
Транзакция, владеющая устройством, покидает его и переходит
к следующему блоку.
Транзакция, вытесненная из владения устройством, удаляется
из его списка прерывания.
- QUEUE имя очереди [<количество>]
Количество — количество единиц, на которые увеличивается длина
очереди при вхождении заявки в блок.
- DEPART [<имя очереди>],[<количество>]

- Одноканальное устройство контроля температуры
- Одноквартирный деревянный жилой дом в пос.Сергиево Гатчинского района Ленинградской области
- Одноквартирный трехкомнатный жилой дом в Гродненском районе
- Одноковшевый эксковатор
- Одноковшовый универсальный полноповоротный экскаватор ЭО-33211А
- Одноковшовый фронтальный погрузчик
- Одноковшовый экскаватор
- Одиночество как социальная проблемма в различных социальных группах
- Одиночество как фактор дезадаптации лиц пожилого возраста
- Одиночество подростков и социально-психологические проблемы
- Одиночество подростков как социальная проблема
- Одиночество подростков как социальная проблема
- Одиночество пожилых людей
- Одноиндексные задачи линейного программирования