簡體   English   中英

適用於MATLAB的線性編程求解器,類似於cplexlp或linprog

[英]Linear Programming Solver for MATLAB, similar to cplexlp or linprog

我正在使用MATLAB 2010b 64位及其cplex集成來解決工程問題。 但是,由於cplex的內存泄漏,cplex的內存使用量超出了可接受的限制(包括虛擬內存的100 + GB),因此我無法解決我的問題。 您可以在此處看到類似的帖子。

然后,我嘗試從優化工具箱中使用MATLAB linprog ,但結果令人失望。 一個小問題實例的算法運行時間從80 cpu sec增加到2600 cpu sec。

現在,我需要將LP解算器集成到MATLAB中,類似於CPLEX或linprog “相似”是指它接受格式(F, A, B, Aeq, Beq, ...etc)數據輸入的方式。

我必須能夠在循環中使用它。 您對此有何建議?

如果cplex中發生內存泄漏,我將感到非常驚訝。 如果您遇到大問題,那么任何明智的求解器都會增加內存。 cplex的接口中是否可能存在內存泄漏? 您的問題有多大? 您是否正在運行多線程,因為每個線程都會復制一個問題,因此會占用更多內存。

您會發現其他求解器比cplex花費更多的時間來解決您的問題,這並不奇怪。 當然,對於任何大問題,免費的求解器都將比cplex慢得多。

經過一些修復MATLAB / CPLex API的內存使用問題(內存泄漏)的嘗試,並參考了一些研究后,我決定切換到Gurobi求解器。 對於純LP問題,它似乎比CPlex慢一些,但這可能是由於我使用Gurobi的方式。 與CPlex相比,有人會發現Gurobi更快。 我在以前的帖子中提出了不同的問題。 這是一些學術研究[針對線性優化問題的商業和自由開源解決方案的分析] [1]

[1]: http//www.statistik.tuwien.ac.at/forschung/CS/CS-2012-1complete.pdf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM