Вычислительное решение данной системы LMI
[tmin,xfeas] = feasp(lmisys,options,target)
[tmin,xfeas] = feasp(lmisys,options,target)
вычисляет решение xfeas
(при наличии) системы LMI, описанной lmisys
. Векторная xfeas
является конкретным значением переменных принятия решений, для которых удовлетворены все LMI.
Учитывая систему 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
основан на проективном методе Нестерова и Немировского, описанном в:
Нестеров Я. и А. Немировски, Interior Point Polynomial Methods in Convex Programming: Theory and Applications, SIAM, Philadelphia, 1994.
Немировски, А. и П. Гахинет, «Проективный метод решения линейных матричных неравенств», прок. Amer. Contr. Конф., 1994, Балтимор, Мэриленд, с. 840-844.
Оптимизацию выполняет файл MEX на C feaslv.mex
.