Python 纸浆:lpDot()做什么,如何使用

Python 纸浆:lpDot()做什么,如何使用,python,linear-programming,pulp,Python,Linear Programming,Pulp,我试图通过lpDot()生成一个方程,例如 PulpVar = [x1,x2] Constants = [5,6] 然后将dot产品作为: model += lpDot(PulpVar, Constants) 从我的理解来看,这应该生成一个方程,如x1*5+x2*6 但是我得到的是lpAffineExpression作为输出,这样生成的lp文件是空的 lpDot()–给定两个形式为[a1,a2,…,an]和[x1,x2,…]的列表…, xn]将构造一个用作约束或 变数 因此,如果与常量一起

我试图通过
lpDot()
生成一个方程,例如

PulpVar = [x1,x2]

Constants = [5,6]
然后将dot产品作为:

model += lpDot(PulpVar, Constants)
从我的理解来看,这应该生成一个方程,如
x1*5+x2*6

但是我得到的是
lpAffineExpression
作为输出,这样生成的lp文件是空的

lpDot()–给定两个形式为[a1,a2,…,an]和[x1,x2,…]的列表…, xn]将构造一个用作约束或 变数

因此,如果与常量一起使用,lpDot()将返回点积,即

输出:

17 <class 'pulp.pulp.LpAffineExpression'>
5*x1 + 6*x2 <class 'pulp.pulp.LpAffineExpression'>
输出:

17 <class 'pulp.pulp.LpAffineExpression'>
5*x1 + 6*x2 <class 'pulp.pulp.LpAffineExpression'>
5*x1+6*x2

因此,如何从多维字典生成lp变量列表,是生成lp变量列表的函数。这个作为列表所需的东西支持切片,这在矩阵乘法中非常有用,从而避免了for循环。我不想通过循环dic varls来创建列表