Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции - Имитационное моделирование систем массового обслуживания.doc
Скачиваний:
254
Добавлен:
02.05.2014
Размер:
147.46 Кб
Скачать

3. Модельное время

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

При имитационном моделировании различают три вида времени.

1. Время реальной системы — это время, в котором "живет", функционирует моделируемая система.

2. Модельное время — это "искусственное" время, в котором "живет" модель или другими словами это время, которое является имитацией, прообразом (моделью) времени реальной системы.

3. Реальное время — это время, в котором живет исследователь, компьютер или другими словами это время необходимое для моделирования (затратное время).

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

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

1) коррекция с постоянным шагом (принцип t);

2) коррекция с переменным шагом (принцип z).

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

Проиллюстрируем оба принципа коррекции таймера на примере. ПустьС1,С2,С3, ...– основные события, происходящие в системе, аt1,t2,t3,...- моменты появления этих событий. Отметим эти события и соответствующие моменты на оси времени реальной системы, причем полагаем, что событияС4иС5происходят одновременно (рис.3.1, а)

Рис. 3.1. Моменты возникновения и обработки событий.

В модели, где время корректируется с постоянным шагом по принципу t(рис.3.1, б) модельное времяtMбудет последовательно принимать значенияt1'=t, t2'=2t,t3'=3tи т.д. Эти моменты модельного времени никак не связаны с моментамиt1,t2,t3... появления событий в реальной системе. При этом подходе после очередного приращения таймера на величинуtпроверяется, не произошли ли на этом интервале в системе какие-нибудь события. Если есть такие события, то они обрабатываются, считая, что они якобы произошли в текущий момент модельного времени (правая граница интервала приращения), хотя реально события появились в другие моменты времени из интервалаt. Очевидно, что при этом обработка событий может производиться группами. Выбор значенияtоказывает существенное влияние на результаты моделирования с точки зрения адекватности отражения реальных событий в модели и затрат ресурсов компьютера на моделирование. Еслиtзадать большим, то результаты моделирования могут быть недостоверными, т.к. все большее число событий группируется и обрабатывается в одной точке модельного времени. С другой стороны, уменьшениеtдля того, чтобы два неодновременных события не попали в один и тот же интервалt, а, следовательно, обрабатывались в разные моменты модельного времени, приводит к увеличению затрат на моделирование, т.к. значительная часть ресурсов будет тратиться на коррекцию таймера и на отслеживание событий, которых в большинстве интерваловtпри этом могут и не быть. При любом уменьшенииt всегда остается возможность попадания двух неодновременных событий в один и тот же временной интервалt.

В модели, где время корректируется с переменным шагом или по принципу z, значения, принимаемые модельным временем, совпадают, а значит, непосредственно связаны с моментами возникновения событий в реальной системе:t1"=t1,t2"=t2,t3"=t3. Достигается это тем, что при очередном приращении (после отработки события в текущий момент времени) модельное время сдвигается вперед до момента наступления следующего (ближайшего по времени) события. Отсюда, каждый раз модельное время получает переменное приращение, равное интервалу между двумя последовательными основными событиями. Очевидно, что при таком подходе, события отрабатываются в той последовательности, в те моменты времени, в которые они возникают в реальной системе. При этом одновременная обработка событий в модели имеет место только тогда, когда эти события появляются одновременно и в реальной системе (событияС5иС6на рис.3.1).

При любом способе коррекции таймера модельного времени, в начале моделирования, таймер, как правило, устанавливается на нулевое значение (tM =0). При этом разработчик сам решает вопрос о том, какое значение времени реальной системы принять за точку нулевого отсчета. Например, если необходимо моделировать процесс функционирования некоторой системы в течение суток, то началу отсчета модельного времени может соответствовать 8 часов утра, 12 часов дня и т.д. Кроме того, разработчик самостоятельно решает и вопрос о выборе единицы модельного времени и все значения времени, входящие в модель или получаемые при моделировании, должны быть выражены через выбранную единицу.

Еще один вопрос, который надо решить в начале моделирования, это условие (или условия) завершения моделирования. В общем случае, в качестве такого условия можно принять некоторое условие, которое может иметь место в моделируемой системе. В ходе моделирования модель проверяет возникновение соответствующего условия в системе и как только это условие возникает, модель принимает решение об окончании моделирования.

Однако, на практике, как правило, поступают гораздо проще, а именно, в начале моделирования задается время моделирования Ти по достижению модельным временем этого значения, т.е. когдаtM Т,принимается решение о завершении моделирования и модель переходит к обработке полученных результатов. Иногда это условие дополняется другими условиями завершения моделирования. Например, дополнительным условием может быть условие дообслуживания тех заявок, которые оказались в СМО в момент времениtM=Т.

Для реализации способа завершения моделирования по выполнению условия tMТс тем, чтобы при каждой коррекции таймера не проверять выполнение этого условия, в модель можно ввести основное псевдо-событие "окончание моделирования". Такое событие укладывается в концепцию основных событий как событий, которых можно планировать заранее, т.к. момент наступления события "окончание моделирования" задается заранее в начале моделирования.

На рис. 3.1. введенное псевдо-событие обозначено через С0 с моментом наступленияТ.Если после очередной коррекции модельного времени выяснится, что наступило событие "окончания моделирования", то принимается соответствующее решение.

Далее в качестве способа коррекции таймера модельного времени будем использовать способ коррекции с переменным шагом в силу очевидных достоинств, присущих данному способу.