close

Вход

Забыли?

вход по аккаунту

?

Мой отчет

код для вставкиСкачать
МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ
(НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ)
Отчет по лабораторной работе № 1
По курсу:
"Компьютерное моделирование систем"
кафедры 302
Построение дискретных имитационных моделей на основе метода модельных событий
Выполнили студенты
группы 03-422: Медынский С.А.
Амбарцумян Ю.А.
Максименко А.В.
Шакотько А.В.
Линок Т.А.
Преподаватели:
Хахулин Г.Ф.
Монахов С.В.
Москва
2013
Содержание
1. ПОСТАНОВКА ЗАДАЧИ
2. ФОРМАЛИЗОВАННОЕ ОПИСАНИЕ ИМ
2.1. Обоснование возможности разработки дискретной ИМ с использованием ММС
2.2. Критерий оценки результатов моделирования
2.3. Параметры ИМ
2.4. Состояние ИМ
2.4.1. Переменные состояния
2.4.2. Начальное состояние
2.5. Имитация случайных явлений в ИМ
2.6. Сбор статистики и расчет показателей критерия
2.7. Алгоритмы обработки модельных событий
3. Имитационная программа
3.1. Общие сведения об ИП
3.2 Структура ИП
3.3. Инструкция для пользователя
4. Результаты ИМЭ
4.1. Анализ трассировочной печати
4.2. Верификация параметров модели
5. Выводы
ЗАКЛЮЧЕНИЕ
Приложение 1. Текст имитационной программы
Приложение 2. Трассировочная печать
Приложение 3. Результаты ИМЭ по верификации ИМ
1. Постановка задачи.
Рассматривается следующая система массового обслуживания:
Входные потоки - простейшие (=10 мин.; =3 мин.).
Заявки первого потока обладают относительным приоритетом (на первой фазе СМО).
Времена обслуживания каждым из приборов распределены по экспоненциальному закону (=1.8 мин., =2.0 мин.).
Все очереди имеют ограниченную длину (M1=4, M2=4, M3=6).
Разработать имитационную модель рассматриваемой системы с целью оценки статистических результатов по:
- количеству поступивших в систему заявок разных входных потоков,
- количеству потерянных заявок на входе каждой из очередей,
- загрузке обслуживающих устройств,
- времени нахождения обслуженных заявок в системе (по приоритетам).
Моделировать функционирование системы на интервале времени T=3 ч.
2. Формализованное описание ИМ.
2.1. Обоснование возможности разработки дискретной ИМ.
1 - вход заявки в систему (в 1-ю фазу обслуживания).
2 - окончание обслуживание в 1-й фазе (вход заявки во 2-ю фазу).
3 - окончание обслуживания в системе.
(1-2) - если канал, соответствующий входному потоку, свободен (КО1).
(2-3) - если свободен КО 2-й фазы.
(2-2) - если одна из очередей 1-й фазы не пуста.
(3-3) - если очередь 2-й фазы не пуста.
2.2. Критерий оценки результатов моделирования.
Формализация осуществляется с ориентацией на СИМ Modelling
- количество поступивших в систему заявок разных входных потоков - интенсивности поступления заявок на вход каждого прибора СМО.
- количество потерянных заявок на входе каждой из очередей - вероятность потери заявки на входе каждой из очередей СМО.
- загрузка обслуживающих устройств - вероятность занятости каждого из каналов обслуживания.
- время нахождения обслуженных заявок в системе (по приоритетам СМО).
2.3. Параметры ИМ.
LAMD[i] (i=0, 1) - интенсивность входных потоков заявок;
MU[i] (i=0, 1) - параметры экспоненциального ЗР времени обслуживания (интенсивность);
М[i] (i=0, 1, 2) - ограничение на число заявок в очереди;
TP - время прогона ИМ.
2.4. Состояние ИМ.
2.4.1. Переменные состояния.
Входной поток:
KZVS - число заявок, вошедших в СМО;
KVZ[i] (i=0,1,2) - количество пришедших заявок на вход i-й очереди.
KPZ[i] (i=0,1,2) - количество потерянных заявок на входе i-й очереди.
KZS - количество заявок, находящихся в системе;
KOZ[i] (i=0,1) - количество обслуженных заявок по каналам обслуживания
Запись в СБС для k=1: t1K=1NpNz
Где Nz-номер заявки (сквозной); Np- номер потока.
Для определения состояния очередей используем группу списков с именем VQ. Распределение NN списков в группе - в соответствии с номерами очередей.
Структура: T_вхNpNz
T_вх - время входа заявки в систему
Упорядочение записей - по правилу FIFO.
Текущие длины очередей (переменные, отслеживаемые автоматизированными средствами автоматизации работы со списками).
Каналы обслуживания:
а) Индикатор занятости канала
;
б) Суммарное время занятости канала
по номеру идентифицируемого канала;
Запись в СБС для события K=2:
t_2 K=2t_вхNpNz Запись в СБС для события с К=3:
t_3 K=3t_вхNpNz
2.4.2. Начальное состояние.
В качестве начального состояния выберем нулевое начальное состояние, т.е. система свободна от заявок. Переходный процесс компенсируем продолжительностью исследования.
KVZ[i]=0; (i=0,1,2)
KPZ[i]=0; (i=0,1,2)
KZ[i]=0; (i=1,2)
KOZ[i]=0; (i=0,1)
TZKO[i]=0.(i=0,1)
Списки № 2, 3 и 4 пусты.
Начальное состояние СБС - две записи.
Поток 1:
t'1К=1Np=1 Nz =1Поток 2:
t''1К=1Np=2Nz =2
2.5. Имитация случайных явлений.
4 случайных явления: входной поток - простейший, следовательно, распределение интервала времени между поступающими заявками подчинено экспоненциальному закону; 2 потока обслуживания в каждом из КО подчинены экспоненциальному распределению с заданными параметрами.
Для организации зависимых испытаний будем использовать 4 независимых потока базовых псевдослучайных чисел.
Случайное явлениеСтатистическое описаниеИспользуемый поток БПЧВремя между соседними заявками в 1-м входном потокеЭкспоненциальный ЗР с интенсивностью LAMD11Время между соседними заявками во 2-м входном потокеЭкспоненциальный ЗР с интенсивностью LAMD22Время обслуживания в 1-м канале обслуживанияЭкспоненциальный ЗР с параметром М1 3Время обслуживания в 2-м канале обслуживанияЭкспоненциальный ЗР с параметром М2 42.6. Сбор статистики и расчет показателей критерия.
- Числовые характеристики времени пребывания обслуживаемых заявок в СМО (по входным потокам). Сбор статистики с использованием средств автоматизации при обработке события K=2 К=3 с помощью рабочей переменной TNZS[i], i = 0, 1. Статистика по независимым реализациям.
- Интенсивность поступления заявок в систему по потокам: ; - Количество потерянных заявок на входе каждой из очереди: оценка вероятности потери заявок ; - Загрузка устройства обслуживания: оценка вероятности занятости каждого устройства обслуживания, ; 2.7. Алгоритмы обработки модельных событий.
3. Имитационная программа.
3.1. Общие сведения об ИП
ИП написана в среде программирования Borland Delphi 7.0 c использованием СИМ Modelling, которая является набором библиотек для среды программирования Delphi, и включает в себя необходимые процедуры, функции, компоненты, вспомогательные классы и структуры данных, позволяющие просто и наглядно разрабатывать дискретные и непрерывно-дискретные ИМ.
Формализация ДИМ выполняется в соответствии с методом модельных событий (ММС). Система поддерживает визуальное задание параметров и переменных состояния модели, графа взаимосвязи модельных событий, списков параметров модельных событий, списковых структур, генераторов случайных величин, управление автоматизированным сбором статистики . Modelling реализует алгоритмы продвижения модельного времени, а так же средства контроля моделирования и отладки разработанных имитационных программ (ИП): трассировка и автотрассировка, компонент управления ходом моделирования, информационные окна объектов модели, условные точки приостановления моделирования, средства анализа собираемой статистики. Так же, в систему встроен генератор отчетов по разработанным имитационным моделям.
3.2. Структура ИП.
3.3. Инструкция для пользователя.
Для запуска программы необходимо открыть файл Project1.exe
После запуска запуска программы на экране появится окно ИП:
Для контролирования процесса проведения имитационного эксперимента применяется компонент "Контроллер модели":
Назначение кнопок контролера модели приведено в таблице:
Изображение кнопкиНазначение кнопкизапуск ИМЭприостановить ИМЭ (пауза)продолжить ИМЭ (снятие с паузы)завершить ИМЭвызов окна настроек ИМЭвызов меню для сохранения/загрузки параметров и расположения информационных окон модельных объектов Результаты трассировочной печати сохраняются в файле trace.log в текущем каталоге. Трассировочная печать имеет вид:
В начале трассировочной печати приводятся значения параметров модели, ее начальное состояние и происходит планирование начальных событий. При планировании событий указывается номер планируемого события, связь, с помощью которой осуществляется планирование, время, на которое происходит планирование, и дополнительные параметры события (время входа заявки в систему и номер потока). При трассировке обработки события указывается текущее время, номер события и его параметры. После обработки события указываются переменные состояния модели и состояние очередей. После окончания моделирования происходит отображение собранной статистики.
4. Результаты ИМЭ.
4.1. Анализ трассировочной печати.
(приводится не полностью из-за большого объема)
Исходные данные:
Фрагмент 1: Запланированная на момент времени 135.6 заявка входит в систему по второму потоку. Т.к. канал обслуживания №1 свободен, то заявка сразу становится на обслуживание. Число поступивших заявок на вход 2-й очереди увеличивается на 1 (KVZ[2]: 0→1). Число заявок в системе увеличивается на 1 (KZS: 0→1).
Планируется событие K=2 окончания обслуживания заявки в 1-й фазе. Планируется событие K=1 поступление на вход системы следующей заявки первого потока.
KVZ=[0, 0, 0], KPZ=[0, 0, 0], KZ=[0, 0], KOZ=[0, 0], KZS=[0], TZKO=[0, 0], Queue_1=[], Queue_2=[], Queue_3=[]
-------------------------------------------------------------------
|t1=135.6|k=1||NZ=1|NP=2|t_input=135.6|
-------------------------------------------------------------------
t=217 k=2, NZ=1, NP=2, t_input=135.6
t=580.5 k=1, NZ=1, NP=1
KVZ=[0, 1, 0], KPZ=[0, 0, 0], KZ=[1, 0], KOZ=[0, 0], KZS=[1], TZKO=[0, 0], Queue_1=[], Queue_2=[], Queue_3=[]
Фрагмент 2: В момент времени 217 заявка второго потока заканчивает обслуживание в 1-й фазе. Заявка переход во 2-ю фазу. Т.к. канал обслуживания №2 свободен, то заявка сразу становится на обслуживание. Число поступивших заявок на вход 3-ей очереди увеличивается на 1 (KVZ[3]: 0→1). Число обслуженных заявок 1-го КО увеличивается на 1 (KOZ[1]: 0→1).
Происходит сбор статистики по времени работы 1-го канала (TZKO[1]: 0→217]).
Планируется событие K=3 окончания обслуживания заявки в системе.
KVZ=[0, 1, 0], KPZ=[0, 0, 0], KZ=[1, 0], KOZ=[0, 0], KZS=[1], TZKO=[0, 0], Queue_1=[], Queue_2=[], Queue_3=[]
-------------------------------------------------------------------
|t2=217 |k=2||NZ=1|NP=2|t_input=135.6|
-------------------------------------------------------------------
t=307.4 k=3, NZ=1, NP=2, t_input=217
KVZ=[0, 1, 1], KPZ=[0, 0, 0], KZ=[0, 1], KOZ=[1, 0], KZS=[1], TZKO=[217, 0], Queue_1=[], Queue_2=[], Queue_3=[]
Фрагмент 3: В момент времени 307.4 заявка второго потока заканчивает обслуживание в системе. Число обслуженных заявок 2-го КО увеличивается на 1 (KOZ[2]: 0→1). Происходит сбор статистики по времени работы 2-го канала (TZKO[2]=[ 0→90.4]).
Происходит уменьшение числа заявок в системе (KZS=[0]).
KVZ=[0, 1, 1], KPZ=[0, 0, 0], KZ=[0, 1], KOZ=[1, 0], KZS=[1], TZKO=[217, 0], Queue_1=[], Queue_2=[], Queue_3=[]
-------------------------------------------------------------------
|t3=307.4|k=3||NZ=1|NP=2|t_input=217 |
-------------------------------------------------------------------
KVZ=[0, 1, 1], KPZ=[0, 0, 0], KZ=[0, 0], KOZ=[1, 1], KZS=[0], TZKO=[217, 90.4], Queue_1=[], Queue_2=[], Queue_3=[]
Фрагмент 4: В момент времени 582.3 заявка первого потока заканчивает обслуживание в 1-й фазе и переходит во 2-ю. Т.к. КО №2 занят, то заявка становится в очередь 3 (в очереди есть место). Число поступивших заявок на вход 3-ей очереди увеличивается на 1 (KVZ[3]: 2→3).
Число обслуженных заявок 1-го КО увеличивается на 1 (KOZ[1]: 2→3). Происходит сбор статистики по времени работы 1-го канала (TZKO[1]: 297→298).
KVZ=[2, 1, 2], KPZ=[0, 0, 0], KZ=[1, 1], KOZ=[2, 1], KZS=[2], TZKO=[297.1, 90.4], Queue_1=[], Queue_2=[], Queue_3=[]
-------------------------------------------------------------------
|t2=582.3 |k=2||NZ=1|NP=1|t_input=580.5|
-------------------------------------------------------------------
KVZ=[2, 1, 3], KPZ=[0, 0, 0], KZ=[0, 1], KOZ=[3, 1], KZS=[2], TZKO=[298.8, 90.4], Queue_1=[], Queue_2=[], Queue_3=[1]
Фрагмент 5: В момент времени 6729.6 заявка первого потока заканчивает обслуживание в 1-й фазе и переходит во 2-ю. Её номер-21. Число поступивших заявок на вход 3-ей очереди увеличивается на 1 (KVZ[3]: 39→40).
Т.к КО №2 занят и в очереди №3 все места заняты, заявка теряется (KPZ[3]: 0→1). Происходит сбор статистики по времени работы 1-го канала (TZKO[1]: 5570→5590).
Происходит уменьшение числа заявок в системе (KZS: 11→10).
KVZ=[21, 22, 39], KPZ=[0, 0, 0], KZ=[1, 1], KOZ=[39, 32], KZS=[11], TZKO=[5570.6, 2926.2], Queue_1=[], Queue_2=[20, 21, 22], Queue_3=[19, 19, 13, 16, 17, 20]
-------------------------------------------------------------------
|t2=6729.6 |k=2||NZ=21|NP=1|t_input=6663.8|
-------------------------------------------------------------------
KVZ=[21, 22, 40], KPZ=[0, 0, 1], KZ=[0, 1], KOZ=[40, 32], KZS=[10], TZKO=[5590.5, 2926.2], Queue_1=[], Queue_2=[20, 21, 22], Queue_3=[19, 19, 13, 16, 17, 20]
Фрагмент 6:
В момент времени 9616.2 заявка первого потока заканчивает обслуживание.
Во очередях 1 и 2 потоков содержатся заявки, но т. к. заявки находящиеся в первой очереди обладают наивысшим приоритетом, то заявка №25 и поступает на обслуживание.
KVZ=[29, 29, 53], KPZ=[0, 0, 1], KZ=[1, 0], KOZ=[53, 52], KZS=[5], TZKO=[7831.8, 4537.8], Queue_1=[25, 27, 26], Queue_2=[29], Queue_3=[]
-------------------------------------------------------------------
|t2=9616.2|k=2||NZ=28|NP=1|t_input=9244.2|
-------------------------------------------------------------------
t=9740 k=3, NZ=28, NP=1, t_input=9616
t=9752 k=2, NZ=25, NP=1, t_input=8595
KVZ=[29, 29, 54], KPZ=[0, 0, 1], KZ=[1, 1], KOZ=[54, 52], KZS=[5], TZKO=[8203.8, 4537.8], Queue_1=[27, 26], Queue_2=[29], Queue_3=[]
Вывод:
На основании приведенного анализа трассировочной печати можно сделать вывод, что разработанная ИМ верно отражает изменение переменных состояния ИМ в процессе обработки отдельных событий, планирование событий в соответствии с разработанной граф-схемой и свершение ранее запланированных событий. Таким образом, разработанная нами имитационная программа адекватно отражает логику происходящих в заданной СМО событий.
4.2. Верификация ИМ
Результаты варьирования параметров и их влияние на критерии:
Баз.12345671/µ[0]1084501081081081081081081/µ[1]120120301201201201201201/λ[0]6006006001006006006006001/λ[1]180180180180300180180180M[0]44444144M[1]444444104M[2]66666661INT[0]0.00260.00260.00260.00910.00260.00260.00260.0026INT[1]0.00550.00550.00550.00550.0040.00550.00550.0055PPZ[0]00.03600.1200.1100PPZ[1]0.110.780.110.800.100.11PPZ[2]0.038000.1200.010.10.24PZKO[0]0.970.990.970.940.920.950.960.97PZKO[1]0.860.250.230.950.760.750.870.63Min(TNZS[0])25.512.40.5529.1230.8825.525.4625.46Max(TNZS[0])741.3220.3135.851115.9582.74662.19999.63612.2MO(TNZS[0])422.599.741.85489.94291.45374.02495.39216.75Min(TNZS[1])26.721.83.11110.1529.1226.726.72.2Max(TNZS[1])716.8170.697.11547.33583.44664.21030.6639.3MO(TNZS[1])327.386.931.9293.38259.98327407.53151.691) Увеличение 1/µ [0] с 108 до 450
При увеличении 1/µ[0] интенсивность обслуживания заявок первого и второго потока уменьшилась. Вероятности потерь заявки на входе очереди №1 и №2 сильно увеличились, т.к. уменьшилась интенсивность обслуживания соответствующего канала, т.е. заявки стали дольше обрабатываться в 1-ом КО. Особенно сильно увеличилась вероятность потери заявки на входе очереди № 2, т.к. КО успевал обрабатывать только заявки первого потока, которые пользуются приоритетом. Увеличилась вероятность занятости канала обслуживания №1, т.к. в нем уменьшилась интенсивность обслуживания заявок. КО второй фазы разгрузился, т.к. заявки стали приходить в него реже из-за плохой пропускной способности КО первой фазы.
2) Уменьшение 1/µ [1] с 120 до 30
При уменьшении 1/µ[1] интенсивность обслуживания заявок второго КО увеличилась. Следовательно вероятность потери заявки на входе очереди №3 уменьшилась. Вероятности потери заявок на входе очередей № 1 и 2 не изменились. Уменьшилась вероятность занятости канала обслуживания №2, т.к. в нем увеличилась интенсивность обслуживания заявок.
Минимальное, максимальное и МО значение времени пребывания обслуженной заявки в системе обоих потоков значительно уменьшились, это объясняется тем, что время обслуживания уменьшилось и заявки не успевают скапливаться в очереди.
3) Уменьшение 1/[0] с 600 до 100 При уменьшении 1/[0] интенсивность поступления заявок перового потока увеличилась. Вероятность потери заявки на входе очереди №1 увеличилась, т.к. при увеличении числа заявок на входе в очередь, скорость работы КО №1 и длина первой очереди остались прежними.
Минимальное, максимальное и МО значение времени пребывания обслуженной заявки в системе первого и второго потока увеличились, это объясняется тем, что заявки не успевают обрабатываться и скапливаются в очереди.
4) Увеличение 1/[1] с 180 до 300
При увеличении 1/[1] интенсивность поступления заявок второго потока уменьшилась. Вероятность потери заявки на входе очереди №2 уменьшилась, т.к. при уменьшении числа заявок на входе в очередь, скорость работы КО №1 и длина второй очереди остались прежними.
Вероятность занятости каналов обслуживания практически не изменилась, т.к. интенсивность поступления заявок первого потока не изменилась и его заявки все также занимают КО.
Минимальное, максимальное и МО значение времени пребывания обслуженной заявки в системе первого потоков значительно уменьшились, это объясняется тем, что заявки первого потока, обладающие приоритетом, не успевают скапливаться в очереди и практически сразу поступают на обработку.
Минимальное, максимальное и МО значение времени пребывания обслуженной заявки в системе второго потока уменьшились, это объясняется тем, что КО больше времени остается свободным и поэтому заявки практически не скапливаются в очереди.
5) Уменьшение M[0] с 4 до 1
Вероятность потери заявки на входе очереди №1 увеличилась, т.к. уменьшилась длина очереди. Вероятности потери заявок для очередей №2 и №3 не изменились. Вероятности занятости каналов обслуживания №1 и №2 практически не изменились.
Минимальное, максимальное и МО значение времени пребывания обслуженной заявки в системе первого потока уменьшилось, это объясняется тем, что заявки не скапливаются в очереди, потому что ее длина уменьшилась.
6) Увеличение M[1] с 4 до 10
Вероятность потери заявки на входе очереди №2 уменьшилась незначительно, т.к. у канала обслуживания №2 маленькая интенсивность (быстро накапливаются заявки в очереди). Вероятность занятости каналов обслуживания не изменилась. Минимальное, максимальное и МО значение времени пребывания обслуженной заявки в системе первого и второго потоков практически не изменились.
7) Уменьшение M[2] с 6 до 1
Вероятность потери заявки на входе очереди №3 увеличилась, т.к. уменьшилась длина очереди. Вероятности занятости каналов обслуживания №1 и №2 практически не изменились.
5. Выводы.
В данной работе была смоделирована система массового обслуживания с помощью метода модельных событий с 2-мя входными потоками и 2-мя каналами обслуживания и подсчитаны некоторые критерии оценки результатов моделирования для времени прогона ИМ ТP = 10800 сек.
Была проведена формализация задачи и составлена имитационная программа. ИМ была разработана в среде Borland Delphi 7.0 с применением дополнительных компонент АСИМ ДИМ "Modelling". При разработке использовались средства автоматизации работы со списковыми структурами, генерации случайных величин с различными законами распределения.
Далее, с помощью имитационной программы были получены результаты моделирования СМО для базовых значений параметров и проведено варьирование. Полученные значения критериев не противоречивы, согласуются друг с другом.
Из трассировочной печати видно, что поведение системы логично, т.е. при входе в систему заявка попадает в канал обслуживания, если есть свободный канал, либо становится в соответствующую данному типу заявки очередь при наличии свободного места, либо покидает систему не обслуженной. Для установления влияния параметров ИМ на значения критериев последние были посчитаны для различных значений параметров (см. таблицу в пункте 4.2) . Общий вывод: По результатам анализа трассировочной печати и верификации ИМ можно сделать вывод, что разработанная имитационная модель адекватно отображает процессы, протекающие в рассматриваемой СМО. Действия, соответствующие различным событиям, происходящим в модели, в полной мере отражают логику функционирования реальной системы. Таким образом, считаем разработанную ИМ работоспособной.
2
Документ
Категория
Рефераты
Просмотров
36
Размер файла
876 Кб
Теги
лабораторная работа, мой, лаба, отчет, лабораторная
1/--страниц
Пожаловаться на содержимое документа