Проблема в том, что
где ,
и
Мы можем видеть, что f (.) Имеет вид и является выпуклой функцией.
Также можно показать, что f (.) Ограничена в .
Это выпуклая задача минимизации с линейным ограничением.
Какие стандартные алгоритмы используются для решения подобных проблем?
Используя специфику проблемы, возможно ли ее решить с помощью какого-либо стандартного программного обеспечения / пакета оптимизации?
optimization
Sooraj
источник
источник
Ответы:
Вы можете воспользоваться преимуществами структуры проблемы, хотя я не знаю ни одного готового решения, которое бы помогло вам.
По сути, вам нужно минимизировать вогнутую функцию над выпуклым многогранником (или выпуклым многогранником). Быстрый поиск выявил несколько релевантных источников (я смутно помню, как один из них упоминался, когда я посещал урок по нелинейному программированию более четырех лет назад):
Фальк Дж. Э. и Хоффман К.Л. Минимизация вогнутой формы с помощью коллапсирующих многогранников , Operations Research, 1986, Vol. 34, № 6, с. 919-929.
Хоффман К.Л. Метод минимизации глобально выпуклых функций над выпуклыми множествами. Математическое программирование, 1981, том. 20, с. 22-31.
Бенсон, HP . Конечный алгоритм вогнутой минимизации над многогранником , Naval Research Logistics, 1985, Vol. 32, № 1, с. 165-177.
Куча ссылок на веб-сайте Кристофа Мейера .
Есть и другие источники, если вы Google «минимизируете вогнутую функцию над многогранником» (или заменяете «многогранник» на «многогранник»).
источник
Несколько лет назад я посетил лекцию по оптимизации. Тогда мы использовали Matlab в сочетании с YALMIP.
YALMIP Wiki
источник
Эта проблема может рассматриваться как разность задачи программирования выпуклых функций (DC). Существует обширная литература по программированию DC, вы можете найти соответствующие исследования там. Одним из наиболее известных методов является метод DCA, см., Например: http://lma.univ-pau.fr/meet/mamern09/en/Lethi-MAMERN09.pdf.
Другой недавний документ, который в некоторой степени рассматривает литературу по РС и может быть полезен: https://arxiv.org/pdf/1511.01796.pdf
Вы также можете использовать более общий метод для негладких задач, например, метод на основе прокс, указанный в: http://num.math.uni-goettingen.de/~ssabach/BST2013.pdf
источник
Я бы предложил вашему вниманию алгоритм Фрэнка Вольфа и связанные с ним методы. По сути, вы линеаризуете целевую функцию и решаете получившийся LP на каждой итерации. Тем не менее, я думаю, что вам нужно добавить границы для чтобы сделать этот подход эффективным.Икс
источник