杉数求解器简介
杉数求解器是一款针对大规模优化问题的高效数学规划求解器。本文档简要介绍了杉数求解器的相关内容, 包括:
我们推荐所有用户在使用杉数求解器之前仔细阅读上述前两节内容。
用户在正确安装杉数求解器和配置许可后,如果想通过已有模型对杉数求解器进行求解与测试,我们推荐用户 仔细阅读 COPT交互式命令行工具 章节。如果用户有偏爱的编程语言并希望 使用编程接口调用杉数求解器,可以从目前支持的以下几种接口中进行选择:
概述
杉数求解器目前支持求解线性规划(LP)问题、二阶锥规划(SOCP)问题、凸二次规划(QP)问题、 凸二次约束规划(QCP)问题、半定规划(SDP)问题、混合整数线性规划(MILP)、 混合整数二阶锥规划(MISOCP)、混合整数凸二次规划(MIQP)、混合整数凸二次约束规划(MIQCP)问题。 在以后发布的版本中会逐渐支持求解更多类型的优化问题。目前支持求解的问题类型与相应的算法如下表所示:
问题类型 |
求解算法 |
线性规划(LP) |
对偶单纯形法、内点法、一阶算法 |
二阶锥规划(SOCP) |
内点法 |
指数锥规划(ExpCone) |
内点法 |
凸二次规划(QP) |
内点法 |
凸二次约束规划(QCP) |
内点法 |
半定规划(SDP) |
内点法、交替乘子下降法 |
混合整数线性规划(MILP) |
分支切割法 |
混合整数二阶锥规划(MISOCP) |
分支切割法 |
混合整数凸二次规划(MIQP) |
分支切割法 |
混合整数凸二次约束规划(MIQCP) |
分支切割法 |
杉数求解器支持所有主流的操作系统(均为64位系统),包括:Windows、Linux(包括ARM64平台) 和MacOS(包括ARM64平台),目前主要提供了以下编程接口:
C接口
C++接口
C#接口
Java接口
Python接口
AMPL接口
GAMS接口
AIMMS接口
Julia接口
Pyomo接口
PuLP接口
CVXPY接口
我们将在以后发布的版本中提供更多的编程接口以满足不同场景下用户的不同需要。
许可类型
目前,我们提供了4种许可类型,分别为:个人许可、服务器许可、浮动许可和集群许可。各种许可 的功能如表 表 2 所示:
许可类型 |
功能 |
---|---|
个人许可 |
该许可绑定个人电脑的用户账号,供单个用户使用。求解运算在本地,不限制CPU核数和线程数。 |
服务器许可 |
该许可绑定单台服务器的MAC地址和CPUID,在该服务器上可并发求解多个优化任务。求解运算在绑定的服务器上进行,不限制用户数量,不限制CPU核数。 |
浮动许可 |
该许可绑定单台机器的MAC地址和CPUID作为浮动许可服务器,连接到该服务器的客户机都可以完成许可的获取与释放,可同时进行优化计算的客户机上限为浮动许可的令牌数量。求解运算在客户机上进行,每个进程需要一个令牌,允许多任务并发求解。 |
集群许可 |
该许可绑定服务器的MAC地址和CPUID,通过一台或多台服务器搭建求解集群进行集中求解,其它客户机可以通过局域网将求解任务发送到集群来实现远程求解功能,集群中的每个服务器允许多任务并发求解,但每个客户进程只能顺序递交任务,不能并发。不限制CPU核数。 |
如何引用
如果您在研究工作中使用了杉数求解器COPT,请您在论文中引用我们。例如:
我们研究中使用了COPT [1]
为了求解混合整数规划问题,我们使用了Cardinal Optimizer [1]
相应的引用条目为:
[1] D. Ge, Q. Huangfu, Z. Wang, J. Wu and Y. Ye. Cardinal Optimizer (COPT) user guide. https://guide.coap.online/copt/en-doc, 2023.
相应的 BibTex 引用为:
@misc{copt,
author={Dongdong Ge and Qi Huangfu and Zizhuo Wang and Jian Wu and Yinyu Ye},
title={Cardinal {O}ptimizer {(COPT)} user guide},
howpublished={https://guide.coap.online/copt/en-doc},
year=2023
}
联系信息
杉数求解器由 上海杉数网络科技有限公司 独立开发,用户可以通过 表 4 中的联系方式获取更多信息:
联系方式 |
具体信息 |
描述 |
官方网站 |
||
联系电话 |
400-680-5680 |
|
电子邮件 |
商务支持 |
|
电子邮件 |
技术支持 |