im电竞新闻/ im电竞-杉数求解器COPT 6.5正式发布:MIP求解性能大幅提升,新增Callback功能

时间:2023-06-01 / 作者:肥仔

im电竞-杉数求解器COPT 6.5正式发布:MIP求解性能大幅提升,新增Callback功能

   

杉数求解器最新版本COPT 6.5已正式发布。此次进级的COPT 6.5版本年夜幅晋升了夹杂整数计划的求解机能,进一步晋升了线性计划等求解模块的速度和不变性,在ASU测评榜上,获得了5项第1、5项第二的成就。此中线性计划的最优极点解和最优数值解两个榜单均排名世界第一,MIP榜单排名世界第二。

COPT 6.5新增Callback功能,拓展了求解器的利用场景;改良了indicator和SOS束缚功能的底层实现,显著晋升其不变性;在COPT Python接口中新增对广义束缚(AND/OR/MAX/MIN/ABS/PWL)的撑持。

接待您前去杉数官网申请试用COPT最新版本,老用户需从头安装COPT并更新license文件。针对学术用户(以有用学术邮箱申请),我们供给365天可续用的免费试用权限;针对非学术用户,我们供给180天的免费试用权限。

MIP求解机能年夜幅晋升,ASU测评榜排名领先

COPT 6.5版本年夜幅晋升了夹杂整数计划的求解机能,进一步晋升了线性计划等求解模块的速度和不变性。在ASU测评榜上排名领先,获得了5项世界第1、5项世界第二的成就。

ASU测评榜是由美国亚利桑那州立年夜学Hans Mittelmann传授保护的国际权势巨子数学优化软件测评平台,此中拔取工业界有代表性的现实问题作为算例,其测评获得求解器业界的一致承认。在线性计划的最优极点解和最优数值解两个榜单中,COPT 6.5均位列世界第一。

COPT 6.5版本的MIP求解机能年夜幅晋升,在MIP测评榜的3个榜单中均排名世界第二,综合求解机能和第一位差距缩减至一倍摆布,也是榜单上独一的国产求解器。以下是COPT 6.5 MIP求解模块的测评数据:

对非线性计划问题的求解模块,COPT 6.5获得了3项第1、2项第二的成就,各模块的测评数据以下所示:

COPT 6.5撑持求解的问题类型和最新机能测评成果汇总以下表所示:

注:该表数据来历在美国亚利桑那州立年夜学Hans Mittelmann 传授保护的国际权势巨子数学优化软件测评平台 http://plato.asu.edu/bench.html 2023年4月7日的测评成果。

针对有着普遍且主要利用的MIP问题,在每次的版本迭代中,COPT的求解机能都在不竭晋升,下图为MIPLIB测评集上的机能测评成果,未解出问题数目逐步削减,加快比逐步晋升。

注:

1. “未解出数目”暗示在MIPLIB算例集中,COPT每次更新版本未能解出的问题数目;

2. “加快比”暗示相较在V2.0版本,COPT每次更新版本的相对求解速度。

增添Callback功能

Callback(回调)功能是针对夹杂整数计划问题的高级节制功能,便在用户针对特定问题嵌入本身的算法。Callback功能撑持在MIP求解进程中,按照指定触发点,获得中心信息(如:当前最优解、可行解或LP败坏解等)、动态节制MIP求解历程,如:添加惰性束缚或用户割平面,和设置自界说的开导式解等。

以观光商问题(Travelling Salesman Problem,简称TSP)为例,用户可以挪用Callback功能,当找到MIP可行解时,获得当前可行解的信息(判定是不是包括子回路),经由过程添加惰性束缚,交互式地消弭对应的子回路。

以Python为例,挪用Callback功能,简单来讲,可归纳综合为以下几个步调:

1. 构建自界说 Callback 类,并继续 CallbackBase 类;

2. 实现 CallbackBase.callback() 函数;

3. 新建自界说 Callback 实例,并传入用户所需参量;

4. 经由过程 Model 类的 Model.setCallback() 函数添加 Callback 实例。

关在若何在分歧接口中挪用Callback功能,可参考《杉数求解器用户手册》中响应章节的介绍和各API函数申明。拜候杉数讲授平台便可查看完全TSP案例阐发和代码实现,COPT安装包examples目次下也有示例代码(以Python接口为例,文件名为“cb_ex1.py”)。

Python接口新增撑持广义束缚

COPT的Python接口中新增对广义束缚(AND/OR/MAX/MIN/ABS/PWL)的撑持,对方针或束缚中含有上述函数的优化问题,用户可以经由过程挪用Model类的相干成员函数,直接添加上述广义束缚进行建模和求解,如 Model.addGenConstrMax(y, [x1, x2, x3]),添加⼀条形如 y = max{x1, x2, x3} 的束缚到模子中。具体的函数用法可以参考《杉数im电竞求解器用户手册》Python API的相干函数申明。

责任编纂:Linda

上一篇:im电竞-永和食品专注健康领域,以创新驱动品牌高质量发展 下一篇:im电竞-信创CTI