LabelMover

Оптимизация - теоретическое описание

Математическая постановка задачи оптимизации

Подсистема оптимизации LabelMover пытается найти решение следующей задачи:
Дан набор переменных:

       x1, x2, .. xn  

и ограничения для этих переменных:

     a1<= x1<= b1,  a2<= x2<= b2, ...  an<= xn<= bn .

Каждая переменная соответствует параметру, заданному в LabelMover. (Если параметр имеет тип Переместить в любом направлении, то ему соответствуют две переменные).

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

Цель оптимизации - найти максимум или минимум функции f(x1, x2, .. xn), где f  определяется значением, указанным в LabelMover в качестве цели. (Если выбрана цель Как можно ближе к, то ищется минимум расстояния между заданным значением и вычисленным значением).

Локальная и глобальная оптимизация

Существуют два типа задач оптимизации: локальная оптимизация и глобальная оптимизация.

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

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

В текущей версии LabelMover реализована только локальная оптимизация.

Используемые методы оптимизации

Текущая версия LabelMover использует для многомерной оптимизации метод Нелдера-Мида (Nelder-Mead method). В метод внесены небольшие изменения, которые позволяют улучшить его работу для негладких функций. Для одномерной оптимизации используется метод Брендта (Brent method).  

Некоторые замечания и советы

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

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

2. Для поиска оптимального варианта рекомендуется использовать задачи, обеспечивающие достаточно высокую точность рассчетов (с достаточно густой конечно-элементной сеткой).

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

См также
Оптимизация - пошаговые инструкции