1.4 安装教程&模块指南
【安装教程】
Kaiwu SDK目前是一套基于相干光量子计算机求解QUBO(二次无约束二值优化)问题的软件开发套件,旨在帮助开发者在Python环境下直接构建可适用于相干光量子计算机的软件算法,并提供物理接口(目前是提供Ising矩阵)调用量子计算机物理真机。SDK包括多种经典求解器,前/后处理模块等,将数学算法直接映射为量子计算机可识别的输入,使得开发者不用具备专门的量子物理知识,即可在数学建模层进行量子计算算法开发。
目前Kaiwu SDK已更新至1.3.1版本,后文的SDK教程与例子均按照该版本提供。
文档教学
- 安装Python3.10(不区分小版本),暂不支持Python其它版本,Python安装请自行搜索相关教程;
- 创建虚拟环境,激活虚拟环境在命令行输入: python --version,检查python版本是否为3.10。 python 3.10 下载 :https://www.python.org/downloads/release/python-31011/;
- 登录网站 (https://platform.qboson.com/) 获取用户ID和SDK授权码;
- 根据个人电脑操作系统在官网下载对应的SDK,文件命名如:kaiwu-sdk.linux.1.3.1.zip(mac有intel和m两个版本,使用过程中如提醒架构有问题,请尝试不同的版本,如果两个版本均不行请联系官方人员)。
- 解压下载的SDK安装包,解压后会有一个whl文件;
- 安装SDK,使用pip安装时注意whl文件路径和系统版本。
pip3 install kaiwu-1.3.1-cp310-none-win_amd64.whl -i https://pypi.tuna.tsinghua.edu.cn/simpleMac版本的SDK安装指令如下:
pip3 install kaiwu-1.3.1-cp310-none-any.whl -i https://pypi.tuna.tsinghua.edu.cn/simple- 在首次使用CIMOptimizer/SimulatedAnnealingOptimizer时,需要按照控制台引导在控制台输入user_id及sdk_code来生成license。

视频教学
1.3.1版本更新内容
1.支持Sample模式任务提交
SDK现已支持向云平台提交Sample模式任务,允许指定采样次数,适用于时间成本敏感、解质量要求宽松的科研场景。
2.CIMOptimizer参数命名调整
变更前:task_name_prefix 变更后:task_name
兼容性说明: 1.3.1版本完全兼容1.3.0版本通过旧参数名(task_name_prefix)提交的任务,无需手动迁移。
【模块指南】
Kaiwu SDK目前包含以下核心模块:qubo、cim、ising、preprocess、classical、sampler、solver和utils。在典型应用场景中,用户首先利用qubo模块进行问题建模,随后借助solver模块对构建的QUBO模型进行高效求解;solver模块不仅负责管理QUBO模型的系数,还支持调用用户指定的optimizer对最终的Ising模型矩阵进行深度求解。
我们特别将Ising模型矩阵的求解功能定义为optimizer。其中,基于经典计算实现的optimizer,如SA、tabu等经典模拟求解器,均集成在classical模块中;而直接对接真机的optimizer则位于cim模块。此外,其他辅助模块提供了日志记录、降阶处理和降精度处理等实用功能,为用户提供全方位的支持。
典型使用方式

具体使用方法请参考文档:
kaiwu.cim package:提供CIM求解器相关工具,包括求解器接口、降低精度的装饰器和与真机交互的CIMOptimizer优化器等。
kaiwu.classical package:经典求解器(如模拟退火、禁忌搜索、暴力求解器),用于在经典计算机上求解Ising模型问题。
kaiwu.common package:通用工具集合,提供日志管理、checkpoint管理及循环控制器,支持算法调试、结果存储和计算过程监控。
kaiwu.conversion package:提供Ising与QUBO矩阵及模型之间的转换工具,实现不同优化问题的互通。
kaiwu.core package:定义SDK核心基类(如优化器基类)和基础操作(如约束处理、解向量解析、二进制/整数变量定义、QUBO表达式构建)。
kaiwu.hobo package:提供高阶二进制优化模型(HOBO),支持约束添加及将高阶表达式降阶为二阶QUBO模型。
kaiwu.ising package:处理Ising模型相关操作,包括模型定义、矩阵精度调整与校验、自旋变量定义、位宽计算等。
kaiwu.license package:管理SDK授权,包括license生成、验证与检查。
kaiwu.preprocess package:提供Ising矩阵(部分适用QUBO矩阵)的预处理方法,如动态范围计算、上下界估计、参数精度优化、矩阵拆分与解还原等。
kaiwu.qubo package:提供QUBO模型构建、矩阵精度检查、精度调整及约束管理等工具。
kaiwu.sampler package:数据后处理工具,提供数据采样与求解服务,包括模拟退火采样器,可独立求解Ising模型并输出多个解。
kaiwu.solver package:提供基于cim或classical优化器的求解器接口,实现QUBO模型的求解和多解输出。
