С учетом этого внесем изменения в процедуру DoTheRun.
/* SET UP YOUR OWN RUN CONDITIONS. */
DoCommand("START I,NP"); /* Get past the Startup Period. */
DoCommand("RESET"); /* Begin the Measurement Period. */
DoCommand("START 10,NP"); /* Run the Simulation. */
После трансляции модели (пункт меню Command/Create Simulation или с помощью комбинации клавиш Ctrl+Alt+S) выполним полный (Full) отсеивающий эксперимент, нажав функциональную клавишу F11. В результате будут получены такие данные.
Как видно из результатов, только два эффекта - С и D - значимы, причем рост интенсивности запросов на рабочих станциях отрицательно сказывается на среднем времени пребывания в сети, а увеличение скорости передачи пакетов уменьшает это время.
Оптимизирующий эксперимент. Этот эксперимент предназначен для построения уравнения поверхности отклика для заданных факторов модели и поиска численного значения оптимума (сочетания таких значений факторов, при котором заданная функция принимает экстремальное значение - максимум или минимум). Максимально возможное количество изменяемых факторов - пять. Эксперимент проводится с уже созданной моделью. Факторы, которые будут изменяться, должны быть в модели представлены в виде констант, которые определяются с помощью оператора EQU или переменных. В ходе эксперимента производится многократный прогон модели, фиксация результатов и использование их для получения поверхности отклика и поиска оптимума.
Оптимизирующий эксперимент добавляется в созданную и отлаженную модель. Для этого необходимо выбрать пункт меню Edit/Insert Experiment/Optimizing, после чего откроется диалоговое окно Optimizing Experiment Generator (рис. 9.12).
Рис. 9.12
В нем указываются необходимые для выполнения эксперимента параметры. В полях Experiment Name и Run Procedure Name задаются соответственно название эксперимента и Run-процедуры прогонов модели. По умолчанию название эксперимента - RSM (от R esponse S urface M odel). Это имя будет добавлено ко всем названиям процедур и переменных, которые автоматически генерируются для этого эксперимента. Пользователю доступны для изменений все процедуры, относящиеся к эксперименту, кроме одной –RSM_FitSurfaceToData (имя процедуры фиксировано и не изменится при задании другого названия эксперимента). В качестве названия Run-процедуры рекомендуется использовать DoTheRun, хотя можно использовать и любое другое имя.
В полях Factor Name А, В, С, D, Е указываются изменяемые величины (факторы) и задаются значения их верхних и нижних уровней Value 1 и Value 2.
Поля Low Limit, High Limit для Movement Limits задают максимальные границы перемещения (могут иногда помочь при поиске оптимума, но в большинстве случаев можно оставлять значения по умолчанию 0 и 100).
Значение поля Redirection Limit ограничивает количество изменений направлений при поиске оптимума. В некоторых случаях достаточно 1, но обычно нужно выбирать 2 или 3.
В поле Expression указывается целевая функция - выражение на языке PLUS, заключенное в круглые скобки, или переменная модели, в которой задана эта функция. С помощью переключателя Maximize-Minimize выбирается направление оптимизации.
При выборе Generate Run Procedure создается процедура прогонов модели, в противном случае придется ее написать. Выбор Load F12... позволяет запускать эксперимент с помощью нажатия одной клавиши F12 вместо того, чтобы выбирать в меню Command/Conduct и в нем вводить CONDUCT RSM() или другое выбранное название эксперимента.
Для запуска автоматической генерации эксперимента нужно нажать на кнопку Insert Experiment, но сначала необходимо задать перечисленные параметры.
Покажем на примерах, как можно использовать оптимизирующий эксперимент.