什么是二次规划?

https://wenku.baidu.com/view/dafc28a99f3143323968011ca300a6c30c22f1bd.html
二次规划是最简单的约束非线性规划问题,对于h和g是线性函数的特殊情况,可以写成:
minf(x)=12xTHx+gTx,x∈Rnmin~~f(x)=\frac{1}{2}x^THx+g^Tx,~~x\in R^nmin  f(x)=21​xTHx+gTx,  x∈Rn
s.t.aiTx−bi=0,i∈E={1,2...,l}s.t.~~a_i^Tx-b_i=0,~ i\in E=\{1,2...,l\}s.t.  aiT​x−bi​=0, i∈E={1,2...,l}
aiTx−bi≥0,i∈I={l+1...,m}~~~~~~~a_i^Tx-b_i\geq 0,~ i\in I=\{l+1...,m\}       aiT​x−bi​≥0, i∈I={l+1...,m}
其中H∈Rn×nH\in R^{n\times n}H∈Rn×n; ai,g,x∈Rna_i,g,x\in R^nai​,g,x∈Rn; b∈Rmb\in R^mb∈Rm;
我们将上述问题记为问题1

  1. 若HHH为正定矩阵,则问题称为严格的凸二次规划问题
  2. 若HHH为半正定矩阵,则问题称为凸二次规划问题。
    凸二次规划是 一种特殊的凸二次规划。对于如上特殊形式的约束,可行域只要不空必定是凸集,当目标函数是凸函数时,二次规划的K-T点必为二次规划的全局极小点。

Q1: 什么是KT点?
KT点即满足KT条件的点,KT条件全称为Kuhn-Tucker条件,是线性规划中的一个重要条件。
对于上述问题1, 可利用拉格朗日乘子的方法表示为:L(λ,x)=f(x)+λ(Ax−b)L(\lambda,x)=f(x)+\lambda(Ax-b)L(λ,x)=f(x)+λ(Ax−b), 其中λ∈Rm\lambda\in R^{m}λ∈Rm。则利用拉格朗日乘子法求解极值的表示为:
(1) Hx∗+g−∑1mλi∗ai=0Hx^*+g-\sum_{1}^{m}\lambda_i^*a_i=0Hx∗+g−∑1m​λi∗​ai​=0
(2) aiTx−bi=0,1≤i≤la^T_ix-b_i=0, 1\leq i\leq laiT​x−bi​=0,1≤i≤l
(3) aiTx−bi≥0,l+1≤i≤ma^T_ix-b_i\geq 0, l+1\leq i\leq maiT​x−bi​≥0,l+1≤i≤m
(4) λi∗≥0,l+1≤i≤m\lambda_i^*\geq 0, l+1\leq i\leq mλi∗​≥0,l+1≤i≤m
(5) λi∗(aiTx∗−bi)=0,l+1≤i≤m\lambda^*_i(a_i^Tx^*-b_i)=0, l+1\leq i\leq mλi∗​(aiT​x∗−bi​)=0,l+1≤i≤m

Q2: 凸二次规划有哪些类型?
凸二次规划按照约束的类型有三种组合,1、只含有等式的约束。 2、只含有不等式约束。 3、既含有等式约束,又含有不等式约束,如问题1所示。其中仅含有等式约束的凸二次规划问题可以通过直接求解法或拉格朗日乘子法进行求解。而含有不等式约束的问题的求解可以通过有效集的方法进行求解。

Q3: 有效集是什么意思?
下面讲解一些基本概念:
https://wenku.baidu.com/view/bf1f32c83186bceb19e8bbfc.html
基本问题:
问题I
minf(X)s.t.gj(X)≥0,j=1,...,pmin~~f(X)~~s.t.~~g_j(X)\geq0,~j=1,...,pmin  f(X)  s.t.  gj​(X)≥0, j=1,...,p
问题II
minf(X)s.t.gj(X)≥0,j=1,...,p;hi(X)=0,i=1,...,mmin~~f(X)~~s.t.~~g_j(X)\geq0,~j=1,...,p;~~h_i(X)=0,~i=1,...,mmin  f(X)  s.t.  gj​(X)≥0, j=1,...,p;  hi​(X)=0, i=1,...,m
(1)起作用(紧)约束、可行域
X(0)X^{(0)}X(0)是I的可行解,若gj(X(0))=0g_j(X^{(0)})=0gj​(X(0))=0, 则称gj(X)≥0g_j(X)\geq0gj​(X)≥0 为X(0)X^{(0)}X(0)处起作用(紧)约束。记J(X(0))={j∣gj(X(0))=0,1≤i≤p}J(X^{(0)})=\{j|g_j(X^{(0)})=0,1\leq i\leq p\}J(X(0))={j∣gj​(X(0))=0,1≤i≤p}, 为X(0)X^{(0)}X(0)处起作用(紧)约束的下标集。
记R={X∣gj(X)≥0,j=1,...,p}R=\{X|g_j(X)\geq0, j=1,...,p\}R={X∣gj​(X)≥0,j=1,...,p}或R={X∣gj(X)≥0,j=1,...,p,hi(X)=0,i=1,...,m}R=\{X|g_j(X)\geq0, j=1,...,p,~h_i(X)=0,i=1,...,m\}R={X∣gj​(X)≥0,j=1,...,p, hi​(X)=0,i=1,...,m}为可行域.
(2)可行方向
X(0)+λD∈RX^{(0)}+\lambda D \in RX(0)+λD∈R
判断条件:
若DDD是X(0)X^{(0)}X(0)的任一可行方向,则有∇gj(X(0))TD≥0,j∈J(X(0))\nabla g_j(X^{(0)})^TD\geq0, j\in J(X^{(0)})∇gj​(X(0))TD≥0,j∈J(X(0))。
(3)下降可行方向
f(X(0)+λD)&lt;f(X(0))f(X^{(0)}+\lambda D)&lt;f(X^{(0)})f(X(0)+λD)<f(X(0)), 称DDD为X(0)X^{(0)}X(0)处的下降方向。下降可行方向为在下降方向的基础上,其方向是可行的。
判断条件:
∇f(X(0))TD&lt;0\nabla f(X^{(0)})^TD&lt;0∇f(X(0))TD<0, 且 DDD为可行方向。

怎么求解二次规划?

https://wenku.baidu.com/view/dafc28a99f3143323968011ca300a6c30c22f1bd.html
这里针对的是二次凸规划问题。对于不等式约束问题,采用有效集的方法进行求解,基本思想是将不等式约束条件转换为等式约束条件的子问题,然后利用等式约束求解方法进行求解,循环迭代最终求解出全局极小值解。等式约束的求解方法包括1. 拉格朗日乘子法,拉格朗日乘子法将n维状态+m维约束的二次规划问题转换为求解n+m维极值问题,占用空间大。2. 为了解决这个问题,出现了直接消去法的方法,使得问题求解的规模减少了一点,但是其对约束项A的分解过程存在数值求解的稳定性问题。3. 为了进一步解决这个问题,有学者提出了广义直接消去法,将约束项A分解为Null(A)和Range(A), 利用了QR分解的方法。将矩阵空间分解还有其他方法,直接消去法用的实际上也是一种拆分空间的方法,还可以使用SVD的方法分解。

C++有哪些线程的二次规划函数库?

https://github.com/liuq/QuadProgpp
QuadProg++函数库,仅可用于求解严格的二次规划问题。这个函数库有一个缺点,只提供了一般问题的二次规划求解函数,函数的输入参数一定要包括不等式约束和等式约束。对于求解仅具有不等式约束的二次规划问题,需要自己修改函数。

二次规划——学习笔记相关推荐

  1. 机器学习入门学习笔记:(4.2)SVM的核函数和软间隔

    前言 之前讲了有关基本的SVM的数学模型(机器学习入门学习笔记:(4.1)SVM算法).这次主要介绍介绍svm的核函数.软间隔等概念,并进行详细的数学推导.这里仅将自己的笔记记录下来,以便以后复习查看 ...

  2. 台湾大学林轩田机器学习技法课程学习笔记1 -- Linear Support Vector Machine

    红色石头的个人网站:redstonewill.com 关于台湾大学林轩田老师的<机器学习基石>课程,我们已经总结了16节课的笔记.这里附上基石第一节课的博客地址: 台湾大学林轩田机器学习基 ...

  3. matlab中x从0到5不含0,关于MATLAB的数学建模算法学习笔记

    关于MATLAB的数学建模算法学习笔记 目录 线性规划中应用: (3) 非线性规划: (3) 指派问题;投资问题:(0-1问题) (3) 1)应用fmincon命令语句 (3) 2)应用指令函数:bi ...

  4. Python最优化算法学习笔记(Gurobi)

    微信公众号:数学建模与人工智能 github地址:https://github.com/QInzhengk/Math-Model-and-Machine-Learning Python最优化算法学习笔 ...

  5. Maple学习笔记——数学计算与数据处理

    Maple学习笔记--数学计算与数据处理 数据计算 多项式相关: 求解方程.不等式 矩阵计算.线性代数: 微积分 多变量和向量微积分 优化 概率与统计 数据处理 导入数据 数据计算 多项式相关: 1. ...

  6. 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(一)

    这篇文章本身是图匹配经典论文<Factorized Graph Matching>的阅读笔记,后来发现该文介绍并串联了许多图匹配相关的知识,甚至可以看作一个小小的综述性文章,因此就作为图匹 ...

  7. Apollo学习笔记

    Apollo学习笔记 Apollo课程 智能驾驶入门课程 无人驾驶概览 1.软件层分为三层: 实时操作系统(RTOS):确保在给定时间内完成特定任务,实时时确保系统稳定性.驾驶安全性的重要要求.通过在 ...

  8. SVM学习笔记-对偶形式的SVM

    SVM学习笔记第二篇 SVM学习笔记-线性支撑向量机 SVM学习笔记-对偶形式的SVM SVM学习笔记-核函数与非线性SVM SVM学习笔记-软间隔SVM 0 - 回顾 上一篇笔记讲述了一个模型:线性 ...

  9. 《机器学习实战》学习笔记(八):预测数值型数据 - 回归

    欢迎关注WX公众号:[程序员管小亮] [机器学习]<机器学习实战>读书笔记及代码 总目录 https://blog.csdn.net/TeFuirnever/article/details ...

  10. 《机器学习实战》学习笔记第八章-回归

    目录 线性回归 标准回归 局部加权线性回归 预测鲍鱼的年龄 缩减系数来"理解"数据 岭回归 lasso 前向逐步回归 预测乐高玩具套件的价格 获取数据 线性回归 回归的目的就是预测 ...

最新文章

  1. MATLAB基本操作(五):MATLAB中的逻辑运算及all(),any()的使用
  2. linux安装tightvnc_tightvnc安装配置,在Linux系统中进行tightvnc安装配置
  3. 构建meteor应用程序_我构建了一个渐进式Web应用程序并将其发布在3个应用程序商店中。 这是我学到的。...
  4. 启动器和选择器学习-----(1)总括
  5. jenkins搭建_如何搭建移动端自动化测试平台?没错,就用Jenkins!
  6. Redis小记——数据结构
  7. Django ORM 单表操作
  8. java语言函数存储在哪个包_java专项联系题
  9. 连接查询(多表查询)
  10. java五子棋人机对战_java swing人机对战五子棋
  11. LG 的数学计划 ---- 第四步 快速幂
  12. php输出甲子年,六十随笔 (献给自己的甲子年)
  13. linux多核编程系列之调度亲和性,关于CPU亲和性,这篇讲得最全面
  14. oracle创建和删除表空间,oracle 表空间创建和删除
  15. SSM框架实现插入图片显示图片到JSP界面
  16. Nacos学习之初识Nacos
  17. utils.py 文件的理解:一些小脚本文件
  18. 欧元一个神创造的货币
  19. windows键按了没反应_教你如何从Windows无缝衔接到MacOS
  20. Linux串口信息查询

热门文章

  1. capture nx2 安装
  2. cookie和seseion的区别和联系点
  3. vba编写的出库单(可添加出库项目记录、生成、打印出库单)
  4. 计算机应用基础考试excel操作题,计算机应用基础上机操作试题
  5. SQL语法提示工具SQL Prompt 发布v10.6
  6. three.js视频教程2022最新
  7. HBase基本操作:JAVA API操作
  8. VC11、VC14、VC15库 32位 64位 下载
  9. 七牛Android播放器V1版本开发文档
  10. 【征文】极客头条使用体验及改进建议