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

Тип работы:
Контрольная
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

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

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

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

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

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

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

Санкт-Петербург, 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

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

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

QTable92 QTABLE Q3, 1,1, 20

QTable95 QTABLE Q3, 1,1, 20

QTable98 QTABLE Q3, 1,1, 20

QTable_dis QTABLE Q3, 1,1, 20

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

Table95 TABLE M1,1,1, 20

Table98 TABLE M1,1,1, 20

Table_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

GENERATE (Exponential (1,0,6. 82)); 6. 82

ASSIGN tip, 2;

ASSIGN tank_capacity2, (uniform (1,10,80));

TRANSFER, A92

GENERATE (Exponential (1,0,4)); 4. 41

ASSIGN tip, 1;

ASSIGN tank_capacity1, (uniform (1,10,80));

TRANSFER, A92

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

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

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

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

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

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

TRANSFER, GP; * передача заявки в главный прибор (кассу)

A95 TEST E p$tip, 2, A98

TEST L Q$Q1, 16, Otkaz;

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

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

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

ADVANCE (p$tank_capacity2/50)

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

A98 TEST E p$tip, 3, DIS

TEST L Q$Q1, 16, Otkaz;

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

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

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

ADVANCE (p$tank_capacity3/50)

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

DIS TEST E p$tip, 4, Otkaz

TEST L Q$Q2, 10, Otkaz;

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

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

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

ADVANCE (p$tank_capacity4/50)

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

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

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

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

ADVANCE (Exponential (1,0,3))

LEAVE PribGeneral

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

LEAVE PribDiesel

TABULATE Table_dis

TRANSFER, finish

BEN LEAVE PribBensin

TEST E p$tip, 3, TAB95

TABULATE Table98

TRANSFER, finish

TAB95 TEST E p$tip, 2, TAB92

TABULATE Table95

TRANSFER, finish

TAB92 TEST E p$tip, 1, Otkaz

TABULATE Table92

TRANSFER, finish

Otkaz TERMINATE

finish 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

23,127

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,571

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;

}

public double getTank () {

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. 5 626 101 820

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

10. 6 836 098 700

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

3. 56 261 008

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

10. 6 836 100

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

0. 78

0. 22

1. 000

Нагрузка [y]

3. 12

1. 001

3. 0

Загрузка [с]

0. 78

0. 33 366 668

0. 75

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

0. 22 000 003

0. 6 663 333

0. 25

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

2. 5 495 818

0. 2 074 299

1. 5 283 018

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

6. 5 495 815

4. 75 743

4. 5 283 017

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

1. 9 886 737

0. 4 563 458

1. 5 283 018

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

5. 1 086 736

1. 466 347

4. 5 283 017

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

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

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

Кол-во заявок в сети — пурпурный

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

4. Вывод

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

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

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

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

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

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

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

ПоказатьСвернуть
Заполнить форму текущей работой