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

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    167,27 Кб
  • Опубликовано:
    2014-02-06
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

НАЦИОНАЛЬНЫй ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ

ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МЕХАНИКИ И ОПТИКИ







Контрольная работа

по дисциплине "Моделирование"

на тему "Разработка и исследование моделей дискретных систем"












Санкт-Петербург, 2013 г.

Содержание

 

1. Задание

2. Введение

2.1 Описание модели

2.2 Цель работы

2.3 Требования к системе

3. Выполнение

3.1 Разработка модели в среде имитационного моделирования GPSS World

3.2 Подбор оптимальных параметров модели

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

3.4 Разработка аналитической модели

4. Вывод

5. Литература

1. Задание

Необходимо реализовать модель согласно выбранному объекту исследований. Провести некоторый набор экспериментов и зафиксировать результаты проделанной работы.

Затем возможна оптимизация и модернизация системы в соответствии с выбранным критерием - время пребывания в системе.

2. Введение


2.1 Описание модели


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

 

2.2 Цель работы


Выбор объекта исследований. Анализ синтезируемой модели и подбор оптимальных параметров с учетом требований к сети массового обслуживания. Синтез модели и замер экспериментальных статистических данных.

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

 

2.3 Требования к системе


К требованиям можно отнести следующее:

·        Система работает без перегрузок

·        Среднее время пребывания заявок в системе не должно превышать 7,5 минут при средней интенсивности и 12,5 минут - при максимальной.

·        Система без потерь

3. Выполнение


В модели содержится 4 класса заявок: бензин А92, A95, A98, дизель.

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

Перед каждым многоканальным устройством имеется ограниченная очередь, перед главным прибором неограниченная. Машины из ограниченной очереди распределяются по приборам в многоканальном устройстве, выбирая свободный. Заявки классов бензин А92, А95, А98 обслуживаются в многоканальном устройстве PribBensin. Заявки класса дизель обслуживаются в многоканальном устройстве PribDiesel. Время обслуживания заявки зависит от ее класса:

·        Время между обслуживания машин заправляющихся А92, A95, A98 бензином и дизелем вычисляется по формуле tank_capacity/60, где tank_capacity - объем бака машины, а 60 - средняя скорость заправки пистолетом, измеряется в литрах в минуту. Среднее время обслуживания всех транзактов в главном приборе - 3 мин.

Время между прибытиями заявок было высчитано при использовании реальных статистик, выложенных в интернете:

·        Время между прибытиями машин заправляющихся А92 бензином - 4 мин.

·        Время между прибытиями машин заправляющихся А95 бензином - 6.82 мин.

·        Время между прибытиями машин заправляющихся А98 бензином - 13.64 мин.

·        Время между прибытиями машин заправляющихся дизелем - 4.55 мин.

3.1 Разработка модели в среде имитационного моделирования GPSS World


***ОБЛАСТЬ ОПИСАНИЯ ОБЪЕКТОВ***

***********************************

QTable_92 QTABLE Q_3,1,1, 20

QTable_95 QTABLE Q_3,1,1, 20_98 QTABLE Q_3,1,1, 20

QTable_dis QTABLE Q_3,1,1, 20

Table_92 TABLE M1,1,1, 20; * описание таблицы для построения гистограммы времени

Table_95 TABLE M1,1,1, 20_98 TABLE M1,1,1, 20_dis TABLE M1,1,1, 20

*****************МНОГОКАНАЛЬНЫЕ УСТРОЙСТВА*******************

PribBensin STORAGE 6; *описание многоканального устройства PribBensin

PribDiesel STORAGE 3; * - ||-

PribGeneral STORAGE 2; * - ||-

************************************

ОБЛАСТЬ ИСПОЛНЯЕМЫХ ОПЕРАТОРОВ

*****************************************

GENERATE (Exponential (1,0,4.55)); * 4.55 среднее время поступления заявки

ASSIGN tip,4; * тип топлива от 1 до 4

ASSIGN tank_capacity4, (uniform (1,15,350)); * объем бака для заявки класса 4 (дизель)

* рассчитывается равномерным распределением мин - 15, макс - 350 (л)

TRANSFER,A92;

GENERATE (Exponential (1,0,13.64)); 13.64

ASSIGN tip,3;

ASSIGN tank_capacity3, (uniform (1,10,80)); * объем бака для заявок классов 1,2,3 (92,95,98 бензин)

* рассчитывается равномерным распределением мин - 10, макс - 80 (л)

TRANSFER,A92(Exponential (1,0,6.82)); 6.82tip,2;tank_capacity2, (uniform (1,10,80));,A92(Exponential (1,0,4)); 4.41tip,1;tank_capacity1, (uniform (1,10,80));,A92

A92 TEST E p$tip,1,A95; * проверка заявки на определенный класс

TEST L Q$Q_1,16,Otkaz; * уничтожение заявки в случае заполнения очереди

QUEUE Q_1; * поступление заявки в очередь Q_1

ENTER PribBensin; * занятие прибора

DEPART Q_1; * покидание очереди Q_1

ADVANCE (p$tank_capacity1/50); * расчет времени задержки по формуле, где tank_capacity кол-во в литрах * а 50 - скорость выдачи пистолетом топлива (литров в минуту)

A95 TEST E p$tip,2,A98

TEST L Q$Q_1,16,Otkaz;

QUEUE Q_1; поступление заявки в очередь Q_1

ENTER PribBensin; занятие прибора

DEPART Q_1; покидание очереди Q_1

ADVANCE (p$tank_capacity2/50)

TRANSFER,GP; освобождене одного прибора

A98 TEST E p$tip,3,DIS

TEST L Q$Q_1,16,Otkaz; Q_1; поступление заявки в очередь Q_1

ENTER PribBensin; занятие прибора

DEPART Q_1; покидание очереди Q_1

ADVANCE (p$tank_capacity3/50)

TRANSFER,GP; освобождене одного прибора

DIS TEST E p$tip,4,OtkazL Q$Q_2,10,Otkaz; Q_2; поступление заявки в очередь Q_2

ENTER PribDiesel; занятие прибора

DEPART Q_2; покидание очереди Q_2

ADVANCE (p$tank_capacity4/50)

TRANSFER,GP; освобождене одного прибора

GP QUEUE Q_3; поступление заявки в очередь Q_3

ENTER PribGeneral; занятие главного прибора

DEPART Q_3; покидание очереди Q_3

ADVANCE (Exponential (1,0,3))

LEAVE PribGeneral

TEST E p$tip,4,BEN; если заявка класса 4, то покидает многоканальное устройство PribDiesel иначе PribBensin

LEAVE PribDieselTable_dis,finishLEAVE PribBensinE p$tip,3,TAB95Table_98,finishTEST E p$tip,2,TAB92Table_95,finishTEST E p$tip,1,OtkazTable_92,finishTERMINATE TERMINATE 1

3.2 Подбор оптимальных параметров модели


Нам необходимо подобрать оптимальное число. Для этого мы проведем несколько экспериментов, чтобы выявить наиболее подходящие параметры.

Изначально зададим количество приборов в многоканальном устройства PribBensin равным 4, а в PribDiesel равным 2. В главном устройстве (касса) будет 2 прибора. Проверять работоспособность системы будем на разных количествах входящих заявок (40 и 150). Что соответствует нормальному кол-ву и максимальному кол-ву машин соответственно, за 1 час работы АЗС (статистика взята из интернета с сайтов компаний содержащих АЗС на территории России).

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

Эксперименты проводим на построенной ранее модели GPSS.

количество приборов в PribBensin, PribDiesel, PribGeneral

4

2

2

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

40

150

Кол-во обработанных заявок

40

150

Кол-во потерянных заявок

3

29

ср. время пребывания машин в системе (в минутах)

6,876

25,514


9,243

23,762


9,808

9,318


12,429

39,093


Результаты 1 эксперимента:

Время пребывания выходит за рамки установленного при нормальной и максимальной загрузке АЗС.

Вносим корректировки, увеличивая сначала число приборов PribBensin и PribDiesel на 1. Потом оставляя предыдущее кол-во приборов, увеличиваем кол-во приборов в главном устройстве на 1.

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

количество приборов в PribBensin, PribDiesel, PribGeneral

5

3

2

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

40

150

Кол-во обработанных заявок

40

150

Кол-во потерянных заявок

3

24

ср. время пребывания машин в системе (в минутах)

6,973


9,287

21,479


9,870

29,150


11,641

17,941


количество приборов в PribBensin, PribDiesel, PribGeneral

4

2

3

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

40

150

Кол-во обработанных заявок

40

150

Кол-во потерянных заявок

3

13

ср. время пребывания машин в системе (в минутах)

4,073

4,608


4,487

4,699


8,379

8,154


9,836

13,948


Результаты 2 эксперимента:

Время пребывания все еще не удовлетворяет условию. Однако, можно заметить, что увеличение кол-ва колонок (кол-ва приборов в PribBensin и PribDiesel) уменьшило общее время пребывания заявок в системе, но не так, как увеличение кол-ва приборов в PribGeneral.

Продолжаем эксперимент, увеличиваем приборы в устройствах аналогично.

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

количество приборов в PribBensin, PribDiesel, PribGeneral

6

4

2

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

40

150

Кол-во обработанных заявок

40

150

Кол-во потерянных заявок

3

24

ср. время пребывания машин в системе (в минутах)

6,973

24,738


10,160

22,170


10,406

28,496


10,711

19,084


количество приборов в PribBensin, PribDiesel, PribGeneral

4

2

4

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

40

150

Кол-во обработанных заявок

40

150

Кол-во потерянных заявок

2

14

ср. время пребывания машин в системе (в минутах)

3,721

3,892

3,818


3,975

3,289


9,405

7,629


Результаты 3 эксперимента:

Видим, что время пребывания удовлетворяет условию при максимальной загрузке, но не удовлетворяет при нормальной загрузке из-за класса дизель.

Попробуем провести еще один эксперимент увеличив на 1 прибор устройство PribDiesel.

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

количество приборов в PribBensin, PribDiesel, PribGeneral

6

4

2

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

40

150

Кол-во обработанных заявок

40

150

Кол-во потерянных заявок

3

24

ср. время пребывания машин в системе (в минутах)

7,076

23,612


10,633

21,637


10,406

28,267


10,155

16,990


количество приборов в PribBensin, PribDiesel, PribGeneral

4

3

4

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

40

150

Кол-во обработанных заявок

40

150

Кол-во потерянных заявок

3

15

ср. время пребывания машин в системе (в минутах)

3,544

3,517


4,262

4,442


3,799

5,886


5,912

6,712


Результаты полностью удовлетворяют начальному условию. Однако, экономически выгоднее было бы сделать заправку с параметрами из 3 эксперимента. (3 эксперимент, 2 таблица).

Данные показывают, что в результате увеличения кол-ва приборов в устройствах PribDiesel на 1 и PribGeneral на 2 среднее время пребывания машин стало удовлетворять начальному условию, более того результаты времени

 

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


public class TankClass extends com. xj. anylogic. libraries. enterprise. Entity implements java. io. Serializable {

double enteredSystem;

double tank;

double tank1;

double tip;

public void setTip (double newTip) {

this. tip = newTip;

}

public double isTip () {

return this. tip;

}

public void setTank (double newTank) {

this. tank = newTank/50;

}

return this. tank;

}

public TankClass () {

}

@Override

public String toString () {

return

"enteredSystem = " + enteredSystem +" ";

}

private static final long serialVersionUID = 1L;

}

Проведем эксперимент c начальным кол-ом приборов и кол-ом удовлетворяющим начальному условию при нормальной загрузке системы и максимальной (40 и 150 соответственно).

количество приборов в PribBensin, PribDiesel, PribGeneral

4

2

2

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

40

150

Кол-во обработанных заявок

40

150

Кол-во потерянных заявок

3

24

ср. время пребывания машин в системе (в минутах)

9,42

8,832


6,924

8,053


10,249

9,143


10,259

12,217


количество приборов в PribBensin, PribDiesel, PribGeneral

4

3

4

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

40

150

Кол-во обработанных заявок

40

150

Кол-во потерянных заявок

0

24

ср. время пребывания машин в системе (в минутах)

3,647

4,443


3,122

3,597


5,928

5,1


6,479

7,167

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

3.4 Разработка аналитической модели


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

Для того, что бы рассчитать характеристики нашей системы, нам необходимо упростить модель (привести ее к виду, удобному для программы ITMOdel). Упрощение модели связано с особенностями программы. Текущая модель сети имеет вид:


Здесь 1 - это многоканальное устройство PribBensin, 2 - это многоканальное устройство PribDiesel, 3 - главный прибор PribGeneral.

Нам необходимо модернизировать структуру сети таким образом, чтобы остался один источник заявок. Для этого поступим следующим образом: несколько источников заявок для первого узла и источник для второго узла объединим в один. В итоге мы получим систему, которая далека от реальной. Более того, мы по-прежнему не можем в ней рассчитать точные теоретические значения вероятностей переходов и точную интенсивность обслуживания заявок.

Т.е. эти вероятности можно выявить исключительно экспериментально.

Полученная сеть примет вид:

 

Параметры СеМО:

Тип сети РСеМО

Кол-во узлов n = 3

Кол-во приборов в узлах K1 = 4, K2 = 3, K3 = 4

Матрица вероятностей передачи


Длительности обслуживания B1 = 0.008, B2 = 0.010, B3 = 2

Рассчитаем характеристики с помощью программы ITMOdel используя начальные данные.

Результат эксперимента с аналитической моделью

Время ожидания [W]

3.5626101820

Время пребывания [U]

10.6836098700

Кол-во заявок в очередях [L]

3.56261008

Кол-во заявок в сети [M]

10.6836100


Коэффициент передачи [α]

0.78

0.22

1.000

Нагрузка [y]

3.12

1.001

3.0

Загрузка [ρ]

0.78

0.33366668

0.75

Коэффициент простоя [π]

0.22000003

0.6663333

0.25

Время ожидания [w]

2.5495818

0.2074299

1.5283018

Время пребывания [u]

6.5495815

4.75743

4.5283017

Длина очереди заявок [l]

1.9886737

0.04563458

1.5283018

Число заявок [m]

5.1086736

1.0466347

4.5283017



Время ожидания - синий

Время пребывания - зеленый

Кол-во заявок в очередях - фиолетовый

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


4. Вывод


В проделанной работе нами была исследована среда имитационного моделирования AnyLogic и ITMOdel. В этих средах, а так же в GPSS, была смоделирована автозаправочная станция (АЗС).

В ходе выполнения работ, я построил модель системы, которая удовлетворяет заданным требованиям. Чтобы люди чувствовали комфорт, при заезде на АЗС необходимо 4 колонки для заправки машин с бензиновыми двигателями, 3 колонки для дизельных двигателей и 3 кассы в главном приборе.

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

5. Литература


1. Алиев Т.И. Основы моделирования дискретных систем. Учебное пособие. - СПб.: СПбГУ ИТМО, 2009

2. Онлайн-справочник по среде имитационного моделирования AnyLogic<http://www.anylogic.ru/anylogic/help/><http://www.anylogic.ru/anylogic/help/>: //  <http://www.anylogic.ru/anylogic/help/>www <http://www.anylogic.ru/anylogic/help/>.  <http://www.anylogic.ru/anylogic/help/>anylogic <http://www.anylogic.ru/anylogic/help/>.  <http://www.anylogic.ru/anylogic/help/>ru <http://www.anylogic.ru/anylogic/help/><http://www.anylogic.ru/anylogic/help/>anylogic <http://www.anylogic.ru/anylogic/help/><http://www.anylogic.ru/anylogic/help/>help <http://www.anylogic.ru/anylogic/help/><http://www.anylogic.ru/anylogic/help/>

. Справочник среды имитационного моделирования GPSS World

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

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!