Skip to content

求和方法 #7

@zhaosu99

Description

@zhaosu99

您好!我对于求和的部分还有些疑问,如果您能不吝赐教,我将非常感激。

第一个问题关于求和方式。我从您的文档中学到了两种求和的方法,第一种是用ExprBuilder,比如

expr = poi.ExprBuilder()
for y in range(100):
expr += block.μ[y]

这里block是一个SimpleNamespace

第二种是用poi.quicksum。从您的例子中看主要是用在tupledict中。

我的问题是,如果我想求若干变量之和,用哪种方法比较好?

比如 x = [model.add_variable(lb=0) for _ in range(10)],然后我想限制这些x的和小于等于10。那我应该写:

expr = poi.ExprBuilder()
for i in range(10):
expr += x[i]
model.add_linear_constraint(expr, poi.Eq, 10)

还是:

model.add_linear_constraint(poi.quick_sum(x), poi.Eq, 10)

第二个问题是quicksum与quicksum_,这两个很相似函数的适用类型分别是什么?他们有什么区别?

谢谢!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions