安装说明

本章介绍了如何在所有支持的操作系统上安装杉数求解器,以及如何获取与配置许可文件的过程。我们推荐 所有用户在使用杉数求解器之前仔细阅读本章内容。

软件申请与下载

使用杉数求解器之前,用户需要下载并安装杉数求解器到计算机中。如果还未下载软件,请用户访问软件 官方申请页面 按照说明进行申请。目前,网页申请是对个人许可 的试用,申请信息除基本信息外,只需要填写计算机用户登录账号。

个人许可申请通过后,申请者邮箱会收到一封来自 coptsales@shanshu.ai 的邮件,邮件中会提供杉数求解器 安装包的下载链接、许可文件、以及授权通过的密钥信息,该密钥信息与用户申请信息一一对应。用户需要根据本章内容 安装杉数求解器并配置许可文件。

如果用户在使用杉数求解器时遇到任何问题,请联系 coptsupport@shanshu.ai 获取更多帮助。

软件安装

Windows

我们为Windows平台提供了两种安装包,用户 二选其一即可 。 一种是可执行安装程序(下载链接名称中含有 "installer"),另一种是ZIP格式压缩包。

可执行安装程序提供可视化安装提示窗口,并且会自动配置环境变量,用户只需按照指引,点击依次完成安装步骤即可; ZIP格式安装包则需要用户先解压安装包,并手动配置环境变量。

_images/copt-install_winpkg.png

图 1 Windows系统两种不同安装包下载链接

我们 推荐大部分用户下载使用可执行安装程序 ,专家级用户可以下载ZIP格式压缩包。

可执行安装程序安装

对于下载可执行安装程序的用户,例如:适用于64位Windows系统的COPT 7.1.1 版本软件 CardinalOptimizer-7.1.1-win64-installer.exe ,双击该安装程序并按照下述说明进行操作:

  • 步骤一: 双击运行安装程序,进入安装语言选择页面。默认语言为 English ,用户可以通过下拉 菜单进行选择,详见 图 2 。本文选择安装语言为“简体中文”。

    _images/copt-winexe_langsel.png

    图 2 安装语言选择页面

  • 步骤二:如果用户同意“用户协议”,请选择“我授受协议”,然后选择“下一步”。如果用户不同意用户协议, 并选择“取消”,则软件将退出安装,详见 图 3

    _images/copt-winexe_eula.png

    图 3 用户协议页面

  • 步骤三:默认设置下,杉数求解器安装路径为: C:\Program Files\copt71,用户可以修改为 任意路径。确认安装路径后,点击“下一步”,详见 图 4

    _images/copt-winexe_instdir.png

    图 4 安装路径选择页面

  • 步骤四:选择开始菜单文件夹,建议使用默认设置并点击“下一步”,详见 图 5

    _images/copt-winexe_startmenu.png

    图 5 选择开始菜单文件夹

  • 步骤五:软件准备安装,点击“安装”,详见 图 6

    _images/copt-winexe_install.png

    图 6 软件准备安装

  • 步骤六:安装过程中将自动配置必要的环境变量。安装完成后,请按照要求重启计算机。重启之前, 请保存正在使用的文档等资料并关闭正在运行的其它应用,然后点击“完成”, 详见 图 7

    _images/copt-winexe_restart.png

    图 7 安装完成并重启计算机

ZIP压缩包安装

对于下载ZIP格式压缩包的用户,请使用任意解压软件将软件解压至任意目录,并按照下述操作设置环境变量。 以软件解压路径为 C:\Program Files\copt71为例进行说明。

  • 步骤一:使用 “管理员权限” 打开Windows命令行,并执行下述命令弹出环境设置面板。

    rundll32 sysdm.cpl,EditEnvironmentVariables
    
  • 步骤二: 修改系统环境变量 PATH ,将路径 C:\Program Files\copt71\bin 添加至 环境变量 PATH 的值中。

  • 步骤三:新建系统环境变量 COPT_HOME ,变量的值为: C:\Program Files\copt71。

  • 步骤四:新建系统环境变量 COPT_LICENSE_DIR ,变量的值为: C:\Program Files\copt71。

至此,环境变量配置已完成。请用户仔细阅读软件安装目录下的 copt-eula_cn.pdf 用户协议文件, 如果用户同意该用户协议,请继续阅读 如何申请与配置许可文件 章节。

MacOS

对于MacOS平台,我们提供了DMG格式的安装程序和GZIP格式的压缩包, 用户二选其一即可 。 我们 推荐大多数用户选择DMG格式的安装程序 ,专家级用户选择GZIP格式压缩包。

此外,针对MacOS系统,我们提供MacOS-Universal的安装包,对于Apple芯片和旧版Intel芯片都是通用的(安装包后缀为 universal_mac )。

_images/copt-install_macpkg.png

图 8 MacOS系统两种不同安装包下载链接

DMG安装程序安装

对于下载DMG格式安装程序的用户,例如:适用于MacOS-Universal的COPT 7.1.1 版本软件 CardinalOptimizer-7.1.1-universal_mac.dmg ,请按照下述步骤进行操作:

  • 步骤一:双击DMG格式安装程序, 操作系统将自动挂载DMG文件。

  • 步骤二:将 copt71 文件夹图标拖动至 'Applications' 文件夹, 如 图 9 所示。

    _images/copt-macdmg_dragfolder.png

    图 9 拖动 copt71 至 'Applications'

上述步骤完成后,需要配置必要的环境变量。请继续参阅:环境变量配置 章节。

GZIP压缩包安装

对于下载GZIP格式压缩包的用户,在终端上输出下述命令解压软件:

tar -xzf CardinalOptimizer-7.1.1-universal_mac.tar.gz

解压完成后在当前目录得到 copt71 文件夹,用户可以将其移动到任意路径。我们推荐用户移动到 '/Applications' 目录下,在终端中输入下述命令:

mv copt71 /Applications/

若无法安装至 "/Applications" 目录,也可以将 copt71 文件夹移动至用户目录, 在终端下输入下述命令:

mv copt71 ~/

注意: 后续设置COPT相关环境变量时COPT的相关路径也需要调整。

上述步骤完成后,需要配置必要的环境变量。请继续参阅:环境变量配置 章节。

配置环境变量

上一步安装完成后,还需要配置环境变量。首先,在终端执行下述命令,确定当前使用的Shell版本:

echo $SHELL

若输出为: '/bin/bash' ,则表示当前使用终端为 bash ;若输出为: '/bin/zsh' , 则表示当前使用终端为 zsh

接着,请打开终端terminal,并确认处于用户目录下,(若不是,则需在终端执行下述命令切换到用户目录):

cd  ~/

请用户根据终端的情况,选择参考对应的环境变量配置指南。

环境变量配置完成后,后续可以验证是否配置成功,参考 验证环境变量

BASH终端

在BASH终端下配置环境变量,主要有三个步骤:

1. 检查 'bash_profile' 文件

输入下述命令,输出用户目录下所有文件,查看是否存在 '.bash_profile' 隐藏文件:

ls -a

若不存在该文件,请执行下述命令,创建空的 '.bash_profile' 文件(若文件已存在,请忽略该步骤):

touch ~/.bash_profile

2. 在 '.bash_profile' 文件中,添加环境变量内容

首先,请在终端执行下述命令,打开 '.bash_profile' 文件。

open ~/.bash_profile

接着,请使用任意文本编辑器编辑现有 '.bash_profile' 文件,并添加如下内容:

_images/copt-mac_installenv_bash.png

注意: 等号两边不能有空格。

3. 检查和修改环境变量生效

保存上述修改并退出,用户可以在终端执行下述命令查看修改后的 '.bash_profile' 文件:

cat ~/.bash_profile

若修改成功,则终端输出的文件内容中应该包括上述新添加的信息。

然后,用户需要在终端执行下述命令,使得上述环境变量修改生效。

source ~/.bash_profile

ZSH终端

在ZSH终端下配置环境变量,同样有如下三个步骤:

1. 检查 'zshrc' 文件

输入下述命令,输出用户目录下所有文件,执行下述命令查看是否存在 '.zshrc' 隐藏文件:

ls -a

若不存在该文件,则在终端上执行下述命令创建空的 '.zshrc' 文件:

touch ~/.zshrc

2. 在 '.zshrc' 文件中,添加环境变量内容

首先,请在终端执行下述命令,打开 '.zshrc' 文件。

open ~/.zshrc

若已存在该文件,则用户可以使用任意文本编辑器编辑现有 '.zshrc' 文件,并添加如下内容:

_images/copt-mac_installenv_zsh.png

注意: 等号两边不能有空格。

3. 检查和修改环境变量生效

保存上述修改并退出,用户可以在终端执行下述命令查看修改后的 '.zshrc' 文件:

cat ~/.zshrc

若修改成功,则终端输出的文件内容中应该包括上述新添加的信息。

然后,用户需要在终端执行下述命令,使得上述环境变量修改生效。

source ~/.zshrc

验证环境变量

对于 bash 终端和 zsh 终端,可以分别输入下述命令检查COPT相关环境变量是否设置成功:

echo $COPT_HOME
echo $COPT_LICENSE_DIR

echo $PATH
echo $DYLD_LIBRARY_PATH

若终端分别输出:

/Applications/copt71
/Applications/copt71
/Applications/copt71/bin:$PATH
/Applications/copt71/lib:$DYLD_LIBRARY_PATH

则表示COPT相关环境变量配置成功。

注意: 不同计算机上环境变量 $PATH$DYLD_LIBRARY_PATH 显示的内容可能不同, 但设置的COPT相关环境变量应正常显示才表示配置成功。

如果用户检查确认已成功添加COPT相关环境变量,请仔细阅读安装目录下的 'copt-eula_cn.pdf' 用户协议文件。 若同意该用户协议,请继续阅读 如何申请与配置许可文件 章节。

MacOS安全性检查

对于使用MacOS 10.15或以上版本系统的用户,可能在后续执行COPT相关程序时报告安全性错误, 如下图所示:

_images/copt-mac-security.png

此时在终端上执行命令:

xattr -dr com.apple.quarantine /Applications/copt71

去掉MacOS系统关于程序的安全性相关的检查,再执行COPT相关程序即可。

Linux

对于Linux平台,我们支持X86和ARM64架构,提供 GZIP 格式的压缩包,不同架构的安装包名称有所区别:

_images/copt-install_lnxpkg.png

例如,用户下载了64位COPT 7.1.1 的Linux-X86版本软件 CardinalOptimizer-7.1.1-lnx64.tar.gz 。 可以在Linux终端上输入下述命令将软件解压到任意路径:

tar -xzf CardinalOptimizer-7.1.1-lnx64.tar.gz

解压后在当前目录下得到 copt71 文件夹,用户可以将它移动到任意路径。我们推荐移动到 "/opt" 目录下,在终端下输入下述命令:

sudo mv copt71 /opt/

注意: 执行该命令需要 “root权限”

若无法安装至 "/opt" 目录,也可以将 copt71 文件夹移动至用户目录, 在终端下输入下述命令:

mv copt71 ~/

注意: 后续设置COPT相关环境变量时COPT的相关路径也需要调整。

上述步骤完成后,需要配置必要的环境变量。

在终端执行下述命令切换到用户目录:

cd  ~/

再执行下述命令查看是否存在 '.bashrc' 隐藏文件:

ls -a

若不存在该文件,则在终端上执行下述命令创建空的 '.bashrc' 文件:

touch ~/.bashrc

若已存在该文件,则用户可以使用任意文本编辑器编辑现有 '.bashrc' 文件,并添加如下内容:

_images/copt-linux_installenv.png

注意: 等号两边不能有空格。

保存上述修改并退出,用户可以在终端执行下述命令查看修改后的 '.bashrc' 文件:

cat ~/.bashrc

若修改成功,则终端输出的文件内容应该包括上述信息。

然后在终端输入下述命令使得上述环境变量修改生效。

source ~/.bashrc

最后分别输入下述命令检查COPT相关环境变量是否设置成功:

echo $COPT_HOME
echo $COPT_LICENSE_DIR

echo $PATH
echo $LD_LIBRARY_PATH

若终端分别输出:

/opt/copt71
/opt/copt71
/opt/copt71/bin:$PATH
/opt/copt71/lib:$LD_LIBRARY_PATH

则表示COPT相关环境变量配置成功。

注意: 不同计算机上环境变量 $PATH$LD_LIBRARY_PATH 显示的内容可能不同, 但设置的COPT相关环境变量应正常显示才表示配置成功。

如果用户检查确认已成功添加COPT相关环境变量,请仔细阅读安装目录下的 'copt-eula_cn.pdf' 用户协议文件。 若同意该用户协议,请继续阅读 如何申请与配置许可文件 章节。

配置许可文件

杉数求解器需要配置相应的许可文件才能正常使用,我们根据不同的用户需求提供了多种授权方式。 如果在使用中遇到任何和授权相关的问题,请及时联系 coptsupport@shanshu.ai

许可文件具体包括:license.datlicense.key 这两个文件。从COPT6.5版本开始,在杉数官网申请获取的个人许可, 我们将这两个文件作为附件直接发送(无需自行操作获取了)。用户可以 直接下载许可文件至本地,跳过下面获取和验证许可的步骤 , 直接执行 安装许可 这一步。

许可文件的配置主要包括如下三个步骤:

获取许可

注册完成后,用户会获得唯一授权凭证 key,该凭证和用户注册信息一一对应。用户可以运行 杉数求解器自带的 copt_licgen 工具,从杉数授权服务器自动获得授权文档(需要网络连接)。

注意:如果用户已经获取到 license.datlicense.key 这两个授权文档,则需重复执行下面步骤再次获取了。

下面是关于如何使用 copt_licgen 工具的简单说明。

对于Windows系统,打开一个新的命令行窗口,此时当前路径为用户目录,路径形如: "C:\Users\shanshu"

对于MacOS和Linux系统,打开一个新的终端,此时当前路径为用户目录,以符号 ~ 表示。

假设用户的key为 '19200817f147gd9f60abc791def047fb' ,请输入如下命令获取 杉数求解器的许可文件。

copt_licgen -key 19200817f147gd9f60abc791def047fb

另一种方式是把凭证保存在文件 key.txt 中,格式为 'KEY=xxx', 输入下述命令以获取许可文件。

copt_licgen -file key.txt

我们推荐 第一种方式 获取许可。

若授权服务器验证和用户注册凭证关联的注册信息通过,则生成 license.datlicense.key 授权文档并下载到用户计算机,默认下载目录为当前工作目录。

copt_licgen -key 19200817f147gd9f60abc791def047fb
  [Info] Cardinal Optimizer   COPT v7.1.1 20240304
  [Info] Use specific key 19200817f147gd9f60abc791def047fb
  [Info] * get new COPT license from licensing server *
  [Info] Write to license.dat
  [Info] Write to license.key
  [Info] Received new license files from server
  [Info] Done !!!

注意: copt_licgen 工具需要联网才能和授权服务器交互。如果在使用中遇到任何问题, 请及时联系 coptsupport@shanshu.ai

验证许可

用户可以通过下述命令验证当前工作目录下的授权文档是否支持当前安装的杉数求解器版本。

copt_licgen -v

如果一切正常,则显示如下日志信息,表明许可文件可以正常使用。

copt_licgen -v
  [Info] Cardinal Optimizer   COPT v7.1.1 20240304
  [Info] Run local validation
  [Info] Read license.dat
  [Info] Read license.key
  [Info] Expiry : Tue 2030-12-31 00:00:00 +0800
  [Info] Local validation result: Succeeded
  [Info] Done !!!

安装许可

当用户获取并验证了授权文档 license.datlicense.key 后,可以采用如下两种方式 安装许可文件,任意选择一种方式即可。我们推荐使用 用户目录方式

用户目录方式(推荐)

该方式要求首先在系统的用户目录下 新建文件夹 copt ,并移动已验证的授权文档 license.datlicense.key 至新建文件夹 copt 中。

注意: 新建文件夹 "copt" 必须为小写。

不同系统下的用户目录名称略有不同,请用户根据自己的操作系统参考对应的许可安装步骤:

Windows系统

对于Windows系统,用户目录形如: "C:\Users\username" , 用户可手动将2个授权文档 license.datlicense.key 移动至目录 "C:\Users\username\copt" 中。

最后,请检查许可文件 license.datlicense.key 是否位于该目录下即可,如下图所示,说明已正确安装许可:

_images/copt-win_license.png

MacOS系统

对于MacOS系统,用户目录形如: "/home/username" , 用户可手动将2个授权文档 license.datlicense.key 移动至目录 "/home/username/copt" 中。

最后,请检查许可文件 license.datlicense.key 是否位于该目录下即可,如下图所示,说明已正确安装许可:

_images/copt-mac_license.png

Linux系统

对于Linux系统,用户目录形如: "/home/username" , 可在终端下执行下述命令将2个授权文档 license.datlicense.key 移动到目录 "/home/username/copt" 中。

mv license.*  ~/copt/

接着,请检查许可文件 license.datlicense.key 是否位于 "/home/username/copt" 目录下,命令为:

ls ~/copt/

若终端输出显示存在 license.datlicense.key 2个文件,则表示已正确安装许可,否则安装失败。

环境变量方式

该方式通过设置环境变量 COPT_LICENSE_DIR 实现,其值为许可文件放置的文件目录, 默认值为杉数求解器的安装目录。

不同系统下环境变量的查看和操作略有不同,请用户对应自己的操作系统参考如下安装步骤:

Windows系统

对于Windows系统, 执行下述命令查看环境变量 COPT_LICENSE_DIR 指向的路径:

echo %COPT_LICENSE_DIR%

注意: 若终端无输出,则表示COPT相关环境变量还未配置好,请用户查看 软件安装 部分配置杉数求解器。

然后将授权文档 license.datlicense.key 移动到 COPT_LICENSE_DIR 指向的路径下。

最后,请用户检查许可文件 license.datlicense.key 是否位于环境变量 COPT_LICENSE_DIR 所指向的路径下即可。假设环境变量 COPT_LICENSE_DIR 指向COPT的默认安装目录, 则如图所示,说明已正确安装许可:

_images/copt-win_license2.png

MacOS系统

对于MacOS系统,可通过下述命令查看环境变量 COPT_LICENSE_DIR 指向的路径:

echo $COPT_LICENSE_DIR

最后,请用户检查许可文件 license.datlicense.key 是否位于环境变量 COPT_LICENSE_DIR 所指向的路径下即可。假设环境变量 COPT_LICENSE_DIR 指向COPT的安装目录, 则如图所示,说明已正确安装许可:

_images/copt-mac_license2.png

Linux系统

对于Linux系统,执行下述命令查看环境变量 COPT_LICENSE_DIR 指向的路径:

echo $COPT_LICENSE_DIR

注意: 若终端无输出,则表示COPT相关环境变量还未配置好,请用户查看 软件安装 部分配置杉数求解器。

然后执行下述命令将授权文档 license.datlicense.key 移动到 COPT_LICENSE_DIR 指向的路径下:

mv license.* $COPT_LICENSE_DIR/

注意: 对于Linux系统, 若环境变量 COPT_LICENSE_DIR 指向的路径为 /opt/copt71, 则需要以 root权限 执行移动操作,命令为:

sudo mv license.* $COPT_LICENSE_DIR/

最后,请用户检查许可文件 license.datlicense.key 是否位于环境变量 COPT_LICENSE_DIR 所指向的路径下,命令为:

ls $COPT_LICENSE_DIR/

若终端显示存在文件 license.datlicense.key ,则表示已正确安装许可,否则安装失败。

注意: 若用户目录的copt文件夹和环境变量指向的目录下均存在许可文件 license.datlicense.key ,将优先检查并使用前者(即copt文件夹中)的许可。

其他

一般来说,任何一种许可都包括两个授权文件: license.datlicense.key 。 它们都有数字签名用来确保文件内容没有改动过。在使用COPT交互命令行工具或者直接 调用杉数求解器编程接口来求解问题模型时, license.key 里的RSA公钥首先会被用来验证 license.dat 里的签名。之后,才是验证具体的保存为键值形式的授权内容。 下面的例子就是具体的授权内容。

## SHANSHU LICENSE FILE ##

USER = Trial User
MAC = 44:05:99:31:41:C2
CPUID = BFEBFBFF000706E5
EXPIRY = 2030-12-31
VERSION = 7.1.1
NOTE = Free For Trial

注意:请确保许可文件中 VERSION 字段的版本号,和机器上所安装的软件是同一个大版本。否则,在求解会产生: Invalid signature in public key file 报错。

验证安装配置完成

用户完成软件安装和许可配置这两个步骤后,可以进入COPT命令行工具,来验证是否安装成功。

在MacOS和Linux系统中,请打开终端terminal(在Windows系统中,请打开cmd命令行窗口),输入 copt_cmd 命令,即可使用COPT命令行工具。

以MacOS为例(Linux和Windows系统也同样),如果用户看到如下所示的窗口界面(无任何报错输出),可以正常进入COPT命令行工具,即说明之前的软件和许可配置已成功完成。

_images/copt-install_valid.png

如果未能正常进入COPT命令行工具,请根据报错信息,参考 常见问题 并检查上述软件安装和许可配置的步骤是否正确完成。

成功完成安装后,请根据需要调用COPT的接口,继续参考 快速入门,查阅各个接口的安装和使用方法。

升级和更新

COPT的升级操作主要分为两部分:1. 软件的升级;2. 许可文件的更新。

1.卸载旧版COPT

首先,如果用户没有多个版本同时运行的需要,可以先卸载旧版本的软件。

不同操作系统下,卸载COPT的方法略有差别:在Windows系统中,请打开旧版本的COPT安装包(名称形如 copt60 ),如下图所示,双击运行 unins000.exe 程序,即可自动完成软件卸载;

在MacOS和Linux系统中,请直接删除旧版本的COPT安装包,即可完成软件卸载。

_images/copt-uninstall.png

2. 安装新版本COPT

如果是大版本的迭代升级(例如:COPT 6.5 -> COPT 7.0),用户需要前往 杉数官网求解器COPT申请页 重新申请获取新版本试用,并下载邮件中的新版本安装包和许可文件。接着,用户需要重新安装新版本的COPT,步骤同样请参考 软件安装

3. 更新许可文件

此外,软件更新完成后,还需要更新许可文件。我们推荐大家通过 用户目录的方式 配置许可文件。用户只需删除copt文件夹下旧版本的许可文件,并将新的许可文件移入其中,即完成许可的更新。

完成上述步骤后,用户可参考 验证安装配置完成,观察COPT命令行工具输出的banner信息中,版本号是否为新版本。

注意

  1. 对于COPT的Python接口,用户同时还需要 升级对应的 coptpy 。如果Python是Anaconda发行版,可以通过 pip install --upgrade coptpy 升级至最新版本。

  2. 以上是针对大版本迭代的升级步骤(例如:COPT 6.5 -> COPT 7.0)。 此外,在每个大版本的基础上,COPT会发布小版本的迭代 (例如:COPT 7.0.1 -> COPT 7.0.2), 也会有一些功能的修复和更新。对于小版本间的升级,无需更新许可文件。