Вычислите решение данной системы LMIs
[tmin,xfeas] = feasp(lmisys,options,target)
Функциональный
feasp
вычисляет решение xfeas
(если таковые имеются) системы LMIs описан lmisys
. Векторный xfeas
особое значение переменных решения, для которых удовлетворяют всем LMIs.
Учитывая систему LMI
(1) |
xfeas
вычисляется путем решения вспомогательной выпуклой программы:
Минимизируйте t, удовлетворяющий NTL (x) N –MTR (x) M≤tI.
Глобальный минимум этой программы является скалярным значением tmin
возвращенный как первый выходной аргумент feasp
. Ограничения LMI выполнимы если tmin
≤ 0 и строго выполнимый, если tmin
<0. Если проблема выполнима, но не строго выполнима, tmin
является положительным и очень маленьким. Некоторый постанализ может затем потребоваться, чтобы решать ли xfeas
достаточно близко к выполнимому.
Дополнительный аргумент target
устанавливает целевое значение для tmin
. Код оптимизации завершает работу, как только значение t ниже этой цели достигнуто. Значением по умолчанию является target
= 0.
Обратите внимание на то, что xfeas
решение в терминах переменных решения а не в терминах матричных переменных проблемы. Используйте dec2mat
получать выполнимые значения матричных переменных из xfeas
.
Дополнительный аргумент options
предоставляет доступ к определенным параметрам управления для алгоритма оптимизации. Этот вектор с пятью записями организован можно следующим образом:
options(1)
не используется.
options(2)
определяет максимальный номер итераций, позволенных выполняться процедурой оптимизации (100 по умолчанию).
options(3)
сбрасывает радиус выполнимости. Установка options(3)
к значению R> 0 далее ограничивает вектор решения x = (x 1..., xN), чтобы лечь в шаре
Другими словами, Евклидова норма xfeas
не должен превышать R. Радиус выполнимости является простыми способами получения управления величиной решений. После завершения, feasp
отображает насыщение f-радиуса, то есть, норму решения как процент радиуса выполнимости R.
Значением по умолчанию является R = 109. Установка options(3)
к отрицательной величине активирует “гибкий связанный” режим. В этом режиме радиус выполнимости первоначально установлен в 108 и увеличен при необходимости в ходе оптимизации
options(4)
помогает ускорить завершение. Когда установлено в целочисленное значение J> 0, код завершает работу, если t не уменьшился больше чем на один процент в относительном выражении во время последних итераций J. Значение по умолчанию равняется 10. Этот параметр обменивает скорость по сравнению с точностью. Если установлено в маленькое значение (<10), код завершает работу быстро, но без гарантии точности. Наоборот, большое значение приводит к естественной сходимости за счет возможно большого количества итераций.
options(5) = 1
выключает трассировку осуществления процедуры оптимизации. Сброс options(5)
обнулять (значение по умолчанию) снова включает его.
Установка option(i)
обнулять эквивалентно установке соответствующего параметра управления на его значение по умолчанию. Следовательно, нет никакой потребности переопределить целый вектор при изменении всего одного параметра управления. Чтобы определить максимальный номер итераций к 10, например, это достаточно к типу
options=zeros(1,5) % default value for all parameters options(2)=10
Когда задача наименьших квадратов, решенная в каждой итерации, заболевает обусловленная, feasp
переключатели решателя от основанного на Холесском до основанной на QR линейной алгебры (см. проблемы Памяти для деталей). Поскольку режим QR обычно требует намного большей памяти, MATLAB® может исчерпать память и отобразить сообщение
??? Error using ==> feaslv Out of memory. Type HELP MEMORY for your options.
Необходимо затем попросить, чтобы системный администратор увеличил область подкачки или, если никакая дополнительная область подкачки не доступна, набор options(4) = 1
. Это предотвратит переключение на QR и feasp
завершит работу, когда Холесский перестанет работать из-за числовой нестабильности.
Решатель выполнимости feasp
основан на Нестерове и Проективном Методе Немировского, описанном в:
Нестеров, Y., и А. Немировский, методы полинома внутренней точки в выпуклом программировании: теория и приложения, SIAM, Филадельфия, 1994.
Немировский, A. и П. Гэхинет, “Проективный Метод для Решения Линейных Матричных Неравенств”, Proc. Amer. Противоречие. Конференция, 1994, Балтимор, Мэриленд, p. 840–844.
Оптимизация выполняется feaslv.mex
файла MEX на C.