49804

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

Курсовая

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

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

Русский

2014-01-10

1005.63 KB

181 чел.

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

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

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

ЗАДАНИЕ

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

По курсу:

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

Студенту:

Луковой Ю. В.

Тема работы:

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

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

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

Система массового обслуживания имеет 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.


 

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

66988. ЗАОЧНОЕ ПУТЕШЕСТВИЕ ПО ДНЕПРУ 56 KB
  Днепр - украинское название Дніпро, древнегреческое название Борисфен. Вторая после Волги река восточной Европы. Берет начало на Валдайской возвышенности и протекает по территории России, Беларуси, Украины. Делится натри часті, верхнее течение - от истока до Киева, среднее течение от Киева до Запорожья, и нижчеє течение - от Запорожья до устья.
66989. Образ Добрыни Никитича (былинский сказ). Иллюстрация к былине (портрет богатыря) 28 KB
  Цели: создать у детей целостный литературно-художественный образ былинного героя; показать его в творчестве художников; представить самим и воплотить представленное в рисунке; сформировать понятие о былине виде устного народного творчества; развивать интеллект логическое мышление учащихся...
66990. Морально-етична година 64.5 KB
  Обладнання: на дошці записана тема заняття прихована паперовою смужкою; оформлені висловлювання про добро: Раз добром нагріте серце вік не охолоне.Шевченко Добра людина із доброї скарбниці серця добре виносить а лиха із лихої виносить лихе. Життя таке коротке: поспішайте робити добро.
66991. Ми прийшли у цей світ, щоб творити добро 101.5 KB
  Допомогти учням зрозуміти зміст людського життя визначити своє місце в ньому навчити відрізняти добро від зла; сприяти вихованню в них людяності чесності працьовитості відповідальності любові до людей до рідної землі. На фоні музики читець декламує духовні заповіді Матері Терези Життя це можливість...
66992. «НЕМАЄ ВИЩОЇ СВЯТИНІ НІЖ ЧИСТЕ СЯЙВО ДОБРОТИ» 61.5 KB
  Людяність, милосердя, добро. Такі знайомі нам ці слова. Все частіше ми говоримо про них, а чи кожна людина відкрита для добра? Чомусь сьогдні наше суспільство заражене вірусом егоїзму, зла і жорстокості. Зачерствілі людські серця заросли ряскою байдужості до чужого горя, чужої біди, яких у нашому житті дуже багато.
66994. Про доброту і милосердя 310 KB
  Хто ж винен у ситуації до якої потрапив вовк Чи викликає у вас симпатію герой байки Чому Як можна допомогти вовкові 2. Як це не кайся Яку частину прислівя можна сказати саме вовкові ІІІ. Що можна віднести до милосердя А що ви вважаєте немилосердним ІІІ група Будь привітним.
66995. Доля, що дарує Надію 33.5 KB
  Одного разу Ніна Михайлівна їхала в поїзді і раптом почула по радіо повідомлення що пасажирці цього поїзду терміново потрібна донорська кров. Був випадок коли після забору крові прийшов вагон з мукою і Ніна Михайлівна пішла його розвантажувати. Ніна Михайлівна дістає із шухляди скриньку з паперами.
66996. Урок обучения грамоте 38 KB
  Формировать умение выделять эти звуки в речи. Ой что за звуки мы слышим сейчас Звучат голоса курицы и петуха гусей. Ребята что за интересные звуки сейчас прозвучали в нашем классе Какую песенку пропел петух Какие знакомые нам звуки вы услышали в пении петуха Запишите какими буквами они обозначаются.