Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147), страница 38
Текст из файла (страница 38)
Создать эксперимент для варьирования параметров и сделать его теку- щим. 2. Сконфигурировать эксперимент, выбрав параметры, которые вы хотите варьировать, и задав значения, которые эти параметры должны будут принять за определенное вами количество прогонов модели. 3. Запустить модель. Часть И Методологические вопросы использования моделей Рис. ЯЛ.
Вывод графика зависимости х(с) при различных значениях хо а модели неакк Рисунок 9.5 показывает зависимость от времени переменной х модели неагс при трех вариантах запуска модели с различными значениями параметра хо. Чтобы построить эксперимент для варьирования параметров, откройте модель иеатс в папке Моде! Ехаптр1е4Рап 111. Щелкните мышью по кнопке панели инструментов Новый эксперимент Я) или гцелкните правой кнопкой мыши по элементу Эксперименты и выберите Новый эксперимент из контекстного меню. В открывшемся диалоговом окне выберите опцию Эксперимент для варьирования параметров.
Сделайте этот эксперимент текущим. На вкладке Общие окна свойств данного эксперимента выберите опцию Перебор значений одного параметра, из выпадающего меню выберите параметр хб и установите начальное значение, конечное значение и шаг изменения параметра в соответствии с рис. 9.6. На вкладке Дополнителыгые этого окна установите условие остановки эксперимента по времени равным 1О единицам молельного времени. Соответствующая модель имеет имя неатсв. Рис. 9.6.
Настройка эксперимента для варьирования одного параметра Глава 9. Компьютерный эксперимент Запустите пошаговое выполнение модели ~В~. Введите новый график (диаграмму), в котором будет отображаться зависимость переменной . от времени. В диалоге Содержимое диаграммы, выбранном из контекстного меню этой диаграммы, выберите опцию Все прогоны лля значения Отображать, а в диалоге Параметры диаграммы выберите вкладку Осп и в ней в окне Размер окна установите 10.
Запустите модель. На диаграмму будут послеловательно выводиться три графика, каждый из которых соответствует выполнению модели при очередном значении параметра. Если будет выбрана опция Последний прогон, то на диаграмму будет выводиться только график, построенный за последний прогон модели. При выбранной опции Одна точка на прогон по оси Х будут откладываться номера прогонов модели, а по оси )' — значения отображаемой переменной, которые она имела в конце прогона.
В этом эксперименте также можно организовать фиксированное число прогонов модели, в каждом из которых значения параметров будут определяться выражениями, заданным пользователем. Предопределенное имя гостах в этих выражениях можно использовать в качества номера прогона. На вкладке Код окна Свойства проекта (это окно открывается при выделении имени проекта) в соответствующих полях можно включить код на языке 3ача, который будет выполняться перед каждым прогоном модели и после каждого такого прогона. Этот вид эксперимента не поддерживает визуализацию работы модели с помощью анимации. 9.4. Система оптимизации общего назначения Ор$Ооез$ Чаще всего имитационное моделирование используется для того, чтобы оценить качество возможных решений по управлению сложной системой.
Решением будем называть выбор одной альтернативы из некоторого множества рассматриваемых вариантов. Рациональным решением называется такое решение, которое максимизирует ожидаемую выгоду или полезность системы. Это решение всегда выбирается в соответствии с некоторым критерием. Иными словами, если мы хотим количественно оценить возможные альтернативы выбора, кроме множеств х и т (см. рис. 9.2) следует ввести показппгель зффективиистаи. Обозначим чт показатель эффективности системы, который может быть подсчитан по вектору у выходных значений, и пусть и есть множество всех возможных оценок качества решения.
Функция е из множеспи х векторов результирующих показателей во множество и оценок качества модели: Часть ИЬ Методологические вопросы использования моделей дает оценку каждому возможному вектору результирующих показателей. Оценка вектора исходов может быть выполнена в самой имитационной модели, поэтому можно считать, что имитационная модель в детерминированном случае позволяет непосредственно вычислить значение показателя эффективности иеи для каждого прогона модели (рис. 9.7). Рис. 9.7.
Ь1митационная модель с механизмом оценки исходов В простейшем случае каждый вектор результирующих показателей может быть оценен единым критерием (например, величиной прибыли), позволяющим оценить достижение поставленной при моделировании цели. В том случае, когда множество и является множеством вещественных чисел, результаты имитационных экспериментов можно сравнивать. Например, пусть при Ф(у>>Ф(у') вектор результирующих показателей у предпочтительнее вектора показателей у (задача максимизации).
Соответственно, альтернатива выбора и, которая приводит к вектору результирующих показателей у, будет предпочтительнее альтернативгя выбора и ', которая приводит к вектору результирующих показателей у'. При этом функция Ф называется функцией полезности или целевой функцией. Назовем вектор х тех значений факторов, которые определяют наиболее предпочтительный вариант решения, х,т. Поиск вектора х,„,ех называется обратной задачей имитационного моделирования. Обратные задачи моделирования отвечают на вопрос: "'Какое решение из области допустимых решений обращает в максимум показатель эффективности системы? Для решения обратной задачи обычно многократно решается прямая задача.
В случае, когда число возможных вариантов решений прямой задачи невелико, решение обратной задачи сводится к простому перебору всех возможных решений прямой задачи. Сравнивая между собой все полученные решения, можно найти одно или несколько наиболее предпочтительных решений (наборов исходных факторов х), для которых величина Ф[х> достигает максимума. Если перебрать все варианты для получения искомого оптимального решения в сложной системе невозможно, используются методы направленного перебора с применением эвристик.
При этом оптимальное или близкое к оптимальному решение находится после многократного выполнения последовательных шагов. На каждом таком шаге решается прямая задача модели- 199 Глене 9. Компьютерный эксперимент рования, т. е. получение для каждого нового набора входных параметров модели вектора результирующих показателей. Правильно подобранная эвристика для выбора очередного варианта набора входных параметров приближает эксперимент к оптимальному решению на каждом шаге. Условие елреиини» ллслерименте еилолнено Рис.
9.8. Имитационная модель при решении обратных детерминированных эвдвч В качестве блока регистрации значений выходных показателей и выбора очередного приближения при оптимизации (рис. 9.3) пользователь Апу(.оя(с может использовать любой внешний оптимизатор или же использовать оптимизатор ОргОиезц встроенный в Апу(.оя1с.
Оптимизатор ОрЩцез1 разработан недавно на основе метаэвристик рассеянного поиска (зсапет зеатсЪ) и поиска "табу" (ГаЪц зеагсЪ) [О(.971. Этот оптимизатор является лучшим из предлагаемых сегодня на рынке профессиональных пакетов оптимизации для решения сложных проблем оптимизации. ОрГОиезг как раз и позволяет решить обратную задачу моделирования: он автоматически находит лучшие значения параметров имитационной модели, соответствующие максимуму или минимуму целевой функции как в условиях неопределенности, так и при наличии ограничений. Оптимизатор ОргОцезт запускается прямо из среды разработки модели. Мы рассмотрим использование этого оптимизатора на примере.
9.5. Оптимизационный эксперимент а Апу1.оя! с Чтобы настроить оптимизацию в АпуЕой(с, нужно выполнить следующие шаги: 1. Создать в разработанной модели оптимизационный эксперимент. 2. Задать оптимизационные параметры (компоненты изменяемого вектора исходных факторов х) и области их изменения. 3. Задать условие остановки модели после каждого прогона.
Это может быть либо остановка по времени выполнения прогона, либо остановка по условиям, накладываемым на переменные модели. Честь!У. Методологические вопросы использования моделей 4. Задать целевую функцию — ту функцию, значение и которой отражает предпочтительность вектора исходных факторов к. Значение и должно быть доступно в конце каждого прогона модели, оно будет использоваться оптимизатором. 5. Задать ограничения, которые в конце кажлого прогона определяют, допустимо ли значение вектора исходных факторов к. Ограничения можно не задавать (т. е. это опционально). б.
Задать условия прекращения оптимизации. В'следующем разделе мы рассмотрим пример оптимизации, в котором все эти шаги конкретизированы. 9.6. Пример оптимизации В главе 3 была рассмотрена система предоставления услуг мобильной связи с помощью автоматической телефонной станции, на которую поступают вызовы. Поставщик сервиса выбирает оборудование автоматической телефонной станции, он оценивает параметры потока входых запросов (как часто люди будут звонить) и характеристики потока обслуживания (сколько времени требуется для получения консультации по телефону). Проблема состоит в определении числа каналов, которые дадут ему максимальную прибыль.
Введение дополнительных каналов связи приведет к росту доходов вследствие уменьшения числа необслуженных вызовов, но потребует дополнительных вложений. Какое число каналов выбрать поставщику сервиса? Будем считать, что за каждый отвергнутый вызов платится штраф (усредненные потери от неудовлетворенности клиента), а обслуженные вызовы приносят доход. Имея стоимость полдерживаемых каналов связи, можно в качестве целевой функции в этой модели выбрать прибыль, определяемую как разность доходов за обслуживание телефонных вызовов и расходов на оборудование, обслуживание станции и штрафы. Прибыль будем подсчитывать в среднем за единицу времени, например за минуту.
Она равна доходу минус расходы на оборудование (вместе со стоимостью обслуживания) и штрафы за отказ в обслуживании (все приведенное к стоимости в течение одной минуты). 9.6.1. Структура модели Структура модели представлена на рис. 9.9. Откройте новый проект, назовите его ноы~есотикипьсьсьоп. Из Епгегрпзе агату с помощью мыши перенесите блоки структуры системы в поле редактора структуры модели и соедините их в соответствии с рис.
9.9. Нам нужен один источник заявок (блок еосхсе), блок, решаюший, отказать или нет пришедшей заявке в обслуживании в соответствии с некоторым условием Глава 9. Компьютерный эксперимент (ае1ессоосрае), блок обработки входных заявок с использованием ресурсов — в нашем случае каналов связи (ргссеево), блок ресурсов (кевоьссе) и два блока стока (васк и вылит) — рис. 9.! О. Рис. 9.9.