(上文通学 Matlab cvx使用指南
1896 1920 1987 2006 Matlab CVX 使用指南 1
CVX简介 cWX是一个基于 Matlab的凸优化建模系统。CVX将 Matlab语言转 换为建模语言,允许使用标准 Matlab表达式语法指定约束和目 标 ·CVX可以用于求解LP、QP、SOCP、SDP、GP以及一些包含不可 导函数的问题 用户指南:http:/cvxr.com/cvx/doc/cvx.pdf
2 CVX简介 • CVX是一个基于Matlab的凸优化建模系统。 CVX将Matlab语言转 换为建模语言,允许使用标准Matlab表达式语法指定约束和目 标 • CVX可以用于求解LP、QP、SOCP、SDP 、GP以及一些包含不可 导函数的问题 • 用户指南:http://cvxr.com/cvx/doc/CVX.pdf
CX安装 CWX下载:http://cvxr.com/cvx/beta 将CW压缩包解压在 matlab程序所在的文件夹(eg,D: matlab2014a) 用 matlab运行文件夹中的 cVx setup. m文件 Download matrix Free solvers Commercial solvers Os 32/64 mexext Download links SDPT3 Se DuMi)( Gurobi MOSEK Standard bundles, including Gurobi and/or MOSEK 64-bit mexa64 CVX -a64. tar. gz 64-bit mexmaci64 cvx-maci6izip cvx-maci64targz Windows 32-bit mexw32cvx-w32zip Cvx-w 32, ta 64-bit mexw64 w64z11 cvx-w64. tar.gz Commercial solvers only Linux 64-bit mexa64 cvx-a64-cozip cvx-a64-co. tar. gz 64-bit mexmaci64 cvx-maci64-cozip cvx-maci64-co. tar. gz Windows 32-bit mexw32 VX-W32-co zip Cvx-w32-co. tar.gz 64-bit mexw64 cvx-w64-co zip cvx-w64-co. tar.gz
3 CVX安装 • CVX下载:http://cvxr.com/cvx/beta/ • 将CVX压缩包解压在matlab程序所在的文件夹(e.g., D:\matlab2014a) • 用matlab运行文件夹中的cvx_setup.m文件 Free solvers Commercial solvers
Commercia| solvers的使用 要将CWX与 Gurob或 MOSEK等 Commercial solvers一起使用,需要 CVX Professiona许可证密钥( SeDuM和SDPT3无需密钥) 科研人员可以通过填写申请免费获得许可证密钥 申请网址:htt:/vxr.com/cvx/academic 许可证在一年后到期,但只要科研人员没离开科研机构,即可 续 an expiring/expired license e Retrieve an existing license casting license Your full name Email address Email address (again):
4 Commercial solvers的使用 • 要将CVX与Gurobi或MOSEK等Commercial solvers一起使用,需要 CVX Professional许可证密钥(SeDuMi和SDPT3无需密钥) • 科研人员可以通过填写申请免费获得许可证密钥 • 申请网址: http://cvxr.com/cvx/academic/ • 许可证在一年后到期,但只要科研人员没离开科研机构,即可 续订
C程序示例1 避免程序运行后在命令行窗口自动输出CW结果 cvx_begin)quiet-(结果明目繁多,占屏,不易观察其他结果) it#solver-<cvx_solver Masek %Mosek %SeDuMi sGurobi %SDPT3% variable t(flag set, 1 定义优化变量 variable pt(flag_ set, 1) variable flag set, 1) 编写优化问题 minimize (sum (pt)) 曰fori.set1:f1 ag_set y*exp(x)<=z转化为x+ rel_entri-=0 x(i set. 1)+rel entr(t(i set. 1).z(i set. 1))<=0 end Pfor i_set=l: flag_set hmin_final(i set, 1)*pt(i set, 1)/para. N_0+t(i_ set, 1)>=z(i set, 1) sum(t)spara. T cvx end
5 CVX程序示例1 选择solver 定义优化变量 编写优化问题 y*exp(x/y)<=z转化为x+rel_entr(y,z)<=0 避免程序运行后在命令行窗口自动输出CVX结果 (结果明目繁多,占屏,不易观察其他结果)