R语言二次规划之quadprog包

本文介绍了R语言中的quadprog包在解决二次规划问题中的应用。二次规划在投资组合和约束最小二乘问题中有广泛应用。quadprog包的solve.QP函数用于解决凸二次规划问题,详细解析了函数参数及一个实例演示。
摘要由CSDN通过智能技术生成

二次规划

二次规划是非线性规划中一类特殊的数学规划问题,在如投资组合、约束最小二乘问题中都有应用。二次规划已经成为运筹学,经济数学,管理科学和组合优化科学的基本方法。
二次规划的一般形式:

minxq(x)=12xTDxdTx+cs.t.ATxb0

其中,x为向量,c为标量常数,G为Hessian矩阵,当G为半正定矩阵时,上式为凸二次规划,当G为正定矩阵时,上式为严格的凸二次规划,全局最小值是唯一的,A为约束系数矩阵。

quadprog包

quadprog包是专门解决凸二次规划问题的包,其中的函数为solve.QP.但是该函数只解决严格的凸二次规划问题,求极小值。

solve.QP(Dmat, dvec, Amat, bvec, meq=0, factorized=FALSE)
函数参数:
- Dmat: 为Hessian矩阵
- dvec: 为向量,和Dmat相对应
- Amat: 约束的系数矩阵,默认约束为“
- bvec: 为向量,和Amat相对应
- meq: 表示从哪一行开始Amat矩阵中的约束是等式,默认为0
VALUE:
- solution: 二次规划问题中向量的取值
- value: 标量,二次规划目标函数的取值
- unconstrained.solution: 没有约束条件下向量的取值

R实现

假设一个例子:
要求最小化

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值