Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
imep.doc
Скачиваний:
1
Добавлен:
20.09.2019
Размер:
221.18 Кб
Скачать

5 Разработка моделирующего алгоритма имитационной модели

Алгоритм представляет собой последовательность действий и логику решения задачи, а также содержит описание формирования выходной (результатной) информации на основе первичной (исходной). Разработка алгоритма основывается на специфике бизнес-процессов предприятия. Работа имитационной модели производится по компьютерной программе, алгоритм которой имеет вид, показанный на рисунке 4.

Следует описать работу алгоритма модели.

На первом этапе или, можно сказать, в первом блоке объявляется число реализаций (число прогонов) алгоритма, которое задается в исходных данных.

Далее идет блок обнуления переменных. Обнуляются следующие переменные: SNкл (число клиентов за день, совершивших переговоры), Nкл (число клиентов), Nобскл[K] (число клиентов, совершивших переговоры в кабине с номером К) , T (модельное время), Tосвкаб[K] (время освобождения кабины К), Tокразг[K] (время окончания разговора), Tпркаб[K] (время простоя кабины К), Tочкаб[K] (время нахождения клиента в очереди в данную кабину), STочср (суммарное время нахождения в очереди), STпр (суммарное время простоя кабин), STпрср (среднее время простоя), STоч (среднее время нахождения в очереди), SNклср (среднее количество клиентов, совершивших переговоры).

Следующий блок объявляет начало цикла формирования числа клиентов в день. Для работы этого цикла в исходных данных заносится максимальное число клиентов в день Nклмакс.

В следующем блоке датчик случайных чисел генерирует значение случайной величины на отрезке от 0 до 1, распределенной по нормальному закону. Затем происходит разыгрывание показательной случайной величины времени между клиентами T*=-Тсркл*ln(z). Модельное время увеличивается на значение моделируемого времени между клиентами Т= Т+Т*, цикл завершается в том случае, если моделируемое время появления клиента превышает рабочее время пункта междугородних переговоров Т+Т*>Траб, которое тоже задается в исходных данных.

Далее - блок обслуживания клиентов. Обслуживается то количество, количество клиентов, которое сформировалось в предыдущем цикле. Но это не значит, что все клиенты будут обслужены, то есть смогут совершить переговоры.

Необходимо выбрать кабину, которая быстрее освободиться или которая уже свободна. Для этого нужно переменной, которая будет содержать минимальное время окончания разговора, присвоить время окончания разговора в кабине с номером К Tокразгmin=Tокразг[K], а переменная Kmin содержит номер этой кабины K.

Затем подряд проверяются два условия: Tосвкаб[K]> Траб – время освобождения кабины К не превышает рабочее время и Tосвкаб[K+1] < Tокразгmin – нет ли другой кабины с меньшим временем освобождения. Эти условия проверяются последовательно. В ту кабину, которая характеризуется наименьшим временем освобождения, направляется клиент. Условием выхода из этого цикла является превышение времени освобождения всех кабин рабочего времени либо окончание обслуживания всех клиентов.

В следующем блоке обнуляется модельное время, а времени начала обслуживания присваивается время появления очередного клиента Tнач[K]= Ткл(Nкл).

Затем проводится проверка условия: Tнач[K]>Tосвкаб[K]. Если время начала разговора действительно больше времени освобождения кабины, то есть выше упомянутое условие верно, рассчитывается время простоя кабины по формуле Tпркаб[K]= Tнач[K]- Tосвкаб[K].

Затем проверяется обратное условие, то есть Tнач[K]<Tосвкаб[K], если оно верно, рассчитывается время нахождения клиента в очереди Tочкаб[K]= Tосвкаб[K]- Tнач[K], а времени начала обслуживания присваивается время освобождения кабины Tнач[K]= Tосвкаб[K].

Следующий этап – это разыгрывание показательной случайной величины времени разговора с помощью датчика случайных чисел ДСЧ(z), Токразг[K]= Tнач[K]-Тсрразг*ln(z).

Затем времени освобождения кабины присваивается время окончания разговора клиента Tосвкаб[K]= Токразг[K].

После выхода из цикла рассчитываются суммарное число клиентов, совершивших переговоры, как сумма клиентов в каждой кабине, суммарное время простоя каналов и суммарное время нахождения в очереди аналогичным образом.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]