Обобщенная минимизация собственных значений при ограничениях LMI
[lopt,xopt] = gevp(lmisys,nlfc,options,linit,xinit,target)
gevp решает обобщенную задачу минимизации собственных значений для минимизации λ при условии:
| (x) | (1) |
| (x) | (2) |
| (x) | (3) |
где C (x) < D (x) и A (x) < λ B (x) обозначают системы LMI. При условии, что уравнение 1 и уравнение 2 являются совместными осуществимыми,gevp возвращает глобальный минимум lopt и минимизирующее значение xopt вектора решающих переменных x. Соответствующие оптимальные значения матричных переменных получают с помощью dec2mat.
Аргумент lmisys описывает систему уравнений 1-3 LMI для λ = 1. LMI, включающие λ, называются линейно-дробными ограничениями, в то время как уравнение 1 и уравнение 2 являются регулярными ограничениями LMI. Число линейных дробных ограничений Уравнение 3 задается nlfc. Все остальные входные аргументы необязательны. Если доступна начальная возможная пара (λ 0, x0), она может быть передана gevp путем установки linit в λ 0 и xinit в x0. Обратите внимание, что xinit должен быть длиной decnbr(lmisys) (количество переменных принятия решения). Начальная точка игнорируется, если она неосуществима. Наконец, последний аргумент target устанавливает некоторое целевое значение для λ. Код заканчивается, как только он обнаружил осуществимую пару (λ, x) с λ ≤ target.
При настройке gevp проблема, будьте осторожны, чтобы
Всегда указывайте линейно-дробные ограничения уравнение 3, последнее в системе LMI. gevp систематически предполагает, что последний nlfc Ограничения LMI являются линейными дробными.
Добавьте ограничение B (x) > 0 или любое другое ограничение LMI, которое его применяет (см. Примечание ниже). Это ограничение позитивности требуется для регулярности и хорошей формулировки задачи оптимизации.
Необязательный аргумент options позволяет получить доступ к параметрам управления кода оптимизации. В gevp, это вектор с пятью входами, организованный следующим образом:
options(1) устанавливает требуемую относительную точность на оптимальном значении lopt (по умолчанию = 10-2).
options(2) задает максимальное число итераций, разрешенных для выполнения с помощью процедуры оптимизации (по умолчанию 100).
options(3) задает радиус выполнимости. Его назначение и использование те же, что и для feasp.
options(4) помогает ускорить завершение. Если задано целое значение J > 0, код заканчивается, когда прогресс в λ за последние J итераций падает ниже требуемой относительной точности. Прогресс означает величину, на которую λ уменьшается. Значение по умолчанию - 5 итераций.
options(5) = 1 отключает трассировку выполнения процедуры оптимизации. Сброс options(5) в ноль (значение по умолчанию) снова включается.
Настройка option(i) нулевое значение эквивалентно заданию соответствующего параметра управления значением по умолчанию.
Данный
рассмотрим задачу нахождения единственной функции Ляпунова V (x) = xTPx, которая доказывает стабильность
1,2,3)
и максимизирует скорость распада dt. Это эквивалентно минимизации
α подлежит
| P | (4) |
| < αР | (5) |
| < αР | (6) |
| < αР | (7) |
Как настроить эту проблему для gevp, сначала задайте LMI Уравнение 5 к Уравнению 7 с α = 1:
setlmis([]); p = lmivar(1,[2 1]) lmiterm([1 1 1 0],1) % P > I : I lmiterm([-1 1 1 p],1,1) % P > I : P lmiterm([2 1 1 p],1,a1,'s') % LFC # 1 (lhs) lmiterm([-2 1 1 p],1,1) % LFC # 1 (rhs) lmiterm([3 1 1 p],1,a2,'s') % LFC # 2 (lhs) lmiterm([-3 1 1 p],1,1) % LFC # 2 (rhs) lmiterm([4 1 1 p],1,a3,'s') % LFC # 3 (lhs) lmiterm([-4 1 1 p],1,1) % LFC # 3 (rhs) lmis = getlmis
Обратите внимание, что линейные дробные ограничения определяются последними, как требуется. Чтобы минимизировать α, подчиненное уравнению 5-уравнению 7, вызовите gevp около
[alpha,popt]=gevp(lmis,3)
Это возвращает alpha = -0.122 в качестве оптимального значения (поэтому наибольшая скорость затухания равна 0,122). Это значение достигается для:
8,3518,64)
Обобщенные проблемы минимизации собственных значений включают в себя стандартные ограничения LMI Уравнение 1 и линейные дробные ограничения Уравнение 3. Для корректности положительная определенность B (x) должна быть усилена добавлением к задаче ограничения B (x) > 0. Хотя это может быть сделано автоматически изнутри кода, это нежелательно по соображениям эффективности. Например, набор ограничений уравнение 2 может уменьшаться до одного ограничения, как в примере выше. В этом случае одного дополнительного LMI «P > I» достаточно, чтобы обеспечить положительность всех линейных-дробных правых сторон. Поэтому пользователю остается разработать наименее дорогостоящий способ выполнения этого требования позитивности.
Решающее устройство gevp основан на проективном методе Нестерова и Немировского, описанном в
Нестеров, Я. и А. Немировски, многочленовые методы внутренних точек в выпуклом программировании: теория и приложения, SIAM, Филадельфия, 1994.
Оптимизация выполняется C MEX-файлом fpds.mex.