在過去30余年中,世界領先的商業求解器一直掌握在一些海外企業及財團手中。對國內企業而言,長期以來只能購買海外進口產品。
近日,我國自主研發的“杉數數學規劃求解器”在世界知名求解器公測平臺、米特爾曼教授的測試集上位列第一,成為我國第一個自主研發的商業級別求解器,我國求解器的測試速度躋身世界頂尖商業求解器之列。
“其速度比第二名快了40%多。”中國運籌學會理事長、研究員胡旭東告訴科技日報記者,由美國亞利桑那州立大學漢斯·米特爾曼教授所維護的這一測試平臺,提供了多個商業和開源的數學規劃求解器的測評數據,這一測評成為人們了解和選擇求解器的窗口,也被求解器業界奉為軟件性能排名的事實標準。
求解器像是運籌學里的“芯片”
對于求解器,很多人都很陌生。那么到底什么是求解器?
“在運籌學里,對于數學規劃求解器的定義是,針對多種已經建立的線性、整數及各種非線性規劃模型,進行算法優化的求解器,可以看作一個‘黑盒子’軟件系統。”胡旭東說,求解器就像是運籌學里的“芯片”,絕大多數復雜系統的決策問題都需要用到數學規劃求解器,來尋求最優化的解決方案。
“求解器就好比是電腦的操作系統,解決不同問題的數學模型就是一個個軟件。一個求解器可以衍生出很多垂直的場景,盡管這些場景看上去差別很大,但本質上相通。救護車調度、航班規劃、庫存優化……這些從數據到決策的轉化工作,都可以利用運籌學模型與機器學習將實際問題轉化為數學模型求解。”胡旭東說。
國計民生都需要用到“黑盒子”
“大規模數學規劃求解器關系到國計民生的眾多方面。”制造杉數數學規劃求解器的杉數科技公司創始人葛冬冬表示。
連鎖快餐店應該如何選址,才能覆蓋盡可能多的人口?幾百個物流機器人的行進路線該如何實時設計,才能實現最高工作效率,又不發生碰撞?在打車系統中,乘客發出叫車需求,把這位乘客分配給哪個司機,才能實現路線最優,讓司機和乘客全滿意……這些問題的解決都需要求解器來幫忙。而且問題求解規模越大,就越依賴于求解器這一神秘“黑盒子”。
葛冬冬舉例說,永輝超市現在在上海已經有300多家店。此前,他們與杉數科技合作,用選址軟件做智能選址。“比如,今年計劃開50家店,明年開100家店,后年開150家店,利用求解器就可以算出這50家店該怎么開、開在哪,明年100家店該怎么開、開在哪,互相之間不會產生惡性競爭。”
斯坦福大學李國鼎工程講座教授、運籌學專家葉蔭宇曾表示,云計算、大數據與人工智能的井噴,出現了超大規模的大數據,這正是優化算法繁榮的基礎,人工智能想要進入新階段,也離不開優化算法的進一步發展。而優化算法想要實現自身作用,求解器是不可缺少的一個環節。
進口產品無法定制、存在安全隱患
但是,在過去30余年中,這種高精度求解器高度依賴進口。世界領先的商業求解器一直掌握在一些海外企業及財團手中。對國內企業而言,長期以來只能購買海外進口產品。
胡旭東表示,對于各大企業而言,購買的進口商業求解器不僅價格高昂,而且通常都是已經經過封裝、無法自主調整的算法代碼的“黑盒子”。
“以國家發展為例,基礎設施建設中的電網、水利系統、鐵路、高速公路建設等都涉及到類似的大規模優化算法問題,使用國際上成熟的商業求解器就意味著難以做出針對性改良,得到最優結果。”胡旭東說,“由于不了解國外求解器系統,此前許多企業遇到特定問題時,常常得不到最好的答案,‘黑盒子’永遠是封閉的,甚至不知道數據的傳輸是否安全。”此外,軍事上的戰略資源調度、航空領域的戰略部署等關乎國家安全的問題,也對自主知識產權的軟件有著根本性需求。無論從何種角度來說,這樣的軟件,國內必須得有自己的核心技術知識積累。
耗時長、人才少制約自主求解器發展
求解器研發是一項耗時長、見效慢,不能發論文的基礎性工作。
“由于開發難度大、開發周期長、資金需求高等種種原因,國內的優化算法求解器此前幾乎處于空白狀態。因為這就好像研發一枚芯片,要想做出可以供企業使用的芯片,有相當的技術門檻,需要千百次的試驗。求解器的開發也是一樣。”胡旭東說,求解器在技術層面要求非常高,將一個數學上高度復雜的系統,以百萬行級別的代碼工程化地實現出來,是很多國外求解器團隊走了30年的求索之路。計算速度和精度的每一點提升都需要無數的思考和嘗試,凝聚著研發團隊的辛勤汗水和思維火花。
“要做可靠的求解器,時間是必須要投入的。整數求解器部分我們做了2年以上,但整個預期是3—4年。國外的那些企業做的都是迭代的求解器,大家公認就需要這么長時間。”葛冬冬稱,國內做求解器,大多數公司往往等不了這么長的時間。“投入幾千萬、十來個人去做一個軟件,但3年后還不一定能出結果,面臨的現實壓力是很大的。”
除了時間投入外,人才也成為制約求解器國產化的因素。葛冬冬認為,開發求解器的人才需要具備3個特點。第一是數學功底好,優化算法功底扎實;第二是代碼能力強,有系統工程開發能力;第三是最好具有求解器開發經驗。“高校培養的學生,最大的弱點是解決多方面問題的綜合能力不足。另外高校團隊欠缺承續性,雖然代碼都會寫,但是一旦一位核心人才離開團隊,研發就會受到較大影響。而國內企業培養人才又有點急功近利,等不起一個人才慢慢成熟。”葛冬冬說。