- •«Моделирование работы магазина по продаже офисной мебели»
- •Аннотация
- •Содержание
- •Введение
- •1. Принцип функционирования моделируемой системы
- •1.1.Постановка задачи
- •1.2.Блок – схема алгоритма функционирования моделируемой системы
- •1.3.Выбор концептуальной модели
- •2. Формализация модели
- •2.1.Группировка событий
- •2.2.Переменные модели
- •2.3.Алгоритм имитации модели
- •2.3.1. Процедура планирования событий
- •2.3.2. Процедура grup
- •2.3.3. Процедура извлечения первой записи из календаря
- •2.3.4. Процедура инициализации
- •2.3.5. Главный модуль
- •2.3.6. Процедура поиска алгоритма обработки события
- •2.3.7. Процедура обработки события первого класса
- •2.3.8. Процедура обработки события второго класса
- •2.3.9. Процедура обработки события третьего класса
- •2.3.10. Процедура обработки события четвёртого класса
- •2.3.11. Процедура обработки события пятого класса
- •2.3.12. Процедура формирования отчёта по прогону (Outputn)
- •2.3.13. Формирования итогового отчёта (Output)
- •3. Выбор программного обеспечения
- •4. Программа имитационного моделирования
- •5. Результаты моделирования
- •6. Анализ результатов
- •6.1. Расчёт оптимального числа прогонов
- •6.2. Установление закона распределения
- •Заключение
- •Список использованной литературы
2.3.8. Процедура обработки события второго класса
Эта процедура (Sob2) облуживания у первого менеджера. Здесь фиксируется число клиентов, обслуженных первым менеджером (Kol_Client_L1:=Kol_Client_L1+1). Проверяется, является ли клиент дебитором, и если да (Atribut=1), то идет планирование события обслуживания у кассира. Если текущая длина очереди больше нуля, то планируется обслуживание из очереди. Текущая длина очереди уменьшается на единицу, номер изъятия увеличивается на единицу, атрибут клиента с позиции номера изъятия считывается из файла очереди и заносится в процедуру планирования.
2.3.9. Процедура обработки события третьего класса
Эта процедура (Sob3) облуживания у второго менеджера. Она аналогична Sob2. Здесь фиксируется число клиентов, обслуженных вторым менеджером (Kol_Client_L2:=Kol_Client_L2+1). Проверяется, является ли клиент дебитором, и если да (Atribut=1), то идет планирование события обслуживания у кассира. Если текущая длина очереди больше нуля, то планируется обслуживание из очереди.
2.3.10. Процедура обработки события четвёртого класса
Эта процедура (Sob4) облуживания у кассира. Здесь фиксируется число клиентов, обслуженных кассиром (Kol_Client_L3:=Kol_Client_L3+1).
2.3.11. Процедура обработки события пятого класса
Процедура обработки события данного класса (Sob5) вызывается в случае наступления чрезвычайной ситуации (отключение света). При этом работа турагентства приостанавливается на время устранения причин задержки. Это отражается в увеличении времени свершения событий в календаре, код которых отличен от 0 и 1, на время устранения причин задержки. События с кодом, равным единице, не учитываются, так как приход клиентов не связан с отключением света.
2.3.12. Процедура формирования отчёта по прогону (Outputn)
Процедура формирует отчёт по прогону. На экран и в файл отчётов будут выводиться данные:
- произошла ли ЧС;
- количество пришедших клиентов;
- количество клиентов, обслуженных первым менеджером;
- количество клиентов, обслуженных вторым менеджером;
- количество не обслуженных клиентов;
- количество клиентов-дебиторов;
- количество клиентов-дебиторов, обслуженных кассиром.
Процедура также запоминает полученные данные, которые впоследствии учитываются при составлении итогового отчёта:
- количество ЧС за все прогоны (KolChS:= KolChS +1);
- количество пришедших клиентов за все прогоны (Kol_ClientN:= Kol_ClientN + Kol_Client);
- количество клиентов, обслуженных первым менеджером за все прогоны (Kol_Client_L1N:= Kol_Client_L1N+ Kol_Client_L1);
- количество клиентов, обслуженных вторым менеджером за все прогоны (Kol_Client_L2N:= Kol_Client_L2N+ Kol_Client_L2);
- количество не обслуженных клиентов за все прогоны (Kol_NClientN:= Kol_NClientN+ Kol_NClient);
- количество клиентов-дебиторов за все прогоны (DebN:= DebN+ Deb);
- количество клиентов-дебиторов, обслуженных кассиром за все прогоны ( Kol_Client_L3N:= Kol_Client_L3N+ Kol_Client_L3).
2.3.13. Формирования итогового отчёта (Output)
На экран и в файл отчётов Report.txt выводятся данные:
количество ЧС;
среднее количество пришедших клиентов;
среднее количество клиентов, обслуженных первым менеджером;
среднее количество клиентов, обслуженных вторым менеджером;
среднее количество не обслуженных клиентов;
среднее количество клиентов-дебиторов;
среднее количество клиентов-дебиторов, обслуженных кассиром.
