Моделирующий алгоритм.

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

Типовая укрупненная схема моделирующего алгоритма

Рис. 8.2. Типовая укрупненная схема моделирующего алгоритма

Эта схема содержит следующие укрупненные модули: А — модуль задания начальных значений состояний, содержащий два подмодуля х — для задания начальных состояний моделируемого варианта и А у — для задания начальных состояний для одного прогона модели); В — модуль определения очередного момента смены состояния, осуществляющий просмотр массива состояний и выбирающий блок модели /и„ /= 1, п, с минимальным временем смены состояния min tf**; С — модуль логического переключения, содержащий три подмодуля (Сх — для логического перехода по номеру блока модели i или по времени Г, т. е. для решения вопроса о завершении прогона; С2 — для фиксации информации о состояниях, меняющихся при просмотре блока, а также для определения момента следующей смены состояния блока /и, и номера следующего особого состояния 50; С3 — для завершения прогона в случае, когда tУ* > Г, фиксации и предварительной обработки результатов моделирования); D — модуль управления и обработки, содержащий два подмодуля (Dl — для проверки окончания исследования варианта модели Мы по заданному числу прогонов или по точности результатов моделирования; D2 — для окончательной обработки информации, полученной на модели Л/м, и выдачи результатов моделирования).

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

Пример 8.1. Рассмотрим модульный принцип реализации модели S, формализованной в виде Q-схемы. Пусть имеется £Ф-фазная многоканальна Q-cxe.ua без потерь с ^-входными потоками заявок. В каждой фазе имеется Lf,j= 1, ЬФ, каналов обслуживания. Определить распределения времени ожидания заявок в каждой фазе и времени простоя каждого обслуживающего канала.

В качестве блоков модели Мн будем рассматривать: m — блоки источников заявок, имитирующие I,И входных потоков; тК — блоки каналов обслуживания,

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

Схема моделирующего алгоритма для данного примера приведена на рис. 8.3. Как видно из схемы, в подмодуле С2 предусмотрены три вида процедур: С2, С2 и С2 . Первая процедура С2 работает при поступлении заявки из любого входного потока, вторая процедура С2 работает в момент освобождения канала любой фазы обслуживания, громе последней, третья процедура Сд" работает при освобождении канала последней фазы, т. е. при окончании обслуживания заявки ^-схемой.

Рассмотрим более подробно операторы процедур С2, С2 и С'{. Оператор С21 определяет принадлежность л заявки к одному из Ь входных потоков, генерируемых модулем В. Оператор С'22 проверяет, есть ли на первой фазе очередь свободных каналов обслуживания. Если очередь есть, то управление передается оператору Сзз, в противном случае — оператору С'24. Оператор С" фиксирует момент поступления заявки в массиве очереди заявок первой фазы. Оператор С'24 выбирает номер канала из массива очереди канала первой фазы, уменьшая ее длину на единицу, вычисляет и фиксирует длительность простоя канала, определяет длительность обслуживания и засылает новый момент освобождения канала в массив состояний. Оператор С2з определяет новый момент поступления заявки и засылает его в соответствующую ячейку массива состояний.

Оператор С служит для определения у-й фазы и *-го канала,

У• 2" £ — 1, * "1, Ц. Оператор С22 проверяет наличие очереди заявок на выбранной у'-й фазе. При отсутствии очереди управление передается оператору С23, а при ее наличии — оператору С24- Оператор С23 засылает момент освобождения канала в массив очереди каналов у-й фазы, уменьшает длину очереди на единицу' и фиксирует время ожидания выбранной заявкой начала ее обслуживания. Далее определяется длительность обслуживания этой заявки освободившимся каналом, вычисляется и засылается в массив состояний новый момент освобождения канала. Операторы ^26 и С27 выполняют те же действия с заявкой, обслуживаемой на у-й фазе, что я операторы С22, С2 з и С24 с заявкой, которая поступила в первую фазу Q-cxeмы.

Оператор С** настраивает операторы этой процедуры С22, С'23 а С24 на выбранный канал обслуживания последней, /,Ф-й, фазы. Работа операторов С'22, С2з и С'24 аналогична работе операторов С22, С23 и С24-

Назначение остальных подмодулей алгоритма не отличается от рассмотренного ранее для моделирующего алгоритма, приведенного на рис. 8.2.

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

Схема моделирующего алгоритма многофазной многоканальной

Рис. 8.3. Схема моделирующего алгоритма многофазной многоканальной

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

Если говорить о перспективах, то блочный подход создает хорошую основу для автоматизации имитационных экспериментов с моделями систем, которая может полностью или частично охватывать этапы формализации процесса функционирования системы 5, подготовки исходных данных для моделирования, анализа свойств машинной модели Мм системы, планирования и проведения машинных экспериментов, обработки и интерпретации результатов моделирования системы. Такие машинные эксперименты должны носить научный, а не эмпирический характер, т. е. в результате должны предлагаться не только методы решения конкретной поставленной задачи, но и указываться границы эффективного использования этих методов, оцениваться их возможности. Лишь только автоматизация процесса моделирования создаст перспективы использования моделирования в качестве инструмента повседневной работы системного специалиста.

 
< Пред   СОДЕРЖАНИЕ     След >