2015-04-08 14 views
1

所以在我的代码中,我正在为不同类型的变量写一个线性程序。有6个。第一个是产品的“x”变量,其余5个是盒子的“w”变量(五个不同大小的盒子)。我需要所有这些是整数,但是,在我的输出中,我得到的x变量是整数,但箱大小都是非整数。我已经尝试了100种不同的东西,我无法弄清楚这一点。PuLP没有保持Integer类别

对于IND在varset:

maxID = skunulldict[ind] 
    sky = maxquant[maxID] 
    globals()[ind] = pulp.LpVariable(ind, 0, sky, cat='Integer') 
for indd in contset20: 
    vn = contvendor[indd] 
    capC = vv20[vn] 
    globals()[indd] = pulp.LpVariable(indd, 0, capC, cat='Integer') 
for indds in contset40: 
    vns = contvendor[indds] 
    capC = vv40[vns] 
    globals()[indds] = pulp.LpVariable(indds, 0, capC, cat='Integer') 
for indd in contset2b: 
    vn = contvendor[indd] 
    capC = vv2b[vn] 
    globals()[indd] = pulp.LpVariable(indd, 0, capC, cat='Integer') 
for indd in contset4b: 
    vn = contvendor[indd] 
    capC = vv4b[vn] 
    globals()[indd] = pulp.LpVariable(indd, 0, capC, cat='Integer') 
for indd in contsetcs: 
    vn = contvendor[indd] 
    capC = vvcs[vn] 
    globals()[indd] = pulp.LpVariable(indd, 0, capC, cat='Integer') 

回答

0

变量的定义提供好像是OK。 您可以尝试将变量的类别输出到控制台,以验证其来源不同部分的整数类别。

for x in modell.variables(): 
    print "Name:  ", x.name 
    print "Category: ", x.cat 

您的问题很可能位于您的代码的另一部分。对于更高级的答案,需要一个工作示例或代码的其他部分。