В общем случае решатели возвращают локальный минимум (или оптимум). Результатом может быть глобальный минимум (или оптимум), но этот результат не гарантируется.
Минимум local функции является точкой, где значение функции меньше, чем в соседних точках, но возможно больше, чем в удаленной точке.
Минимум global является точкой, где значение функции меньше, чем во всех других допустимых точках.
Решатели Optimization Toolbox™ обычно находят локальный минимум. (Этот локальный минимум может быть глобальным минимумом.) Они находят минимум в basin of attraction начальной точки. Для получения дополнительной информации об областях притяжения, смотрите Области притяжения.
Следующее является исключениями к этому общему правилу.
Задачи линейного программирования и положительные определенные проблемы квадратичного программирования выпуклы с выпуклыми выполнимыми областями, таким образом, у них есть только одна область притяжения. В зависимости от заданных опций, linprog
игнорирует любую предоставленную пользователями начальную точку и quadprog
не требует один, даже при том, что можно иногда ускорять минимизацию путем предоставления начальной точки.
Функции Global Optimization Toolbox, такие как simulannealbnd
, попытайтесь искать больше чем одну область притяжения.
Если вам нужен глобальный минимум, необходимо найти начальное значение для решателя в области притяжения глобального минимума.
Можно установить начальные значения, чтобы искать глобальный минимум этими способами:
Используйте регулярную сетку начальных точек.
Используйте случайные точки, полученные из равномерного распределения, если все координаты задачи ограничены. Используйте точки, полученные из нормальных, экспоненциальных, или других случайных распределений, если некоторые компоненты неограниченны. Чем меньше вы знаете о местоположении глобального минимума, тем более распространено ваше случайное распределение должно быть. Например, нормальные распределения редко производят больше чем три стандартных отклонения далеко от их средних значений, но распределение Коши (плотность 1 / (π (1 + x 2))) делает значительно разрозненные выборки.
Используйте идентичные начальные точки с добавленными случайными возмущениями на каждой координате — ограниченный, нормальный, экспоненциальный, или другой.
Если у вас есть лицензия Global Optimization Toolbox, используйте GlobalSearch
или MultiStart
решатели. Эти решатели автоматически генерируют случайные стартовые точки внутри границ.
Чем больше вы знаете о возможных начальных точках, тем более сфокусирован и успешен ваш поиск будет.
Если целевая функция, которой f (x) является гладким, вектор – ∇f (x), указывает в направлении, где f (x) уменьшается наиболее быстро. Уравнение наискорейшего спуска, а именно,
дает путь x (t), который приводит к локальному минимуму, когда t увеличивается. Обычно x начальных значений (0), которые находятся друг около друга, дает наикратчайшие пути, которые стремятся к той же минимальной точке. basin of attraction для наискорейшего спуска является набором начальных значений, которые приводят к тому же локальному минимуму.
Этот рисунок показывает два одномерных минимума. Рисунок показывает различные области притяжения с различными стилями линии и указывает на направления наискорейшего спуска стрелками. Для этого и последующих фигур, черные точки представляют локальные минимумы. Каждый наикратчайший путь, x начинающийся в точке (0), идет к черной точке в области, содержащей x (0).
Одномерные области
Следующий рисунок показывают, как пути наискорейшего спуска могут быть более сложными для больших размерностей.
Одна область притяжения, показывая наикратчайшие пути от различных начальных точек
Этот рисунок показывает еще более сложные пути и области притяжения.
Несколько областей притяжения
Ограничения могут разбить одну область притяжения в несколько частей. Например, рассмотрите минимизацию y, удовлетворяющий:
y ≥ |x |
y ≥ 5 – 4 (x –2) 2.
Этот рисунок показывает две области притяжения с конечными точками.
Наикратчайшие пути являются прямыми линиями вниз к границам ограничений. От границ ограничений наикратчайшие пути перемещаются вниз вдоль контуров. Конечная точка или (0,0) или (11/4,11/4), в зависимости от того, является ли начальный x - значение выше или ниже 2.