2015-04-17 4 views
0

Я пытаюсь решить линейное целое с программированием и столкнулся с проблемой, называемой TypeError: float argument required, not str.ТипError: требуется аргумент float, а не str

Это мой текущий код:

from pulp import * 
y = pulp.LpVariable.dicts('y', (M, C, W), None, pulp.LpInteger) 
prob += pulp.lpSum(cost[m][c][w]*y[m][c][w] for m in M for c in C for w in W) 
for i in M: 
for j in C: 
prob += pulp.lpSum(y[i][j][k] for k in W)==x[j][i] 
prob.writeLP('Resource_Dispatch.lp') 
+0

Пожалуйста, добавьте более подробную информацию об исключении из вашего вопроса. – Mehraban

+0

вы должны исправить свой отступ, прежде чем кто-нибудь сможет помочь. Кроме того, это много вложенных списков –

ответ

0

От:

y = pulp.LpVariable.dicts('y', (M, C, W), None, pulp.LpInteger) 

To:

y = pulp.LpVariable.dicts('y', (M, C, W), None, None, pulp.LpInteger) 

Что случилось с первой линии является то, что LowerBound является None пока UpperBound является pulp.LpInteger

Смежные вопросы