49804

Разработка и исследование модели массового обслуживания

Курсовая

Информатика, кибернетика и программирование

Математический расчет параметров СМО Система массового обслуживания Система массового обслуживания СМО – это совокупность приборов каналов станков линий обслуживания на которые в случайные или детерминированные моменты времени поступают заявки на обслуживание. Оптимизация и оценка эффективности СМО состоит в нахождении средних суммарных затрат на обслуживание каждой заявки и нахождение средних суммарных потерь от заявок не обслуженных. СМО состоит из определенного числа обслуживающих каналов и предназначена для выполнения заявок с...

Русский

2014-01-10

1005.63 KB

168 чел.

Министерство образования и науки Российской Федерации

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

кафедра Автоматизированных систем

ЗАДАНИЕ

НА КУРСОВУЮ РАБОТУ

По курсу:

Имитационное моделирование

Студенту:

Луковой Ю. В.

Тема работы:

Разработка  и  исследование  модели  массового

обслуживания  

Исходные данные:

Система массового обслуживания имеет 2 канала

с интенсивностью обслуживания μ=3/(N+1) каждый.

Поток заявок является простейшим с интенсивностью λ=N

(N –персональный номер варианта для каждого магистранта). Максимальное

число мест в очереди 4.

Рекомендуемая литература:

1. СТО ИрГТУ.005-2007 – Стандарт организации. Общие требования к

   оформлению текстовых и графических работ студентов

2. Емельянов А.А., Власова Е.А., Дума Р.В. Имитационное моделирование

экономических процессов. -М: Финансы и статистика, 2009, 416 с.

http://www.biblioclub.ru/book/59697/

3. Алгазинов, Э. К.Анализ и компьютерное моделирование информационных процессов и систем : учеб. пособие для вузов по специальности 080801

«Прикладная информатика» и  др. междисциплинар. специальностям / Э. К.

Алгазинов, А. А. Сирота; под общ. ред. А. А. Сироты . – М.: Диалог-МИФИ

, 2009. – 416 с. : a-ил

4. Карпов, Ю. Г. Имитационное моделирование систем. Введение в 

моделирование с AnyLogic 5 / Ю.Г. Карпов. — СПб: БХВ-Петербург, 2006—

400 с.

5. Коровин, А.М. К681 Моделирование систем: учебное пособие к

лабораторным работам / А.М. Коровин. – Челябинск: Издательский центр

ЮУрГУ, 2010. – 47 с.

Графическая часть на 28 листах.

Дата выдачи задания “ 11 ” марта  2013 г.

Дата представления работы руководителю “____” июня 2013 г.

Руководитель курсового проектирования (курсовой работы)

Бахвалова З. А.       

Содержание

Введение 4

1 Теоретическая часть 5

1.1 Система массового обслуживания 5

1.2 Описание среды разработки AnyLogic 7

2 Практическая часть 8

2.1 Постановка задачи 8

2.2 Математический расчет параметров СМО 9

2.3 Построение модели в AnyLogic 13

2.4 Проведение экспериментов с моделью 17

Заключение 27

Список использованной литературы 28


Введение

Имитационное моделирование – это замещение одного объекта другим с целью получения информации о важнейших свойствах объекта-оригинала с помощью объекта-модели. Таким образом, моделирование может быть определено как представление объекта моделью для получения информации об этом объекте путем проведения экспериментов с его моделью.

Теория замещения одних объектов (оригиналов) другими объектами (моделями) и исследования свойств объектов на их моделях называется теорией моделирования.

Имитационной моделью называется специальный программный комплекс, который позволяет имитировать деятельность какого-либо сложного объекта. Он запускает в компьютере параллельные взаимодействующие вычислительные процессы, которые являются по своим временным параметрам (с точностью до масштабов времени и пространства) аналогами исследуемых процессов.

Компьютерное имитационное моделирование становится сегодня одним из обязательных этапов при принятии ответственных решений в процессе управления сложными системами. Поэтому знание концепций, принципов и возможностей компьютерного моделирования, умение использовать существующий программный инструментарий для создания и использования моделей являются необходимыми требованиями, предъявляемыми к современному специалисту.

Цель курсовой работы:

  1.  освоение методов дискретно-событийного моделирования;
  2.  знакомство с библиотекой Enterprise Library;
  3.  построение модели массового обслуживания;
  4.  построение модели системы массового обслуживания:
  5.  освоение практических приемов имитационного моделирования, планирования, проведения и  обработки данных компьютерного эксперимента

Студент должен знать:

  1.  понятия: дискретно-событийная система, параметры объекта;
  2.  интерфейс программы AnyLogic.

Студент должен уметь:

  1.  создавать модели в программе AnyLogic;
  2.  создавать эксперименты в программе AnyLogic.

Цель работы состоит в ознакомлении с методами имитационного моделирования, предоставляемыми системой  AnyLogic, а также в построении имитационной модели и ее изучении и анализе.

1 Теоретическая часть

1.1 Система массового обслуживания

Система массового обслуживания (СМО) – это совокупность приборов, каналов, станков, линий обслуживания, на которые в случайные или детерминированные моменты времени поступают заявки на обслуживание. Например, коммутаторы телефонных станций, супермаркет, парикмахерские.

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

СМО состоит из определенного числа обслуживающих каналов и предназначена для выполнения заявок с разным характером распределения момента времени на обслуживание.

СМО характеризуется наличием 2-х факторов:

1) Наличием заявок, поступающих в случайный момент времени.

2) Наличием каналов, которые обслуживают заявки.

Классификация СМО:

  1.  По количеству каналов:
  2.  одноканальные;
  3.  многоканальные;
  4.  По поведению системы в случае, когда все каналы заняты:
  5.  с отказами;
  6.  с очередями.
  7.  По принципу организации очереди:
  8.  неограниченная;
  9.  ограниченная количеством мест в очереди.
  10.  По времени ожидания
  11.  с ограниченным временем ожидания;
  12.  без ограничения времени ожидания.
  13.  По очередности обслуживания:
  14.  в порядке очереди;
  15.  в случайном порядке;
  16.  обслуживание с приоритетом.

Всякая СМО предназначена для обслуживания потока заявок, поступающих в случайные моменты времени. Обслуживание заявки продолжается какое-то, вообще говоря, случайное время, после чего канал освобождается и готов к приему следующей заявки.

Случайный характер потока заявок и времен их обслуживания приводит к тому, что в определенные моменты времени на входе СМО скапливается излишне большое число заявок (они либо становятся в очередь, либо покидают СМО необслуженными). В другие же периоды времени СМО будет работать с недогрузкой или вообще простаивать.

Процесс работы СМО представляет собой случайный процесс с дискретными состояниями и непрерывным временем. Состояние системы меняется скачком в моменты появления каких-либо событий (приход или окончание обслуживания заявки, заявка покидает очередь, не дождавшись обслуживания).

Предмет теории массового обслуживания - построение математических моделей, связывающих заданные условия работы СМО (число каналов, их производительность, правила работы, интенсивность и характер потока заявок) с интересующими нас показателями эффективности СМО, описывающими с той или иной точки зрения ее способность справляться с потоком заявок. В качестве таких показателей могут применяться разные величины, например: среднее число заявок, обслуживаемых СМО в единицу времени: среднее число занятых каналов: среднее число заявок в очереди и Среднее время ожидания обслуживания; вероятность того, что число заявок в очереди превысит некоторое значение и т.д. Элементами решения могут также быть число каналов обслуживания, их производительность, режим работы СМО.

При анализе СМО также должна учитываться и дисциплина обслуживания - заявки могут обслуживаться либо в порядке поступления (очередь FIFO), либо в случайном порядке. Нередко встречается так называемое «приоритетное обслуживание» - некоторые заявки обслуживаются вне очереди. Приоритет может быть абсолютным, когда заявка с более высоким приоритетом «вытесняет» из-под обслуживания заявку с низшим приоритетом, или относительным, когда начало обслуживания заявки с приоритетом задерживается до окончания уже начатого обслуживания.

Поток заявок, как правило, описывается вероятностным законом их поступления в СМО, определяющим длительности интервалов между двумя последовательно поступающими заявками. Эти длительности часто являются статистически независимыми и их распределение не изменяется в течение некоторого достаточно продолжительного промежутка времени.

Очередь заявок на обслуживание возникает в том случае, когда в момент поступления в систему очередной заявки канал, соответствующий технологии ее обслуживания, занят обслуживанием ранее поступившей заявки.

1.2 Описание среды разработки AnyLogic

AnyLogic – инструмент имитационного моделирования нового поколения, основанный не результатах, полученных в теории моделирования и в информационных технологиях за последнее десятилетие.

Язык моделирования AnyLogic доказал свою эффективность в моделировании больших систем повышенного уровня сложности. Основными строительными блоками модели AnyLogic являются активные объекты, которые позволяют моделировать любые объекты реального мира.

Активный объект является экземпляром класса активного объекта. Чтобы создать модель AnyLogic, мы должны создать классы активных объектов (или использовать объекты библиотек AnyLogic) и задать их взаимосвязи. AnyLogic интерпретирует создаваемые нами графически классы активных объектов в классы Java. Поэтому мы можем пользоваться всеми преимуществами объектно-ориентированного моделирования: наследованием, полиморфизмом и т.д.

Наследование позволяет значительно упростить процесс разработки моделей. Например, создав базовый класс, моделирующий автомобиль, мы можем промоделировать различные классы автомобилей (спортивные автомобили, грузовики, и т.п.) с помощью подклассов этого класса. Основные характеристики будут унаследованы от базового класса, а особенные для каждого класса автомобилей характеристики будут заданы в подклассах.

Активные объекты могут содержать вложенные объекты, причем уровень вложенности неограничен. Это позволяет производить декомпозицию модели на любое количество уровней детализации. С помощью инкапсуляции объектов мы также можем прятать объекты детали разработки моделируемого объекта.

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

Удобный интерфейс и многочисленные средства поддержки разработки моделей в AnyLogic делают не только использование, но и создание компьютерных имитационных моделей в этой среде моделирования доступным даже для начинающих.


2 Практическая часть

2.1 Постановка задачи

Система массового обслуживания имеет 2 канала с интенсивностью обслуживания =3/(n+1) каждый. Поток заявок является простейшим с интенсивностью =n (n – персональный номер варианта для каждого магистранта). Максимальное число мест в очереди 4.

  1.  Построить граф состояний системы
  2.  Найти характеристики работы СМО:
  3.  Вероятность отказа
  4.  Среднее число занятых каналов
  5.  Среднюю длину очереди
  6.  Выполнить п.п. 1,2 для СМО с отказами (  и  оставить теми же).
  7.  Для того чтобы сохранить клиентов, необходимо, чтобы отказ получали не более 10% заявок. Можно ли добиться этого (выводы следует обосновать расчетами, результаты вычислений занести в таблицы)
  8.  за счет увеличения длины очереди
  9.  за счет увеличения числа каналов
  10.  за счет увеличения интенсивности обслуживания  (обоими каналами)?

Вариант №11.

n = 2,

μ = 3/(11+1) = 0,25, 

λ = 11, 

q = 4.

 


2.2 Математический расчет параметров СМО

СМО  с ограниченной очередью.

  1.  Графическое представление состояний системы изображено на рисунке 1.

Приведенный граф можно представить в виде таблицы 1, в которой описываются состояние системы при поступлении в нее заявок.

Рисунок 1. Граф СМО с ограниченной очередью.

Таблица 1. Таблица состояний системы с ограниченной очередью.

n занятых каналов

n свободных каналов

количество заявок в очереди

S0

0

2

0

S1

1

0

0

S2

2

0

0

S3

2

0

1

S4

2

0

2

S5

2

0

3

S6

2

0

4

2. Найти характеристики работы СМО:

  1.  Вероятность отказа.

pi – вероятность с которой система находится в состоянии Si

 

 ;     ;     ;   

Ротк6= 0,954545459

  1.  Среднее число занятых каналов.

  

  1.  Среднюю длину очереди.

  

СМО  с отказами.

  1.  Графическое представление состояний системы изображено на рисунке 2.

Рисунок 2. Граф СМО с отказами.

Приведенный граф можно представить в виде таблицы 2, в которой описываются состояние системы при поступлении в нее заявок.

Таблица 2. Таблица состояний системы с отказами.

n занятых каналов

n свободных каналов

количество заявок в очереди

S0

0

2

0

S1

1

0

0

S2

2

0

0

 

2. Найти характеристики работы СМО:

  1.  Вероятность отказа. Ротк2= 0,9555775
  2.  Среднее число занятых каналов.
  3.  Среднюю длину очереди.

СМО  с неограниченной очередью.

  1.  Графическое представление состояний системы изображено на рисунке 3.

Рисунок 3. Граф СМО с неограниченной очередью.

Приведенный граф можно представить в виде таблицы 3, в которой описываются состояние системы при поступлении в нее заявок.

Таблица 3. Таблица состояний системы с неограниченной очередью.

n занятых каналов

n свободных каналов

количество заявок в очереди

S0

0

2

0

S1

1

0

0

S2

2

0

0

S3

2

0

1

S4

2

0

2

S5

2

0

3

S6

2

0

4

S(n+k)

2

0

k

 

  1.  Найти характеристики работы СМО:

Проверим условие    ,  , 22 > 1 .   

Таки образом, интенсивность потока заявок больше чем система может обработать.

  1.  Вероятность отказа. Ротк=1
  2.  Среднее число занятых каналов.  , так как P0 стремится к 0, P1 стремится к 0, и т. д. Pn=Pотк=1,

 

  1.  Среднюю длину очереди. .

Для того чтобы сохранить клиентов, необходимо, чтобы отказ получали не более 10% заявок. Можно ли добиться этого (выводы следует обосновать расчетами, результаты вычислений занести в таблицы):

  1.  за счет увеличения длины очереди

Проанализировав СМО с неограниченной очередью, мы убедились, что с заданными параметрами независимо от длины очереди система не может обработать поток заявок с заданной интенсивностью. Таким образом, сделаем вывод о том, что за счёт увеличения длины очереди достигнуть результата в виде получение отказа менее чем в 10 % заявок не представляется возможным.

  1.  за счет увеличения числа каналов

Представим результаты расчетов в таблице 4.

Таблица 4. Изменение Ротк с увеличением числа каналов.

n

20

40

41

42

43

Pотк

0,546

0,134

0,118

0,103

0,089

Для того чтобы отказ получали не более 10% заявок необходимо увеличить количество каналов до 43.

  1.  за счет увеличения интенсивности обслуживания  (обоими каналами)?

Представим результаты расчетов в таблице 5.

Таблица 5. Изменение Ротк с увеличением интенсивности обслуживания.

0,5

2

5

6

6,5

Pотк

0,909

0,637

0,197

0,119

0,092

Для того чтобы отказ получали не более 10% заявок необходимо увеличить интенсивность обслуживания  обоими каналами до 6,35.


2.3 Построение модели в AnyLogic

Модель  строится  с  «нуля».  Построение модели  системы  массового обслуживания выполняется  с  помощью  элементов  библиотеки Enterprise  Library. Для  построения  СМО  используются  элементы:

  1.  Source – источник заявок,  
  2.  Service – узел обслуживания клиентов, состоящий из очереди и прибора обслуживания delay,
  3.  ResourcePool – источник ресурсов,
  4.  Sink – элемент, принимающий отработанные заявки,
  5.  Sink1 – элемент, принимающий отклоненные заявки.

Параметры палитры «Основная», используемые в модели, представлены в таблице 6.

Таблица 6. Параметры модели СМО.

Имя

Тип

Значение

Описание

N

int

2

количество каналов

lambda

double

11

интенсивность прибытия заявок

mu

double

4

время задержки заявки

q

int

4

длина очереди

Вид модели СМО показан на рисунке 4.

Рисунок 4. Модель СМО.

Источник заявок Source обладает следующими настройками:

  1.  Заявки пребывают согласно интенсивности.
  2.  Интенсивность прибытия равна lambda.
  3.  Количество заявок пребывающих за один раз равно 1.

Элемент Service обладает следующими настройками:

  1.  Количество ресурсов: 1.
  2.  Время задержки равно: mu.
  3.  Объект ResourcePool: resourcePool.
  4.  Вместимость очереди: q.
  5.  Разрешить вытеснение: да.
  6.  Включить сбор статистики: да.

Элемент resourcePool обладает следующими настройками:

  1.  Ресурсы моделируются: «Просто как их количество».
  2.  Количество ресурсов: N.
  3.  Включить сбор статистики: да.

Элементы Sink и Sink1, принимающие заявки обладают настройками по умолчанию.

Анимация модели

Продемонстрируем процесс обслуживания в виде анимации очереди и обслуживания заявок, так как это показано на рисунке 5.

Рисунок 5. Анимация модели СМО.

Канал обслуживания заявок  представим  в  виде  окружности.  Когда  заявка находится в объекте обслуживания, окружность будет окрашена в красный цвет, а при  свободном канале окружность будет окрашена в  зеленый цвет.

С  помощью  элемента  «Овал»,  палитры  «Презентация», поместим окружность и присвоим ей имя  busyChanel. Цвет заливки должен изменяться динамически:  resourcePool.busy()>0 ? Color.red: Color.green. Здесь busy() – метод объекта resourcePool, который возвращает количество заявок-клиентов в элементе обслуживания.

Для отображения очереди следует нарисовать ломаную линию, используя  элемент  «Ломаная»  из  палитры «Презентация». Рисование    ломаной линии нужно  выполнять  по  направлению движения заявок к элементу обслуживания:  слева  на  право. «Ломаной» присвоим имя queueChanel.

После создания элементов презентации нужно выполнить ряд настроек модели в элементе Source:

  1.  Фигура анимации (queue): queueChanel.
  2.  Тип анимации (queue): «Путь».
  3.  Направление анимации (queue): «Вперед».
  4.  Фигура анимации (delay): busyChanel.
  5.  Тип анимации (delay): «Одиночная».

Сбор статистических данных по модели СМО

Среднее количество занятых каналов определим с помощью элемента «Данные гистограммы» палитры «Статистика». Присвоим ему значения:

  1.  Имя: srN.
  2.  Значение: resourcePool.busy().
  3.  Период: 2.

Среднюю длину очереди определим также с помощью элемента «Данные гистограммы» палитры «Статистика». Присвоим ему значения:

  1.  Имя: srq.
  2.  Значение: service.queueSize().
  3.  Период: 2.

Здесь queueSize() – метод объекта Service, который возвращает количество заявок в очереди.

Для определения вероятности отказа необходимо в модель поместить класс, спецификация которого состоит:

  1.  Имя: Call.
  2.  Базовый класс: com.xj.anylogic.libraries.enterprise.Entity.
  3.  Атрибуты класса: double col_vxod – количество входящих заявок; double col_obr – количество обработанных заявок.
  4.  Создать конструктор: да.
  5.  Создать метод toString(): да.

В результате будет создан класс Java, код которого можно открыть и отредактировать при необходимости.

Вероятность отказа определим с помощью элемента «Данные гистограммы» палитры «Статистика». Присвоим ему имя P_otk.

Внесем изменения в элементы модели:

  1.  Элемент Source: класс заявки: Call; новая заявка: new Call().
  2.  Элемент Service: класс заявки: Call.
  3.  Элемент Sink1: класс заявки: Call.
  4.  Элемент Sink: класс заявки: Call;

действие при входе: entity.col_vxod=source.count(); entity.col_obr=sink.count(); P_otk.add(1 - entity.col_obr/entity.col_vxod);.

Эти настройки позволяют получить количество входящих и обработанных заявок, а также заполнить  данные  для  гистограммы.  Элемент  «Данные гистограммы» содержит метод add, с помощью которого добавляют данные. В данном случае это разность между единицей и отношением обработанных к входящим заявкам.

Поместим в модель из палитры «Статистика» элемент «Гистограмма». Гистограмма  будет  отображать  вероятность отказа заявки в системе с течением времени на  основе  данных,  собранных  в  элементе «Данные  гистограммы» P_otk.  

Присвоим элементу «Гистограмма» следующие значения:

  1.  Имя: chart.
  2.  Заголовок: Вероятность отказа.
  3.  Данные: P_otk.

На рисунке 6 показан вид активной модели, на которой можно просмотреть статистические показатели системы.

Рисунок 6. Статистические данные модели СМО.

2.4 Проведение экспериментов с моделью

Эксперимент №1

В данном эксперименте рассмотрим работу модели за определенный период времени и сравним полученные статистические данные с рассчитанными математически параметрами. На рисунке 7 изображена модель после окончания времени работы.

Настройки эксперимента модели:

  1.  Тип: Простой эксперимент.
  2.  Имя: Exp_1.
  3.  Модельное время: минуты.
  4.  Остановить: В заданное время.
  5.  Конечное время: 1000.
  6.  Режим выполнения: Реальное время со скоростью 8.

Рисунок 7. Модель СМО после окончания эксперимента №1.

Результаты, полученные в результате моделирования, соответствуют математическим расчетам.

Эксперимент №2

В данном эксперименте рассмотрим поведение модели при поступлении и обработке заявок по определенному виду закона распределения. Применим три таких закона: экспоненциальный, треугольный, равномерный.

Для того чтобы реализовать это нам необходимо создать копию нашей модели и изменить некоторые настройки.

Изменение настроек элемента Source:

  1.  Заявки пребывают согласно: Времени между прибытиями.
  2.  Время между прибытиями: lambda.

Значение по умолчанию параметра lambda равно: 0.091.

Создадим простой эксперимент и присвоим ему имя «Exp_2». Интерфейс эксперимента представлен на рисунке 8.

Рисунок 8. Интерфейс эксперимента № 2.

Переименуем заголовок эксперимента в элементе text на «Применение законов распределения».

Добавим 3 элемента «Текст» из палитры «Презентация» и вставим в них следующий текст:

  1.  text2: «Выберите закон распределения lambda:» .
  2.  text3: «Выберите закон распределения mu:».
  3.  text4: «Законы распределения:1 – экспоненциальный, 2 – треугольный, 3 – равномерный.».

Добавим вне поля видимости эксперимента 2 элемента «Простая переменная» палитры «Основная», для того чтобы можно изменять значения «lambda» и «mu». Присвоим им имена «Zlambda» и «Zmu» соответственно. Тип переменных будет «double».

Для того чтобы связать параметры модели и переменные нам необходимо внести изменения в настройки эксперимента «Exp_2», а именно на вкладке «Основная» присвоить параметру «lambda» значение переменной «Zlambda», и параметру «mu» значение «Zmu».

Теперь добавим 2 элемента «Выпадающий список» из палитры «Элементы управления». Эти элементы дадут нам возможность выбрать закон распределения для «lambda» и «mu».

Настройки первого элемента «Выпадающий список»:

  1.  Имя: combobox.
  2.  Элементы: 1, 2, 3.
  3.  Связать с: Zlambda.
  4.  Действие: if( value.equals( "1" ) ) Zlambda = exponential( 11 )  ;

if( value.equals( "2" ) )  Zlambda = triangular( 0.06, 0.1, 0.091 );

if( value.equals( "3" ) )  Zlambda = uniform( 0.1 )  ;.

Настройки второго элемента «Выпадающий список»:

  1.  Имя: combobox1.
  2.  Элементы: 1, 2, 3.
  3.  Связать с: Zmu.
  4.  Действие: if( value.equals( "1" ) )  Zmu = exponential( 0.25 )  ;

if( value.equals( "2" ) )  Zmu = triangular( 3, 5, 4 );

if( value.equals( "3" ) )  Zmu = uniform( 8 )  ; .

Запустим Exp_2, выберем для lambda значение «1» что будет соответствовать экспоненциальному закону распределения, а для mu значение «2» - треугольный закон распределения, как показано на рисунке 9.

Рисунок 9. Эксперимент № 2, экспоненциальный и треугольный законы

Результат работы модели представлен на рисунке 10.

Рисунок 10. Эксперимент № 2, результат работы модели при экспоненциальном и треугольном законе распределения.

Теперь запустим еще раз Exp_2, выберем для lambda значение «2» что будет соответствовать треугольному закону распределения, а для mu значение «3» - равномерный закон распределения. Результат работы модели представлен на рисунке 11.

Рисунок 11. Эксперимент № 2, результат работы модели при треугольном и равномерном законе распределения.

Проанализируем данные, полученные в результате эксперимента № 2. Средние значения, полученные с применением различных законов распределения, имеют незначительные отклонения от математических расчетов. Исходя из этого, можем сделать вывод о том, что модель работает корректно.

Эксперимент № 3

В данном эксперименте рассмотрим СМО с отказами и с неограниченной очередью.

Создадим простой эксперимент и присвоим ему имя «Exp_3».

Переименуем заголовок эксперимента в элементе text на «Настройка длины очереди».

Разместим в окне эксперимента элемент «Текст» из палитры «Презентация» и добавим в него следующий текст: «Введите значение длины очереди».

Добавим вне поля видимости эксперимента элемент «Простая переменная» палитры «Основная», для того чтобы можно изменять значения длины очереди «q». Присвоим ей имя «exp_q». Тип: «int».

Для того чтобы связать параметр модели и переменную нам необходимо внести изменения в настройки эксперимента «Exp_3», а именно на вкладке «Основная» присвоить параметру «q» значение переменной «exp_q».

Теперь добавим элемент «Текстовое поле» из палитры «Элементы управления». Этот элемент даст нам возможность ввести любое значение длины очереди «q».

Настройки элемента «Текстовое поле»:

  1.  Имя: editbox.
  2.  Связать с: exp_q.
  3.  Минимальное значение: 1.
  4.  Максимальное значение: 100000.

Минимальное значение равное 1 устанавливается из-за того, что выполнение модели невозможно со значением 0. Это обусловлено настройками элементов программы AnyLogic.

Интерфейс эксперимента представлен на рисунке 12.

Рисунок 12. Интерфейс эксперимента № 3.

Запустим эксперимент «Exp_3», введем значение 1. Интерфейс для ввода начальных параметров изображен на рисунке 13.

Рисунок 13. Ввод значения длины очереди.

Вид работающей модели представлен на рисунке 14.

Рисунок 14. Модель с длиной очереди равной 1.

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

Теперь запустим эксперимент «Exp_3» со значением длины очереди равным 100000. Вид работающей модели представлен на рисунке 15.

Рисунок 15. Модель с длиной очереди равной 100000.

Рассмотрев модель с максимальной длиной очереди, можно сделать вывод о том, что полученные в результате моделирования значения близки к математическим расчетам СМО с неограниченной очередью, так как в момент остановки системы количество поступивших заявок было меньше длины очереди.

Эксперимент № 4

В данном эксперименте необходимо определить параметры, при которых вероятность отказа будет меньше 10 %.  Для этого проведем  оптимизационные эксперименты.

Введем переменную «V» в модель, тип переменной: «double». Эта переменная будет выводить среднее значение вероятности отказа. Для этого добавим в элемент Sink в поле действие при входе: «V = P_otk.mean();».

  1.  Оптимизация длины очереди

Создадим эксперимент «Варьирование параметров», присвоим ему имя: «Exp_4_1».

Разместим в окне интерфейса эксперимента переменную «valueP», тип данных «double». Она необходима нам для того чтобы получать данные о вероятности отказа.

Для сбора статистики переменной «valueP» поместим элемент «Набор данных» из палитры «Статистика» в окне эксперимента.

Поместим элемент «График» из палитры «Статистика». Настройки этого элемента - заголовок: P_otkaza; набор данных: dataset.

Интерфейс эксперимента «Оптимизация длины очереди» представлен на рисунке 16.

Рисунок 16. Интерфейс эксперимента Exp_4_1.

Настройки эксперимента Exp_4_1:

  1.  Тип: Эксперимент варьирования параметров.
  2.  Имя: Exp_4_1.
  3.  Параметры: Варьировать в диапазоне.
  4.  N – Фиксированный – 2
  5.  lambda – Фиксированный – 11
  6.  mu – Фиксированный – 4
  7.  q – Диапазон – от 1 до 12000 – шаг 100.
  8.  Действие после прогона модели: valueP = root.V ;
  9.  Действие после итерации: dataset.add(getCurrentIteration(), valueP );
  10.  Модельное время: минуты.
  11.  Остановить: В заданное время.
  12.  Конечное время: 1000.
  13.  Дополнительные условия остановки эксперимента: valueP <= 0.1.

Во время работы модели переменной valueP присваивается значение переменной V , затем с помощью метода add значение вероятности отказа собирается в наборе данных dataset и по полученным данным строится график для каждого прогона модели (итерации).

Вид работающей модели изображен на рисунке 17.

Как видно из проведенного эксперимента при увеличении длины очереди вероятность отказа остается в пределах 95 %, следовательно, уменьшить вероятность отказа до 10% за счет увеличения длины очереди невозможно.

Рисунок 17. Эксперимент оптимизации длины очереди.

  1.   Оптимизация количества каналов

Создадим эксперимент «Варьирование параметров», присвоим ему имя: «Exp_4_2». Скопируем все настройки эксперимента «Exp_4_1», и изменим название на «Оптимизация каналов обслуживания». А также необходимо применить следующие настройки параметров эксперимента:

  1.  N – Диапазон – от 1 до 50 – шаг 1
  2.  lambda – Фиксированный – 11
  3.  mu – Фиксированный – 4
  4.  q – Фиксированный – 4.

Вид работающей модели изображен на рисунке 18.

Рисунок 18. Эксперимент оптимизации количества каналов.

Как видно из проведенного эксперимента при увеличении количества каналов обслуживания до 43 вероятность отказа равна 8,9 %, следовательно, уменьшить вероятность отказа до 10% за счет увеличения количества каналов возможно. Такой же результат получен и при математических расчетах.

  1.  Оптимизация интенсивности обслуживания заявок

Создадим эксперимент «Варьирование параметров», присвоим ему имя: «Exp_4_3». Скопируем все настройки эксперимента «Exp_4_1», и изменим название на «Оптимизация интенсивности обслуживания заявок». А также необходимо применить следующие настройки параметров эксперимента:

  1.  N – Фиксированный – 2
  2.  lambda – Фиксированный – 11
  3.  mu – Диапазон – от 4 до 0 – шаг  -0.01
  4.  q – Фиксированный – 4.

Вид работающей модели изображен на рисунке 19.

Рисунок 19. Эксперимент оптимизации интенсивности обслуживания.

Как видно из проведенного эксперимента при уменьшении времени задержки до 0.18 вероятность отказа равна 9,6 %, следовательно, уменьшить вероятность отказа до 10% за счет уменьшении времени задержки возможно. Такой же результат получен и при математических расчетах.


Заключение

В результате выполнения курсовой работы была разработана модель двухканальной системы массового обслуживания (СМО) по заданным начальным условиям. Моделирование проводилось в среде AnyLogic. Также было выполнено математическое решение поставленной задачи.  Для построенной модели СМО были проведены различные эксперименты с применением всех возможных параметров системы. Была провидена оптимизация параметров СМО для достижения значения вероятности отказа в размере менее 10 %. В результате выполнения экспериментов было доказано что данное условие может быть выполнено при увеличении числа каналов с 2 до 43 и уменьшения времени задержки заявки с 4 до 0.18. А также было определено, что с увеличением длины очереди вероятность отказа остается в пределах 95 %, что не удовлетворяет поставленному условию.

Все расчеты, выполненные с помощью AnyLogic, идентичны математическим расчетам, выполненным для данной СМО.

Таким образом, можно сделать вывод, что использование компьютерного имитационного моделирования может быть эффективно использовано для экспериментов с моделью, а не с реальной СМО, что позволит избежать многочисленных рисков в ходе проектирования и разработки сложных систем.  


Список использованной литературы

  1.  СТО ИрГТУ.005-2007 – Стандарт организации. Общие требования к оформлению текстовых и графических работ студентов
  2.  Карпов Ю. Г., Имитационное моделирование систем. Введение в моделирование с AnyLogic 5 / Ю.Г. Карпов. – СПб: БХВ-Петербург, 2006 –400 с.
  3.  Коровин А.М., К681 Моделирование систем: учебное пособие к лабораторным работам / А.М. Коровин. – Челябинск: Издательский центр ЮУрГУ, 2010. – 47 с.
  4.  Боев В.Д., Кирик Д.И., Сыпченко Р.П., Компьютерное моделирование Санкт-Петербург, 2001. – 237 c.
  5.  Киселева М. В., Имитационное моделирование систем в среде Anylogic: Учебно-методическое пособие Екатеринбург, 2009. – 88 c.
  6.  Мезенцев К.Н., Учебное пособие «Моделирование систем в среде AnyLogic 6.4.1»  Часть 2, Москва, 2011. –108 c.


 

А также другие работы, которые могут Вас заинтересовать

81574. Саркоплазматические белки: миоглобин, его строение и функции. Экстрактивные вещества мышц 122.6 KB
  Концентрация адениновых нуклеотидов в скелетной мускулатуре кролика в микромолях на 1 г сырой массы ткани составляет: АТФ – 443 АДФ – 081АМФ – 093. в мышечной ткани по сравнению с концентрациейадениновых нуклеотидов очень мало. К азотистым веществам мышечной ткани принадлежат имидазолсодержащие дипептиды карнозин и ансерин.; метилированное производное карнозина ансерин был обнаружен в мышечной ткани несколько позже.
81575. Особенности энергетического обмена в мышцах. Креатинфосфат 126.43 KB
  Принято считать что процессом непосредственно связанным с работающим механизмом поперечнополосатого мышечного волокна является распад АТФ с образованием АДФ и неорганического фосфата. Возникает вопрос: каким образом мышечная клетка может обеспечить свой сократительный аппарат достаточным количеством энергии в форме АТФ т. каким образом в процессе мышечной деятельности происходит непрерывный ресинтез этого соединения Прежде всего ресинтез АТФ обеспечивается трансфосфорилированием АДФ с креатинфосфатом. Данная реакция...
81576. Биохимические изменения при мышечных дистрофиях и денервации мышц. Креатинурия 106.28 KB
  Общими для большинства заболеваний мышц прогрессирующие мышечные дистрофии атрофия мышц в результате их денервации тенотомия полимиозит некоторые авитаминозы и т. являются резкое снижение в мышцах содержания миофибриллярных белков возрастание концентрации белков стромы и некоторых саркоплазматических белков в том числе миоальбумина. Наряду с изменениями фракционного состава мышечных белков при поражениях мышц наблюдается снижение уровня АТФ и креатинфосфата.
81577. Химический состав нервной ткани. Миелиновые мембраны: особенности состава и структуры 152.07 KB
  Данилевский впервые разделил белки мозговой ткани на растворимые в воде и солевых растворах белки и нерастворимые белки. которые разделили белки нервной ткани на 4 фракции: извлекаемые водой 45 раствором КСl 01 раствором NOH и нерастворимый остаток. В настоящее время сочетая методы экстракции буферными растворами хроматографии на колонках с ДЭАЭцеллюлозой и дискэлектрофореза в полиакриламидном геле удалось выделить из ткани мозга около 100 различных растворимых белковых фракций.
81578. Энергетический обмен в нервной ткани. Значение аэробного распада глюкозы 129.8 KB
  На долю головного мозга приходится 2–3 от массы тела. Следовательно 100 г мозга потребляет в 1 мин 37 мл кислорода а весь головной мозг 1500 г – 555 млкислорода. Газообмен мозга значительно выше чем газообмен других тканей в частности он превышает газообмен мышечной ткани почти в 20 раз. Интенсивность дыхания для различных областей головного мозга неодинакова.
81579. Биохимия возникновения и проведения нервного импульса. Молекулярные механизмы синаптической передачи 109.17 KB
  Молекулярные механизмы синаптической передачи Большинство исследователей придерживаются мнения что явления электрической поляризации клетки обусловлены неравномерным распределением ионов К и Nпо обе стороны клеточной мембраны. Мембрана обладает избирательной проницаемостью: большей для ионов К и значительно меньшей для ионов N. При определенных условиях резко повышается проницаемость мембраны для ионов N. Объясняется это тем что количество ионов N выкачиваемых из клетки с помощью натриевого насоса не вполне точно уравновешивается...
81580. Медиаторы: ацетилхолин, катехоламины, серотонин, γ-аминомаслянная кислота, глутаминовая кислота, глицин, гистамин 107.74 KB
  γАминомасляная кислота выполняет в организме функцию ингибирующего медиатора центральной нервной системы. Действие ГАМК в ЦНС осуществляется путём её взаимодействия со специфическими ГАМКергическими рецепторам Глутаминовая кислота является нейромедиаторной аминокислотой одним из важных представителей класса возбуждающих аминокислот. Эндогенные лиганды глутаминатных рецепторов глутаминовая кислота и аспарагиновая кислота.
81581. Нарушения обмена биогенных аминов при психических заболеваниях. Предшественники катехоламинов и ингибиторы моноаминооксидазы в лечении депрессивных состояний 108.33 KB
  Предшественники катехоламинов и ингибиторы моноаминооксидазы в лечении депрессивных состояний. Например резерпин – понижающее артериальное давление средство специфически тормозит процесс переноса катехоламинов в специальные гранулы нейронов и тем самым делает эти амины доступными действию эндогенной МАО. Многие антидепрессанты вещества снимающие депрессию увеличивают содержание катехоламинов в синаптической щели т. К таким веществам в частности относятся имипрамин блокирует поглощение норадреналина нервными волокнами амфетамин...
81582. Физиологически активные пептиды мозга 109.08 KB
  Нейропептиды осуществляют контроль за экспрессией вторичных клеточных мессенджеров, цитокинов и других сигнальных молекул, а также за запуском генетических программ апоптоза, антиапоптозной защиты, усиления нейротрофического обеспечения. Такие регуляторные (модуляторные) влияния устраняют общую дезинтеграцию во взаимодействии сложных и часто разнонаправленных молекулярно-биохимических механизмов