Многоцелевые алгоритмы оптимизации

Многоцелевое определение оптимизации

Существует два Optimization Toolbox™ многоцелевые решатели: fgoalattain и fminimax.

  • fgoalattain решает проблему сокращения набора нелинейных функций Fi (x) ниже набора целей F*i. С тех пор существует несколько функций Fi (x), не всегда ясно, что это означает решать эту задачу, особенно когда вы не можете достигнуть всех целей одновременно. Поэтому проблема повторно формулируется к той, которая всегда четко определена.

    unscaled goal attainment problem должен минимизировать максимум Fi (x) – F*i.

    Существует полезное обобщение немасштабированной проблемы. Учитывая набор положительных весов wi, goal attainment problem пытается найти, что x минимизирует максимум

    Fi(x)Fi*wi.(1)

    Эта минимизация, как предполагается, выполняется при удовлетворении всем типам ограничений: c (x) ≤ 0, ceq (x) = 0, A·x ≤ b, Aeq·x = beq и l ≤ x ≤ u.

    Если вы устанавливаете все веса, равные 1 (или любая другая положительная константа), целевая проблема достижения совпадает с немасштабированной целевой проблемой достижения. Если F*i положителен, и вы устанавливаете все веса как wi = F*i, целевая проблема достижения становится минимизацией относительной разницы между функциями Fi (x) и цели F*i.

    Другими словами, целевая проблема достижения состоит в том, чтобы минимизировать слабую переменную γ, заданную как максимум по i выражений в уравнении 1. Это подразумевает выражение, которое является формальным оператором целевой проблемы достижения:

    minx,γγ

    таким образом, что F (x) – w · γ ≤ F*, c (x) ≤ 0, ceq (x) = 0, A·x ≤ b, Aeq·x = beq и l ≤ x ≤ u.

  • fminimax решает проблему минимизации максимума набора нелинейных функций согласно всем типам ограничений:

    minxmax iFi(x)

    таким образом, что c (x) ≤ 0, ceq (x) = 0, A·x ≤ b, Aeq·x = beq и l ≤ x ≤ u.

    Безусловно, этой проблемой является особый случай немасштабированной целевой проблемы достижения с F*i = 0 и wi = 1.

Алгоритмы

Целевой метод достижения

В этом разделе описываются целевой метод достижения Gembicki [3]. Этот метод использует набор целей проекта, F*={F1*,F2*,...,Fm*}, сопоставленный с набором целей, F (x) = {F 1 (x), F 2 (x)..., Fm (x)}. Формулировка задачи позволяет целям быть под - или сверхдостигнута, позволяя разработчику быть относительно неточной о начальных целях проекта. Относительной степенью под - или сверхдостижение целей управляет вектор взвешивания коэффициентов, w = {w 1, w 2..., wm}, и выражают как стандартная задача оптимизации с помощью формулировки

минимизироватьγ, xΩγ(2)

таким образом, что Fi(x)wiγFi*,  i=1,...,m.

Термин wiγ вводит элемент застоя в проблему, которая в противном случае налагает, что целям твердо удовлетворяют. Вектор взвешивания, w, позволяет разработчику выразить меру относительных компромиссов между целями. Например, установка взвешивающего векторного w, равного начальным целям, указывает, что тот же процент под - или сверхдостижение целей, F*, достигается. Можно включить трудные ограничения в проект путем обнуления особого фактора взвешивания (т.е. wi = 0). Целевой метод достижения обеспечивает удобную интуитивную интерпретацию проблемы проектирования, которая является разрешимыми использующими стандартными процедурами оптимизации. Иллюстративные примеры использования целевого метода достижения в проекте системы управления могут быть найдены во фламандце ([10] и [11]).

Целевой метод достижения представлен геометрически в фигуре ниже в двух измерениях.

Рисунок 8-1, геометрическое представление целевого метода достижения

Спецификация целей, {F1*,F2*}, задает целевую точку, P. Вектор взвешивания задает направление поиска от P до выполнимого функционального пространства, Λ (γ). Во время оптимизации варьируется γ, который изменяет размер выполнимой области. Границы ограничений сходятся к точке уникального решения F 1s, F 2s.

Улучшения алгоритма для целевого метода достижения

Целевой метод достижения имеет преимущество, что это может быть изложено как проблема нелинейного программирования. Характеристики проблемы могут также быть использованы в алгоритме нелинейного программирования. В последовательном квадратичном программировании (SQP) выбор оценочной функции для поиска линии не легок, потому что во многих случаях это затрудняет, чтобы “задать” относительную важность между улучшением целевой функции и сокращением ограничительных нарушений. Это привело ко многим различным схемам построения оценочной функции (см., например, Щиттковского [36]). В целевом достижении, программирующем может быть более соответствующая оценочная функция, которой можно достигнуть путем изложения уравнения 2 как минимаксная проблема

минимизироватьxn max i{Λi},(3)

где

Λi=Fi(x)Fi*wi,  i=1,...,m.

После аргумента Brayton и др. [1] для минимаксной оптимизации с помощью SQP, с помощью оценочной функции уравнения 30 для целевой проблемы достижения уравнения 3 дает

ψ(x,γ)=γ+i=1mrimax {0,Fi(x)wiγFi*}.(4)

Когда оценочная функция уравнения 4 используется в качестве основания процедуры поиска линии, затем, несмотря на то, что ψ (x, γ) может уменьшиться для шага в данном поисковом направлении, функциональном max Λi может как это ни парадоксально увеличиться. Это принимает ухудшение в худшей цели случая. Поскольку худшая цель случая ответственна за значение целевой функции γ, это принимает шаг, который в конечном счете увеличивает целевую функцию, которая будет минимизирована. С другой стороны ψ (x, γ) может увеличиться когда max Уменьшения Λi, подразумевая отклонение шага, который улучшает худшую цель случая.

После линий Brayton и др. [1], решение состоит в том, чтобы поэтому установить ψ (x), равный худшей цели случая, т.е.

ψ(x)=max iΛi.(5)

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

Чтобы преодолеть эту проблему, все еще сохраняя функции уравнения 5, оценочная функция объединена тем из уравнения 31, дав следующее:

ψ(x)=i=1m{rimax {0,Fi(x)wiγFi*}если wi=0max iΛi, i=1,...,mв противном случае.(6)

Другой функцией, которая может быть использована в SQP, является целевая функция γ. От уравнений KKT можно показать, что приближение к Гессиану функции Лагранжа, H, должно иметь нули в строках и столбцах, сопоставленных с переменной γ. Однако это свойство не появляется, если H инициализируется как единичная матрица. H поэтому инициализирован и обеспечен, чтобы иметь нули в строках и столбцах, сопоставленных с γ.

Эти изменения делают Гессиан, H, неопределенный. Поэтому H будет иметь нули в строках и столбцах, сопоставленных с γ, за исключением диагонального элемента, который установлен в маленькое положительное число (например, 1e- 10). Это позволяет использование быстрого сходящегося положительного определенного метода QP, описанного в Решении для Квадратичного программирования.

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

Минимизация максимальной цели

fminimax использует целевой метод достижения. Это берет цели 0 и веса 1. С этой формулировкой целевая проблема достижения становится

minimax x(fi(x)goaliweighti)=minimax xfi(x),

который является минимаксной проблемой.

Между прочим, вы можете ожидать fminimax превратить многоцелевую функцию в одну цель. Функция

f (x) = макс. (F 1 (x)... F j (x))

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

Ссылки

[1] Brayton, R. K. S. W. Директор, Г. Д. Хэчтель, и Л.Видигэл, “Новый Алгоритм для Статистического Проектирования схем На основе Приближенных методов ньютона и Функционального Разделения”, Транзакции IEEE на Схемах и Системах, издании CAS-26, стр 784-794, сентябрь 1979.

[2] Фламандец, П.Дж. и А.П. Пашкевич, Компьютер помог Проекту Системы управления Используя Многоцелевой Подход Оптимизации, Управление 1 985 Конференций, Кембридж, Великобритания, стр 174-179.

[3] Gembicki, F.W., “Векторная оптимизация для управления с индексами производительности и чувствительности параметров”, диссертация доктора философии, случай западный резервный унив, Кливленд, OH, 1974.

[4] Изящество, A.C.W., “автоматизированный проект системы управления Используя методы оптимизации”, кандидатская диссертация, Уэльский университет, Бангор, Гвинед, Великобритания, 1989.

[5] Ханьцы, S.P., “Глобально Конвергентный Метод Для Нелинейного программирования”, Журнал Теории Оптимизации и Приложений, Издания 22, p. 297, 1977.

[6] Мэдсен, K. и Х. Шджэер-Джэйкобсен, “Алгоритмы для худшей оптимизации допуска случая”, сделка IEEE схем и систем, издания CAS-26, сентябрь 1979.

[7] Пауэлл, M.J.D., “Алгоритм FAST для Нелинейных Ограниченных Вычислений Оптимизации”, Числовой Анализ, редактор Г.А. Уотсон, Примечания Лекции в Математике, Издании 630, Springer Verlag, 1978.