数学中最优化问题的一般表述是求取
,使
,其中
是n维向量,
是
的可行域,
是
上的实值函数。凸优化问题是指
是闭合的凸集合且
是
上的凸函数的最优化问题,这两个条件任一不满足则该问题即为非凸
的最优化问题。
![x^{*}\in \chi](https://i-blog.csdnimg.cn/blog_migrate/1096daaffdc649f9b41617dd08631268.png%5E%7B%2A%7D%5Cin+%5Cchi+)
![f(x^{*} )=min\{f(x):x\in \chi \}](https://i-blog.csdnimg.cn/blog_migrate/3e825a76503fd3f07f52cebd288e0daa.png%28x%5E%7B%2A%7D+%29%3Dmin%5C%7Bf%28x%29%3Ax%5Cin+%5Cchi+%5C%7D)
![x](https://i-blog.csdnimg.cn/blog_migrate/1096daaffdc649f9b41617dd08631268.png)
![\chi](https://i-blog.csdnimg.cn/blog_migrate/428c90527a0368a88abdc077118f0e7f.png)
![x](https://i-blog.csdnimg.cn/blog_migrate/1096daaffdc649f9b41617dd08631268.png)
![f](https://i-blog.csdnimg.cn/blog_migrate/3e825a76503fd3f07f52cebd288e0daa.png)
![\chi](https://i-blog.csdnimg.cn/blog_migrate/428c90527a0368a88abdc077118f0e7f.png)
![\chi](https://i-blog.csdnimg.cn/blog_migrate/428c90527a0368a88abdc077118f0e7f.png)
![f](https://i-blog.csdnimg.cn/blog_migrate/3e825a76503fd3f07f52cebd288e0daa.png)
![\chi](https://i-blog.csdnimg.cn/blog_migrate/428c90527a0368a88abdc077118f0e7f.png)
其中,
是凸集是指对集合中的任意两点
,有
,即任意两点的连线段都在集合内,直观上就是集合不会像下图那样有”凹下去”的部分。至于闭合的凸集,则涉及到闭集的定义,而闭集的定义又基于开集,比较抽象。这里可以简单认为闭合的凸集是指包含有所有边界的凸集。
![\chi](https://i-blog.csdnimg.cn/blog_migrate/428c90527a0368a88abdc077118f0e7f.png)
特别注意:中国大陆统计大学对于函数凹凸性的定义正好与此相反。
本文中的凹凸性是指蓝色线上方区域是凹集还是凸集,
而同济大学高等数学教材则是指其下方图是凹集或凸集,两者定义正好相反。
本文中,蓝色函数,应为凸函数,因为蓝色上方部门的区域为凸集,然后,按照同济大学的定义的话,该蓝色函数为凹函数,因为蓝色线下方的区域为凹集。
实际建模中,判断一个最优化问题是不是凸优化问题一般看以下几点:
1. 目标函数f如果不是凸函数,则不是凸优化问题。
2. 决策变量
中包含离散变量(0-1变量或整数变量),则不是凸优化问题
![x](https://i-blog.csdnimg.cn/blog_migrate/1096daaffdc649f9b41617dd08631268.png)
3.
约束条件写成
时,
如果不是凸函数,则不是凸优化问题
非凸优化问题如何转化为凸优化问题的方法:
1)修改目标函数,使之转化为凸函数
2)抛弃一些约束条件,使新的可行域为凸集并且包含原可行域