凸优化理论与应用-暑期学习总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“凸优化理论与应用”暑期学校学习总结
一、专家介绍
Stephen Boyd:斯坦福大学教授,曾多次来哈尔滨工业大学控制理论与制导技术研究中心开展学术讲座和交流活动。讲课全部是英文,很开朗。
段广仁:哈尔滨工业大学教授,曾于外国留学,讲了一口流利的英语,和Stephen Boyd教授交流时全部是英语。
谭峰:段广仁的学生,曾去Stephen Boyd教授那里做一年博后,然后回国,现在就职于哈尔滨工业大学,讲师。所以此次由她给大家做辅导。
二、课程安排
7.13上午8:15-9:15 开幕。段广仁老师对于本次暑期学校开展、Stephen Boyd、
谭峰以及幕后的工作人员做了简单的介绍,谈了课程的变
动的原因以及可能给我们加课等事宜。
9:30-11:00讲座1(Lecture 1) Stephen Boyd 教授。
7.14上午8:15-9:15 谭峰博士对于前一天Stephen Boyd 教授讲的知识的一个
回顾。
9:30-11:00讲座2(Lecture 2) Stephen Boyd 教授。
下午14:00-15:00讲座3(Lecture 3)Stephen Boyd 教授。
7.15上午8:15-9:15 谭峰博士。
9:30-11:00讲座4(Lecture 4) Stephen Boyd 教授。
7.16上午8:15-9:15 谭峰博士。
9:15-9:30 所有人一起拍一张照片。
9:30-11:00讲座5(Lecture 5) Stephen Boyd 教授。
三、主要知识
1.凸优化相应理论.
本部分一共有8章,老师只用了两节课共3个小时就讲完了。这部分的内容虽然我很认真的听了,也只能知道一点概况,说实话想学明白还需要以后投入大量的时间精力。
1.1 绪论
此部分介绍了在现实生活中存在的凸优化问题,最小二乘,线性规划,凸优化问题等。
1.2. 凸集
在此部分介绍了凸集里包含的集合的形式,如仿射集、凸集、凸锥、超平面
和半空间、多面体、半正定锥、交集(凸集的交集还是凸的)以上这些都是凸的。
1.3. 凸函数
定义了不同函数在什么条件下是凸的,或者函数在什么条件下是凹的。可以判断函数是否凸的。
1.4. 凸优化问题
可用cvx解决的一些问题。包括linear program(LP)问题、Quadratic program( Q P )二次的规划、Second-order cone programming、Robust linear programming、Semidefinite program(SDP)等。
*在SDP中提到LMI,我们想,能否用这个凸优化问题,用cvx来解决我们的LMI不等式问题?
*可用cvx鉴定是否是凸的,把函数输入进去点回车以后,如果不是凸函数就会出错。返回的错误信息就会说明它不是凸函数。
1.5. 略过
1.6. 近似和适配
讲范数意义下的近似,1范数、2范数、无穷范数的解决方法。还有数据拟合的问题,如下图,正常我们认为数据拟合出来的图像应该是下图斜率比较大的线,但实际上由于两个非正常点的影响,拟合线被拉平了一点,此时我们引入Huber penalty function,去掉了两个非正常点。
讲了类似于滤波的函数,经过处理噪声被去掉了。方式有两种,一种是会变的平滑,一种是有棱角,如下:
1.7. 统计估计
1.8. 几何问题
用一个超平面把点的集合分成两部分,如下左,有时点不是如此清晰,不好分的时候我们还可以近似的分,如下右。
2. cvx 软件用法.
Cvx 可以解决凸优化问题,编程也是有一套原则或者说是规律。如果想学会用cvx 软件则可以去阅读想过的书籍,现只介绍简单的使用方法。
例1:least-squares.minimizes 2
2Ax b 程序如下:
m = 16; n = 8;
A = randn(m,n);
b = randn(m,1);
cvx_begin
variable x(n);
minimize( norm(A*x-b) );
cvx_end
cvx_begin 和cvx_end 之间的限制条件书写可以是
I :”==”左右两面都是仿射函数。
II: CVX<=CCX
III:CCV>=CVX
注解:CVX 即 convex ,CCV 即concave 。
例2:minimize Tr(CX)
subject to Tr(AX) =b
X>=0
解程序如下:
n = 5; A = randn(n,n); C = randn(n,n); b = randn;
cvx_begin
variable X(n,n) symmetric;
minimize( trace( C * X ) );
subject to
trace( A * X ) == b;
X = semidefinite(n);
cvx_end
我们也可以自己定义一个新函数,然后再应用去做。
3.实时的嵌入的凸优化.
3.1时间与数量即要解决问题的大小的关系。
以前用几秒或者更多的时间,现在用实时嵌入优化可以几微妙到几秒就能解决。当几千或者百万的数量,现在能用几秒解决。
3.2CVXGEN软件的应用。
CVXGEN软件可以解决LP、QP等问题,但是它只适用于较小的问题,即在处理数据小的问题时用这个比较好,而当处理较大的问题是这个就不适用了。
4.通过ADMM进行分布优化和统计.
Alternating direction method of multiplier简称ADMM。介绍了ADMM问题的具体形式,以及用法。
四、段广仁总结
1.线性与非线性的转变。
以前是LP可解,但是LP很少。现在可以用CVX,凸的是可解的,非凸不一定可解。而凸的就有很多了。用凸的来区分可解性。
2.凸的可解,非凸的可能不可解。
CVX能解很多凸优化问题,那么有的时候把问题转化成凸的,就可以解决了。同时这就涉及到问题的描述,有些问题用一种方法描述就是凸的,而用另外一种方法描述就不是凸的,所以为了问题能够得到解决,用一种能把问题描述成凸优化问题就非常必要了。
3.传统重视可微性,现在就看是否凸就行了。
4.约束条件。
以前优化的问题喜欢各种指标,不喜欢约束。现在把指标放到约束中,虽然复杂但是可解了。
5.处理方法。
传统的方法是消元,这就使得非线性可能性变高了。而现在我们可以增加变