gevp

Обобщенная минимизация собственных значений при ограничениях LMI

Синтаксис

[lopt,xopt] = gevp(lmisys,nlfc,options,linit,xinit,target)

Описание

gevp решает обобщенную задачу минимизации собственных значений минимизации, при условии:

C(x)<D(x)(1)
0<B(x)(2)
A(x)<λB(x)(3)

где C (<reservedrangesplaceholder7>) <D (<reservedrangesplaceholder5>) и A (<reservedrangesplaceholder3>)  <λ <reservedrangesplaceholder2> (<reservedrangesplaceholder1>) обозначают системы LMIs. При условии, что уравнение 1 и уравнение 2 являются совместно допустимыми, gevp возвращает глобальный минимум lopt и минимизирующее значение xopt вектора переменных принятия решений x. Соответствующие оптимальные значения матричных переменных получаются с dec2mat.

Аргумент lmisys описывает систему LMI уравнения 1 к уравнению 3 для LMI, в которых задействованы, называются линейно-дробными ограничениями, в то время как Уравнения 1 и Уравнение 2 являются регулярными ограничениями LMI. Количество линейно-дробных ограничений Уравнение 3 задается nlfc. Все другие входные параметры являются необязательными. Если доступна начальная допустимая пара (в x 0), она может быть передана в gevp путем установки linit по, и xinit для x 0. Обратите внимание, что xinit должен иметь длину decnbr(lmisys) (количество переменных принятия решений). Начальная точка игнорируется, когда недопустимо. Наконец, последний аргумент target задает некоторое целевое значение для Код завершается, как только он обнаружил допустимую пару (, x) с, ≤ целевой точкой.

Внимание

При настройке 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) Значение нуля эквивалентно установке соответствующего параметра управления на его значение по умолчанию.

Примеры

Данный

A1=(1213), A2=(0.81.51.32.7), A3=(1.40.90.72.0),

рассмотрим задачу нахождения одной функции Ляпунова V (x) = xTPx, который доказывает стабильность

x˙=Aix (i=1,2,3)

и максимизирует скорость распада dV(x)dt. Это эквивалентно минимизации

α при условии, что

I<P(4)
A1TP+PA1<αP(5)
A2TP+PA2<αP(6)
A3TP+PA3<αP(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). Это значение достигается для:

P=(5.588.358.3518.64)

Совет

Обобщенные задачи минимизации собственных значений включают стандартные ограничения LMI Уравнение 1 и линейные дробные ограничения Уравнение 3. Для хорошо расположения, положительная определенность B (x) должна быть обеспечена путем добавления ограничительного B ( x) > 0 к задаче. Хотя это можно было сделать автоматически из кода, это нежелательно по причинам эффективности. Для образца, набор ограничений Уравнение 2 может уменьшиться до одного ограничения, как в примере выше. В этом случае одного дополнительного LMI «P > I » достаточно, чтобы обеспечить положительность всех линейно-дробных правых сторон. Поэтому пользователю остается разработать наименее дорогостоящий способ выполнения этого требования позитивности.

Ссылки

Решатель gevp основан на проективном методе Нестерова и Немировского, описанном в

Нестеров Я. и А. Немировски, Interior Point Polynomial Methods in Convex Programming: Theory and Applications, SIAM, Philadelphia, 1994.

Оптимизацию выполняет C MEX-файл fpds.mex.

См. также

| | |

Представлено до R2006a