日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

非线性规划求解器 Lingo, Matlab 使用心得,及使用的求解算法

發布時間:2023/12/14 编程问答 79 豆豆
生活随笔 收集整理的這篇文章主要介紹了 非线性规划求解器 Lingo, Matlab 使用心得,及使用的求解算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于非線性規劃,Cplex 與 Gurobi 只支持二次規劃(包括凸規劃,二階錐規劃,目標函數或約束條件中可以包含二次函數)。若更高次數,或者非凸規劃,非二階錐規劃,則需要用其他求解器了。matlab 自帶的 fmincon 可以得到一些可行解,比較專業常用的求解器有 lingo,Mosek 等。

1. matlab 中的 fmincon

MATLAB求解非線性規劃的算法包括:內點法(interior point algorithm)、信賴域法(trust-region method)、序列二次規劃法(sequential quadratic method)。
這幾種方法的核心思想基本都是:將原問題近似為一個凸規劃問題求解。

官方解釋參看:https://www.mathworks.com/help/optim/ug/constrained-nonlinear-optimization-algorithms.html

2. lingo

Lingo使用的非線性規劃的算法是:廣義既約梯度法(general reduced gradient method),順序線性規劃法(sucessive linear programming method)。
Lingo 號稱有時能夠得到全局最優解。

官方解釋:https://www.lindo.com/index.php/products/lingo-and-optimization-modeling?catid=89&id=88:powerful-lingo-solvers

還有一個類似的軟件叫 lindo,跟 lingo 是一家公司,貌似只能求解線性問題,不過 lindo支持 python 調用,而 lingo 目前還不支持。

3. lingo 的優缺點

對lingo初步使用的心得包括以下幾個方面,
優點

  • 語法簡單,容易上手
  • 通過 solver 中 的 options 可以方便對求解進行設置
  • 支持非線性,非凸問題的求解
  • 國內網上很多學習資料
  • 對于非線性問題的求解,確實比 matlab 好(有時候也不一定)

缺點:

  • 不能直接定義二維求解變量,需要通過 link 間接定義
  • 對大規模問題的支持顯然不如 cplex,gurobi 等
  • 對求解過程的調試或控制,沒有支持 java調用的 cplex,或者支持 python 調用的 gurobi 方便

總結

以上是生活随笔為你收集整理的非线性规划求解器 Lingo, Matlab 使用心得,及使用的求解算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。