LoginSign up
文档首页

完整示例

背包(预算内最大化价值)

from isingio import VariableGenerator, Model, BOQAClient, solve, less_equal

gen = VariableGenerator()
x = gen.array("Binary", 4)
values, weights, budget = [6, 10, 12, 8], [1, 2, 3, 2], 5

model = Model(-sum(values[i] * x[i] for i in range(4)))
model += less_equal(sum(weights[i] * x[i] for i in range(4)), budget)
print(solve(model, BOQAClient(token="KEY")).best)

生产计划(整数 + 产能约束)

gen = VariableGenerator()
n = gen.array("Integer", 3, bounds=(0, 4))
profit, manhours, cap = [5, 8, 4], [2, 3, 1], 10

model = Model(-sum(profit[i] * n[i] for i in range(3)))
model += less_equal(sum(manhours[i] * n[i] for i in range(3)), cap)
r = solve(model, BOQAClient(token="KEY", engine="gpu"))
print([r.values[n[i].as_variable()] for i in range(3)])   # 各产品产量