Python中支持Convex Optimization(凸规划)的模块为CVXOPT,其安装方式为:
卸载原Pyhon中的Numpy
安装CVXOPT的whl文件,链接为:https://www.lfd.uci.edu/~gohlke/pythonlibs/
安装Numpy+mkl的whl文件,链接为:https://www.lfd.uci.edu/~gohlke/pythonlibs/
之所以选择这种安装方式,是因为Python的whl和pip直接install的不兼容性。
CVXOPT的官方说明文档网址为:http://cvxopt.org/index.html, 现最新版本为1.1.9,由Martin Andersen, Joachim Dahl 和Lieven Vandenberghe共同开发完成,能够解决线性规划和二次型规划问题,其应用场景如SVM中的Hard Margin SVM.
CVXOPT使用举例如下:
线性规划问题
例1:
Python程序代码:
输出结果:
例2
Python程序代码
输出结果:
二次型规划问题
其中P,q,G,h,A,b为输入矩阵,该问题求解采用QP算法。
例1:
Python程序代码:
输出结果:
例2:
Python程序代码:
输出结果
每日分享一篇优质好文,共同交流与进步
领取专属 10元无门槛券
私享最新 技术干货