混合整数二阶锥规划MISOCP求解器
混合整数凸二次(约束)规划MIQ(C)P求解器
参数调优工具
大幅提升了半定规划求解性能
杉数科技在2022年10月底正式发布了杉数求解器COPT 6.0。这距离COPT 5.0的发布仅有4个月的时间。很多朋友可能会问,这么短的时间做了哪些更新?本文结合COPT 6.0参与美国亚利桑那大学Mittelmann教授所维护的优化软件测评榜单的结果,带大家一探究竟。
自从2021年10月的COPT 3.0版推出二阶锥规划(SOCP)求解器以来,其求解性能比肩国际先进厂商。金融、能源、化工等领域的用户试用过之后表示速度确实很快,但同时也期待能设定整数变量,满足在这些领域实现彻底的国产化替代。杉数科技持续研发混合整数二阶锥规划(MISOCP)求解功能,与二阶锥规划求解器时隔一年,如今正式面世。
COPT 6.0混合整数二阶锥规划求解性能测评结果
在美国亚利桑那大学Mittelmann教授维护的最新公布的测评榜单可以看到,MISOCP测评榜单上共有四家求解器。除新上榜的COPT外,其中Mosek和Gurobi分别是来自丹麦和美国的老牌商业求解器厂商,SCIP是德国ZIB研究所发布的开源求解器。表格里求解器名称上方的数据为一个求解器求解所有测评算例的相对平均时间,以平均时间最小的为1,而下方的数字是可成功求解的算例数量。
从测评榜单可以看出,COPT新发布的混合整数二阶锥规划求解性能超越了开源的SCIP和老牌商业厂商Mosek,平均求解时间和可成功求解的算例数量均明显优于这两个软件。同时我们注意到,和美国厂商Gurobi相比,我们的平均求解时间还有一定的差距,且限定时间内可求解的数量也少1个,还有提升的空间。
但是COPT和Gurobi相比也有自己的优势,Gurobi的求解数量旁边加了个*号,Mittelmann教授在页面的最底部解释说“* 27 instances with constraint violations > 1e-6”,也就是说有多一半的算例,Gurobi尽管算出来了,但是解并不满足算例的约束条件,换言之就是那不是严格意义上的可行解。而COPT的解不存在这样的问题。
和二阶锥规划紧密相关的两类数学规划问题是凸二次规划(QP)和凸二次约束规划(QCP)。杉数科技于2022年初的COPT 4.0版本也新增了这两个问题类型的求解功能。这两项功能也和二阶锥规划一样受限于无法设定整数变量。鉴于其紧密联系,我们在开发整数二阶锥规划同时也开展了混合整数凸二次规划(MIQP)和混合整数凸二次约束规划(MIQCP)的开发,于COPT 6.0一并发布。
COPT 6.0混合整数凸二次(约束)规划求解性能测评结果
在Mittelmann教授维护的测评榜单里,混合整数凸二次规划和整数凸二次约束规划的求解性能比对放在了同一个测评项目Convex Discrete QPLIB里。在这个榜单上,COPT6.0一登场,就明显压过了其余9家欧美厂商。和老牌求解器Gurobi相比,可正确求解的数量同为24个,而COPT的平均求解速度领先43%!这是一个标志性的成果,这是我们第一次在混合整数规划的领域超过西方主流求解器!
当然,从详细的测评数据可以看出,全部31个算例,还有7个我们未能完成计算。这里面有部分是其他厂商可以在规定时间内求解,而我们需要花更多时间才能完成求解的。我们的混合整数凸二次(约束)规划求解性能还有进步的空间。
自从今年6月COPT 5.0发布半定规划(SDP)求解器以来,由于其性能明显超过了长期领跑的Mosek,因此受到了来自国内外学术界和商业界的广泛关注。我们也在这个领域,进一步提升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秒求解时间。通过使用tuner,我们可以找到一组改进参数
参数调优工具针对app1-2这个算例找到的一组改进参数
这组参数调低了割平面的强度,关闭了启发式算法和预求解模块,另适当增加了分支定界部分的割平面强度,最终实现了18.4秒求解这个算例,提升幅度超过8倍,最终求解时间也超过了Gurobi。
有关tuner的各种参数,如提升调参稳定性的TunePermutes和设定调参目标的TuneMode等,请参考COPT的文档试用。此外我们后续会在杉数运筹与智能决策教学平台https://coridm.d2d.ai/的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支持多种部署方式。除了个人电脑、服务器之外,我们还提供浮动授权和计算集群等部署方式,方便学校实验室和公司生产环境等场景的使用。欢迎通过shanshu.ai/copt申请免费的个人试用版本。如需试用服务器版、浮动授权或计算集群版本,请与我们取得联系coptsales@shanshu.ai。
如果您在申请、使用求解器的过程中遇到任何问题,请写邮件到coptsupport@shanshu.ai或加入COPT求解器QQ群811049651讨论。
中力股份上交所主板上市,电动叉车市场迎新机遇
1314 阅读物流规划中的四个重要元素
1201 阅读滴滴送货开启2024暖冬驿站 50城货车司机可就近取暖休息领驱寒物资
1054 阅读京东物流“公转铁”解决方案助力社会物流成本降低
1059 阅读数字化:供应链系统建设的OTWB
1070 阅读饿了么 京东秒送怎么战胜美团闪电仓 闪电仓的死穴是内耗
1012 阅读如何做好运输车辆可视化管理,提升运输安全?分享拿过来就能用的解决方案!
925 阅读仓库安全管理很重要!身为仓库主管的你如何做好仓库的安全管理呢?
966 阅读物流周观察12.23
889 阅读快递“顶门”滑雪
906 阅读