mincx

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

Резюме

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

Описание

Функциональный mincx решает выпуклую программу

минимизировать cTx подвергающийся  NTL(x)NMTR(x)M(1)

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

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

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

Остающиеся аргументы являются дополнительными. Векторный xinit является исходным предположением минимизатора xopt. Это проигнорировано, когда неосуществимый, но может ускорить вычисления в противном случае. Обратите внимание на то, что xinit должен иметь ту же длину как c. Что касается target, это ставит некоторую цель для объективного значения. Код останавливается, как только эта цель достигается, то есть, как только некоторый выполнимый x, таким образом, что cT xtarget найден. Установите options на [] использовать xinit и target с опциями по умолчанию.

Управляйте параметрами

Дополнительный аргумент options предоставляет доступ к определенным параметрам управления кода оптимизации. В mincx это - вектор с пятью записями, организованный можно следующим образом:

  • options(1) устанавливает желаемую относительную точность на оптимальном значении lopt (значение по умолчанию = 10–2).

  • options(2) определяет максимальный номер итераций, позволенных выполняться процедурой оптимизации (100 по умолчанию).

  • options(3) устанавливает радиус выполнимости. Его цель и использование что касается feasp.

  • options(4) помогает ускорить завершение. Если установлено в целочисленное значение J> 0, код останавливается, когда объективный cT x не уменьшился больше, чем желаемая относительная точность во время последних итераций 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 реализует Нестерова и Проективный Метод Немировского, как описано в

Нестеров, Ю, и А. Немировский, методы полинома внутренней точки в выпуклом программировании: теория и приложения, SIAM, Филадельфия, 1994.

Немировский, A. и П. Гэхинет, “Проективный Метод для Решения Линейных Матричных Неравенств”, Proc. Amer. Противоречие. Конференция, 1994, Балтимор, Мэриленд, стр 840-844.

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

Смотрите также

| | | | |

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