Answers:
您可以利用问题的结构,尽管我知道没有预打包的求解器可以为您提供帮助。
本质上,您要寻找的是最小化凸多面体(或凸多面体)上的凹函数。快速搜索收集了一些相关资源(我隐约记得四年前我上非线性编程课程时提到的其中一个):
Falk,JE和Hoffman,KL 通过折叠多表位使凹面最小化,《运筹学》,1986年,第1期。34,第6页,919-929。
Hoffman,KL 一种在凸集上全局最小化凸函数的方法,《数学编程》,1981年,第1期。第20页 22-31。
Benson,HP 一种用于多面体上的凹面最小化的有限算法,Naval Research Logistics,1985年,第1期。第32号第1页。165-177。
Christophe Meyer网站上的大量参考资料。
如果您的Google“在多面体上最小化凹面功能”(或将“多面体”替换为“多面体”),则有更多来源。
几年前,我参加了关于优化的讲座。那时我们将Matlab与YALMIP结合使用。
此问题可以看作是凸函数(DC)编程问题的区别。关于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中提供的基于代理的方法。
我会提供Frank Wolfe算法和相关方法供您考虑。基本上,您可以线性化目标函数并在每次迭代时求解结果LP。但是,我确实认为您需要在上添加边界以使这种方法有效。