跳到主要内容
版本:v0.7.0 beta

安装方法

License​

OPTIMake的license根据优化问题类型与部署平台进行区分:

优化问题类型描述
s支持LP, QP类型问题求解
l支持LP, QP, QCQP, SOCP, NLP, NLSOCP类型问题求解
部署平台描述
hostHost环境 (Windows/Linux), 求解器可在x86/x86_64平台运行, 运行平台为host (代码生成平台), 求解器有效期限与license期限一致, 通过二进制库集成
test测试环境, 求解器可在x86/x86_64/ARMv8/ARMv7等多种平台运行, 求解器有效期限与license期限一致, 通过二进制库集成
production生产环境, 求解器可在x86/x86_64/ARMv8/ARMv7等多种平台运行, 求解器无效期限制, 通过二进制库集成
production+生产环境+, 求解器可在x86/x86_64/ARMv8/ARMv7等多种平台运行, 通过源代码集成

例: 如果问题类型为NLP且需要在ARM环境进行测试, 那么对应的license为l-test.

注意

当license类型为host或test时, 求解器二进制库具有有效期限限制, 超过该期限后求解器将无法使用. 请在获取license时确认其类型与有效期限是否符合需求.

客户端安装​

OPTIMake客户端支持Windows x86_64和Linux glibc x86_64上的标准CPython 3.10–3.14, 不支持ARM64、32位Python、PyPy或free-threaded构建. 请先准备好目标Python/Conda环境, 并确认该环境已安装pip.

OPTIMake客户端的安装分为以下步骤:

  1. 在使用求解器的环境 (电脑与操作系统) 运行Python脚本 user_info.py (点击下载) 获取用户信息 (计算机名、mac地址、machine id等信息), 用于绑定license. 该脚本依赖netifaces库, 可通过以下命令安装:

    python -m pip install netifaces-plus
  2. 联系OPTIMake (optimake@rtopt.com) 获取license, 需要提供步骤1中的用户信息.

  3. 通过下载链接 (点击跳转)下载客户端ZIP包. 在下载页面中, 需要输入mac地址、machine id或UUID.

  4. 完整解压ZIP包, 激活需要使用的Python/Conda环境, 并在解压后的目录中打开终端, 运行:

    python install.py

    默认使用basic模式, 安装OPTIMake及其必需依赖. 需要使用插值表、CasADi或绘图功能时, 使用full模式, 额外安装SciPy、CasADi和Matplotlib:

    python install.py --mode full

    安装脚本会自动选择与当前Python版本和操作系统匹配的wheel, 并安装到运行该脚本的Python解释器所在环境.

    更新或覆盖同版本客户端时, 重新运行安装脚本即可; 已安装basic模式后, 也可再运行full模式补充依赖.

安装完成后, 脚本会检查本地导入、客户端版本和运行时, 并打印入门示例的运行命令. 示例代码位于examples/中, 运行和编译步骤请参阅各示例的readme.md. 编译示例所需的CMake和C/C++编译器需另行安装.

在用户自定义的模型文件中, 导入OPTIMake库即可开始使用; 如果license通过UUID获取, 需在代码生成前设置option.license_uuid:

my_model.py
from optimake import *

prob = multi_stage_problem('my_model', 10)
...

option = codegen_option()
# 当license是通过UUID获取时, 需要在代码生成前通过option设置license_uuid
option.license_uuid = ...
...