Terminate 1

Создадим отсеивающий эксперимент, в ходе которого оценим влияние на критерий эффективности модели следующих факторов:

- время опроса (фактор А);

- время передачи одного пакета по каналу связи (фактор В);

-интервал времени между возникновениями запросов на рабо­чих станциях (фактор С);

- время доступа к глобальной сети (фактор D).

Для изменения значений этих факторов воспользуемся операто­рами EQU, которые определены в начале программы.

Для создания отсеивающего эксперимента выберем команду в меню Edit/Insert Experiment/Screening... и заполним поля диалого­вого окна (рис. 9.9).

Назначение элементов диалогового окна:

Experiment Name (название эксперимента). В данном случае «ScreenNetwork».

'Run Procedure' Name (название процедуры прогона). В данном случае «Do TheRun».

Factors (факторы), которых должно быть не более шести. В со­ответствующие поля необходимо ввести имена факторов, заданных в модели оператором EQU, и два значения уровней факторов (Value 1 и Value 2).

Fraction (доля) определяет, какая часть от полного факторного эксперимента будет выполнена, т.е. план 2 k-p. В этом случае прогоны зыполняются для каждого варианта значений уровней факторов, за­данных в полях Value 1 и Value 2.

Result, Expression (выражение для выходной переменной, для которой проводится эксперимент). В это поле могут быть введены на­звания переменных пользователя, СЧА или выражения.

Generate Run Procedure, Load Fll with CONDUCT command (флажки «Генерация процедуры прогона» и «Загрузка команды CONDUCT в клавишу F11») необходимо установить для автоматиза­ции и упрощения запуска эксперимента.

Alias Groups (группы смешивания). Эта кнопка открывает диалоговое окно Defining Relation (определение отношений, рис. 9.10).

Рис. 9.9

Рис. 9.10

Часто время одного прогона модели настолько велико, что де­лать все 2 k экспериментов с g повторениями не представляется воз­можным (особенно, когда факторов 4...6, a g= 100 или больше). В таком случае генератор отсеивающего эксперимента позволяет задать меньшее количество экспериментов (Fraction), т.е. 2 k-p. Этого можно добиться, благодаря смешиванию некоторых эффектов (Alias Groups). Следует, однако, учитывать, что при этом будет получена только часть информации. Кроме того, при превышении определен­ного предела числа прогонов уже нельзя будет определить эффекты отдельных факторов. В таких случаях можно сделать предположение о влиянии определенного фактора по значению эффекта, полученного для групп, в которые он входит и для которых это значение удалось рассчитать даже при меньшем количестве прогонов. Однако следует учитывать, что влияние факторов из одной группы может быть вза­имно противоположными. Может создаться впечатление, что эти факторы этой группы не оказывают на модель существенного влия­ния, в то время как в действительности каждый в отдельности оказы­вает такое влияние. Рекомендуется так группировать факторы, чтобы в каждой группе оказывался только один существенный фактор.

В приведенном примере в качестве критерия эффективности вы­брано среднее время (в мс) обработки запроса от момента появления его на рабочей станции до момента окончания приема результатов запроса на этой станции. Для получения этого времени используется регистратор очереди network. В качестве критерия выбран СЧА qt$network - среднее время нахождения транзактов в системе, кото­рое будет стремиться к истинному среднему только тогда, когда сис­тема будет работать в стационарном режиме. Если же запросы будут поступать с частотой, превышающей частоту их обработки, то длина очереди на обработку будет стремиться к бесконечности.

После заполнения диалога в модель будут вставлены такие про­цедуры:

ScreenNetwork - собственно отсеивающий эксперимент;

ScreenNetwork GetResult - процедура выполнения прогонов, служит для фиксации результатов каждого прогона и перехода к сле­дующему прогону;

DoTheRun - процедура прогона, которая служит для установки i начальных значений генераторов случайных чисел и запуска каждого нового прогона.

Генератор отсеивающего эксперимента GPSS World до версии 4.3.5 не всегда прописывает название процедуры DoTheRun на языке PLUS. Необходимо проверить добав­ляемый код и в случае, если эта процедура оказалась без названия, ввести его вручную.

Отсеивающий эксперимент в GPSS World предполага­ет, что модель работает в стационарном режиме и оценки выходной величины или критерия эффективности получа­ются по одному достаточно длинному прогону, поэтому в процедуре для отсеивающего эксперимента нет повторений для каж­дой комбинации уровней факторов.

Итак, для того, чтобы результаты эксперимента были достовер­ными, необходимо экспериментировать с моделью, которая находит­ся в стационарном режиме. Поэтому сначала необходимо исследовать модель на стационарность. Для этого воспользуемся графиком изме­нения величины qt$network - среднего времени обработки запроса (рис. 9.11) в модельном времени (выполнив пункт меню Win­dow/Simulation Window/Plot Window...).

Рис. 9.11

Из графика видно, что время переходного процесса равно при­мерно 20 мин (1200000 мс) и оказалось, как минимум, в 72 раза меньше времени одного прогона системы. Окончательную длитель­ность прогона для стационарного процесса надо определять в зави­симости от требуемой точности получения оценок для выходной пе­ременной. Это можно сделать для эргодических или регенерирующих процессов, как описано в параграф 9.4.

Для того, чтобы статистические данные, собираемые во время переходного процесса, не давали смещения для выходной перемен­ной, их необходимо удалять с помощью оператора RESET. Автома­тически сгенерированный отсеивающий эксперимент в конце проце­дуры DoTheRun предполагает, что переходный период в модели за­кончится после прохождения 100 транзактов (Get past the Startup Pe­riod).

/* SET UP YOUR OWN RUN CONDITIONS. */

DoCommand("START 100,NP"); /* Get past the Startup Period. */

DoCommand("RESET"); /* Begin the Measurement Period. */

DoCommand("START 1000,NP"); /* Run the Simulation. */

После этого выполняется оператор RESET и начинается период измерений (Begin the Measurement Period). Полный прогон модели (Run the Simulation) заканчивается после прохождения через нее 1000 транзактов.

В данном примере моделирование заканчивается через 24 часа (86400000 мс). Учитывая то, что один прогон модели занимает значи­тельное время и для 4-х факторов на двух уровнях надо выполнить для полного факторного эксперимента 24 прогонов, то сократим дли­тельность прогона до 10 длительностей переходного периода. Для этого установим таймер в модели на 1200000 мс.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: