杉数求解器COPT 7.2 正式发布!

- 杉数求解器COPT 7.2版在十项性能测评中取得第一
- 新增指数锥模块,可以建模求解几何规划等问题
- 新增矩阵建模功能,大幅提升面向对象建模速度
- 持续发力GPU算法研发
十项第一
自年初发布COPT 7.1以来,杉数求解器团队收到并研究了大量来自客户的意见反馈和实际算例,进行了定制化的研发提速。这其中很多功能具备通用性,我们将这些研发成果汇聚到新版的COPT 7.2中,以便更多的用户可以节省时间、提升效率。
近期杉数求解器团队完成了COPT 7.2版本的研发,并提交至由美国亚利桑那州立大学Hans Mittelmann教授所维护的国际权威测评平台参与各项性能测评。在所有十一项测评中,COPT 7.2共获得十项第一的成绩。










COPT 7.2 在国际权威测评中,获取十项第一
新增指数锥模块
在不断提升现有求解模块性能的同时,COPT也在拓宽所支持的数学模型类型。COPT 7.2加入了对于指数锥的支持,包括原始指数锥和对偶指数锥,适用于包含指数和对数形式的各种约束和目标。此外通过将问题转化为对数-指数形式,COPT可以进一步支持几何规划问题。
几何优化是一类具有特殊多项式形式目标和约束的问题,在电路设计、化学工程、量化投资等领域都有广泛应用。通过指数锥这一新增模块,COPT可以将非凸的几何优化转化为凸问题,以精确求解全局最优解。

使用COPT的Julia接口建模求解几何规划的代码片段
新增自研矩阵建模功能
COPT此前在Python接口的开发中,通过Python的NumPy包实现了矩阵建模功能,这不仅提升了建模的便利性,也提升了建模的速度。然而根据我们的客户反馈,COPT的矩阵建模速度和美国某求解器相比仍然较慢,我们经过研究发现主要慢在Python对数据的处理等环节。想要提速,只能自研底层功能。
近期的开发取得了极大进展,在某客户实际的建模测试中,使用自研的Python矩阵建模功能之后,整体的建模时间从215秒降到了10秒左右。我们自研的Python矩阵建模工具还在完善之中,因此我们暂未将它设置为默认的选项。用户可以通过在Python中设置Model.matrixmodelmode = "experimental" 切换尝试。
除了Python之外,我们也把这一建模功能推广到了C++建模环境,通过原生矩阵类NdArray实现,可以直接处理各类矩阵运算。将来我们会逐步补齐其他COPT支持的面向对象的建模语言,让更多的用户可以享受到这一建模速度的提升。
持续发力GPU算法研发
2023年底我们完成了GPU加速的一阶线性规划算法的研发,并将其开源,以吸引更多的科研力量投入到这一领域来。随后,我们将该算法实现加入到2024年初发布的COPT 7.1中,使用户可以开箱即用,尝试包含建模、预求解等模块的GPU加速一阶线性规划算法。
近一年的时间,我们看到了数十篇相关科研论文涌现,也看到了开源求解器HiGHS,GPU厂商NVIDIA,以及美国的两家商业求解器公司也先后将求解线性规划的一阶算法纳入到了他们的产品之中,其中多个求解器也声明了主要的算法来源于COPT与MIT Haihao Lu老师的cuPDLP-C和cuPDLP开源求解器。
在COPT 7.1发布之后,杉数求解器团队持续发力GPU算法的研发和代码实现的改进,并将阶段性的成果汇集在COPT 7.2中。根据我们在内部算例集上的测评,新版GPU加速的一阶算法平均提速超过40%,其中在超过15%的算例上求解速度为旧版的3倍以上。
我们的团队还将继续发掘GPU的算力,为运筹优化加速。
结语
以上是COPT 7.2的性能测评快报和最新功能预览,COPT 7.2目前已在杉数官网 (https://www.shanshu.ai/copt) 开放申请和下载。后续也会推出案例和文章详细解读COPT 7.2新功能,敬请期待!
如果大家在安装或使用COPT的过程中遇到任何问题,请致信coptsupport@shanshu.ai反馈。此外也欢迎扫描下方二维码(或使用QQ搜索社群:142636109)加入杉数求解器COPT QQ技术交流群交流讨论,群内也会定期发布COPT的最新动态。

