Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет по модели АЗС Изотов Никита 391 группа.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
766.49 Кб
Скачать

Государственное образовательное учреждение

высшего профессионального образования

«Санкт-Петербургский государственный

инженерно-экономический университет»

Факультет информационных систем в экономике и управлении

Кафедра информационных систем в экономике

ОТЧЕТ

по модели «АЗС» в AnyLogic

Выполнил: Изотов Никита

студент 4 курса 4 г 9 мес. спец. 080801____________________

Группа: 391 № зачетной книжки 03027

Подпись:

Преподаватель: В.В. Котов_____________________________

Оценка: __________ Дата:

Подпись:

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

2012 г.

Оглавление

Постановка задачи моделирования 3

Построенная модель (схема) 4

Входные и выходные параметры моделирования 7

План моделирования 9

Результаты 9

Выводы 12

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

Построим с помощью элементов библиотеки «Основная библиотека» и библиотеки «Системная динамика» модель Автомобильной Заправочной Станции (АЗС).

Пусть на станции имеется 8 бензоколонок, по 2 из которых приходятся на 4 вида бензина: АИ92, АИ95, АИ98 и ДТ. Оплата бензина производится с помощью кассиров, число которых равняется 2. Покупатели выстраиваются в очередь к кассам, где время ожидания, т.е. оплаты бензина, подчинено треугольному распределению с минимальным значением 0.8 минуты, средним-1.5 и максимальным 2 минуты. На станции имеется 4 цистерны с разными видами бензина в объеме 900 литров на АИ92, 1000 литров на АИ95, 500 литров на АИ98 и 800 литров на ДТ. У каждой цистерны существует нижний порог содержания топлива(30% от всего объема), при достижении которого в цистерны начинает заливаться новое топливо до полного объема, т.е. осуществляется поставка. Цена поставки по умолчанию равняется 15 рублям за литр, но может быть изменена вручную. Частота приезда клиентов на АЗС распределены с заданными вероятностями в таком порядке: 30% клиентов пользуются бензином сорта 92, 35% заправляются АИ95, еще 10% предпочитают 98й бензин, а остальные 25% - ДТ.

Литр каждого бензина имеет цену, заданную в соответствии с уровнем цен на топливо в Санкт-Петербурге, также цена может быть задана вручную. По умолчанию цены стоят следующие: 28.9 рубль/литр за АИ92, 31.4 рубль/литр за АИ95, 37.3 рубль/литр за АИ98, 31.6 рубль/литр за дизельное топливо. Каждый клиент заливает такое количество литров, которое соответствует треугольному распределению с минимальным значением – 10 литров, максимальным - 50 литров и наиболее вероятным - 40 литров. В момент поставки топлива, бензоколонки закрываются для клиентов, которые выстраиваются в очередь и ожидают, пока бензоколонки не откроются на подачу топлива, т.е. пока поставка не будет завершена. Время, которое тратит каждый клиент на заправку распределено по треугольному распределению с минимальным значением равным 2 минутам, средним – 3,8 и максимальным 6,2 минуты.

Также необходимо внести во внимание тот факт, что АЗС работает круглосуточно, соответственно конечное модельное время выставлено в количестве 720 единиц, что равняется количеству отработанных часов за месяц (за месяц был взят диапазон в 30 дней).

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

Построенная модель (схема)

Где

Объект, генерирующий автомобилистов(клиентов). Интервал между приходом клиентов распределен экспоненциально со средним значением 1.5 единицы модельного времени interarrivalTime=exponential( 0,67 ) интенсивность прихода клиентов равна 0.67

Объект, распределяющий клиентов с заданной вероятностью на 4 очереди

Вероятность0=0.3

Вероятность1=0.35

Вероятность2=0.1

Вероятность3=0.25

Вероятность4=0

о бъект, имитирующий очередь на заправку к одному из видов бензина

Capacity=15

объект, имитирующий заправку клиентом своего автомобиля время задержки: triangular( 2, 3.8, 6.2)

вместимость:2

действие при входе: AI92=AI92-triangular(10, 20, 40)

объект, имитирующий очередь на кассах и оплату бензина

время задержки: triangular( 0.8, 1.5, 2 )

вместимость очереди:10

о бъект, имитирующие число и занятость кассиров( в данный момент 1 кассир занят, а второй свободен)

количество ресурсов: 2

блок, генерирующий отъезд обслуженных клиентов

объект, имитирующий цистерну с топливом, и два параметра с верхним и нижним порогами количества топлива в цистерне

Объекты, имитирующие поставку топлива с пропускной способностью 30 литров

Объекты, имитирующие расчет прибыли от покупки ДТ. В переменной price_DT задана цена за литр дизельного топлива, которая может быть изменена вручную с помощью бегунка. Параметр kol_voDT содержит в себе количество литров, которые купили клиенты, выручка считается как произведение количества литров на заданную цену. Затраты считаются как

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

диаграмма, показывающая прибыль по каждому из видов бензина

Четыре циклических события, регулирующие поставки и остановки поставок в цистерны на АЗС и в цистерны, имитирующие поставщиков(бензовозов)

Событие, при котором заканчивается поставка из «облака» в цистерну Бенз_поставка

Событие, при котором начинается поставка из «облака» в цистерну Бенз_поставка

Событие, при котором начинается поставка из цистерны Бенз_поставка в цистерну АИ

Событие, при котором заканчивается поставка из цистерны Бенз_поставка в цистерну АИ

Ниже представлены коды по каждому из событий

Бенз

if (Бензин_поставка>1000)

flow=0;

event1

if (Бензин_поставка<10)

flow=50;

event

if (AI92<parameter92)

postavka = 30;

event2

if(AI92>par92)

postavka = 0;

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

Ниже представлены коды по затратам на ДТ(остальные рассчитываются аналогично)

затраты_наДТ

if(DT<1000)

{

zatDT=ДТ;

}

ещё_затратыДТ

if (DT==1000)

{

myDT=ДТ;

}

Два параметра для бензина АИ92 my и zat92 (аналогичные параметры заданы и для других видов бензина)

В них записываются литры, которые нам привозят поставщики. Они хранят значение цистерны AI92 до момента поставки и в момент поставки, т.е. высчитывают точное количество литров, которое привозят поставщики

События, отвечающие за отключение бензоколонок в момент поставки бензина.

Код для события ogranichenie98(остальные рассчитываются аналогично)

if (postavka3!=0)

{

АИ_98.capacity=0;

}

else

{

АИ_98.capacity=2;

}

Элементы для подсчета точного количества купленных литров. Значение купленных литров 98 бензина каждый цикл записывается в параметр kol_vo98 и суммируется.

По умолчанию стоит значение 500, т.к. цистерна АИ98 так же имеет значение 500

Код события sob98(остальные рассчитываются аналогично)

if (postavka3==0)

{

var98=pr98-АИ98;

kol_vo98 += var98;

pr98=АИ98;

}

else

{

pr98=АИ98;

}

Прибыль считается как разница между выручкой и затратами

для 92 бензина значение переменной прибыль92 считается по формуле выручка_от92-затраты92