Разработка и исследование имитационной модели сложной системы

Процессы функционирования систем на примере моделирования трехфазной СМО. Зависимость вероятности обслуживания от интенсивности потока обслуживания первой фазы. Прибор обслуживания заявок. Расчет пропускной способности системы и времени ожидания.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.