导航

  • 前文链接
  • 线性约束的非凸二次规划
  • SCA方法
    • 算法框架
  • 参考资料

前文链接

二次规划(1)

线性约束的非凸二次规划

QP问题
min⁡12xTQx+cTxs.t.{aiT−bi≤0,i=1,…,maix−bi=0,i=m+1…,m+l\begin{aligned} &\min \frac{1}{2}x^TQx+c^Tx\\ &s.t. \begin{cases} a_i^T-b_i\leq 0, i=1,\dots, m\\ a_i^x-b_i=0, i=m+1\dots, m+l \end{cases} \end{aligned} ​min21​xTQx+cTxs.t.{aiT​−bi​≤0,i=1,…,maix​−bi​=0,i=m+1…,m+l​​
其中QQQ不定

SCA方法

构造凸近似问题
Q=P−NQ=P-NQ=P−N,其中PPP和NNN为半正定矩阵
Q=HT(λ1⋱λn)⏟QH=HT(λ1⋱λk0)H⏟P−HT(0⋱0−λk+1⋱)⏟NHQ=H^T \underbrace{ \left( \begin{matrix} &\lambda_1\\ &&\ddots\\ &&&\lambda_n \end{matrix} \right)}_{Q}H=H^T \underbrace{ \left( \begin{matrix} &\lambda_1\\ &&\ddots\\ &&&\lambda_k\\ &&&&0 \end{matrix} \right)H}_P- H^T \underbrace{ \left( \begin{matrix} &0\\ &&\ddots\\ &&&0\\ &&&&-\lambda_{k+1}\\ &&&&&\ddots\\ \end{matrix} \right)}_{N} H Q=HTQ⎝⎛​​λ1​​⋱​λn​​⎠⎞​​​H=HTP⎝⎜⎜⎛​​λ1​​⋱​λk​​0​⎠⎟⎟⎞​H​​−HTN⎝⎜⎜⎜⎜⎛​​0​⋱​0​−λk+1​​⋱​⎠⎟⎟⎟⎟⎞​​​H
可以得到
f(x)=12xTQx+cTx=12xTPx+cTx−12xTNx\begin{aligned} f(x)&=\frac{1}{2}x^TQx+c^Tx\\ &=\frac{1}{2}x^TPx+c^Tx-\frac{1}{2}x^TNx \end{aligned} f(x)​=21​xTQx+cTx=21​xTPx+cTx−21​xTNx​
记f1(x)=12xTPx+cTx,f2(x)=12xTNxf_1(x)=\frac{1}{2}x^TPx+c^Tx,f_2(x)=\frac{1}{2}x^TNxf1​(x)=21​xTPx+cTx,f2​(x)=21​xTNx,任取xˉ∈S\bar{x}\in Sxˉ∈S, 构造xˉ\bar{x}xˉ处的线性函数对f2(x)f_2(x)f2​(x)近似
记一阶Taylor展开
l(x)=−f2(xˉ)−∇f2(x)T(x−xˉ)=−12xˉTNxˉ−(Nxˉ)T(x−xˉ)=12xˉTNxˉ−xˉTNx≥f2(x)\begin{aligned} l(x)&=-f_2(\bar{x})-\nabla f_2(x)^T(x-\bar{x})\\ &=-\frac{1}{2}\bar{x}^TN\bar{x}-(N\bar{x})^T(x-\bar{x})\\ &=\frac{1}{2}\bar{x}^TN\bar{x}-\bar{x}^TNx\\ &\geq f_2(x) \end{aligned} l(x)​=−f2​(xˉ)−∇f2​(x)T(x−xˉ)=−21​xˉTNxˉ−(Nxˉ)T(x−xˉ)=21​xˉTNxˉ−xˉTNx≥f2​(x)​
得到xˉ\bar{x}xˉ处的凸近似问题QP(xˉ\bar{x}xˉ)
min⁡f1(x)+l(x)=12xTPx+cTx−xˉTNx+12xˉTNxˉs.t.{aiTx−bi≤0,i=1,…,maiTx−bi=0,i=m+1,…,m+l\begin{aligned} &\min f_1(x)+l(x)=\frac{1}{2}x^TPx+c^Tx-\bar{x}^TNx+\frac{1}{2}\bar{x}^TN\bar{x}\\ &s.t. \begin{cases} a_i^Tx-b_i\leq 0, i=1, \dots, m\\ a_i^Tx-b_i=0, i=m+1,\dots, m+l \end{cases} \end{aligned} ​minf1​(x)+l(x)=21​xTPx+cTx−xˉTNx+21​xˉTNxˉs.t.{aiT​x−bi​≤0,i=1,…,maiT​x−bi​=0,i=m+1,…,m+l​​
引理:如果xˉ\bar{x}xˉ是QP(xˉ\bar{x}xˉ)的最优解,则xˉ\bar{x}xˉ是QP问题的KKT点.
证明:由于xˉ\bar{x}xˉ是QP(xˉ\bar{x}xˉ)的最优解,则xˉ\bar{x}xˉ满足KKT条件
{Pxˉ+c−Nxˉ+∑i=1m+lλiai=0λi≥0,i=1…,mλi(aiTxˉ−bi)=0,i=1,…,m\left\{ \begin{aligned} &P\bar{x}+c-N\bar{x}+\sum_{i=1}^{m+l}\lambda_ia_i=0\\ &\lambda_i\geq 0, i=1\dots, m\\ &\lambda_i(a_i^T\bar{x}-b_i)=0, i=1,\dots, m \end{aligned} \right. ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧​​Pxˉ+c−Nxˉ+i=1∑m+l​λi​ai​=0λi​≥0,i=1…,mλi​(aiT​xˉ−bi​)=0,i=1,…,m​
即QP问题的KKT条件,所以xˉ\bar{x}xˉ是QP的KKT点.

算法框架

step 0: 取x0∈S,ε>0,k=0x^0\in S, \varepsilon>0, k=0x0∈S,ε>0,k=0.
step 1: 求解近似子问题,QP(xkx^kxk)
min⁡12xTPx+cTx−(xk)Nx+12(xk)Nxk\min \frac{1}{2}x^TPx+c^Tx-(x^k)Nx+\frac{1}{2}(x^k)Nx^k min21​xTPx+cTx−(xk)Nx+21​(xk)Nxk
得到最优解xk+1x^{k+1}xk+1;
step 2: 如果∥xk+1−xk∥≤ε\lVert x^{k+1}-x^k\rVert\leq \varepsilon∥xk+1−xk∥≤ε终止
step 3: k=k+1,转step 1.
性质 1:
xk→QP(xk)xk+1f(xk+1)=f1(xk+1)−f2(xk+1)≤f1(xk+1)+l(xk+1)≤f1(xk)+l(xk)=f(xk)\begin{aligned} &x^k\xrightarrow{QP(x^k)}x^{k+1}\\ &f(x^{k+1})=f_1(x^{k+1})-f_2(x^{k+1})\leq f_1(x^{k+1})+l(x^{k+1})\leq f_1(x^k)+l(x^k)=f(x^k) \end{aligned} ​xkQP(xk)​xk+1f(xk+1)=f1​(xk+1)−f2​(xk+1)≤f1​(xk+1)+l(xk+1)≤f1​(xk)+l(xk)=f(xk)​
性质 2(收敛性):
1.如果SCA有限步终止,则xkx^kxk为QP问题的KKT点
2.如果QP(xk)(x^k)(xk)的最优解为xk+1x^{k+1}xk+1,乘子为λk\lambda^kλk,设{λk}\{\lambda^k\}{λk}有界,则{xk}\{x^k\}{xk}的任意聚点为QP的KKT点
证明
由于xk+1x^{k+1}xk+1是QP(xkx^kxk)的最优解,则满足KKT条件:
Pxk+1+c−Nxk+∑i=1m+lλiai=0λik≥0,i=1,…,mλik(aiTxk+1−bi)=0,i=1,…,m\begin{aligned} &Px^{k+1}+c-Nx^{k}+\sum_{i=1}^{m+l}\lambda_ia_i=0\\ &\lambda_i^k\geq 0, i=1, \dots, m\\ &\lambda_i^k(a_i^Tx^{k+1}-b_i)=0, i=1, \dots, m \end{aligned} ​Pxk+1+c−Nxk+i=1∑m+l​λi​ai​=0λik​≥0,i=1,…,mλik​(aiT​xk+1−bi​)=0,i=1,…,m​
设x∗x^*x∗是{xk}\{x^k\}{xk}的聚点,不妨记为{xk},xk→x∗\{x^k\}, x^k\to x^*{xk},xk→x∗. 由于{λk}\{\lambda^k\}{λk}有界,存在收敛子列{λki},λki→λ∗\{\lambda^{k_i}\}, \lambda^{k_i}\to \lambda^*{λki​},λki​→λ∗.
令ki→∞:k_i\to\infty:ki​→∞:
Px∗+c−Nx∗+∑λi∗ai=0λi∗≥0,i=1,…,maiTx∗−bi≤0,i=1,…,maiTx∗−bi=0,i=m+1,…,m+l\begin{aligned} &Px^*+c-Nx^*+\sum\lambda^*_ia_i=0\\ &\lambda_i^*\geq 0, i=1, \dots, m\\ &a_i^Tx^*-b_i\leq 0, i=1,\dots, m\\ &a_i^Tx^*-b_i=0, i=m+1, \dots, m+l \end{aligned} ​Px∗+c−Nx∗+∑λi∗​ai​=0λi∗​≥0,i=1,…,maiT​x∗−bi​≤0,i=1,…,maiT​x∗−bi​=0,i=m+1,…,m+l​
即QP的KKT条件,所以x∗x^*x∗是QP的KKT点.

参考资料

非凸二次规划 上海财经大学 崔雪婷

【OR】二次规划(2):SCA方法相关推荐

  1. python paperclip_Python pyplot.sca方法代码示例

    本文整理汇总了Python中matplotlib.pyplot.sca方法的典型用法代码示例.如果您正苦于以下问题:Python pyplot.sca方法的具体用法?Python pyplot.sca ...

  2. 非凸问题的求解方法以及连续凸逼近SCA(Successive Convex Approximation)方法

    非凸问题的求解方法以及连续凸逼近SCA(Successive Convex Approximation)方法 非凸问题的转换形式 针对形如下式的函数: min ⁡ x ∈ X V ( x ) = F ...

  3. 使用QP方法解基于五次多项式形式的cost function minimization问题

    我们在这里使用二次规划(QP)的方法解一个五次多项式形式的曲线的cost function minimization的问题.二次规划的标准形式如下: 在之前的讨论的五次多项式的方法中,我们在采用空间上 ...

  4. 使用Maple进行c语言程序修复,Gro¨ bner基方法验证乘法器的Maple实现

    1. 引言 乘法器电路是计算机系统.信号处理.密码系统.机器学习等众多现代数字电路系统中的重要组成部分,对其正确性进行验证是必不可少的一个环节 [1].传统的模拟仿真技术与形式化验证方法是乘法器电路验 ...

  5. 最优化算法的简单基础介绍(主要侧重于二次规划(QP)的问题优化)

    最优化方法相当于一门学科,大多为求最大值最小值.因为我刚开始看什么都不懂,所以在网上搜集了一些资料,算个简单的基础吧,让大家对整个的比较熟悉,我主要关注的是二次规划问题(Quadratic Progr ...

  6. 统计学习方法|支持向量机(SVM)原理剖析及实现

    欢迎直接到我的博客查看最近文章:www.pkudodo.com.更新会比较快,评论回复我也能比较快看见,排版也会更好一点. 原始blog链接: http://www.pkudodo.com/2018/ ...

  7. 复习支持向量机(SVM)没空看书时,掌握下面的知识就够了

    支持向量机(support vector machines, SVM)是一种二类分类模型.它的基本模型是定义在特征空间上的间隔最大的线性分类器:支持向量机还包括核技巧,这使它成为实质上的非线性分类器. ...

  8. 统计学习方法 李航---第7章 支持向量机

    第7章 支持向量机 支持向量机(support vector machines, SVM)是一种二类分类模型.它的基本模型是定义在特征空间上的间隔最大的线性分类器:支持向量机还包括核技巧,这使它成为实 ...

  9. 机器学习实战(六)——支持向量机

    第六章 支持向量机 6.1 什么是支持向量机 6.1.1 线性SVM 6.1.2 函数间隔和几何间隔 6.1.3 最大间隔分离超平面 6.1.4 支持向量和间隔边界 6.1.4 学习的对偶算法 6.2 ...

最新文章

  1. 一盘红烧肉告诉你,本科、硕士和博士区别太大了!
  2. 模型量化--TBN:Convolutional Neural Network with Ternary Inputs and Binary Weights
  3. 小心内存也会引起蓝屏
  4. CentOS YUM / RPM Error Signature Key ID BAD
  5. 以NETSCREEN-50为例,说明防火墙配置步骤
  6. 大改革,GNOME 3.x将直接跳到GNOME 40
  7. 可隐藏选项卡html,隐藏HTML中选定选项卡的底部边框
  8. 水平集与图割算法浅析
  9. VS里的新建模板(自动添加版本注释)
  10. [leetcode]Largest Rectangle in Histogram @ Python
  11. leetcode力扣105. 从前序与中序遍历序列构造二叉树
  12. 使用7zip把jre集成到绿色运行程序内
  13. 【带权并查集经典例题】银河英雄传说【同POJ 1988 cube stacking】
  14. iOS蓝牙开发(三)实现外设功能
  15. 风险模型 - 变量筛选
  16. maze走迷宫-C++
  17. Tomcat 服务器搭建
  18. DES方式加解密的简单介绍
  19. 招投标知识分享:影响投标报价编制的8大重要因素
  20. 【IntelliJ IDEA插件】Alibaba Cloud AI Coding Assistant

热门文章

  1. python实现打卡
  2. C++中关于写日志文件Log的方法
  3. 思科网络安全 第五章测验答案
  4. 这4款网页书签管理工具,整理收藏夹更轻松
  5. 用装饰器缓存某个函数的结果
  6. php转字,PHP汉字拼音转换和公历农历转换
  7. linux下贪吃蛇代码,贪吃蛇 linux 程序
  8. 2019年,给你在成都必混IT界的几大理由!
  9. 苹果se2上市准确时间_iPhone 12只能使用X55:苹果错过高通X60基带
  10. 植物代谢组学-线虫信息素的植物代谢介导植物与线虫的相互作用