CVX-超好用的Matlab建模軟件包(下載,安裝以及使用)

CVX是一個基於Matlab的凸優化建模系統。CVX將Matlab轉換爲建模語言,允許使用標準Matlab表達式語法指定約束和目標。
CVX工具包官方網站:http://cvxr.com/cvx/
關於CVX的介紹:http://web.cvxr.com/cvx/doc/intro.html
工具包安裝網址: http://cvxr.com/cvx/doc/install.html

  • 點開網址 http://cvxr.com/cvx/download 下載 .zip 或者 .tar.gz 文件
    在這裏插入圖片描述
    因爲我的電腦是Windows系統,並且我已經安裝了Matlab2013b(x64),所以我下載了cvx-w64-zip壓縮包。
  • 下載後對壓縮包進行解壓,將cvx文件夾拷貝至你習慣使用的目錄下(例如,我將cvx文件夾拷貝到G:\myMATLAB tool目錄下)。
  • 啓動Matlab,在Current Folder窗口中打開cvx文件夾,然後在Command Window中輸入cvx_setup
    在這裏插入圖片描述
    這樣就安裝成功啦!
    Remark:需要設置路徑Set Path(Add with Subfolders),這一步是將cvx工具箱所在文件夾添加到MATLAB工作搜索目錄。
    File-Set Path-Add with Subfolders
    -CVX的使用
    例子1.考慮以下凸優化模型:
    在這裏插入圖片描述
    以下代碼生成並解決此模型的隨機實例:

m = 20; n = 10; p = 4;
A = randn(m,n); b = randn(m,1);
C = randn(p,n); d = randn(p,1); e = rand;
cvx_begin
variable x(n)
minimize( norm( A * x - b, 2 ) )
subject to
C * x == d
norm( x, Inf ) <= e
cvx_end
輸出結果:
在這裏插入圖片描述
CVX還可以通過使用特殊的GP模式支持幾何編程(GP)。幾何程序不是凸的,但可以通過應用某種變換來實現。在此模式下,CVX允許GP以其原始的非凸形式構建,將它們自動轉換爲可解的凸形,並將數值結果轉換回原始問題。(幾何規劃教程見網址:http://stanford.edu/~boyd/papers/gp_tutorial.html
PDF見網址: http://stanford.edu/~boyd/papers/pdf/gp_tutorial.pdf
要使用GP模式,你必須使用命令cvx_begin gp或者cvx_begin GP而不是cvx_begin。 例如,在gp / max_volume_box.m的示例庫中找到的以下代碼可確定受到各種面積和比率約束的最大volume box:
例子2. cvx_begin gp
variables w h d
maximize( w * h * d )
subject to
2*(hw+hd) <= Awall;
w*d <= Afloor;
alpha <= h/w >= beta;
gamma <= d/w <= delta;
cvx_end
感興趣的同學可以好好看看教程呀!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章