杉數(shù)求解器COPT 6.5正式發(fā)布:MIP求解性能大幅提升,新增Callback功能
杉數(shù)求解器最新版本COPT 6.5已正式發(fā)布。此次升級(jí)的COPT 6.5版本大幅提升了混合整數(shù)規(guī)劃的求解性能,進(jìn)一步提升了線性規(guī)劃等求解模塊的速度和穩(wěn)定性,在ASU測(cè)評(píng)榜上,取得了5項(xiàng)第一、5項(xiàng)第二的成績(jī)。其中線性規(guī)劃的最優(yōu)頂點(diǎn)解和最優(yōu)數(shù)值解兩個(gè)榜單均排名世界第一,MIP榜單排名世界第二。
COPT 6.5新增Callback功能,拓展了求解器的使用場(chǎng)景;改進(jìn)了indicator和SOS約束功能的底層實(shí)現(xiàn),顯著提升其穩(wěn)定性;在COPT Python接口中新增對(duì)廣義約束(AND/OR/MAX/MIN/ABS/PWL)的支持。
歡迎您前往杉數(shù)官網(wǎng)申請(qǐng)?jiān)囉肅OPT最新版本,老用戶需重新安裝COPT并更新license文件。針對(duì)學(xué)術(shù)用戶(以有效學(xué)術(shù)郵箱申請(qǐng)),我們提供365天可續(xù)用的免費(fèi)試用權(quán)限;針對(duì)非學(xué)術(shù)用戶,我們提供180天的免費(fèi)試用權(quán)限。
MIP求解性能大幅提升,ASU測(cè)評(píng)榜排名領(lǐng)先
COPT 6.5版本大幅提升了混合整數(shù)規(guī)劃的求解性能,進(jìn)一步提升了線性規(guī)劃等求解模塊的速度和穩(wěn)定性。在ASU測(cè)評(píng)榜上排名領(lǐng)先,取得了5項(xiàng)世界第一、5項(xiàng)世界第二的成績(jī)。
ASU測(cè)評(píng)榜是由美國(guó)亞利桑那州立大學(xué)Hans Mittelmann教授維護(hù)的國(guó)際權(quán)威數(shù)學(xué)優(yōu)化軟件測(cè)評(píng)平臺(tái),其中選取工業(yè)界有代表性的實(shí)際問(wèn)題作為算例,其測(cè)評(píng)得到求解器業(yè)界的一致認(rèn)可。在線性規(guī)劃的最優(yōu)頂點(diǎn)解和最優(yōu)數(shù)值解兩個(gè)榜單中,COPT 6.5均位列世界第一。
COPT 6.5版本的MIP求解性能大幅提升,在MIP測(cè)評(píng)榜的3個(gè)榜單中均排名世界第二,綜合求解性能和第一名差距縮減至一倍左右,也是榜單上唯一的國(guó)產(chǎn)求解器。以下是COPT 6.5 MIP求解模塊的測(cè)評(píng)數(shù)據(jù):
對(duì)于非線性規(guī)劃問(wèn)題的求解模塊,COPT 6.5取得了3項(xiàng)第一、2項(xiàng)第二的成績(jī),各模塊的測(cè)評(píng)數(shù)據(jù)如下所示:
COPT 6.5支持求解的問(wèn)題類型及最新性能測(cè)評(píng)結(jié)果匯總?cè)缦卤硭荆?/p>
注:該表數(shù)據(jù)來(lái)源于美國(guó)亞利桑那州立大學(xué)Hans Mittelmann 教授維護(hù)的國(guó)際權(quán)威數(shù)學(xué)優(yōu)化軟件測(cè)評(píng)平臺(tái) http://plato.asu.edu/bench.html 2023年4月7日的測(cè)評(píng)結(jié)果。
針對(duì)有著廣泛且重要應(yīng)用的MIP問(wèn)題,在每一次的版本迭代中,COPT的求解性能都在不斷提升,下圖為MIPLIB測(cè)評(píng)集上的性能測(cè)評(píng)結(jié)果,未解出問(wèn)題數(shù)量逐漸減少,加速比逐漸提升。
注:
1. “未解出數(shù)量”表示在MIPLIB算例集中,COPT每次更新版本未能解出的問(wèn)題數(shù)量;
2. “加速比”表示相較于V2.0版本,COPT每次更新版本的相對(duì)求解速度。
增加Callback功能
Callback(回調(diào))功能是針對(duì)混合整數(shù)規(guī)劃問(wèn)題的高級(jí)控制功能,便于用戶針對(duì)特定問(wèn)題嵌入自己的算法。Callback功能支持在MIP求解過(guò)程中,根據(jù)指定觸發(fā)點(diǎn),獲取中間信息(如:當(dāng)前最優(yōu)解、可行解或LP松弛解等)、動(dòng)態(tài)控制MIP求解進(jìn)程,如:添加惰性約束或用戶割平面,以及設(shè)置自定義的啟發(fā)式解等。
以旅行商問(wèn)題(Travelling Salesman Problem,簡(jiǎn)稱TSP)為例,用戶可以調(diào)用Callback功能,當(dāng)找到MIP可行解時(shí),獲取當(dāng)前可行解的信息(判斷是否包含子回路),通過(guò)添加惰性約束,交互式地消除對(duì)應(yīng)的子回路。
以Python為例,調(diào)用Callback功能,簡(jiǎn)單來(lái)說(shuō),可概括為以下幾個(gè)步驟:
1. 構(gòu)建自定義 Callback 類,并繼承 CallbackBase 類;
2. 實(shí)現(xiàn) CallbackBase.callback() 函數(shù);
3. 新建自定義 Callback 實(shí)例,并傳入用戶所需參量;
4. 通過(guò) Model 類的 Model.setCallback() 函數(shù)添加 Callback 實(shí)例。
關(guān)于如何在不同接口中調(diào)用Callback功能,可參考《杉數(shù)求解器用戶手冊(cè)》中相應(yīng)章節(jié)的介紹以及各API函數(shù)說(shuō)明。訪問(wèn)杉數(shù)教學(xué)平臺(tái)即可查看完整TSP案例分析和代碼實(shí)現(xiàn),COPT安裝包examples目錄下也有示例代碼(以Python接口為例,文件名為“cb_ex1.py”)。
Python接口新增支持廣義約束
COPT的Python接口中新增對(duì)廣義約束(AND/OR/MAX/MIN/ABS/PWL)的支持,對(duì)于目標(biāo)或約束中含有上述函數(shù)的優(yōu)化問(wèn)題,用戶可以通過(guò)調(diào)用Model類的相關(guān)成員函數(shù),直接添加上述廣義約束進(jìn)行建模和求解,如 Model.addGenConstrMax(y, [x1, x2, x3]),添加?條形如 y = max{x1, x2, x3} 的約束到模型中。具體的函數(shù)用法可以參考《杉數(shù)求解器用戶手冊(cè)》Python API的相關(guān)函數(shù)說(shuō)明。
-
阿特拉斯科普柯重磅推出全新升級(jí)無(wú)油螺桿壓縮機(jī)
-
引領(lǐng)AI變革,九章云極DataCanvas公司重磅發(fā)布AIFS+DataPilot
-
山王果:推進(jìn)數(shù)字化轉(zhuǎn)型 為產(chǎn)業(yè)加裝“助推器”
-
營(yíng)銷時(shí)代 推廣就現(xiàn)在 河南教育培訓(xùn)平臺(tái)通過(guò)ChatGPT中國(guó)方正助力中小企業(yè)經(jīng)濟(jì)復(fù)蘇
-
案例賞析 | 新疆喀什:“大型充電寶”扎根戈壁,讓新能源供電更穩(wěn)定
-
新文藝群體書畫家工委會(huì)副主任王鳳岐風(fēng)采
-
陜西鋼材一手貨源---眾唐鋼材批發(fā)市場(chǎng)一件也是批發(fā)價(jià)
-
錫山區(qū)鵝湖鎮(zhèn)專業(yè)疏通下水道、環(huán)衛(wèi)抽糞卓通環(huán)保工程有限公司
-
藍(lán)小象快裝服務(wù)材料介紹石晶仿瓷板電話
-
南京Java學(xué)習(xí)首選:動(dòng)力節(jié)點(diǎn)南京校區(qū),你不容錯(cuò)過(guò)!
-
重慶病人出院轉(zhuǎn)院選擇正規(guī)潤(rùn)興救護(hù)車轉(zhuǎn)運(yùn)服務(wù)機(jī)構(gòu)
-
高效穩(wěn)定的網(wǎng)絡(luò)傳輸利器-思科C9200L交換機(jī)的詳細(xì)介紹
-
造船行業(yè)的“得力助手”—使用30噸扁平吊裝帶提升吊裝生產(chǎn)力