- •Постановка задачи.
- •Введение.
- •Содержательное описание моделируемого объекта, процесса или системы.
- •Перечень и характеристики связанных с объектов проблем.
- •Перечень доступных для исследования исходных данных.
- •Формулировка целей исследования.
- •Основная часть.
- •Основные цели моделирования.
- •Преимущества имитационного моделирования.
- •Обоснование выбора
- •Этапы построения имитационной модели
- •Аналитическая модель.
- •Графическая иллюстрация в виде графа
- •Перечень используемых обозначений
- •Имитационная модель.
- •Граф модели с помощью конструктора gem
- •Общая структура pilgrim
- •Описание логики модельных процессов.
- •Исходный текст программной модели.
- •Результаты проведения экспериментов исходя из отчета pilgrim
- •Анализ результатов.
- •Заключение.
Имитационная модель.
Имитационое моделированием является представление модели в виде некоторого алгоритма – компьютерной программы, – выполнение которого имитирует последовательность смены состояний в системе и таким образом показывает поведение моделируемой системы. В случае имитационного моделирования имитационная модель – программа – реализуется на ЭВМ.
Рисунок № 3 – Технологическая схема имитационного моделирования
1 – Реальная система; 2 – Построение логико-математической модели; 3 –Разработка моделирующего алгоритма; 4 – Построение имитационной (машинной)модели; 5 – Планирование и проведение имитационных экспериментов; 6 – Обработка и анализ результатов; 7 – Выводы о поведении реальной системы (принятие решений).
Имитационным моделированием называют процесс создания испытания таких моделей, а имитационной моделью называют сам алгоритм. Имитационные модели достаточно просто учитывают влияние случайных факторов.
Граф модели с помощью конструктора gem
Схема имитационной модели - ориентированный граф, вершины которого представляют собой компоненты элементарных процессов, а дуги определяют направление потоков заявок и управляющих воздействий в моделируемой системе.
Рис. №4 Граф модели.
Общая структура pilgrim
Структура программы, описывающей имитационную модель в системе PILGRIM имеет следующий вид:
Описание логики модельных процессов.
С определенными интервалами времени на остановку приходят пассажиры (1) и подъезжают (6). Такси уезжает(5), когда в него сядет 10 пассажиров. Если пришедший пассажир(1) не обнаруживает стоящего такси, он встает в очередь на посадку(2). Если такси(6) подъехало на пустую остановку(8), оно ждет пассажиров. Если такси(6) подъехало, а на остановке уже стоит такси(8), оно встает в очередь такси(7).
Исходный текст программной модели.
Текст модели
#include "Pilgrim.h"
float Pas=1.0; /* интервал прихода пассажиров */
float Tax=10.0; /* интервал прихода такси */
float Mod_time=600.0;
forward
{
int fw;
modbeg("Маршрутное такси", 10, Mod_time, (long)time(NULL), none, 2, none,5, 2);
ag("Пассажиры", 1, none, expo, Pas, zero, zero, 2);
ag("Такси", 6, none, norm, Tax, Tax/3, zero, 7);
network(dummy, dummy)
{
top(2):
queue("Пассажиры", none, 3);
clcode
if (addr[2]->na == 1)
hold(3); /* начальное размыкание ключа */
place;
top(3):
key("Есть такси?", 4);
place;
top(4):
delet("Посадка в такси", none, none, 0, 10, 5);
rels(3);
hold(8);
place;
top(5):
term("Такси уехало");
hold(3);
rels(8);
place;
top(7):
queue("Такси", none, 8);
place;
top(8):
key("Остановка свободна?", 4);
place;
fault(123);
}
modend("123456789_1.txt", 1, 12, page);
return 0;
}
Результаты проведения экспериментов исходя из отчета pilgrim
Рис. № 5 Результаты экспериментов
Анализ результатов.
Исходя из результатов проделанной работы можно сделать несколько выводов:
Очередь людей на такси несущественная
Такси всегда есть на остановке
Очередь такси минимальная
Люди всегда смогут сесть в такси, так как на остановке всегда присутствует такси, либо на посадку, либо в очереди на посадку.
Очередь людей минимальная
В связи с тем, что очереди минимальные, то можно было бы сократить количество такси, подаваемых на остановку.
Можно увеличить интервал движения такси.
Есть возможность оптимизировать интервал движения такси в зависимости от времени суток. Так как поток людей обычно больше в вечернее время.
