非常有幸过两天能参加北京交通大学2019统计优化短期课程, 优化界大牛Stephen Boyd的两位博士生Akshay Agrawal 和 Junzi Zhang讲授凸优化短期课程和CVXPY演示。
需要我们提前安装CVXPY,网址:https://www.cvxpy.org/ 。于是我简单学习了CVXPY的下载和安装,并进行了一些例子的测试。
CVXPY安装网址: https://www.cvxpy.org/install/index.html
我将CVXPY安装在Anaconda里,安装时并让它自动设置环境变量。
- 打开cmd, 用conda创建虚拟环境cvxpy。
输入:conda create -n cvxpy python=3.6
如果你的是python2.7, 那么则输入conda create -n cvxpy python=2.7
会弹出proceed < [y/n] >?
输入y - 你可以通过输入conda env list查看cvxpy是否存在列表中。
说明创建成功啦! - 激活cvxpy
输入:activate cvxpy
- 安装cvxpy
加入安装通道。输入:conda config --add channels oxfordcontrol
安装包。输入: conda install -c conda-forge lapack
安装包。输入: conda install -c cvxgrp cvxpy=1.0.24
这三个可能需要40分钟,大家耐心等待啊! - 安装nb_conda_kernels
输入:conda install nb_conda_kernels
(否则在创建的conda env上运行jupyter notebook,但发现在notebook中的python其实并没有运行在那个env上,而是在自己原有的env上。) - 启动notebook,在kernel -> change kernel中即可切换到指定的虚拟环境
输入:jupyter notebook
这里我们使用环境cvxpy。 - 使用
例子1
我们求解带盒子约束的最小二乘问题成功啦!
例子2
.
cvxpy求解的凸优化问题, 而且有它自己的规范。
例子3
运行后会有错误。这是因为约束5=21/x不满足cvx规范。将它改写为5x=2,x>=0即可
cvxpy还是很好用的,不过大家注意要写成它规范的形式哦