Kaiwu SDK使用指南
Kaiwu SDK是一套基于专用量子计算机求解组合优化问题的软件开发套件,提供从QUBO/Ising建模、矩阵预处理、求解器调用到结果后处理的完整Python接口,可将数学算法直接映射为量子计算机可识别的输入,使得开发者不用具备专门的量子物理知识,即可在数学建模层进行量子计算算法开发。
Kaiwu SDK提供企业版和社区版,后文将详细介绍。企业版在社区版建模能力之上,增加了SPQC真机求解、经典优化器、精度适配、HOBO建模、license鉴权和数据上报等能力,便于用户在本地调试和真实计算资源之间切换。
目前Kaiwu SDK已更新至1.4.0版本,后文的SDK教程与例子均按照该版本提供。
【安装教程】
文档教学
- 安装Python3.10(不区分小版本),暂不支持Python其它版本,Python安装请自行搜索相关教程;
- 创建虚拟环境,激活虚拟环境在命令行输入: python --version,检查python版本是否为3.10,python 3.10下载;
- 登录网站 (https://platform.qboson.com/) 获取用户ID和SDK授权码;
- 根据个人电脑操作系统在官网下载对应的SDK,文件命名如:kaiwu-sdk.linux.1.4.0.zip(mac有intel和m两个版本,使用过程中如提醒架构有问题,请尝试不同的版本,如果两个版本均不行请联系官方人员);
- 解压下载的SDK安装包,解压后会有一个whl文件;
- 安装SDK,使用pip安装时注意whl文件路径和系统版本。
pip3 install kaiwu-1.4.0-cp310-none-win_amd64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple- 在首次使用CIMOptimizer/SimulatedAnnealingOptimizer时,需要按照控制台引导在控制台输入user_id及sdk_code来生成license。

视频教学
1.4.0版本更新公告
kaiwu改为命名空间包,删除仓库内core/common基础实现,改为依赖开源的kaiwu-community;- 修改
Optimizer和Solver基类,改为QuboSolver和IsingSolver, 并删除SimpleSolver类; - CIM optimizer任务模式更新为
OPTIMIZATION、SAMPLING,并完善采样参数、任务缓存、OSS上传和授权处理逻辑; - 优化器进一步对齐QUBO求解接口,示例和测试改为直接调用optimizer的
solve_qubo; - 更新
BinaryModel的add_constraint接口,支持添加等式/不等式和直接添加惩罚项,并同步更新HoboReducer; - 转化函数
ising_matrix_to_qubo_matrix和qubo_matrix_to_ising_matrix添加decimal参数,加速允许浮点误差的转化; - 将
kaiwu.solver改为kaiwu.hybrid,将罚函数求解能力迁移为PenaltyMethodOptimizer; - 新增计算模式文档,同步更新TSP、五岳选址、精度规约、API模块文档,文档构建引入KaTeX数学扩展渲染公式样式。
【模块指南】
Kaiwu SDK目前包含以下核心模块:cim、classical、common、core、hobo、hybird、license、preprocess、sampler。在典型应用中,用户先通过core或hobo进行问题建模,将模型转换为QUBO或Ising矩阵;随后使用preprocess对矩阵进行精度、位宽或范围适配;最后根据场景选择classical本地优化器、cim真机优化器,或通过hybrid的惩罚项方法统一处理带约束问题。common和license则贯穿整个流程,分别提供工程支撑和企业版授权能力。
典型使用方式

具体使用方法请参考文档:
kaiwu.cim package:SPQC求解模块,提供
CIMOptimizer和TaskMode,用于提交Ising/QUBO矩阵到SPQC相关计算后端并获取结果。kaiwu.classical package:经典优化器模块,提供模拟退火、禁忌搜索和暴力搜索等本地optimizer,适合调试、基准测试和小规模问题求解。
kaiwu.common package:通用工具模块,提供日志配置、checkpoint、循环控制器、解池、哈密顿量计算和矩阵检查等公共能力;该模块由
kaiwu-community依赖提供。kaiwu.core package:基础建模与转换模块,提供
Binary、Spin、QuboModel、IsingModel、表达式求值、约束惩罚项、QUBO/Ising矩阵互转等能力;该模块由kaiwu-community依赖提供。kaiwu.hobo package:高阶二值优化(HOBO)建模模块,提供
HoboModel,用于构造并降阶处理含高阶项的二值优化问题。kaiwu.hybrid package:混合求解模块,提供
PenaltyMethodOptimizer,用于将带约束的QUBO模型与cim或classical中的optimizer组合求解。kaiwu.license package:企业版授权模块,提供license初始化、校验、运行前检查和使用数据上报能力。
kaiwu.preprocess package:矩阵预处理模块,提供QUBO/Ising矩阵位宽评估、精度调整、动态范围指标、上下界估计以及精度适配拆分/变异等工具。
kaiwu.sampler package:采样与后处理模块,提供
SimulatedAnnealingSampler等工具,用于产生或处理候选解。
