mincx

Минимизируйте линейную цель под ограничениями LMI

Синтаксис

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

Описание

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

minimize cTx при условии , что NTL(x)NMTR(x)M(1)

где x обозначает вектор скалярных переменных решения.

Система LMI описывается lmisys. Векторная c должна иметь ту же длину, что и x. Эта длина соответствует количеству переменных принятия решений, возвращенных функцией decnbr. Для линейных целей, выраженных в терминах матричных переменных, адекватное c вектор легко выведен с defcx.

Функция mincx возвращает глобальный минимум copt для цели cTx, а также минимизирующее значение xopt вектора переменных принятия решений. Соответствующие значения матричных переменных получают из xopt с dec2mat.

Остальные аргументы являются необязательными. Векторная xinit является начальным предположением о минимизаторе xopt. Он игнорируется, когда недопустимо, но может ускорить расчеты в противном случае. Обратите внимание, что xinit должна иметь ту же длину, что и c. Что касается target, он устанавливает некоторую цель для целевого значения. Код прекращается, как только эта цель достигается, то есть, как только некоторые допустимые x такие, что cT<reservedrangesplaceholder1> ≤ <reservedrangesplaceholder0> найден. Задайте 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|Axb|

где 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 завершится, когда Холецкий не справится из-за численных нестабильностей.

Ссылки

Решатель mincx реализует проективный метод Нестерова и Немировского, как описано в

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

Немировски, А. и П. Гахинет, «Проективный метод решения линейных матричных неравенств», прок. Amer. Contr. Конф., 1994, Балтимор, Мэриленд, стр. 840-844.

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

См. также

| | | | |

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