Skip to content

求和方法 #7

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_,这两个很相似函数的适用类型分别是什么?他们有什么区别?

谢谢!

Activity

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

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