LoginSign up
文档首页

约束

约束函数用途
等式equal_to(expr, v)expr == v(如“正好选 K 个”)
唯一选择one_hot(array)数组中正好一个为 1
不等式 ≤less_equal(expr, v)预算 / 容量上限(背包、装箱)
不等式 ≥greater_equal(expr, v)“至少 N 个”(排班最低人数)
from isingio import equal_to, one_hot, less_equal, greater_equal

model += equal_to(q.sum(), 3)                      # 正好 3 个
model += one_hot(m[0, :])                           # 这一行正好选一个
model += less_equal(sum(w[i]*q[i] for i in range(5)), 100)   # 总重 ≤ 100
model += greater_equal(q.sum(), 1)                  # 至少 1 个
不等式自动引入隐藏松弛变量、整数自动二进制编码,对你完全透明。