exponenta event banner

mincx

Минимизация линейной цели при ограничениях LMI

Синтаксис

[copt,xopt] = mincx(lmisys,c,options,xinit,target)

Описание

[copt,xopt] = mincx(lmisys,c,options,xinit,target) решает выпуклую программу

минимизировать cTx в зависимости от NTL (x) N≤MTR (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 вычислительные издержки на одну итерацию в основном происходят от решения задачи наименьших квадратов формы

minx 'Ax 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.

См. также

| | | | |

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