2022年10月底,杉數科技正式發布優化求解器COPT 6.0。杉數求解器COPT 6.0增加混合整數二階錐規劃MISOCP和混合整數凸二次(約束)規劃MIQ(C)P求解功能,以及增加了參數調優工具,大幅提升半定規劃求解性能。
混合整數二階錐規劃求解器
自從2021年10月杉數求解器COPT 3.0版推出二階錐規劃(SOCP)以來,其求解性能比肩國際先進廠商,同時為了支持設定整數變量,實現在金融、能源、化工等領域的國產化替代。歷經一年研發,杉數科技正式推出混合整數二階錐規劃(MISOCP)求解器。
COPT 6.0混合整數二階錐規劃求解性能測評結果
據美國亞利桑那大學Mittelmann平臺公布的測評榜單數據顯示,MISOCP測評榜單上共有四款求解器。除新杉數優化求解器COPT外,其中Mosek和Gurobi分別是來自丹麥和美國的老牌商業求解器廠商,SCIP是德國ZIB研究所發布的開源求解器。測試表里求解器名稱上方的數據為一個求解器求解所有測評算例的相對平均時間,以平均時間最小的為1,而下方的數字是可成功求解的算例數量。
從測評榜單可以看出,COPT新發布的混合整數二階錐規劃求解性能超越了開源的SCIP和老牌商業廠商Mosek,平均求解時間和可成功求解的算例數量均明顯優于這兩個軟件。同時我們注意到,和美國廠商Gurobi相比,COPT的平均求解時間還有一定的差距,且限定時間內可求解的數量也少1個,仍有提升空間。
但是COPT和Gurobi相比也有自己的優勢,Gurobi的求解數量旁邊加了個*號,Mittelmann教授在頁面的最底部解釋說“* 27 instances with constraint violations > 1e-6”,也就是說有多一半的算例,Gurobi盡管成功求解,但是解并不滿足算例的約束條件,換言之那不是嚴格意義上的可行解。
混合整數凸二次(約束)規劃求解器
和二階錐規劃緊密相關的兩類數學規劃問題是凸二次規劃(QP)和凸二次約束規劃(QCP)。鑒于其緊密聯系,杉數科技在開發整數二階錐規劃同時也開展了混合整數凸二次規劃(MIQP)和混合整數凸二次約束規劃(MIQCP)的研發,于COPT 6.0一并發布。
COPT 6.0混合整數凸二次(約束)規劃求解性能測評結果
在Mittelmann測評榜單中,混合整數凸二次規劃和整數凸二次約束規劃的求解性能比對放在了同一個測評項目Convex Discrete QPLIB里。在這個榜單上,杉數求解器COPT6.0取得非常好的成績。和老牌求解器Gurobi相比,可正確求解的數量同為24個,而COPT的平均求解速度領先43%!這是一個標志性的成果,這是我們第一次在混合整數規劃的領域超過歐美主流求解器!
半定規劃的求解能力大幅提升
自從今年6月COPT 5.0推出半定規劃(SDP)求解器以來,由于性能優勢受到來自國內外學術界和商業界的廣泛關注。杉數也在該求解領域,進一步提升COPT半定規劃的求解性能。
COPT 6.0半定規劃求解性能測評結果
從Mittelmann測評榜單上可以得出,新發布的COPT 6.0實現了全部75個問題的正確求解,且求解速度也明顯提升,和COPT 5.0相比,COPT 6.0相對Mosek 10.0的速度領先優勢從64%擴大為254%。
參數調優工具
除了求解功能之外,COPT 6.0增加參數調優工具(tuner) 新功能。參數調優是使用求解器時的一項常見操作,尤其是在求解混合整數規劃(MIP)時非常重要。COPT混合整數規劃求解器實現了多種啟發式、割平面算法。有時候對某個問題,往往某個割平面多多益善;而對另一個問題,可能全靠某一種啟發式算法尋找最優解。盡管我們在開發求解器時,已經充分參考公開和客戶算例,設定了各類啟發式算法和割平面算法的最佳強度等參數。但這很難做到兼顧所有的情況。因此在面對某一特定類別的混合整數規劃問題的時候,往往需要調參數,實現最佳求解效果。杉數科技過去幫助很多客戶通過專業知識調參數,找到了最合適參數。而在COPT 6.0,我們推出用戶可以自行使用的自動參數調優工具。例如求解MIPLIB 2017中的app1-2這個算例,根據Mittelmann測試榜單中MIPLIB的詳細對比可知,COPT 6.0默認需要166秒才能完成求解,盡管明顯比其他開源求解器的10-20分鐘快,但是依然落后于Gurobi的19秒求解時間。通過使用工具,我們可以找到一組改進參數。
參數調優工具針對app1-2這個算例找到的一組改進參數
這組參數調低了割平面的強度,關閉了啟發式算法和預求解模塊,還適當增加了分支定界部分的割平面強度,最終實現了18.4秒求解這個算例,提升幅度超過8倍。有關參數調優工具的各種參數,如提升調參穩定性的TunePermutes和設定調參目標的TuneMode等,請參考COPT的文檔試用。此外我們后續會在杉數運籌與智能決策教學平臺的COPT求解器教程專區推出參數調優工具的視頻使用介紹。敬請關注。
關于杉數優化求解器COPT
杉數求解器COPT (Cardinal Optimizer),是杉數自主研發的針對大規模優化問題的高效數學規劃求解器套件,也是支撐杉數端到端供應鏈平臺的核心組件。COPT是目前同時具備大規模混合整數規劃MIP、線性規劃LP、半定規劃SDP、(混合整數)二階錐規劃(MI)SOCP、以及(混合整數)凸二次規劃Convex (MI)QP和(混合整數)凸二次約束規劃Convex (MI)QCP問題求解能力的綜合性能數學規劃求解器,為企業應對高性能求解的需求提供了更多選擇。
COPT支持所有主流操作系統,如Windows、MacOS、Linux (包括蘋果自研芯片和arm64芯片)。您可以從多種語言及建模工具使用COPT,包括基于數據的C語言接口,面向對象的Python、C++、C#、Java接口,以及AIMMS、AMPL、GAMS、Julia、Pyomo、PuLP、CVXPY等第三方建模工具。
此外COPT支持多種部署方式。除了個人電腦、服務器之外,我們還提供浮動授權和計算集群等部署方式,方便學校實驗室和公司生產環境等場景的使用。歡迎通過杉數科技官網申請免費的個人試用版本。如需試用服務器版、浮動授權或計算集群版本,請與我們取得聯系。