Максимізація опуклої функції (мінімізація увігнутої функції) з лінійним обмеженням


10

maxf(x) subject to Ax=b

де , , і f(x)=i=1N1+xi4(i=1Nxi2)2
x=[x1,x2,...,xN]TRN×1
ARM×N

Ми можемо бачити, що форму і є опуклою функцією. Можна також показати, що f (.) Обмежений у .f(.)1+y2
[2,2]

Це випукла проблема мінімізації з лінійним обмеженням.

Які стандартні алгоритми використовуються для вирішення подібних проблем?

Використовуючи специфічну природу проблеми, чи можна її вирішити за допомогою будь-якого стандартного програмного забезпечення / пакета для оптимізації?


Ви спробували скористатися множниками Lagrange, щоб побачити, чи це перетворює його на щось більш придатне?
Натаніель

Відповіді:


7

Ви можете скористатися структурою проблеми, хоча я не знаю жодного попередньо розфасованого вирішувача, який би це зробив для вас.

По суті, ви шукаєте мінімізацію увігнутої функції над опуклим багатогранником (або опуклим багатогранником). Швидкий пошук знайшов декілька відповідних джерел (я смутно пам'ятаю, як одне з них згадувалося, коли я брав заняття з нелінійного програмування понад чотири роки тому):

Фолк, Дж. Е. та Гофман, К. Л. Увігнута мінімізація за рахунок згортання політопів , Операційні дослідження, 1986, Vol. 34, № 6, стор. 919-929.

Гофман, К. Л. Метод глобального мінімізації опуклих функцій над опуклими множинами , Математичне програмування, 1981, т. 20, с. 22-31.

Бенсон, HP Кінцевий алгоритм мінімізації увігнутих над багатогранником , Naval Research Logistics, 1985, Vol. 32, № 1, стор. 165-177.

Купа посилань на веб-сайті Крістофа Мейєра .

Є більше джерел, якщо Google "мінімізує увігнуту функцію над політопом" (або замінить "політоп" на "багатогранник").


2

Я відвідував кілька років тому лекцію про оптимізацію. Тоді ми використовували Matlab у поєднанні з YALMIP.

YALMIP Wiki


1

Ця проблема може розглядатися як різниця проблеми програмування опуклих функцій (DC). Існує велика література з програмування постійного струму, ви можете шукати там пов’язані дослідження. Одним з найбільш відомих методів є метод DCA, див. Наприклад: http://lma.univ-pau.fr/meet/mamern09/en/Lethi-MAMERN09.pdf

Ще один останній документ, який певною мірою оглядає літературу DC та може бути корисним: https://arxiv.org/pdf/1511.01796.pdf

Ви також можете використовувати деякі більш загальні методи для негладких проблем, наприклад метод на основі прокси, наведений у: http://num.math.uni-goettingen.de/~ssabach/BST2013.pdf


0

Я пропоную алгоритм Френка Вулфа та пов'язані з ним методи для розгляду. В основному, ви лінеаризуєте цільову функцію і вирішуєте отриманий LP при кожній ітерації. Я думаю, однак, що вам потрібно буде додати межі на щоб зробити цей підхід ефективним.x

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.