Разработка и исследование имитационной модели сложной системы
Процессы функционирования систем на примере моделирования трехфазной СМО. Зависимость вероятности обслуживания от интенсивности потока обслуживания первой фазы. Прибор обслуживания заявок. Расчет пропускной способности системы и времени ожидания.
| Рубрика | Программирование, компьютеры и кибернетика | 
| Вид | курсовая работа | 
| Язык | русский | 
| Дата добавления | 30.11.2011 | 
| Размер файла | 274,1 K | 
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Курсовой проект
по дисциплине
«Моделирование систем»
"Разработка и исследование имитационной модели сложной системы"
2010
Введение
В настоящее время трудно найти область человеческой деятельности, в которой в той или иной степени не использовались бы методы моделирования. Без использования моделирования практически невозможно провести исследование автоматизированных систем управления на всех этапах разработки, начиная с обследования объекта управления и составления технического задания на проектирование и заканчивая внедрением системы в эксплуатацию. Именно моделирование является средством, позволяющим без капитальных затрат решить проблему построения больших систем. СМО представляют собой класс математических схем, разработанных в теории массового обслуживания для формализации процессов функционирования систем, которые по своей сути являются процессами обслуживания.
Примерами процессов обслуживания могут служить процессы функционирования экономических, производственных, технических, технологических и других систем. Например, потоки поставок сырья или материалов некоторому предприятию, заявки на обработку информации сервером от рабочих станций в локальных вычислительных сетях, спрос покупателей на некоторую продукцию в определенный период времени и др.
Цель курсового проекта заключается в приобретении навыков и опыта моделирования систем на примере СМО. Курсовой проект охватывает вопросы построения математических моделей СМО и алгоритмов их реализации; разработки, отладки и тестирования программного обеспечения, а также их расчетных исследований на персональных компьютерах.
Задачи курсового проекта: освоение методов теоретического описания процессов функционирования систем на примере СМО; освоение методологии постановки и решения задач функционального проектирования систем; освоение методов регрессионного анализа при исследовании систем.
1. Постановка задачи
В ходе выполнения работы должна быть смоделирована трехфазная СМО с характеристиками, представленными в таблице 1.
Таблица 1 - Характеристики СМО
| 1 | Количество источников | 2 | |||
| 2 | Входной поток | Нормальный | |||
| Равномерный | |||||
| 3 | Интенсивность входного потока | 1, 2 | |||
| 4 | Количество фаз | 3 | |||
| 5 | Время пребывания заявки в системе | ts | |||
| 6 | Принцип построения моделирующего алгоритма | Дt | |||
| Характеристики фаз: | Фаза 1 | Фаза 2 | Фаза 3 | ||
| 7 | Наличие накопителя | нет | есть | есть | |
| 8 | Емкость накопителя | 7 | 7 | ||
| 9 | Время пребывания заявки в накопителе | - | tn2 | tn3 | |
| 10 | Количество каналов | 5 | 3 | 2 | |
| 11 | Поток обслуживания | Показательный | Равномерный | Равномерный | |
| 12 | Интенсивность потока обслуживания | µ1 | µ2 | µ3 | |
| 13 | Блокировка на выходе каналов 1-й и 2-й фаз | есть | 
Выходные переменные:
- абсолютная пропускная способность системы;
- среднее время ожидания в очереди;
- среднее время пребывания заявки в системе;
- минимальное время ожидания в очереди.
Выходные характеристики:
- зависимость вероятности обслуживания от интенсивности потока обслуживания первой фазы.
Интерпретация результатов моделирования:
- регрессионный анализ.
2. Разработка математической модели
В любом элементарном акте обслуживания можно выделить две основные составляющие:
1. ожидание обслуживания заявкой;
2. собственно обслуживания заявки.
Это можно изобразить в виде некоторого i-го прибора обслуживания Пi (рисунок 1), состоящего из накопителя заявок Нi и канала обслуживания Кi.
Рисунок 1 - Прибор обслуживания заявок
В накопителе заявок может одновременно находится заявок, где Li - емкость i-го накопителя.
Рассматриваемая в работе система является многоканальной и трёхфазной. Для ее формализации используется Q-схема, представленная на рисунке 2.
Для моделирования входного потока и потоков обслуживания необходимо получить последовательность псевдослучайных чисел с заданным законом распределения. Под моделированием входного потока подразумевается получение последовательности интервалов времени между поступлениями соседних заявок. Моделирование потока обслуживания означает вычисление длительности обслуживания заявки некоторым каналом.
Рисунок 2 - Трехфазная многоканальная Q-схема
Для получения последовательностей псевдослучайных чисел с заданным законом распределения чаще всего используют последовательности случайных величин.
Пусть для величины z, имеющей заданное распределение, известна функция плотности распределения f(z). Тогда, используя свойство функции распределения принимать значение от 0 до 1 при изменении аргумента от -? до +?, каждому значению хi случайной величины X, равномерно распределенной в интервале [0, 1], ставим в однозначное соответствие значение zi величины Z
. (2.1)
В моделируемой системе входной поток заявок и поток обслуживания в третьей фазе являются нормальными. То есть последовательности интервалов генерации заявки и обслуживания распределены по нормальному закону (закону Гаусса) с параметрами m - математическое ожидание и - среднеквадратичное отклонение. Последовательности, подчиняющиеся такому закону, имеют следующую функцию плотности распределения:
. (2.2)
В силу центральной предельной теоремы случайная величина , при достаточно большом N будет иметь распределение, близкое к нормальному.
Если xi некоррелированные величины, то
, . (2.3)
Используя последние выражения для заданного N можно определить границы [a, b] такие, чтобы Z имела заданные значения параметров m и , решив систему уравнений:
, . (2.4)
Отсюда
, . (2.5)
Для получения искомых временных интервалов следует использовать следующие выражения:
(2.6)
где xi - случайная величина, распределенная по равномерному закону на интервале [0; 1], - интенсивность входного потока, а - интенсивность потока обслуживания в третьей фазе.
Поток обслуживания в первой фазе является равномерным. Для формирования равномерно распределенных псевдослучайных чисел в интервале [a, b] достаточно случайное число xi привести к интервалу [a, b] и сдвинуть на величину a:
. (2.7)
Примем a = 0 и b = 1, тогда получаем:
, (2.8)
где - интенсивность потока обслуживания в первой фазе.
Поток обслуживания во второй фазе является показательным. В этом случае время генерации заявки определяется с помощью выражения:
, (2.9)
где - интенсивность потока обслуживания во второй фазе.
Таким образом, определены необходимые для моделирования характеристики источника и каналов.
В данном курсовом проекте необходимо получить следующие выходные переменные: абсолютная пропускная способность системы, среднее время ожидания в очереди, среднее время пребывания заявки в системе и минимальное время ожидания в очереди. Формулы их расчёта представлены далее.
(2.10)
трехфазный заявка обслуживание прибор
где - количество обслуженных заявок;
- количество заявок, пришедших в систему;
- вероятность обслуживания.
(2.11)
где - это количество проведённых опытов;
- абсолютная пропускная способность системы.
(2.12)
где - время ожидания одной заявки,
- среднее время ожидания в очереди.
(2.13)
где - время пребывания в системе одной заявки,
- среднее время пребывания заявки в системе,
(2.14)
- минимальное время ожидания в очереди.
3. Разработка моделирующего алгоритма
Заявки в систему поступают из двух источников. Первый входной поток является нормальным и характеризуется интенсивностью поступления заявок 1, а второй поток является равномерным и характеризуется интенсивностью поступления заявок 2. В первой фазе находятся 5 каналов обслуживания. Каналы обладают показательным потоком обслуживания с интенсивностью обслуживания 1. Во второй фазе находятся накопитель, в котором может образовываться очередь заявок, которая ограничивается емкостью накопителя 7 и временем пребывания заявки в накопителе tn2, и 3 канала обслуживания. Поток обслуживания второй фазы является равномерным с интенсивностью обслуживания 2. В третьей фазе находится накопитель с ограниченной очередью заявок 7 и временем пребывания заявки в накопителе tn3, и 2 канала обслуживания. Поток обслуживания третьей фазы является равномерным нормальным с интенсивностью обслуживания 3. На выходе каналов 1-й и 2-й фаз установлена блокировка.
Принцип построения моделирующего алгоритма - Дt. В алгоритмах, построенных по принципу Дt, элементы Q-схемы просматриваются с конца системы к началу через равные интервалы времени Дt, которые меньше интервалов времени перехода системы из одного состояния в другое.
Система функционирует таким образом, что через определенные моменты времени на вход системы поступают заявки с интенсивностями 1 и 2. Если все каналы в фазе заняты или заблокированы, то заявка покинет систему не обслуженной. Если в первой фазе имеется свободный канал, то данную заявку начинают обслуживать в свободном канале. Затем заявка из канала первой фазы поступает в накопитель второй фазы, если там есть свободное место, и будет оставаться там пока или не освободится канал второй фазы, или не истечёт время пребывания в накопителе второй фазы. Если места в накопителе нет, то заявка остаётся в обслужившем её канале первой фазы, тем самым, блокируя его. Заявка может оставаться в таком состоянии сколько угодно времени, пока в накопителе второй фазы не освободиться место. Если во второй фазе имеется свободный канал, то заявка будет обслуживаться в нём время, сгенерированное по равномерному закону. После чего заявка переходит в третью фазу. Третья фаза обслуживает заявки по таким же правилам, как и вторая. После обслуживания каналами третьей фазы заявка покидает систему обслуженной.
Таким образом, заявка может покинуть систему не обслуженной в следующих случаях: превышено время пребывания в накопителях или все каналы первой фазы заняты.
Алгоритм функционирования системы представлен в виде отдельных блоков. На рисунке 3 представлена блок-схема главной функции, в которой осуществляется ввод и проверка правильности исходных данных, и затем вызов функции, имитирующей работу системы.
Далее, на рисунках 4а, 4б и 4в, представлены блок-схемы функции smo.
Для имитационной модели данной Q-схемы принимаются следующие переменные:
Z [i] [j] - состояние j-ого канала i-ой фазы;
Zn [i] [j] - номер заявки;
ifReady [i] [j] - готовность j-ого канала i-ой фазы передать заявку в фазу i+1;
Ln [i] [j] - номер j-ой заявки в i-ом накопителе;
T [i] [j] - текущее время заявки;
TL [i] [j] - время пребывание j-ой заявки в i-ом накопителе;
timeInSystem [i] - время пребывания i-ой заявки в системе;
timeInQueue [i] - время пребывания i-ой заявки в очереди;
timeInSource1 [i] - время между поступлением i-ой и (i+1) - заявками в источник 1;
quantityOfRequestsInSaver [i] - количество заявок в i-ом накопителе;
time - системное время;
timeInSaver2 - время пребывания во втором накопителе;
timeInSaver3 - время пребывания в третьем накопителе;
Transfer_Requests_From_Saver_Into_Channels - функция, которая перемещает заявки из накопителя в свободные каналы, если такие образовались (рисунок 5);
Look_For_Requests_Which_Locked_The_Channel_N - функция, которая перемещает заявки, заблокировавшие каналы в накопитель или в свободные каналы следующей фазы, если такие присутствуют. Если нет, то данная заявка продолжает блокировать обслуживавший её канал (рисунок 6);
Look_For_Just_Served_Requests_In_Channel_N - переводит обслуженные заявки в следующую фазу (рисунок 7);
Source - функция, моделирующая работу источника (рисунок 8);
Reject_In_Saver - функция, которая проверяет, время присутствия заявки в накопителе (рисунок 9);
Pay_Respect_To_Time_Of_Requsts_In_Locked_Channels - функция, которая отслеживает время заявки заблокировавшей канал (рисунок 10);
Look_For_Just_Served_Requests_In_Channel_N - функция, которая находит и помечает заявки, которые уже могут обслуживаться в следующей фазе (рисунок 11);
Look_For_Just_Served_Requests_In_System - функция, которая находит заявки, которые уже обслужились в системе (рисунок 12);
systemTime - функция, которая генерирует системное время (рисунок 15);
Pokaz - функция, генерирующая время по показательному закону (рисунок 13);
Norm - функция, генерирующая время по нормальному закону (рисунок 16);
Ravn - функция, генерирующая время по равномерному закону (рисунок 14).
4. Программная реализация алгоритма
Разработанный моделирующий алгоритм был реализован на языке программирования С++ 6.0.
Исходные данные вводятся в окне, представленном на рисунке 17.
Рисунок 17 - Окно для ввода исходных данных
Результаты работы программы выводятся в файл, указанный в коде программы, в формате, представленном в таблице 2.
Таблица 2 - Пример выходных данных
| Интенсивность входного потока 1 | 1,5 | |
| Интенсивность входного потока 2 | 0,5 | |
| Время пребывания заявки в системе | 1,6264 | |
| Время пребывания заявки в накопителе 2 | 4 | |
| Время пребывания заявки в накопителе 3 | 6 | |
| Интенсивность потока обслуживания 1 | 0,75 | |
| Интенсивность потока обслуживания 2 | 0,5 | |
| Интенсивность потока обслуживания 3 | 0,5 | |
| Вероятность обслуживания | 0,395 | |
| Абсолютная пропускная способность | 0,6425 | |
| Среднее время ожидания в очереди | 0,1187 | |
| Среднее время пребывания заявки в системе | 2,2705 | |
| Минимальное время ожидания в очереди | 0,0837 | 
Так как при вводе исходных данных возможны ошибки, то предусмотрены условия экстренного выхода из программы. Пример ввода некорректных данных представлен на рисунке 18.
Рисунок 18 - Пример ввода некорректных данных
5. Расчетно-экспериментальные исследования
В ходе расчетно-экспериментального исследования проверяется работа программы с различными исходными данными. Для получения выходных переменных задаются различные входные параметры системы и фиксируются получаемые выходные. Результаты исследований приведены в таблицах 3 - 4.
Таблица 3 - Результаты исследований (пример 1)
| Интенсивность входного потока 1 | 1,5 | |
| Интенсивность входного потока 2 | 0,8 | |
| Время пребывания заявки в системе | 1,6516 | |
| Время пребывания заявки в накопителе 2 | 3 | |
| Время пребывания заявки в накопителе 3 | 3 | |
| Интенсивность потока обслуживания 1 | 0,75 | |
| Интенсивность потока обслуживания 2 | 0,8 | |
| Интенсивность потока обслуживания 3 | 0,8 | |
| Вероятность обслуживания | 0,6705 | |
| Абсолютная пропускная способность | 1,1075 | |
| Среднее время ожидания в очереди | 0,251 | |
| Среднее время пребывания заявки в системе | 4,5755 | |
| Минимальное время ожидания в очереди | 0,0618 | 
Для построения выходной характеристики - зависимость вероятности обслуживания от интенсивности потока обслуживания первой фазы - интенсивность потока обслуживания первой фазы варьируется в интервале [0,01…1.5] шагом 0.01. По результатам исследований представлен график на рисунке 19.
Рисунок 19 - Зависимость вероятности обслуживания от интенсивности потока обслуживания первой фазы (пример 1)
Второй опыт проведён с теми же входными данными и интервалом варьирования, но обе интенсивности входных потоков увеличены вдвое. Результаты исследований представлены в таблице 5 и на рисунке 20.
Таблица 4 - Результаты исследований (пример 2)
| Интенсивность входного потока 1 | 3 | |
| Интенсивность входного потока 2 | 1,6 | |
| Время пребывания заявки в системе | 2,0588 | |
| Время пребывания заявки в накопителе 2 | 3 | |
| Время пребывания заявки в накопителе 3 | 3 | |
| Интенсивность потока обслуживания 1 | 0,75 | |
| Интенсивность потока обслуживания 2 | 0,8 | |
| Интенсивность потока обслуживания 3 | 0,8 | |
| Вероятность обслуживания | 0,3329 | |
| Абсолютная пропускная способность | 0,6853 | |
| Среднее время ожидания в очереди | 0,7052 | |
| Среднее время пребывания заявки в системе | 7,3449 | |
| Минимальное время ожидания в очереди | 0,0813 | 
Рисунок 20 - Зависимость вероятности обслуживания от интенсивности потока обслуживания первой фазы (пример 2)
6. Анализ и интерпретация результатов исследования
В тех случаях, когда информации о рассматриваемом процессе недостаточно или когда процесс настолько сложен, что невозможно составить его детерминированную модель, прибегают к экспериментально-статистическому методу. При этом различают пассивный и активный эксперимент.
При пассивном эксперименте ставится большая серия опытов с поочередным варьированием каждой из переменных. Обработка опытных данных для получения математической модели проводится методом классического регрессионного и корреляционного анализа.
Активный эксперимент ставится по заранее составленному плану, при этом предусматривается одновременное изменение всех параметров, влияющих на процесс, что позволяет сразу установить силу взаимодействия параметров и поэтому сократить общее число опытов. В обоих случаях математической моделью является функция отклика , связывающая параметр y, характеризующий результаты эксперимента, с переменными параметрами x1, x2,…, xn, которыми экспериментатор варьирует при проведении опытов: .
Для проведения регрессионного анализа необходимо выполнение следующих условий:
1) Результаты эксперимента представляют собой независимые, нормально распределенные случайные величины;
2) Независимые переменные измеряются с пренебрежительно малой ошибкой по сравнению с ошибкой в определении y;
3) При проведении эксперимента с объемом выборки N при условии, что каждый опыт повторен m раз, выборочные дисперсии должны быть однородны.
При выполнении регрессионного анализа в данном курсовом проекте было проведено 6 экспериментов для одних и тех же значений интенсивности входного потока (интервала [0.01; 1.5]). Вычисленные средние значения результатов экспериментов (вероятности отказа) были сведены в таблицу, на основе которой был построен график, приведенный на рисунке 21.
Рисунок 21 - Зависимость значения вероятности обслуживания от интенсивности потока обслуживания первой фазы и линия тренда
Полученные графики имеют высокую степень совпадения. Но для дальнейших исследований принимается полиномиальная функция третьей степени, так как степень совпадения у этой функции больше. Поэтому можно предположить, что зависимость вероятности отказа от интенсивности входного потока носит полиномиальный характер (степень полинома - 3).
Уравнение регрессии будет иметь вид:
. (6.1)
Коэффициенты находятся при помощи метода наименьших квадратов:
, (6.2)
где - значение y, полученное в результате имитационного моделирования.
При подстановке выражения (6.1) в (6.2):
. (6.3)
Далее находятся частные производные по от данного выражения и приравниваются к нулю. Результатом является система уравнений:
Для нахождения вектора искомых коэффициентов решается матричное уравнение, то есть .
По выражениям из системы (6.5) вычисляются значения элементов матриц и и заносятся на лист Excel.
(6.4)
После преобразований:
(6.5)
Таблица 5 - Матрица
| 150 | 113,25 | 113,6275 | 128,2556 | |
| 113,25 | 113,6275 | 128,2556 | 154,4175 | |
| 113,6275 | 128,255625 | 154,4175 | 193,6617 | |
| 128,2556 | 154,4175 | 193,6617 | 249,8181 | 
Таблица 6 - Вектор
| 101,7312 | |
| 89,5784 | |
| 93,9081 | |
| 107,8345 | 
С помощью функции МОБР определяется обратная матрица .
Таблица 6 - Матрица
| 0,1122 | -0,5589 | 0,7428 | -0,2879 | |
| -0,5589 | 3,6656 | -5,4560 | 2,2507 | |
| 0,7428 | -5,4560 | 8,6496 | -3,7141 | |
| -0,2879 | 2,2507 | -3,7141 | 1,6397 | 
Умножение на выполняется при помощи функции МУМНОЖ. Результатом является искомый вектор .
Таблица 7 - Вектор
| 0,0488 | |
| 1,8376 | |
| -1,4201 | |
| 0,3716 | 
Решение системы: Таким образом, искомое уравнение:
. (6.6)
По определенному уравнению регрессии и значениям интенсивности потока обслуживания фазы 1 были вычислены расчетные значения вероятности обслуживания. На рисунке 22 приведен график полученного уравнения.
Из полученных данных можно сделать вывод о высом уровне достоверности разработанной системы.
Рисунок 22 - График зависимости вероятности обслуживания от интенсивности потока обслуживания фазы 1
Таблица 8 - Проверка системы на достоверность
| Дисперсия воспроизводимости | Дисперсия остаточная | |
| 0,048633646 | 0,000460143 | |
| F | Fтабл | |
| 0,009461414 | 0,998445528 | 
Выводы
По результатам тестирования и анализа полученных результатов можно сделать следующие выводы:
- с ростом интенсивности обслуживания в каналах возрастает число обслуженных заявок;
- рост интенсивности поступления заявок вначале приводит к росту числа обслуженных заявок, но по мере исчерпания ресурсов обслуживания поток обслуживания перестаёт расти.
Заключение
В ходе выполнения курсового проекта была решена поставленная задача: разработаны имитационная математическая модель трехфазной СМО, моделирующий алгоритм и программное обеспечение. С помощью разработанной программы получены значения необходимых выходных параметров и выходные характеристики. Проведен регрессионный анализ: получена зависимость вероятности обслуживания от интенсивности потока обслуживания фазы 1. Полученное уравнение полностью удовлетворяет всем необходимым критериям и повторяет зависимость вероятности обслуживания по моделированию.
Список источников
1. Советов Б.Я., Яковлев С.А. Моделирование систем: Учеб.для вузов - 3-е изд. перераб. и доп. - М.: Высш. школа, 2001. - 343 с.: ил.
2. Советов Б.Я., Яковлев С.А. Моделирование систем: Курсовое проектирование: Учеб. пособие для вузов по спец. АСУ. - М.:Высш. шк, 1988. - 135 с.:ил.
3. Советов Б.Я. Моделирование систем: Учебник для вузов. - М.:Высшая школа, 2005.
Размещено на Allbest.ru
Подобные документы
- Общая характеристика системы массового обслуживания, исходные данные для ее создания. Особенности построения алгоритма имитационной модели задачи о поступлении заявок (клиентов) в канал (парикмахерскую). Описание функционирования математической модели. 
 курсовая работа [154,1 K], добавлен 19.05.2011
- Методика системного исследования реальной динамической сложной системы посредством разработки ее имитационной модели. Разработка программы реализации алгоритма имитационного моделирования системы массового обслуживания "Интернет-провайдерская фирма". 
 курсовая работа [2,0 M], добавлен 20.01.2010
- Основное назначение систем массового обслуживания (СМО): обслуживание потока заявок. Моделирование СМО для стоянки такси, определение характеристик эффективности работы в качестве статистических результатов моделирования. Схема процесса функционирования. 
 курсовая работа [1,2 M], добавлен 27.12.2011
- Практические навыки системного исследования реальной динамической сложной системы на основе построения ее имитационной модели. Автоматизация работы по расчету эффективности системы массового обслуживания с понятным интерфейсом. Выбор алгоритма решения. 
 курсовая работа [1,0 M], добавлен 18.08.2009
- Функционирование систем массового обслуживания с разными типами заявок. Построение математической модели, постановка задачи оптимизации среднего времени ожидания. Решение задачи оптимизации системы. Разработка программного кода для оптимизации системы. 
 дипломная работа [581,7 K], добавлен 27.10.2017
- Определение назначения и описание функций имитационных моделей стохастических процессов систем массового обслуживания. Разработка модели описанной системы в виде Q-схемы и программы на языке GPSS и C#. Основные показатели работы имитационной модели. 
 курсовая работа [487,4 K], добавлен 18.12.2014
- Система GPSS World как мощная универсальная среда моделирования как дискретных, так и непрерывных процессов, предназначенная для профессионального моделирования самых разнообразных процессов и систем. Системы массового обслуживания. Листинг программы. 
 курсовая работа [499,6 K], добавлен 25.12.2013
- Изучение понятия многофазовых систем. Рассмотрение примеров разомкнутых и замкнутых систем массового обслуживания с ожиданием и с неограниченным потоком заявок. Определение значений среднего времени ожидания заявки при неэкспоненциальном распределении. 
 контрольная работа [151,5 K], добавлен 16.09.2010
- Понятие, основные задачи и функции общей теории систем как науки. Формулирование требований к системе, разработка концептуальной модели системы на примере системы массового обслуживания (СМО). Проектирование имитационной модели, ее реализация и испытание. 
 курсовая работа [131,3 K], добавлен 27.12.2010
- Функционирование систем массового обслуживания с разными типами заявок. Построение математической модели. Постановка задачи оптимизации среднего времени ожидания. Решение задачи оптимизации и разработка программного кода для оптимизации системы. 
 курсовая работа [538,5 K], добавлен 11.08.2017
