Скачиваний:
211
Добавлен:
25.05.2014
Размер:
492.03 Кб
Скачать

Классификация методов оптимизации

Любой алгоритм отыскания оптимального решения x* для задачи минимизации функции f на множестве X обычно ориентирован на решение определенного класса задач оптимизации с определенными свойствами функции f и множества X. Поэтому более универсальные алгоритмы, ориентированные на решение более широких классов задач, обычно уступают по эффективности специализированным алгоритмам, использующим специфические свойства конкретно решаемой задачи. Этим и объясняется современное непрерывное возрастающее разнообразие алгоритмов оптимизации.

Далее приведены примеры основных оптимизационных методов.

1. Метод полного перебора

Если множество допустимых решений состоит из N элементов иN настолько мало, что имеется практическая возможность вычислить все значения , то сравнением полученных значений найдем наименьшее значениеи одновременно искомое оптимальное решение. Такой метод полного перебора используется довольно редко, потому что множествоX обычно содержит слишком много элементов и практически невозможно вычислить f(x) для каждого x X.

2. Приближенные методы и оптимальные алгоритмы

Среди приближенных методов оптимизации наиболее часто используются:

Методы частичного перебора ислучайного поиска. В этих методах выбирают некоторое достаточное представительное подмножество XN = {x1, x2, ..., xN} X, допускающее возможности использовать метод полного перебора и найденное xi* принимают в качестве приближенного решения исходной задачи оптимизации. Если элементы x1, x2, ..., xN вычислять как реализации некоторой случайной величины с заданной мерой (такой метод называют методом случайного поиска или методом Монте-Карло) или задать в виде некоторой сетки узлов XN X, то получим метод пассивного поиска. В методах активного (или адаптивного) поиска элементы x1, x2, ... вычисляют последовательно и, учитывая текущую информацию о значениях f(x1), f(x2), ... (или производных f), стремятся обеспечить более густую сетку в тех подмножествах XN X, которые становятся более подозрительными (в процессе вычислений f(xi)) на оптимум (т.е. на то, что X* XN).

Методы отсечений. В этих методах находят и “отсекают” от множества X те его подмножества X’, которые заведомо не содержат оптимальных решений, и получают эквивалентную задачу минимизации функции f на меньшем множестве X’’ = X\X’. Последовательными отсечениями иногда удается получить последовательность вложенных подмножеств X1’ X2’ ... Xk ..., что начиная с некоторого k любой элемент xk Xk очевидно является решением задачи оптимизации. Различные эффективные варианты методов отсечений разрабатываются в рамках методов ветвей и границ, методов минорант, методов эллипсоидов (особенно эффективных для решения выпуклых задач) и других методов.

Методы аппроксимаций. В этих методах функцию f и (или) множество X заменяют некоторыми реализуемыми аппроксимациями f’, XN’, допускающими практическую возможность вычислить минимум функции x’ = min(f’). Если (f’, XN’) достаточно близки к (f, X), то можно ожидать что x’* будет близким к x* = min(f*).

Методы локальной оптимизации. Если для заданных xk X, lk>0 множество X заменять “меньшим” множеством X1(xk, lk) = {x X | ||xk - x|| lk} и последовательно вычислять xk+1 = min f(x), x X1(xk, lk), то при весьма общих условиях получим сходимость xk -> X* к локальному решению задачи оптимизации. Поиск локальных решений оказывается особенно эффективным при решении тех задач оптимизации, в которых все локальные решения являются одновременно оптимальными решениями (например, выпуклых задач оптимизации).

Методы последовательных приближений. Так как вычисление xk+1 может оказаться довольно трудной задачей даже при малых lk, то в многочисленных методах проследовательных приближений предлагается вычислять xk+1 как приближенное решение задачи xk+1 = min f(x) , x < Xk, где аппроксимации Fk, Xk, выбираются из соображений упростить вычисление xk+1, сохранив при этом сходимость xk -> x*, k->.