Разработка и исследование имитационной модели сложной системы
Процессы функционирования систем на примере моделирования трехфазной СМО. Зависимость вероятности обслуживания от интенсивности потока обслуживания первой фазы. Прибор обслуживания заявок. Расчет пропускной способности системы и времени ожидания.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 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