正文

robi-robin怎么讀

xinfeng335
文章最后更新時間2025年03月17日,若文章內容或圖片失效,請留言反饋!

轉載自

robi-robin怎么讀
(圖片來源網絡,侵刪)

https://mp.weixin.qq.com/s/rfdQrgjw4_QOpMyzVqRW0w

國內外優(yōu)化求解器研究現狀1.優(yōu)化求解器 1.1.CPLEX

IBM ILOG CPLEX Optimization Studio(CPLEX)是一個優(yōu)化軟件包。2004年robi,CPLEX的工作獲得了首屆INFORMS影響力獎。CPLEX Optimizer以使用C編程語言實現的單純形方法而命名,盡管今天它還支持其他類型的數學優(yōu)化并提供除C之外的接口。它最初由Robert E.Bixby開發(fā),并于1988年由CPLEX商業(yè)出售,隨后ILOG在2009年1月被IBM收購。

專門用于求解大規(guī)模的線性規(guī)劃(LP)、二次規(guī)劃(QP)、帶約束的二次規(guī)劃(QCQP)、二階錐規(guī)劃(SOCP)等四類基本問題,以及相應的混合整數規(guī)劃(MIP)問題。

CPLEX Optimizer具有一個稱為Concert的建模層,該層提供了與C++、C#和Java語言的接口,有一個基于C接口的Python語言接口。此外,還提供了Microsoft Excel和MATLAB的連接器。最后,提供了一個獨立的Interactive Optimizer可執(zhí)行文件,用于調試和其他目的。

1.2.GUROBI

Gurobi是由美國 Gurobi Optimization 公司開發(fā)新一代大規(guī)模優(yōu)化器。Gurobi成立于2008年,以其創(chuàng)始人命名robi:Zonghao Gu、Edward Rothberg和Robert Bixby。Bixby還是CPLEX的創(chuàng)始人,而Rothberg和Gu領導CPLEX開發(fā)團隊近十年。

Gurobi 是全局優(yōu)化器,支持的模型類型包括:

(1) 連續(xù)和混合整數線性問題

(2) 凸目標或約束連續(xù)和混合整數二次問題

(3) 非凸目標或約束連續(xù)和混合整數二次問題

(4) 含有對數、指數、三角函數、高階多項式目標或約束,以及任何形式的分段約束的非線性問題

(5) 含有絕對值、最大值、最小值、邏輯與或非目標或約束的非線性問題

Gurobi Optimizer支持多種編程和建模語言,包括:

(1) C ++、Java、.NET和Python的面向對象接口

(2) 適用于C、MATLAB和R的面向矩陣接口

(3) 可以鏈接到標準建模語言AIMMS、AMPL、GAMS和MPL

(4) 通過其分析求解器和求解器SDK產品鏈接到Excel

Gurobi Optimizer還包括許多功能來支持優(yōu)化模型的構建,其中包括:

(1) 可以靈活確定多個目標的優(yōu)先級

(2) 諸如MIN / MAX、ABS、AND / OR之類的常規(guī)約束以及指標約束

(3) 具有凸、分段線性目標函數的模型用于描述某些非線性問題

(4) 任意分段線性目標函數

(5) 分布式調參,以加快參數設置的探索速度,加快求解時間

Gurobi Optimizer還可以部署在云上,以及用于服務器-客戶端模式。

1.3.Xpress

Xpress優(yōu)化器是商業(yè)優(yōu)化求解器,主要用于求解線性規(guī)劃(LP),混合整數線性規(guī)劃(MILP),凸二次規(guī)劃(QP),凸二次約束二次規(guī)劃(QCQP),二階錐規(guī)劃(SOCP)和它們的混合整數對應物。Xpress 包括通用非線性求解器 Xpress NonLinear,逐次線性規(guī)劃算法(SLP,一階方法)和Artelys Knitro(二階方法)。

Xpress 最初由 Dash Optimization 開發(fā),并于 2008 年被FICO收購。其最初的作者是 Bob Daniel 和 Robert Ashford。Xpress 的第一個版本只能解決 LP;1986 年添加了對 MIP 的支持。Xpress 于 1983 年發(fā)布,是第一個在PC上運行的商業(yè)LP和MIP求解器。1992年,發(fā)布了并行計算的Xpress版本,五年后擴展到分布式計算。Xpress 是第一個通過在 2010 年引入 64 位索引而跨越十億決策變量閾值的 MIP 求解器。自 2014 年以來,Xpress 首次實現了并行對偶單純形方法的商業(yè)實現。

線性和二次規(guī)劃可以通過原始單純形法、對偶單純形法或勢壘內點法求解。所有混合整數規(guī)劃變體都通過分支定界法和切割平面法的組合來解決。不可行問題可以通過IIS(不可約不可行子集)方法進行分析。Xpress 提供了一個內置調諧器,用于自動調整控制設置。Xpress 包括其建模語言 Xpress Mosel和集成開發(fā)環(huán)境 Xpress Workbench。Mosel 包含分布式計算功能,可并行解決優(yōu)化問題的多個場景。輸入數據的不確定性可以通過穩(wěn)健的優(yōu)化方法來處理。

Xpress 有一個稱為 BCL(構建器組件庫)的建模模塊,它與C、C++、Java編程語言和.NET 框架接口。獨立于 BCL,有Python和MATLAB接口。在 Mosel 旁邊,Xpress 連接到其他標準建模語言,例如AIMMS、AMPL和GAMS。

FICO Xpress Executor使用SOAP或REST接口執(zhí)行和部署 Mosel 模型。它可以從外部應用程序或從FICO 決策管理平臺使用。

1.4.MOSEK

MOSEK是由丹麥MOSEK ApS公司開發(fā)的一款數學優(yōu)化求解器,也是公認的求解二次規(guī)劃、二階錐規(guī)劃和半正定規(guī)劃問題最快的求解器之一,廣泛應用于金融、保險、能源等領域。杉數科技是MOSEK在中國大陸唯一官方授權銷售商,承擔中國市場的銷售和售后服務工作。

MOSEK可以解的數學優(yōu)化問題非常寬泛(如下表格所示),其中最擅長求解的是二次規(guī)劃、二階錐和半正定規(guī)劃問題,在金融、保險、能源等領域均有應用。最典型的是金融領域的資產配置問題,以優(yōu)化馬科維茨模型投資組合為例,本質上,這是一個權衡收益和風險、構建最優(yōu)投資組合的優(yōu)化問題,MOSEK求解此類問題快速且穩(wěn)定。

MOSEK求解問題類型與求解算法

在第 9 版中,Mosek在其求解器中引入了對指數和冪錐的支持。它到C、C#、Java、MATLAB、Python和R語言的接口。此外,Mosek 可以與流行的 MATLAB 包CVX和YALMIP 一起使用。

總體上講,MOSEK有以下技術優(yōu)勢:

提供優(yōu)化服務器用于遠程優(yōu)化。

充分利用多核處理器硬件特點進行并行計算;

可求解的問題規(guī)模僅受限制于計算機內存容量;

領先世界的內點法實現,用于求解線性、二階錐和二次規(guī)劃問題;

提供基于矩陣和Fusion的編程接口,包括C、C++、Python、Java、C#、MATLAB和R;

支持多種建模環(huán)境,包括AMPL、GAMS和CVX等商業(yè)工具,CVXPY和JuMP等開源工具;

支持多種操作系統,包括Windows、Linux和MacOS;

1.5.SAS

SAS是由SAS Institute開發(fā)的一種統計軟件套件,用于數據管理、高級分析、多元分析、商業(yè)智能、刑事調查和預測性分析。SAS是一個軟件套件,可以挖掘、更改、管理和檢索來自各種來源的數據,并對其進行統計分析。SAS為非技術用戶提供了圖形化的點擊式用戶界面,并通過SAS語言提供了更高級的選項。

1.6.SCIP

SCIP是一個混合整數規(guī)劃求解器和一個用于分支定界以及分支定價的框架,主要由柏林楚澤研究所開發(fā)。與大多數商業(yè)求解器不同,SCIP 為用戶提供了對求解過程的低級控制和信息。作為獨立求解器運行,它是用于混合整數程序的最快的非商業(yè)求解器之一。

SCIP是作為C語言可調用庫實現的。對于用戶插件,提供了C++封裝類。用于LP松弛的求解器不是SCIP的本地組件,而是提供一個開放的LP接口。目前支持的LP求解器有CLP、CPLEX、MOSEK、SoPlex和Xpress。SCIP可以在Linux、Mac、Sun和Windows操作系統上運行。

SCIP的設計是基于約束的概念。它支持大約20種約束類型,用于混合整數線性編程、混合整數非線性編程、混合整數全二次編程和偽布爾優(yōu)化。它還可以解決斯坦納樹(Steiner Trees)和多目標優(yōu)化問題。

1.7.CLP

COIN-OR LP (CLP)是 COIN-OR 項目下的 LP 問題求解器,是一個用C++編寫的開源線性規(guī)劃求解器。CLP包括原始和對偶單純形法求解器,對偶和原始算法都可以使用用戶提供的矩陣存儲方法(除了默認的稀疏矩陣外,已經支持0-1和網絡矩陣)。

它是在通用公共許可證下發(fā)布的,因此可以在沒有GNU 通用公共許可證限制的情況下用于專有軟件。盡管可以構建獨立的可執(zhí)行版本,但COIN-OR主要用作可調用庫。它被設計為與任何商業(yè)求解器一樣可靠,但速度要慢幾倍,并且能夠解決非常大的問題。

COIN-OR旨在解決線性規(guī)劃問題,它的主要算法是單純形算法。

1.8.BARON

BARON(Branch And Reduce Optimization Navigator)是一個用于解決非凸優(yōu)化問題到全局最優(yōu)的計算系統。該軟件可以解決純連續(xù)、純整數和混合整數非線性問題。BARON 可在各種平臺上的AIMMS、AMPL和GAMS 建模語言下使用。

BARON算法和軟件的開發(fā)已獲得 2004 年 INFORMS 計算協會獎和 2006 年 Beale-Orchard-Hays 獎的認可,以表彰其在數學優(yōu)化協會的計算數學編程方面的卓越表現。

1.9.COPT

杉數求解器COPT(Cardinal Optimizer),是杉數自主研發(fā)的針對大規(guī)模優(yōu)化問題的高效數學規(guī)劃求解器套件,也是支撐杉數端到端供應鏈平臺的核心組件,是目前中國唯一一個同時具備大規(guī)模線性規(guī)劃(單純形法和內點法)和混合整數規(guī)劃問題求解能力的綜合性數學規(guī)劃求解器,為企業(yè)應對高性能求解的需求提供了更多選擇。廣泛應用于軍事、航空、航天、交通、能源等領域。

主要求解線性規(guī)劃、混合整數規(guī)劃和二階錐規(guī)劃問題。支持所有主流操作系統Windows、MacOS、Linux(包括Arm64平臺)。支持所有主流編程接口C、C++、C#、Python、Java、AMPL、GAMS、Pyomo、PuLP等。

1.10.MindOpt

MindOpt是阿里達摩院決策智能實驗室自主研發(fā)的數學規(guī)劃求解器套件。通過針對大規(guī)模線性規(guī)劃的快速穩(wěn)定求解,為客戶提供從數據到決策的全鏈路建模和求解能力。

MindOpt求解器可以快速求解大規(guī)模線性規(guī)劃問題,目前支持命令行和C、C++、Python、Java的API調用,可在Windows,MacOS和Linux系統下使用。

1.11.OPTV

9 月 23 日召開的華為全聯接 2021 上,華為云發(fā)布了「天籌」AI 求解器(OPTV)。天籌(OptVerse)AI求解器將運籌學和AI相結合,突破業(yè)界運籌優(yōu)化極限,針對線性和整數模型尋找最優(yōu)解,以通用形式描述問題,高效計算最優(yōu)方案,助力企業(yè)量化決策和精細化運營,提升資源利用率和運轉效率,增強決策水平和競爭力。

小到快遞員路線選擇、商鋪選址,大到工廠排程、物流路徑規(guī)劃和金融風控等問題,都可以建成數學規(guī)劃模型,用天籌(OptVerse)AI求解器進行求解。利用運籌優(yōu)化算法和決策模型求解方法,將業(yè)務問題轉化為數學規(guī)劃模型,適用在多種復雜約束條件限制(如人力、時效、容量等約束限制)和海量數據的基礎上獲取全局最優(yōu)方案(如成本最低、時間最短)的業(yè)務場景,助力業(yè)務實現從數據到決策的閉環(huán)。

天籌(OptVerse)AI求解器已成功支撐華為供應能力及冗余分析等13個場景的模擬應用,計劃預案周期從周縮短到天,保障了高效的連續(xù)性作戰(zhàn)。

支持求解混合整數線性規(guī)劃問題(MIP)和線性規(guī)劃問題(LP)

AI建模,易用高效,大幅度提升建模效率,讓客戶聚焦核心業(yè)務問題和訴求。

AI賦能求解,基于歷史數據和問題特征自適應選擇最優(yōu)參數,不斷挖掘求解器自身潛力,適應客戶場景和問題特點。

支持基于拓撲感知的分布式并行加速,充分利用華為云分布式并行能力,給客戶帶來極致性能體驗。

1.12.CMIP

著名陳省身數學獎獲得者、馮康科學計算獎獲得者、中國科學院數學與系統科學院戴彧虹研究員帶領CMIP團隊從2015年開始,歷經30個月,終于自主研發(fā)了我國第一個具有國際水平的整數規(guī)劃求解器CMIP,并于2018年3月確定版本為CMIP 1.0版本。

CMIP代碼總量已經超過五萬行,涵蓋國際現有求解器預處理、啟發(fā)式、割平面、分支、節(jié)點選擇、區(qū)域傳播等各種功能模塊,并已經較好地具備了求解大規(guī)模整數規(guī)劃的能力。

2.求解器對比

求解器

國別、性質

提供免費學術版

兼容的編程語言

解決問題

備注

CPLEX(IBM)

美國商業(yè)

C, C++, Java, C#, Python

線性,整數為主

IBM CPLEX Optimization Studio 是一套優(yōu)化引擎(用于數學編程的 CPLEX 和用于約束編程的 CP Optimizer)、建模語言 (OPL) 和集成開發(fā)環(huán)境。進入中國早,積累用戶多,在衰退。

GUROBI,獨立

美國商業(yè)

C++, Java, Python, .Net, Matlab, R

綜合

各項指標前列,Gurobi 以卓越的性能躋身大規(guī)模優(yōu)化器新領袖地位,成為性價比最為優(yōu)秀的企業(yè)大規(guī)模優(yōu)化器首選。目前客戶還在積極拓展。

Xpress(FICO)

美國商業(yè)

Mosel, BCL, C, C++, Java, R Python, Matlab, .Net, VB6

綜合

優(yōu)化技術和解決方案套件。各項指標均衡,背靠FICO,金融客戶多,影響力主要在歐美。

MOSEK,獨立

丹麥商業(yè)

C,C#,Java,MATLAB,Python,R

二次為主

重點是解決大規(guī)模稀疏問題,特別是在二次規(guī)劃、二階錐和半正定規(guī)劃領域有著不俗的表現??蛻糁饕诮鹑?,特別是量化計算。

SAS,獨立

美國商業(yè)

綜合

SAS是傳統的統計軟件

SCIP,德國ZIB研究所

德國開源

C,C++,MATLAB,Python,Java

整數

作為獨立求解器運行,它是用于混合整數程序的最快的非商業(yè)求解器之一。

CLP,多個單位和個人

美國開源

C++

線性

CLP是 COIN-OR 項目下線性規(guī)劃問題的求解器,是一個用C++編寫的開源線性規(guī)劃求解器。

BARON,獨立商業(yè)公司

美國商業(yè)

C,Python...

非線性為主

用于促進非凸優(yōu)化問題的全局最優(yōu)解,在非線性某些模塊排名較高

COPT,杉數科技

中國商業(yè)

C,C++,C,Python,Java

綜合

綜合性數學規(guī)劃軟件,線性規(guī)劃排名世界前列,已應用于多個國內項目

MindOpt,阿里云

中國商業(yè)

C,C++,Python

線性

線性單純形法目前排第一,已應用于阿里云內部多個項目

OPTV,華為

中國商業(yè)

C++,Pyhton

線性,整數

將運籌學和AI相結合,針對線性和整數模型尋找最優(yōu)解。

CMIP,中科院

中國商業(yè)

整數

涵蓋國際現有求解器預處理、啟發(fā)式、割平面、分支、節(jié)點選擇、區(qū)域傳播等各種功能模塊,并已經較好地具備了求解大規(guī)模整數規(guī)劃的能力

3.第三方評測

美國亞利桑那州立大學的Hans Mittelmann教授針對多種開源與商業(yè)數學規(guī)劃求解器進行測評已有近20年的歷史,是公認的可靠第三方測評平臺。

下面列舉幾個常見的數學規(guī)劃問題,全部評測結果見評測官網:http://plato.asu.edu/bench.html

3.1.線性規(guī)劃

評測時間為:2021年11月10日

(1)單純形法線性規(guī)劃求解器

基準測試一共有40個問題,第一行表示平均求解時間(s),第二行以時間最小值為標準進行放縮,第三行表示在規(guī)定時間內解出問題的數量。

可以看出達摩院 MindOpt在單純形法線性規(guī)劃評測中取得 第一的成績,杉數科技 COPT和華為 OPTV分別取得 第二和 第四的成績。

(2)內點法線性規(guī)劃求解器

基準測試一共有47個問題。

在內點法線性規(guī)劃中, GUROBI求解器取得 第一,杉數科技 COPT緊接其次,取得 第二的成績。

3.2.混合整數線性規(guī)劃(1)混合整數線性規(guī)劃基準 - MIPLIB2017

評測時間為:2021年11月13日

上半部分為單線程求解,一共有240個問題,GUROBI求解數量最多,并且用時最短,取得第一;

下半部分為多線程求解,GUROBI在求解數量和求解時間上同樣領先。

(2)輕微病態(tài)的混合整數線性規(guī)劃案例

評測時間為:2021年11月10日

在默認模式下使用MIPLIB2017腳本在 Intel Xeon E5-4657L(48 核,512GB)的 12 個線程上運行。給出的時間是經過的 CPU 秒數。一共有45個問題,限時3小時。

GUROBI求解出了44個問題,并且運行時間最短。杉數科技COPT取得第二的成績,但相比GUROBI的求解數量和求解時間都有很大的差距。

(3)MILP問題的不可行性檢測

評測時間為:2021年12月3日

針對MIPLIB2017在 Intel i7-11700K(64GB,3.6 GHz,8 核) 上的“簡單”不可行問題運行。問題規(guī)模為32個。

GUROBI求解出了最多數量29個,求解時間花費最短,評分第一。杉數科技COPT在求解數量和求解時間上位于第二位。

3.3.混合整數非線性規(guī)劃

評測時間為:2021年8月15日

可行性容差設置為 1e-6。所有不成功都計為最大時間。第二行列出了解決的問題數量(共 87 個)。

BARON在混合整數非線性規(guī)劃中取得第一的成績。

4.關于Mittelmann測評

在測評網站中,我們可以發(fā)現,三大主流求解器只有GUROBI在榜,而CPLEX和Xpress沒有任何測評數據。

2018年12月23日,在數學規(guī)劃求解器業(yè)界有些陰霾的天空中,一聲驚雷。美國亞利桑那州立大學Hans Mittelmann教授在他維護了多年的數學優(yōu)化軟件測評中刪去了IBM Cplex,Gurobi和FICO Xpress這三個主要商業(yè)求解器的全部數據。

這一切都要從新版的MIPLIB說起。由德國科研機構ZIB所維護的MIPLIB是整數規(guī)劃領域最重要的問題集。這個問題集的每個版本都是商業(yè)求解器性能評測的標桿。在2018年11月之前,一直沿用的MIPLIB 2010問題集已有七年之久,而MIPLIB 2017的征集遴選工作也持續(xù)了一年多時間。各大求解器廠商均翹首以盼,希望自己的求解器可以在最新的版本上拔得頭籌。

2018年10月底,跳票許久的MIPLIB 2017終于在即將召開的INFORMS年會之前整理完畢。Mittelmann教授也于11月1日發(fā)布了MIPLIB 2017版本的測評預覽。近年來在舊版MIPLIB一直領先的Gurobi在其當時剛剛完成的8.1版求解器的助力下,保持了優(yōu)勢。

據Mittelmann當時測評信息顯示,Gurobi的速度是Cplex的1.5倍,是Xpress的2倍左右。然而,就在緊接著召開的INFORMS年會上,Gurobi在其宣傳中做了一些變化,在Mittelmann教授發(fā)布的數據的基礎上,有意無意放大了其他兩家廠商未能完成部分的求解時間。并以此得出了Gurobi比Cplex快2.6倍,比Xpress快5.5倍的結論。

這個驚人的“優(yōu)勢”給他們帶來曝光和名聲的同時,也帶來了業(yè)界的批評和競爭對手的律師函。盡管Gurobi很快的撤回了這些數據,并在其官網上發(fā)了致歉聲明,此次事件還是不可逆轉的改變了這個行業(yè)。

2018年12月23日,Mittelmann教授在他的網站上發(fā)布了一個簡短的聲明,說在IBM和FICO的要求下刪除了Cplex和Xpress的數據,并在此同時也刪除了Gurobi的數據。盡管之前事件的誘因是Gurobi的夸大宣傳,但是Mittelmann本人并沒有做錯什么。Cplex和Xpress的主動退出因此也就顯得略有些牽強。所以在后面的測評中不見CPLEX和Xpress的身影,三大主流軟件中只有GUROBI的數據存在。

參考文獻

[1] 1.1.CPLEX: https://en.wikimirror.xyz/w/index.php?search=cplex

[2] 1.2.GUROBI: http://www.gurobi.cn/about.asp?id=1

[3] 1.3.Xpress: https://en.wikimirror.xyz/wiki/FICO_Xpress

[4] 1.4.MOSEK: https://en.wikimirror.xyz/wiki/MOSEK

[5] 1.5.SAS: https://en.wikimirror.xyz/wiki/SAS_(software)

[6] 1.6.SCIP: https://en.wikimirror.xyz/wiki/Zuse_Institute_Berlin

[7] 1.7.CLP: https://en.wikimirror.xyz/wiki/COIN-OR

[8] 1.8.BARON: https://en.wikimirror.xyz/wiki/BARON

[9] 1.9.COPT: https://www.shanshu.ai/copt

[10] 1.10.MindOpt: https://solver.damo.alibaba.com/htmlpages/page#/

[11] 1.11.OPTV: https://www.huaweicloud.com/product/modelarts/optverse.html

[12] 評測主頁:http://plato.asu.edu/bench.html

作者:莫金元,李文樺,李凱文,王銳

莫金元,男,國防科技大學,碩士研究生,研究方向:計算智能與優(yōu)化決策技術

-- 展開閱讀全文 --