Skip to content

【代码贡献】完善 QUBO 二进制多项式规范化与高阶项校验 - #69

Open
tokenjunkielabs wants to merge 4 commits into
OriginQ:developfrom
woahwhattheheck:zz-latticekite/origin-cup-qubo-binary-normalization-20260920
Open

tokenjunkielabs wants to merge 4 commits into
OriginQ:developfrom
woahwhattheheck:zz-latticekite/origin-cup-qubo-binary-normalization-20260920

Conversation

@tokenjunkielabs

@tokenjunkielabs tokenjunkielabs commented Sep 20, 2026

Copy link
Copy Markdown

关联 #13(2026 本源杯开源创新赛道|代码贡献)。

问题

QuadraticBinary 当前把 SymPy 单项式直接按原始指数模式分类。对于二进制变量,x^k = x(k>0)应先做规范化;现有逻辑会把例如 x0**3 误落到常数分支,并可能把包含三个不同变量的高阶项静默截断成二次项,从而改变待优化目标而不报错。

修复

  • 先按二进制恒等式将每个单项式规范化为“变量支持集合”;
  • 单变量支持累加到线性系数;
  • 双变量支持累加到二次系数,因此 x0**2*x1x0*x1**3 会合并为同一个规范 QUBO 项;
  • 规范化后若仍包含超过两个不同变量,则明确拒绝,而不是静默丢变量;
  • 保持现有矩阵约定、QuadraticBinary API、QAOA/GAS 调用面不变。

回归覆盖

新增聚焦回归覆盖高次幂规范化、等价二次项系数累加和非 QUBO 三变量单项式拒绝。

Exact owner head: ee25410c6600f20f60c18e501b0c581fd9046536.
本提交未运行测试,因此不声明本地或托管测试绿色;回归代码随修复一起提交供项目 CI/维护者执行。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants