
- •Лекции 9-11 Управляемые системы Основные понятия
- •Принципы организации управления
- •2. Принцип компенсации возмущения (принцип инвариантности)
- •5. Принцип ситуационного управления.
- •Пути совершенствования систем с управлением
- •Классификация методов оптимизации
- •1. Метод полного перебора
- •2. Приближенные методы и оптимальные алгоритмы
- •Линейное программирование
- •Квадратичное программирование
- •Выпуклое программирование
- •Теорема Куна - Таккера
- •Динамическое программирование
- •Принцип максимума
- •Оптимизация в многофункциональных пространствах (векторная оптимизация)
Классификация методов оптимизации
Любой алгоритм отыскания оптимального решения 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->.