工作中需要用到cvxopt,cvxopt安装有坑,大家注意下.
1.首先一定要卸载numpy,无论是直接安装的,还是anaconda安装的,主要是必须用whl安装numpy才不会有包的冲突
2.二次规划包的使用
二次规划的标准形式如下
Python 代码如下
from cvxopt importmatriximportcvxopt.solvers as sol
result= sol.qp(P, Q, G, h, A, b)
问题描述:
在实际生活中,我们经常会遇到一些优化问题,简单的线性规划可以作图求解,但是对于目标函数包含二次项时,则需要另觅它法在金融实践中,马科维茨均方差模型就有实际的二次优化需求
作为金融实践中常用的方法,本篇将对CVXOPT中求解二次规划的问题进行举例详细说明,关于该方法在均方差优化中的实践应用,参见后续发帖
1、二次规划问题的标准形式
min12xTPx+qTx
s.t.Gx≤h
Ax=b
上式中,x为所要求解的列向量,xT表示x的转置
接下来,按步骤对上式进行相关说明:
上式表明,任何二次规划问题都可以转化为上式的结构,事实上用cvxopt的第一步就是将实际的二次规划问题转换为上式的结构,写出对应的P、q、G、h、A、b目标函数若为求max,可以通过乘以−1,