前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >译 | 在R中使用quadprog包求解二次规划

译 | 在R中使用quadprog包求解二次规划

作者头像
CDA数据分析师
发布2018-02-24 14:58:50
1.6K0
发布2018-02-24 14:58:50
举报
文章被收录于专栏:CDA数据分析师

本文由CDA作者库成员HarryZhu翻译,并授权发布。 CDA作者库凝聚原创力量,只做更有价值的分享。

概述

本文将探究一个被称为二次规划的优化问题,这是一种特殊形式的非线性约束优化问题。二次规划在许多领域都有运用,比如投资组合优化、求解支持向量机(SVM)分类问题等。在R中求解二次规划有许多包,这次,我们将讨论一下quadprog包。在我们开始讲解案例之前,我们将先简短地介绍一下二次规划的机理。

什么是二次规划

对于一个二次规划问题,首先要考虑的就是一个二次目标函数:

示例一:

目标函数

化为标准型

想要用quadprog包求解二次规划,我们需要同时转化我们的目标函数和约束条件为矩阵形式。这里是官方文档的说明:

具体实现

quadprog包默认是求解极小值问题的,所以,我们的约束条件默认的形式也就是AX>=bvec。通常我们需要把一些原来是求极大值的问题或者<=约束通过乘以负号来转化。

这是R的完整实现:

源代码GitHub地址:https://github.com/harryprince。

Harry Zhu,擅长用Python和R进行数据建模、定量研究,目前就职于量子金服(Quantum Financial Service)。

欢迎关注个人主页:

https://github.com/harryprince

https://segmentfault.com/u/harryprince

end

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-02-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CDA数据分析师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 源代码GitHub地址:https://github.com/harryprince。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档