Вы находитесь на странице: 1из 22

Введение [1]

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

Сокращения

ЦФ – целевая функция

1 Окно «Optimizer» (Оптимизатор). Вкладка Settings (Настройки)

Simulation type (тип решателя): задаётся тип решателя. Краткое описание решателей дано в приложении 1.

Скрин 2

Полагаю, наш выбор в данном поле: Template based postprocessing (Постобработка на основе шаблонов).

Acceleration (ускорение): оптимизация настроек для более быстрых вычислений

Скрин 3

- Multithreading (CPU) up to (многопоточность процессора увеличить до):


Если процессор (CPU) поддерживает многопоточность, то надо поставить галочку.
Большинство современных процессоров поддерживают многопоточность: и  Intel , и AMD.
Но бывают и многоядерные однопоточные.
Справа надо указать: какое количество потоков процессора мы выделяем для работы.
Если одновременно с расчётами не планируем работать на компе, то можно назначить все потоки.
Количество потоков обычно в два раза больше, чем ядер.
Можно определить количество по обозначению процессорв, например,
следующим способом: 4C/8T (от английского cores — ядра, threads — потоки).
Также можно использовать утилиту CPU-z :

- GPU acceleration (Ускорение графического процессора):


Вкл./выкл. поддержку в программе CST аппаратного ускорения (видеокарты).
Справа указывается количество графических процессоров.

Современные видеокарты поддерживают аппаратное ускорение.


Чтобы проверить, включено ли аппаратное ускорение: WIN+R;
в открывшемся окне вписать команду «dxdiag», без кавычек и нажать Enter;
на вкладку «Экран» см блок «Возможности Directx» (там всё должно быть ВКЛ).
Скорее всего на скорость расчётов это не влияет, а только на отображение объёмных картинок.
Можно и поставить галочку (а можно и не ставить).
Этот параметр действует только в том случае, если компьютер оснащен графическим процессором,
поддерживаемым CST.

- Distributed computing (распределекние вычислений):


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

- MPI computing: распределение ресурсов в пределах одной задачи между потоками в одном компе
или между несколькими компами в одном кластере. Это для спецов IT-шников.
Галочку не ставим
- Блок Token usage (использование маркеров)
 Required tokens for this simulation (Необходимые маркеры для этого моделирования ) показывает количество
маркеров ускорения, необходимых для выполнения моделирования с настройками, сделанными в других разделах этого
диалогового окна. Это число автоматически обновляется при изменении вышеуказанных настроек ускорения.
 Не трогаем тут ничего. Это для спецов IT-шников.

Методы оптимизации выбираются в поле Algorithm оптимизатора

Скрин 1

О выборе методов оптимизации смотри раздел 2.

Properties (Свойства) В зависимости от выбранного типа алгоритма доступны следующие настройки:


Если выбран глобальный алгоритм или «симплексный алгоритм Нельдера Мида»,

то откроется диалоговое окно свойств соответствующего глобального оптимизатора.

Use interpolation (Использовать интерполяцию): вкл/выкл интерполяцию (если параметр доступен для выбраного метода.

Этот флажок доступен только для «Генетического» алгоритма или «Оптимизации роя частиц». Установите этот флажок, чтобы активировать

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

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

функции интерполяции окупится только в том случае, если пространство параметров не слишком многомерно (не очень много параметров) или

планируется большое количество итераций.

Поскольку возможные целевые функции, которые могут быть определены, всегда имеют неотрицательные значения, оптимизация будет

автоматически остановлена, если одна из опорных оценок даст целевое значение, равное нулю.

Include anchor in initial point set (Включить опорную комбинацию параметров в набор начальных точек)

Этот флажок доступен только для «симплексного алгоритма Нельдера Мида». Если эта функция включена, то точка, определенная как

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

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

сгенерированного набора будет заменена предопределенной точкой. Однако если текущая точка была создана предыдущим запуском

оптимизации локального оптимизатора и планируется вторая оптимизация на уменьшенном пространстве параметров, то эту настройку следует

отключить, поскольку это увеличивает риск того, что вторая оптимизация сойдется к тому же локальному оптимуму, что и раньше. В этом случае

вторая оптимизация не даст никаких улучшений.

Optimizer passes (проходы Оптимизатора): Этот флажок доступен только для «интерполированного квази-Ньютона.» Установите количество
проходов (см. ниже описание метода), необходимых для «интерполированного квази-Ньютоновского» оптимизатора.

Domain accuracy (Точность домена): Этот флажок доступен только для метода «Trust Region Framework». Установите точность оптимизатора в

пространстве параметров, если все диапазоны параметров сопоставлены интервалу [0,1].

Accuracy (Точность): Этот флажок доступен только для «классического Пауэлла». Задается точность, влияющая на точность настройки

оптимальных параметров и время окончания процесса оптимизации.


Reset min/max (Сброс min/max): Сбросить минимальное и максимальное значения каждого параметра до введенного процента от
начального значения. Если начальное значение равно 0, то минимальное / максимальное значение устанавливается равным -/+ отношению
указанного значения процента к 100. Т.е. если указано 10 % (при начальном 0), то максималное значение параметров уменьшатся на 10/100
от максимума (на 0.1*MAX).

Use current as anchor value (использовать текущие значения как начальные для предстоящего расчёта ): Активируйте этот флажок, чтобы

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

ранее достигнутыми результатами параметров. Однако если вы хотите запустить оптимизатор несколько раз с одними и теми же начальными

условиями параметра, вы должны отключить эту кнопку проверки.

Use data of previous calculations (Используйте данные предыдущих расчетов):

Активируйте эту кнопку проверки, чтобы запустить импорт ранее рассчитанных результатов для новых оптимизаций, чтобы ускорить

процесс оптимизации. Если шаблоны результатов, на которых основаны цели оптимизатора, уже были оценены ранее и соответствующие

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

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

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

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

рассчитанные параметры по соседству. Это может нарушить выбранный тип распределения набора начальных точек, но алгоритм найдет хороший

компромисс между поиском точек с хорошим целевым значением и хорошо распределенным набором начальных точек в пространстве

параметров. Имейте в виду, что эта функция затруднит воспроизводимость оптимизаций, поскольку после оптимизации будет доступно больше

потенциальных импортов, чем раньше.


ПОЛЕ СПИСКА ПАРАМЕТРОВ

Флажок: В списке параметров можно выбрать параметры, изменяемые во время выполнения оптимизации.

Parametr (Параметр): Показывает имя параметров (только для чтения).

Min / Max: Вы можете установить минимальные и максимальные границы параметров, выбранных для процесса оптимизации, вручную или с

помощью кнопки Reset min / max, как описано выше. Минимальные / максимальные значения должны быть меньше / больше начального

значения параметра.

Samples (пробные выборки): Задаётся количество выборок (проб) в диапазоне параметра. Если вы используете методы

«интерполированный квазиньютоновский», «генетический» или «оптимизатор роя частиц», вы должны установить значение для количества

выборок (минимум 3). Обратите внимание, что большое количество N выборок не означает автоматически, что будет выполнено N 3D-решателей.

Значение выборки скорее определяет ширину шага для локального оптимизатора поиска. Чем больше число выборок (прорб), тем меньше шаг.

Для большего диапазона параметров более высокое значение выборки может привести к более точным результатам. Если  используется

«генетический» оптимизатор или «оптимизатор роя частиц» и интерполяция отключена, эта настройка не будет иметь никакого эффекта.

Anchor (опорное /начальное значение): Здесь можно изменить начальное значение параметра.

Current (текущее значение): Показывает значения параметров текущей модели.

Best (лучшее значение): показывает наилучшую комбинацию параметров, найденную оптимизатором до сих пор.
2 Методы оптимизации [1]
Методы оптимзации делятся на градиентные (вычисляющие производную) и стохастические (использующие случайность).

2.1 Методы локальной оптимизации (оптимизация одного или нескольких параметров)

2.1.1 Classic Powell (Классический метод Пауэлла). Метод сопряженных направлений

Простой и надежный локальный оптимизатор для однопараметрических задач. Хотя и медленнее, чем интерполированный квази-
Ньютон, иногда он может быть более точным.
Подходит для: однопеременной оптимизации в моделях, не требующих больших вычислений. Если количество варьируемых
параметров более одного, то следует использовать другие методы оптимизации.
Механизм метода основан на заумной манипуляции с векторами (матрицами).Метод не использует интерполяцию и расчёт
чувствительности. Может найти точное решение, но потребуется много вычисляемых выборок (значений параметра) в сравнении с другими
методами.
Алгоритм чувствителен к выбору начальной точки в пространстве параметров. Если начальная точка близка к желаемому оптимуму
или (неизвестная) целевая функция достаточно гладкая, то алгоритм будет быстро сходиться.

Скрин сделать с настройками этого алгоритма

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

2.1.2 Interpolated Quasi Newton ( Интерполированный квази-Ньютон)

Это быстрый локальный оптимизатор, имеет быструю сходимость.


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

Скрин сделать с настройками этого алгоритма

Чтобы не пропустить острый пик целевой функции (см. рисунок ниже) увеличивается количество проходов оптимизатора (от 2 до 10).
Для наиболее распространенных оптимизаций рекомендуется не увеличивать число пролходов больше 3, а увеличить количество выборок в
списке параметров (т.е. делать более короткие шаги изменения параметров), если результаты не подходят.  Т.е. необходимо задать количество
отсчетов N для каждого параметра. Таким образом, диапазон параметров, определяемый верхним и нижним пределами, делится на (N – 1)
участков. Внутри каждого раздела первичные данные интерполируются.

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

2.1.3 Trust Region Framework (Структура области доверия)


Мощный локальный оптимизатор, который строит линейную модель на первичных данных в области "доверия" вокруг начальной точки.
Смоделированное решение будет использоваться в качестве новой отправной точки до тех пор, пока оно не сойдется к точной модели данных.
Платформа Trust Region может использовать информацию о чувствительности S-параметров для сокращения количества необходимых симуляций
и ускорения процесса оптимизации. Это самый надежный из алгоритмов оптимизации.
Подходит для: Общей оптимизации, особенно на моделях с информацией о чувствительности.

Самый современный из семи алгоритмов оптимизации CST STUDIO. Алгоритм начинается с построения линейной модели на
первичных данных в "доверительной" области вокруг начальной точки. Для построения этой модели будет использована информация о
чувствительности первичных данных (см. ниже), если она будет предоставлена. Быстрая оптимизация выполняется на основе этой локальной
модели, чтобы получить кандидата для новой оценки решателя. Новая точка принимается, если она превосходит начальную модель (сочетаниие
параметров).  Если модель недостаточно точна, то радиус области доверия будет уменьшен и будет создана модель для новой области доверия. 
Алгоритм будет сходиться, как только радиус области доверия или расстояние до следующего прогнозируемого оптимума станут меньше заданной
точности домена.
Скрин сделать с настройками этого алгоритма

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

Подробнее об анализе чувствительности см. приложение 3.

Для включения использования анализа чувствительности нужно не забыть поставить галочку в поле окна решателя «use sensitivity
analysis» (использовать анализ чувствительности):

И выбрать параметры (включая флажок слева), для которых включить использование


Рисунок – Пример включения использования анализа чувствительности в случае применения
решателя частотной области Frequency domain solver

Алгоритм чувствителен к выбору начальной точки в пространстве параметров. Если начальная точка близка к желаемому оптимуму
или (неизвестная) целевая функция достаточно гладкая, то алгоритм будет быстро сходиться.
 Trust Region Framework является наиболее надежным из алгоритмов, поскольку подход Trust Region всегда обеспечивает сходимость
к стационарной точке. Он также очень эффективен, позволяя избежать многих запусков решателя путем интерполяции первичных данных
без ущерба для точности. Если задана информация о чувствительности для параметров, то этот алгоритм достигнет наилучших скоростей
сходимости из всех алгоритмов (вероятно имеется в виду алгоритмы локальной оптимизации).
2.1.4 Nelder Mead Simplex Algorithm (Симплексный алгоритм Нелдера Мида)

Этот метод представляет собой метод локальной оптимизации, который использует несколько точек, распределенных по
пространству параметров, для поиска оптимума. Симплексный алгоритм Нелдера Мида менее зависит от начальной точки, чем
большинство локальных оптимизаторов.
Подходит для: Сложных проблемных областей с относительно небольшим количеством параметров, систем без хорошей начальной
модели (т.е. если заранее трудно даже предположить, где находится оптимум).

Используется при количестве параметров не более 6.


Это наиболее известный метод среди методов, не использующих стратегию движения по направлениям, т.е. стохастический метод.
Метод основан на том, что экспериментальным образцом, содержащим наименьшее количество точек, является симплекс. Регулярный
(правильный) симплекс в N-мерном пространстве – это многогранник, образованный N+1 равноотстоящими точками – вершинами
симплекса.
В пространстве 2-х мерном симплекс – равносторонний треугольник, а в 3-х мерном - правильный тетраэдр.
Важное свойство симплекса это то, что новый симплекс можно построить на любой грани исходного путём отражения какой-либо
вершины относительно центра тяжести всех остальных вершин симплекса:

Вычисляя значения целевой функции в вершинах симплекса, получаем информацию о характере изменения этой функции в области
расположения симплекса.
Поиск точки минимума целевой функции с помощью правильных симплексов производится следующим образом:
- На каждой итерации происходит вычисление целевой функции во всех точках симплекса и их упорядочивание по
возрастанию значений.
- Затем осуществляется последовательная попытка построить новые симплексы с лучшими значениями целевых функций,
путем отражения точек с худшими значениями.
- Если последовательная попытка отражения двух худших вершин оканчивается неудачей, то производится сжатие размеров
симплекса к точке и осуществляется новая итерация.
Поиск завершается, как только разность между значениями функции в
точках симплекса становится достаточно малой.

Алгоритм обладает некоторыми свойствами как локальных так и глобальных методов оптимизации. Он начинается с набора N+1
точек, распределенных в пространстве параметров подобно алгоритмам глобальной оптимизации, и по мере продолжения оптимизации он
будет сходиться к некоторому оптимуму, который может быть локальным экстремумом. (N - число параметров.)
Алгоритм не нуждается в информации о градиенте для определения направления поиска. Это становится приемуществом в сравнении с
другими локальными алгаритмами если количество параметров растёт. Поэтому его можно использовать при бОльшем количестве параметров.
Алгоритм также менее зависит от выбранной начальной точки, поскольку начинается с набора точек, распределенных в пространстве
параметров.  Это увеличивает вероятность найти нужный пик целевой функции среди множества меньших пиков.
Алгоритм способен продолжать оптимизацию, даже если для некоторых параметров модель не может быть оценена. Комбинация
параметров, для которой результаты не могут быть получены, называется неосуществимой. 

Скрин сделать с настройками этого алгоритма


Goal Function Level (Уровень целевой функции): Алгоритм будет остановлен, если значение целевой функции будет меньше
заданного уровня. Однако если оптимизация выполняется распределенно, то этот критерий будет проверен только после того, как будут
рассчитаны все параллельные оценки. Если желаемая точность равна нулю, то алгоритм остановится только в том случае, если будет
удовлетворен один из других критериев.
Minimal Simplex Size (Минимальный размер симплекса): для оптимизации пространство параметров отображается на N-мерную
ячейку, условную геометрическую фигуру, называемую «симплекс». Симплекс движется в многомерном пространстве значений N
параметров. При приближении к оптимальному решению грани симплекса уменьшаются. Алгоритм остановится, как только самое большое
ребро Симплекса будет меньше заданного размера.
Maximal Number of Evaluations (Максимальное количество оценок): Задаётся, максимальное количество комбинаций параметров,
которое будет оценено.  Если выбрать слишком малое значение для минимального размера симплекса, то вполне возможно, что алгоритм
будет либо долго считать, либо так и не достигнет заданного уровня целевой функции. В этом случае удобно определить максимальное
количество оценок (более 1), чтобы ограничить время оптимизации.
Choice of the Initial Data Set (Выбор исходного набора данных) смотри в 2.2.2.

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

Недостатки метода: метод работает эффективно при количестве варьируемых параметров N 6 , алго-
ритм основан на циклическом движении по координатам. Это может привести к вырождению алгоритма в бесконечную
последовательность исследующих поисков.

2.2 Методы глобальной оптимизации (оптимизация с многими параметрами)


Количество оценок не зависит от количества параметров.
Алгоритмы глобальной оптимизации исследуют бОльшую часть пространства параметров.
Если ожидается негладкая целевая функция, начальная точка находится далеко от оптимума или будет исследовано большое
пространство параметров, то следует предпочесть глобальный алгоритм. Выбор глобального оптимизатора вместо локального окупится, если
задача оптимизации имеет большое количество параметров.

2.2.1 CMA Evolutionary Strategy (Эволюционная стратегия CMA)

Наиболее сложной из глобальных оптимизаторов и имеет относительно быструю сходимость для глобального оптимизатора.
Оптимизатор может “запоминать” предыдущие итерации, и эта история может быть использована для повышения производительности
алгоритма, избегая локальных оптимизаций.
Подходит для: Общей оптимизации, особенно для сложных проблемных областей

Эволюционная стратегия CMA - это аббревиатура от «Эволюционной стратегии адаптации ковариационной матрицы».
Ковариационная матрица – вероятностная матрица, определяющая связь между параметрами. Начальная выборка назначается по заданной
статистической модели. Алгоритм использует статистическую модель для эффективной выборки проектного пространства в сочетании с
некоторым параметром размера шага. Выборка пространства параметров производится путем аппроксимации многовариантного
нормального распределения с учетом ковариационной матрицы, адаптированной в ходе оптимизации. Статистический подход придает
алгоритму устойчивость метода глобальной оптимизации, избегая ранней сходимости к локальному минимуму. Алгоритм также имеет
внутренний размер шага, который будет контролировать сходимость. Таким образом, метод имеет общие свойства локальной и глобальной
оптимизации.

Скрин сделать с настройками этого алгоритма

Maximal Number of Evaluations (Максимальное количество оценок): Задаётся, максимальное количество комбинаций параметров,
которое будет оценено. В зависимости от постановки оптимизационной задачи возможно, что заданный уровень целевой функции не будет
достигнут. Если дополнительно выбрать небольшое значение для минимального размера симплекса, то вполне возможно, что алгоритму
потребуется больше оценок целевой функции для сходимости. В этом случае удобно определить максимальное количество оценок
функций, чтобы априори ограничить время оптимизации. Это число должно быть больше единицы.
Sigma: Выбранное значение масштабирует размер начального шага алгоритма. Небольшое значение (близкое к нулю) сделает метод
более локальным и улучшит его свойства сходимости. Большое значение (близкое к единице) сделает метод более глобальным и повысит
устойчивость к ранней сходимости к локальному минимуму.
Choice of the Initial Data Set (Выбор исходного набора данных) смотри в 2.2.2.

Алгоритм способен продолжать оптимизацию, даже если для некоторых параметров модель не может быть оценена, но только если
функция интерполяции не включена. Эта функция вкл/выкл в окне «Optimizer» в поле «Use interpolation» (использовать интерполяцию)
2.2.2 Genetic (генетическая оптимизация)

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

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

Рисунок – Пример заполнения окна из Приложения 4

Population Size (Размер популяции): Можно указать размер популяции для алгоритма. Имейте в виду, что выбор небольшого размера
популяции увеличивает риск истощения генов. Если выбран большой размер популяции, то для расчета каждого поколения потребуется больше
оценок решателей. Большее значение размера популяции не обязательно означает повышение вероятности найти оптимальное решение.
Начиная с некоторого значения, наоборот, такая веролятность падает. Но это значение в каждой конкретной задаче может меняться.
По разным статьям, касательно метода вообще без привязки к инженерной теме, при нашей численности параметров рекомендуют размер
популяции от 20 до 100. Причём при большем числе варьируемых параметров размер популяции как правило больше. Какое именно значение
оптимально никто однозначно не берётся сказать.
Иногда применяют правило: размер популяци=N*10, где N- число варьируемых параметров. Возможно, для первого приближения
можно использовать эту формулу.
Рекомендуют делать несколько проб, начиная с небольшого значения., нприме с 4х8=32. Затем повысить, например до 4х12=48,. Если
повышение улучшило результат (ЦФ), то попробывать ещё повысить, например до 4х16=64. Если результат хуже, то оптимум, возможно где-то
между или попробывать пойти в сторону уменьшения 4Х6=24. В примере в Приложении 4 для трёх оптимизируемых параметров сначала делали
4х8=32, а потом пришли к удовлетворительному значению при размере популяции 12. (времярасчёта 3 мин)
Maximal Number of Iterations (Максимальное количество итераций): Генетический алгоритм остановится после выполнения
максимального количества итераций. Ограничение времени поиска.
Max number of solver evaluations (Максимальное количество оценок ): Используется для приблизительной оценки максимального
времени оптимизации. Вычислеется автоматически по первым двум параметрам. Если "n" - это размер
популяции, а "m" - максимальное количество итераций, то количество оценок = "(m+1)*n/2 + 1". Однако вычислений может быть меньше, если
функция интерполяции (см. Настройки оптимизатора) включена или оптимизация прервана или достигнута желаемая точность.

Choice of the Initial Data Set (Выбор исходного набора данных).


Для методов глобальной оптимизации и «симплексного алгоритма Нельдера Мида» необходим набор начальных точек в пространстве
параметров. Эти точки будут автоматически сгенерированы генератором равномерного случайного распределения или методом латинского
гиперкуба.
- Uniform Random Numbers (Равномерные случайные числа): Для каждой начальной точки генератор псевдослучайных чисел
выберет равномерно распределенные точки в пространстве параметров.
- Latin Hypercube (Латинский гиперкуб): Случайно выбранные точки иногда имеют тот недостаток, что они не обладают
оптимальными свойствами заполнения пространства в пространстве параметров. Латинская выборка гиперкуба обладает особым
свойством, заключающимся в том, что проекция на каждый интервал параметров дает эквидистантную выборку.
- Latin Hypercube Distribution (Распределение латинского гиперкуба): начальные точки распределяются аналогично распределению
латинского гиперкуба, но в каждой точке добавляется возмущение. Этот тип распределения имеет те же свойства заполнения пространства,
что и латинское распределение гиперкубов, но сгенерированный набор точек будет менее регулярным.
Goal Function Level (Уровень целевой функции): Алгоритм будет остановлен, если значение целевой функции будет меньше заданного
уровня. Однако если оптимизация выполняется распределенно, то этот критерий будет проверен только после расчета всей совокупности. Если
желаемый уровень установлен равным нулю, то единственным нарушающим условием является Максимальное количество итераций (! Запомни
это. ) Т.е., как я понял не обязательно задавать конкретное значение целевого параметра, например для S11 значение 0.333, можно задать 0, а
оптимизатор сделает, что сможет в пределах заданных ему ограничений по количесмтву оценок (запусков решателя с новой комбинацией
параметров) . В подтверждение см. Приложение 4, в частности картинки на листе 6.

Mutation Rate (Частота мутаций): Если гены двух родителей достаточно похожи, то частота мутаций определяет вероятность
возникновения мутации.
ОК: Сохраняет текущие настройки и закрывает диалоговое окно. Настройки, заданные в диалоговом окне для генетического алгоритма или
оптимизации роя частиц, будут действительны только в том случае, если после этого будет нажата кнопка Start или Apply в диалоговом окне
«Optimizer».
2.2.3 Particle Swarm Optimization (Оптимизация роя частиц )

Имитирует движение птиц в стае. Алгоритм обрабатывает точки в пространстве параметров как движущиеся частицы. На каждой итерации
положение частиц изменяется в соответствии не только с наилучшим известным положением каждой частицы, но и с наилучшим положением
всего роя. Оптимизация роя частиц хорошо работает для моделей со многими параметрами.
Подходит для: Моделей со многими параметрами

Рисунок – Пример заполнения окна из Приложения 4

Swarm Size (Размер роя): Выбор небольшого размера роя увеличивает


риск того , что желаемое улучшение потребует большего количества итераций . Если выбран большой размер роя, то для
каждой итерации потребуется больше оценок решателя.
Maximal Number of Iterations (Максимальное количество итераций): Алгоритм остановится после выполнения максимального количества
итераций.
Оценка максимального время оптимизации. Если "n" - размер популяции, а "m" - максимальное количество итераций, то будет выполнено не
более "m*n + 1" запусков решателя. Однако эта оценка недействительна, если функция «Интерполяции» включена, оптимизация прервана или
достигнута желаемая точность.
Goal Function Level (Уровень целевой функции): Желаемый уровень целевой функции может быть задан для алгоритма роя частиц.
Алгоритм будет остановлен, если значение целевой функции будет меньше заданного уровня. Однако если оптимизация
выполняется распределенно, то этот критерий будет проверен только после расчета полного роя. Если желаемый
уровень установлен равным нулю, то единственным нарушающим условием является Максимальное количество
итераций.
Choice of the Initial Data Set (Выбор исходного набора данных) смотри в 2.2.2.

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

ВЫВОДЫ о использовании методов оптимизации:

1 Если один параметр, то можно использовать метод «Interpolated Quasi Newton» с заданием повторного запуска решателя. Если нужно
точнее, можно назначить два повторных запуска решателя. Если диапазон изменения параметра небольшой и конструкция не очень сложная, то
можно использовать и «Classic Powell».

2 Если параметров более одного, но мало


, то использовать «Trust Region Framework» с включенным в решателе использования анализа чувствительности (use sensitivity analysis).

3 При среднем количестве параметров (не более 6) с не очень большим диапазоном изменений использовать «Nelder Mead Simplex
Algorithm».

4 При большом количестве параметров или при среднем их количестве, но с большим диапазонм изменения - использовать один из
методов глобальной оптимизации. Также методы глобальной оптимизации следует предпочесть, если ожидается негладкая целевая функция,
начальная точка (вероятно) находится далеко от оптимума. При большом количестве параметров лучше не включать интерполяцию (поле Use
interpolation в окне «Optimizer»). А при небольшом количестве параметров, но с большим диапазоном (много итераций), включить
интерполяцию.

3 Окно «Optimizer» (Оптимизатор). Вкладка “Goal» (Цель) [3]


Оптимизатору нужна хотя бы одна цель (целевая функия – далее ЦФ), которая оценивается во время работы оптимизатора. Значение ЦФ
вычисляется для каждой конфигурации параметров, заданной оптимизатором в процессе оптимизации.
Оптимизатор работает, если сумма или максимум всех значений цели (в зависимости от выбора на вкладке Goal) больше нуля. Если это становится
меньше или равен нулю, оптимизатор завершает работу, предполагая, что нашел оптимальное решение
Задание уровня ЦФ делают в окне настроек выбранного метода оптимизации, открываемого на вкладке Settings окна Optimizer
нажатием кнопки «Properties …». А описание ЦФ делают на вкладке Goal окна оптимизатора .

Скрин 6

Add new goal (Добавить новую цель) При нажатии этой кнопки открывается диалоговое окно для определения и добавления новой цели.

Summary type of all goals (Тип суммарный для всех целей) Если определено несколько целей, оптимизация идёт либо по всем целям,
либо по цели, где наибольшее отклонение ЦФ. Если для оптимизации определена только одна цель, то настройка не действует.
- sum of all goals (сумму всех целей): каждая цель оказывает влияние на функционал оптимизатора на каждом шаге
оптимизации.
- Maximum of all goals (Максимум из всех целей): оптимизатор будет пытаться улучшить цель с наибольшим отклонением ЦФ на
каждом шаге оптимизации.
Если комбинация параметров удовлетворяет всем определениям цели, то значение цели будет равно нулю для обеих стратегий. В
общем, невозможно сказать, какая настройка работает лучше всего, потому что эффекты очень зависят от оптимизируемой системы и
настройки оптимизации. Если оптимизатор застрял в локальном минимуме с одной стратегией, выбор другой может решить проблему. К
сожалению, нет никакой гарантии, что другая выбранная стратегия работает лучше.
С писок определенных целей

Check box (Флажок): В этом списке вы можете выбрать цели для оценки во время выполнения оптимизации.
ID: Отображает идентификатор цели.
Type (Тип): Отображает имя цели в соответствии с типом цели. Обычно вы не можете изменить имя цели. В зависимости от типа
цели это поведение может меняться.
Operator (Оператор): Выберите оператор для соответствующей цели из списка операторов. Список операторов варьируется между
различными типами целей. Оператор влияет на способ оценки данных во время выполнения оптимизации.

Для цели на основе шаблона 0D доступны три различных оператора:


<: Оптимизатор пытается найти параметр, в котором значение оцениваемого шаблона результата ниже заданного целевого значения.
>: Оптимизатор пытается найти параметр, в котором значение оцениваемого шаблона результата больше заданного целевого
значения.
=: Оптимизатор пытается найти параметр, в котором значение оцениваемого шаблона результата равно заданной цели

Для цели на основе шаблонов 1D и 1DC дополнительно доступны ещё два оператора:
min:  в разах или дБ. Оптимизатор попытается минимизировать данные результирующего параметра: оптимизатор попытается найти
сочетание заданных параметров модели, при которой максимум указанного результирующего параметра в заданном диапазоне частот будет
как можно ниже.
max:  в разах или дБ. Оптимизатор попытается максимизировать данные S-параметра: оптимизатор попытается найти сочетание
заданных параметров модели, при которой минимум указанного результирующего параметра в заданном диапазоне частот будет как можно
выше.
Если цель на основе шаблонов 1D или 1DC является S-параметром, то дополнительно ещё два опратора доступны:
move min:  Используйте этот оператор, если вы хотите минимизировать расстояние по оси абсцисс от минимума результата 1D до
выбранной цели. Имейте в виду, что «чувствительность» (см. приложение 3) не может быть использована, если эта цель используется,
потому что оператор move min не дифференцируется (потому что он определяет расстояние вдоль оси абсцисс, а не ординат).
move max:  Используйте этот оператор, если вы хотите минимизировать расстояние по оси абсцисс максимума результата 1D до
выбранной цели. Имейте в виду, что «чувствительность» не может быть использована, если эта цель используется, потому что оператор
move max не дифференцируется.

Target (Цель):  введите здесь целевое значение для выбранного оператора, если соответствующий результирующий параметр (ЦФ)
должен быть "меньше", "больше" или "равен" определенному целевому значению в выбранном диапазоне. Для оператора "move min" или
"move max" оптимизатор попытается переместить (вдоль оси абсцисс) минимум или максимум результата шаблона (результирующего
парамтра) к выбранному целевому значению (на оси абсцисс).
Range (Диапазон): Оценка цели может быть ограничена определенным диапазоном в зависимости от типа цели. Этот диапазон
отображается здесь. Обычно это поле нельзя редактировать. Для редактирования диапазона используйте кнопку Edit….
Похоже, здесь можно задать границы частотного диапазона (см. Приложение 4).
Weight (Вес): Все целевые значения выбранных целей оцениваются для каждого изменения параметра оптимизатора. Для получения
одного-единственного значения цели все значения цели суммируются в соответствии с ее весами. Установите вес для соответствующей
цели в этом поле списка определенных целей.

4 Окно Define Optimizer Goal

Скрин 7 и 8
Result Name (Имя результирующего параметра): Вы можете выбрать результат решателя 0D, 1D … или один результат постобработки на основе
шаблона 0D, 1D… по его имени из списка всех ранее определенных или вычисленных результатов, используя соответствующий раскрывающийся
список. Исходя из этого результата, значение цели будет рассчитываться после каждой оценки системы.

Блок Conditions (Условия) Operator, Target и Weight см. выше в разделе 3.


- Use slope (Использовать наклон):  Установите флажок, если целью оптимизации должна быть линейная функция, определяемая двумя точками Target at minimum
Range и Target (max) at maximum Range.:  (Вероятно, имеется в виду, что верхнее поле Target  -это ордината для абсциссы левой границы диапазона, задаваемого ниже (Range min), а
Target (max) – соответственно, ордината для абсциссы верхней границы\ диапазона (Range max),

Блок Range (диапазон) укажите диапазон или одно значение абсциссы, для которого оценивается цель. Диапазон ограничен наименьшим значением
абсциссы и наибольшим значением абсциссы указанных данных.
Оптимизатор может выдать ошибка для результирующего параметра в заданном диапазоне. Если результирующий параметр выбран неправильно,
оптимизатор применит некоторую интерполяцию, чтобы уменьшить ошибку (не знаю, что это значит).
Total (Итог):  Set the range to the maximum range of the corresponding result. (Установите диапазон на максимальный диапазон соответствующего
результата.) – не знаю, как это пониать.
Single (Единичный): Установите одно значение абсциссы. Обратите внимание на ограничения. Оптимизатор извлекает только одну точку из данных
результата постобработки на основе шаблона 1D.
Range (Диапазон): Задайте диапазон, в котором должна быть определена цель. (Похоже здесь задаются частоты в ГГц, если в настройках проги стоят
ГГц)

Goal Norm: Цель Норма:


Вы можете выбрать между разницей или квадратомразницы. С параметром squared результирующий функционал цели может быть более плавным и лучше обрабатываться для
выбранной техники оптимизации.

Цель Норма:
Вы можете выбирать между различными нормами для расчета функционала цели. Изменение нормы цели изменит функционал цели и может оказать сильное влияние на результат
оптимизации. Предпочтительный выбор нормы цели сильно зависит от конкретного примера. если определено несколько целей, каждая из них будет иметь свою собственную норму
цели. Функциональное значение "По всем целям" будет рассчитываться путем взятия суммы или максимума по всем определенным целям, соответствующего типу "Сводка" всех
целей в диалоговом окне"Цель".
максимальная разница: функционал цели равен максимальному нарушению спецификации желаемой цели.
Mmaximum Difference Squared: функционал цели равен квадрату максимального нарушения желаемой спецификации цели. Эта норма будет наказывать сильное нарушение более
чем пропорционально и может привести к более гладкому целевому функционалу, который может быть выгоден для выбранной методики оптимизации.
Sum различий: сумма нарушений по заданным выборкам в определенном диапазоне, деленная на число слагаемых.
Sum квадратов разностей: сумма квадратов нарушений по заданным выборкам в определенном диапазоне, деленная на число слагаемых. Эта норма будет наказывать сильное
нарушение более чем пропорционально по сравнению с небольшими нарушениями.

ОК
Сохраняет текущие настройки и возвращается на страницу свойств Оптимизатор - Цели. Вновь определенная цель добавляется в список определенных целей на странице свойств
Оптимизатор - Цели.

Отмена
Закрывает это диалоговое окно без каких-либо дальнейших действий.

Шаблон esult...
Открывает диалоговое окно постобработки на основе шаблона для определения новых результатов постобработки на основе шаблона или редактирования существующих.

Справка

ПРИЛОЖЕНИЯ

Приложение 1 см. в отдельном файле «Интерполяция первичных данных.pdf».

Приложение 2 см. в отдельном файле «Интерполяция первичных данных.pdf».

Приложение 3 см. в отдельном файле «Обзор анализа чувствительности.pdf».

Приложение 4 см. в отдельном файле «Пример оптимизации антенны глобальными методами.pdf».

ИСТОЧНИКИ

1 1 http://www.mweda.com/cst/cst2013/cst_studio_suite_help.htm (или https://clck.ru/gv3y7) Постраничный HELP.

2 http://www.edatop.com/cst/CST2013/index.html (или https://clck.ru/gv3yU ) Постраничный HELP (много всего). Список


содержания только на 27 страницах.
3 https://space.mit.edu/RADIO/CST_online/mergedProjects/3D/special_solvopt/special_solvopt_optimizer_goals.htm
( или https://clck.ru/gvEW4 )

Вам также может понравиться