Имитационного моделирования систем с приоритетным обслуживанием и отказами

Автор работы: Пользователь скрыл имя, 20 Января 2014 в 16:35, курсовая работа

Описание работы

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

Содержание работы

Введение………………………………………………………………...…..2
Глава I. Теоретические основы имитационного моделирования систем с приоритетным обслуживанием и отказами……………………………………3
1.1. Методика определения приоритетов обслуживания заявок……......3
1.2. Одноканальные СМО с неоднородным потоком заявок…................7
1.2.1. Характеристики и свойства ДО БП……………………………..9
1.2.2. Характеристик и свойства ДО ОП……………………………...11
1.2.3. Характеристики и свойства ДО АП……………………………..14
1.3. Система массового обслуживания с отказами ………........................16
1.4. Особенности имитационного моделирования систем массового обслуживания……………………………………………………………………19
Глава II. Построение имитационной модели на языке GPSS World.…….26
2.1. Постановка задачи………………………………………………......... 26
2.2. Функциональная схема..........................................................................27
2.3 Создание ИМ на языке GPSS…………………………………………28
2.4. Анализ результатов моделирования…………………………………32
Заключение…………………………………………………………………35
Список литературы …………………………………………………….….36
Приложение 1…………………………………………………..…………..37
Приложение 2………………………………………………………………38

Файлы: 1 файл

КУРСОВАЯ ИМ.docx

— 218.40 Кб (Скачать файл)





 


     Рис.1.Структурная схема.

Для описания СМО, как непрерывно-стохастических процессов, используют Q-схемы, отражающие элементы и структуру СМО. В соответствии с построенной моделью и символикой Q–схем структурную схему данной СМО (рисунок 1) можно представить в виде, показанном на рис. 2.








 

Рис.2. - Q-схема моделируемой СМО.

 

2.3. Создание ИМ на языке GPSS.

Программа, реализующая алгоритм, создана в среде GPSS. Листинг программы приводится в приложении 1.       В ходе создания имитационной модели в среде GPSS были использованы следующие блоки:         - Generate;            - Gate;            - Seize и Release;           - Advance;            - Terminate;            - Transfer;            - Start.           Блок GENERATE         Блок GENERATE (генерировать) служит для создания транзактов, входящих в модель. Он имеет следующий формат:      имя GENERATEA,B,C,D,E.        В поле A задается среднее значение интервала времени между моментами поступления в модель двух последовательных транзактов. Если этот интервал постоянен, то поле B не используется. Если же интервал поступления является случайной величиной, то в поле B указывается модификатор среднего значения, который может быть задан в виде модификатора-интервала или модификатора-функции.     Модификатор-интервал используется, когда интервал поступления транзактов является случайной величиной с равномерным законом распределения вероятностей. В этом случае в поле B может быть задан любой СЧА, кроме ссылки на функцию, а диапазон изменения интервала поступления имеет границы A-B, A+B.        В данной задаче блок использован в следующих форматах:   - Generate 10, 5,,, 2 – через каждые 10±2 минуты выруливают самолеты для взлета с приоритетом 2.          -Generate 10,2,,,1 -  показывает, что самолеты прибывают каждые 10±5 минут с приоритетом 1. .        Блок GATE           Блок GATE (впустить) служит для задержки или изменения маршрутатранзактов в зависимости от состояния аппаратных объектов. Блок имеет следующий формат:

имя GATEXA,B 

Вспомогательный операнд  X содержит код состояния проверяемого аппаратного объекта, а в поле A указывается имя или номер этого объекта. Если проверяемый объект находится в заданном состоянии, то блок GATE пропускает транзакт к следующему блоку. Если же заданное в блоке условие не выполняется, то транзакт переходит к блоку, указанному в поле B, а если это поле пусто, то задерживается перед блоком GATE.    Блоки Seize и Release.       Одноканальные устройства создаются в текущей модели при использовании блоков SEIZE (занять) и RELEASE (освободить), имеющих следующий формат:            имя SEIZE A          имя RELEASE A.          В поле A указывается номер или имя устройства. Если транзакт входит в блок SEIZE, то устройство, указанное в поле A, становится занятым и остаётся в этом состоянии до тех пор, пока этот же транзакт не пройдёт соответствующий блок RELEASE, освобождая устройство. Если устройство, указанное в поле A блока SEIZE, уже занято каким-либо транзактом, то никакой другой транзакт не может войти в этот блок, и остаётся в предыдущем блоке. Транзакты, задержанные (заблокированные) перед блоком SEIZE, остаются в списке текущих событий и при освобождении устройства обрабатываются с учетом приоритетов и очередности поступления.            Каждое устройство имеет следующие СЧА:       - F - состояние устройства (0 - свободно,1 - занято);      - FR - коэффициент использования в долях 1000;      - FC - число занятий устройства; FT - целая часть среднего времени занятия устройства.          Блок ADVANCE.         Для задержки транзактов на определенный отрезок модельного времени, служит блок ADVANCE (задержать), имеющий следующий формат: имя ADVANCE A,B        Операнды в полях A и B имеют тот же смысл, что и в соответствующих полях блока GENERATE. Следует отметить, что транзакты, входящие в блок ADVANCE, переводятся из списка текущих событий в список будущих событий, а по истечении вычисленного времени задержки возвращаются назад, в список текущих событий, и их продвижение по блок-схеме продолжается. Если вычисленное время задержки равно 0, то транзакт в тот же момент модельного времени переходит в следующий блок, оставаясь в списке текущих событий.          Только блоки GENERATE и ADVANCE позволяют поместить транзакты в список будущих событий. С помощью этих блоков моделируется продолжительность какого-либо события или промежуток времени между наступлениями каких-либо событий.      Согласно условиям задачи, самолеты занимают полосу 2 минуты, то есть Advance 2. В случае, когда самолет делает повторный круг, операнд А равен 4.            Блок TERMINATE         Блок TERMINATE (завершить) служит для удаления транзактов из модели, и имеет следующий формат:          имя TERMINATEA       Значение поля A указывает, на сколько единиц уменьшается содержимое так называемого счетчика завершений при входе транзакта в данный блок TERMINATE. Если поле A не определено, то оно считается равным 0, и транзакты, проходящие через такой блок, не уменьшают содержимого счетчика завершений.       Начальное значение счетчика завершений устанавливается управляющим оператором START (начать), предназначенным для запуска прогона модели. Поле A этого оператора содержит начальное значение счетчика завершений. Прогон модели заканчивается, когда содержимое счетчика завершений обращается в 0. Таким образом, в модели должен быть хотя бы один блок TERMINATE с непустым полем A, иначе процесс моделирования никогда не завершится.       Блок TRANSFER.         Блок TRANSFER имеет следующий формат:    TRANSFER  [<A>],[<B>],[<C>],[<D>]      Блок TRANSFER является основным средством, позволяющим направить сообщение к любому блоку модели. Поле А задает режим выбора следующего блока, к которому должно перейти сообщение.   Поля В и С задают возможные значения номеров следующих блоков или их положение. Использование значений описано  при  рассмотрении определенных  режимов  выбора.  Операнды могут быть именем, положительным целым числом, СЧА или СЧА*<параметр>. Если  поле  В  пусто, ассемблер  записывает  в  нем  номер  блока,  следующего  за блоком TRANSFER.         Статистический режим выбора – когда операнд А не является  зарезервированным  словом,  блок TRANSFER работает в статистическом режиме выбора. Значение  аргумента,  записанного  после  точки (.) в поле А, рассматривается как трехзначное число, показывающее  (в  частях  от тысячи),  какой процент входящих в блок сообщений следует направить к блоку, указанному в поле С. Остальные  сообщения  направляются  к блоку,  указанному в поле В, или к следующему по номеру блоку, если операнд В пропущен.  Для каждого сообщения выбирается один  из  двух возможных  вариантов;  после  того как выбор сделан, второй вариант для этого сообщения не рассматривается.        В создании модели блок Transfer после запятой указывает метку Rep, к которой необходимо перейти.       Оператор START.        Оператор START имеет следующий формат записи:  START<A>,[<B>],<C>,[<D>]      Оператор START используется для инициирования начала  моделирования.           В поле А задается значение счетчика завершений, определяющего момент окончания прогона модели. В процессе счета  сообщения  будут входить в блоки TERMINATE. В поле А блока TERMINATE может задаваться число единиц, вычитаемое из счетчика завершений, заданного в поле А оператора START, при входе сообщения в блок TERMINATE. Операнд А может быть положительным целым.     В - операнд вывода статистики. Операнд может быть "NP" либо опущен. Задание "NP" в поле В приводит к блокировке вывода  статистики. По умолчанию выводится стандартная статистика.     Поле С не используется. Сохраняется по аналогии с описаниями других версий GPSS.           Поле D определяет необходимость вывода  содержимого списков текущих и будущих событий. Операнд D может быть положительным целым.          Моделирование идет до тех пор, пока счетчик завершения  моделирования, определенный операндом А, не достигнет 0. Для уменьшения счетчика используется блок TERMINATE.   Моделирование  может закончиться раньше, если достигнута граница времени, определенная оператором  SIMULATE,  или если  нажаты клавиши [Esc] или [Home], или если обнаружены ошибочные условия.

 

 

 

 

2.4. Анализ результатов моделирования.

Согласно стандартному отчету GPSS World (Приложение 2) была смоделирована работа аэропорта на протяжении 1440 минут (сутки).    Из отчета можно сделать выводы: количество самолетов 287, общее количество приземлившихся самолётов равно 144, взлетевших самолетов равно 143, а коэффициент загрузки полосы равен 0,399.   

Элементы стандартного отчета.

Строка заголовка стандартного отчета содержит имя файла модели, который создал отчет. Также в  нее включена дата и время прогона  модели.

GPSS World Simulation Report - Untitled Model 1.2.1

 

 Wednesday, December 26, 2012 17:50:37 

 

Общая информация о результатах  работы модели

 

START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

    0.000           1440.000    18        1          0

 

 

START TIME — начальное время. Абсолютное  модельное время в момент начала  моделирования. Устанавливается  равным абсолютному модельному  времени с помощью оператора  RESET или CLEAR;

END TIME — конечное время. Абсолютное  модельное время, когда счетчик  завершения принимает значение 0;

BLOCKS — количество блоков, использованных  в текущей модели, к момент  завершения моделирования; 

FACILITIES — количество устройств,  использованных в модели, к моменту  завершения моделирования; 

STORAGES - количество многоканальных  устройств, использованных в текущей  модели к моменту завершения  моделирования. 

Информация об именах

Файл статистики содержит информацию об именах, которые просматривает GPSS в ходе моделирования

NAME                          VALUE 

POLOSA                         10000.000

SVOBODNO                       7.000

ULET                           16.000

ZANAT                          12.000

 

NAME - перечень заданных пользователем  имен, содержащихся в программе  модели;

VALUE - числовое значение, присваиваемое  имени Система начинает отсчет  с 10000;

Информация о блоках.

LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE           143           0       0

                    2    SEIZE              143             0       0

                    3    ADVANCE            143             0       0

                    4    RELEASE            143             0       0

                    5    TERMINATE          143             0       0

                    6    GENERATE           144             0       0

SVOBODNO            7    GATE               181             0       0

                    8    SEIZE              144             0       0

                    9    ADVANCE            144             0       0

                   10    RELEASE            144             0       0

                   11    TERMINATE          144             0       0

ZANAT              12    ASSIGN              37             0       0

                   13    TEST                37             0       0

                   14    ADVANCE             37             0       0

                   15    TRANSFER            37             0       0

ULET               16    TERMINATE            0             0       0

                   17    GENERATE             1             0       0

                   18    TERMINATE            1             0       0

 

 

LABEL - метка, алфавитно-цифровое имя данного блока (если оно задано),

LOC - числовой номер позиции данного блока в модели;

BLOCK TYPE - тип блока GPSS;

ENTRY COUNT - количество транзактов, вошедших в данный блок, с начала работы программы или после последнего выполнений оператора RESET или CLEAR;

CURRENT COUNT - количество транзактов, находящихся в данном блоке к моменту завершения моделирования;

RETRY - количество транзактов, ожидающих специального условия, зависящего от состояние этого блока.

Информация об объектах типа «устройство».

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

POLOSA             287    0.399     2.000  1        0    0    0     0    0

Элементы статистики, представленные в данном разделе, имеют следующее  содержание:

FACILITY - имя или номер устройства;

ENTRIES — количество раз, когда  устройство было занято или  занято с прерыванием с начала  моделирования или после последнего  выполнения оператора RESET или  CLEAR;

UTIL. — коэффициент использования,  доля времени моделирования, в  течение которого устройство  было занято;

AVE.TIME — среднее время занятия  устройства одним транзактом  в течение времени моделирования  с начала моделирования или  после выполнения оператора RESET или CLEAR;

AVAIL. — состояние устройства  в конце моделирования (равно  1, если устройство доступно;  0 - если недоступно);

OWNER — номер транзакта, который  занимает устройство (0 — устройство  не занято);

PEND — количество транзактов, ожидающих  выполнения с прерыванием других  транзактов  (т.е. вошедших в блоки PREEMPT в режиме прерывания);

INTER — количество транзактов, прерванных  на данный момент (количество  транзактов в списке прерываний);

RETRY — количество транзактов, ожидающих  выполнения специального условия,  зависящего от состояния данного  устройства;

DELAY — количество транзактов, ожидающих  занятия устройства (входят также  транзакты, ожидающие занятия  устройства в режиме прерывания  с помощью блоков PREEMPT).

Информация о списках  будущих событии

Элементы статистики для FEC, представленные в данном разделe, имеют следующее содержание:

 XN — номер каждого транзакта, находящегося в списке текущих событий,

 PRI — приоритет транзакта;

BDT— момент абсолютного молельного времени, когда транзакт покинет список будущих событий (породившего данный транзакт);

 ASSEM — номер семейства данного транзакта;

 CURRENT — номер блока, в котором находится транзакт в конце моделирования;

 NEXT — номер следующего блока, в который должен был войти транзакт

 PARAMETER — имя или номер параметра транзакта;

 VALUE — значение параметра.

 

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

   289    2        1443.043    289      0      1

   290    1        1446.717    290      0      6

   291    0        2880.000    291      0     17

 

Заключение.

В данной работе были раскрыты теоретические основы имитационного  моделирования систем с приоритетным   обслуживанием и отказами, классификация  систем массового обслуживания и  их элементов. Перечислены основные понятия систем массового обслуживания. По составу СМО бывают одноканальные (с одним обслуживающим устройством) и многоканальными (с большим числом обслуживающих устройств). СМО делят на два основных типа: системы с отказами и системы с ожиданием. Отказы в СМО появляются по двум основным причинам: либо отсрочка обслуживания для поступающих заявок невозможна, либо в СМО отсутствуют свободные места для ожидания (или их вообще нет). По дисциплине очереди (т.е. по критерии выбора из очереди очередной заявки)  СМО подразделяются на системы с приоритетом и без приоритета. Перечислены особенности имитационного моделирования систем массового обслуживания          Имитационное моделирование, выполненное в среде GPSS World, имеет в общем случае преимущество над аналитическим способом, как более универсальное, наглядное и приближенное к реальности. Модель решения поставленной задачи с интенсивностью поступления самолётов 10,2 и 10,5 и обслуживанием 2 мин. не является оптимальным, так как коэффициент загрузки равен 0.399.          Выбор того или иного варианта в реальном мире оправдывается имеющимися средствами, возможностями или целями, а потому он зависит от ситуации. Но актуальность моделирования или расчета не снижается, поскольку это существенно помогает прогнозировать результат, что удешевляет производство или другие разработки.

 

 

 

 

 

 

 

 

Список литературы.

  1. Алиев Т.И. Основы моделирования дискретных систем. – Спб.:СП6ГУ ИТМО, 2009.-363 с.
  2. Бражник А. Н. Имитационное моделирование: возможности GPSSWORLD – Спб.: Реноме, 2006.-439 с.
  3. Белолипецкий А.А. Экономико-математические методы: учебник для студ. высш. заведений / А. А. Белолипецкий, В. А. Горелик. - М.: Издательский центр «Академия», 2010ю-368 с. – (Университетский учебник. Высшая математика и ее приложения к экономике).
  4. Гмурман В.Е. Теория вероятностей и математическая статистика. Учеб. Пособие для вузов/ В.Е. Гурман. – 10-е изд., стер. -  М: Высшая школа, 2004.- 479 с.: ил.
  5. Гультяев А. К. MATLAB 5.3. Имитационное моделирование в среде Windows: Практическое пособие. – СПБ.: КОРОНА принт, 2001. – 400 с.
  6. Емельянов А. А. и др. Имитационное моделирование экономических процессов: Учеб. Пособие / А. А. Емельянов, Е. А. Власова, Р. В. Дума; Под ред. А. А. Емельянова. – М.: Финансы и статистика, 2002. – 368 с.: ил.
  7. Лычкина Н. Н. Имитационное моделирование экономических процессов: Учеб. Пособие. – М.: ИНФРА – М, 2012. – 254 с. – (Высшее образование).
  8. Петухов, О. А. Моделирование: системное, имитационное аналитическое,: учеб. пособие / О. А. Петухов, А. В. Морозов, Е. О. Петухова. – 2-е изд., испр. И доп. – СПб.: Изд-во СЗТУ, 2008. – 288 с.
  9. Советов Б. Я. Моделирование систем. Практикум: учебное пособие для бакалавров / Б. Я. Советов, С. А. Яковлев. – 4-е изд., перераб. и доп. – М.: Издательство Юрайт, 2012. – 295 с. – Серия: Бакалавр.
  10. Тарасевич Ю. Ю. Математическое и компьютерное моделирование. Вводный курс: Учебное пособие. Изд. – 2-е, испр. – М.: Едиториал УРСС, 2002. – 144 с.
  11. Шеннон Р. Имитационное моделирование систем - искусство и наука: Пер. с англ. - М.: Мир, 1978.

 

 

 

ПРИЛОЖЕНИЕ  1

Листинг программы.

 

Generate 10,2,,,2

Seize polosa

Advance 2

Release polosa

Terminate

Generate 10,5,,,1

Svobodno Gate NU polosa,zanat

Seize polosa

Advance 2

Release polosa

Terminate

zanat Assign 1+,1

Test LE p1,5,ulet

Advance 4

Transfer,svobodno

ulet Terminate

Generate 1440

Terminate 1

Start 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение 2.

 

 

              GPSS World Simulation Report - Untitled Model 1.2.1

 

 

                   Wednesday, December 26, 2012 17:50:37 

 

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000           1440.000    18        1          0

Информация о работе Имитационного моделирования систем с приоритетным обслуживанием и отказами