Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Каталов Александр.doc
Скачиваний:
9
Добавлен:
19.04.2013
Размер:
320.51 Кб
Скачать

Построение имитационной модели.

Теперь, смоделировав все случайности можно переходить к построению имитационной модели. Оно осуществлено на алгоритмическом языке программирования C/C++.

Описание программы

Программа, текст которой представлен ниже, моделирует работу пункта проведения профилактического осмотра машин в течении 10 дней. Так как время работы пункта достаточно большое, то в начале выполнения программы предполагается, что все пункты проведения осмотра пусты и время прихода первого требования (первой машины) не определено. Предположим, что все группы проведения осмотра пронумерованы и что каждая машина поступает на осмотр в ту группу, которая имеет наименьший номер среди свободных, то есть машина поступает в первую группу, и если она свободна, то тут и происходит осмотр машины, если же первая группа занята то она поступает во вторую группу. При занятости второй группы осмотра машина едет к третей, если занята та, то к четвертой. Иначе машина покидает пункт неосмотренной.

Схема такого пункта обслуживания

Входящий Машины получившие

поток 1 2 3 4 отказ

машин

Поток осмотренных машин

При таком порядке обслуживания средняя загруженность различных каналов неодинакова. Наиболее загружен будет первый канал, за ним второй и так далее. Это никак не отражается на средних характеристиках по всему пункту, но отражается на некоторых характеристиках отдельно взятой группы (например количество обслуженных машин и суммарное время обслуживания группой за 10 дней).

Время в программе представлено отрезком в 10 дней, что составляет 14400 минут и изменяется по тактам (шагам) , например, по 0.5 минуты. Изначально программа дискретно моделировала объект. Если в какой-то такт времени приходила заявка (случайную величину времени прихода заявки и времени обслуживания приходилось округлять до длины такта), то проверялось состояние пункта в данный момент, в зависимости от этого состояния мог произойти переход в другое, генерировалось время освобождения группы, округленное до величины такта (если машина занимала свободную группу), и накапливалась необходимая статистика. Это дискретное моделирование давало удовлетворительный результат только при малых значениях такта изменения времени, поэтому программа была несколько переделана, сохранив при этом свой основной алгоритм, и теперь она стала правильно моделировать непрерывное время. В новом варианте программа не проверяет состояние пункта на последний такт времени, а смотрит, когда за этот такт времени она перешла из одного состояния в другое. Случайные величины времени прихода заявки и времени обслуживания теперь не нужно округлять до длины такта.

В конце выполнения программа по набранной статистике производит расчет следующих характеристик пункта проведения профилактического осмотра:

  • среднее время занятости каждой группы;

  • среднее время простоя группы;

  • среднее время пребывания машины в пункте (среднее время обслуживания) по группам и по всему пункту;

  • среднее время между приходами машин;

  • среднее время полной занятости пункта;

  • среднее время полного простоя пункта;

  • количество осмотренных за 10 дней машин;

  • коэффициент отказа.