Минимизация линейной цели при ограничениях LMI
[copt,xopt] = mincx(lmisys,c,options,xinit,target)
[copt,xopt] = mincx(lmisys,c,options,xinit,target) решает выпуклую программу
| x) M | (1) |
где x обозначает вектор переменных скалярного решения.
Система LMI описывается lmisys. Вектор c должна иметь ту же длину, что и x. Эта длина соответствует количеству переменных решения, возвращаемых функцией decnbr. Для линейных целей, выраженных в терминах матричных переменных, адекватное c вектор легко выводится с помощью defcx.
Функция mincx возвращает глобальный минимум copt для цели cTx, а также минимизирующее значение xopt вектора переменных принятия решения. Соответствующие значения матричных переменных получаются из xopt с dec2mat.
Остальные аргументы необязательны. Вектор xinit является начальным предположением минимизатора xopt. Он игнорируется, когда его невозможно реализовать, но может ускорить вычисления в противном случае. Обратите внимание, что xinit должна иметь ту же длину, что и c. Что касается target, он устанавливает некоторую цель для целевого значения. Код завершается сразу же после достижения этой цели, то есть сразу после того, как некоторые возможные значения x таковы, что cTx ≤ target найден. Набор options кому [] использовать xinit и target с опциями по умолчанию.
Необязательный аргумент options предоставляет доступ к определенным контрольным параметрам кода оптимизации. В mincx, это вектор с пятью входами, организованный следующим образом:
options(1) устанавливает требуемую относительную точность на оптимальном значении lopt (по умолчанию = 10-2).
options(2) задает максимальное число итераций, разрешенных для выполнения с помощью процедуры оптимизации (по умолчанию 100).
options(3) задает радиус выполнимости. Его назначение и использование как для feasp.
options(4) помогает ускорить завершение. Если задано целочисленное значение J > 0, код завершается, когда целевой cTx не уменьшился более чем на желаемую относительную точность во время последних J итераций.
options(5) = 1 отключает трассировку выполнения процедуры оптимизации. Сброс options(5) в ноль (значение по умолчанию) снова включается.
Настройка option(i) нулевое значение эквивалентно заданию соответствующего параметра управления значением по умолчанию. Посмотрите feasp для получения более подробной информации.
В оптимизации LMI вычислительные издержки на одну итерацию в основном происходят от решения задачи наименьших квадратов формы
b |
где x - вектор переменных принятия решения. Для решения этой задачи используются два метода: чолеская факторизация ATA (по умолчанию) и QR факторизация A, когда нормальное уравнение становится плохо обусловленным (когда обычно близко к решению). Сообщение
* switching to QR
отображается, когда решатель должен переключиться в режим QR.
Поскольку факторизация QR в большинстве проблем является постепенно более дорогой, иногда желательно предотвратить переключение на QR. Это делается путем установки options(4) = 1. Хотя это не гарантирует получения оптимального значения, в целом достигается хороший компромисс между скоростью и точностью.
Линейная алгебра на основе QR (см. выше) является дорогостоящей не только с точки зрения вычислительных издержек, но и с точки зрения требований к памяти. В результате объем памяти, необходимый для QR, может превысить пространство подкачки для больших проблем с многочисленными ограничениями LMI. В этом случае MATLAB ® выдает ошибку
??? Error using ==> pds Out of memory. Type HELP MEMORY for your options.
Затем попросите системного менеджера увеличить область подкачки или, если дополнительная область подкачки недоступна, установить options(4) = 1. Это предотвратит переключение на QR и mincx прекратится, когда Cholesky не справится из-за численных нестабильностей.
Решающее устройство mincx реализует проективный метод Нестерова и Немировского, как описано в
Нестеров, Ю. и А. Немировски, интерьерные точечные полиномиальные методы в выпуклом программировании: теория и приложения, SIAM, Филадельфия, 1994.
Немировски, А. и П. Гахинет, «Проективный метод решения неравенства линейных матриц», Прок. Амер. Контр. Конф., 1994, Балтимор, Мэриленд, стр. 840-844.
Оптимизация выполняется файлом C-MEX pds.mex.