【发布时间】:2012-12-07 00:04:45
【问题描述】:
首先我正在使用线性编程包 PuLP
好的,我正在使用
通过 shell 收集用户输入x = raw_input('-->')
现在用户将输入的信息是线性不等式形式(例如 2*a + 3*b
我现在无法通过以下方式获取输入并将其作为约束存储在 LP 中:
prob += x
如果您对 python 文件中的信息进行硬编码,您只需添加:
prob += 2*a +3*b <= 4
对于这个例子
我得到的错误信息是:
TypeError:+= 不支持的操作数类型:'int' 和 'str'
有什么想法吗?
【问题讨论】:
-
看看这个answer 有点类似的问题——那里使用的技术可以应用于您的问题。
-
我解决这个问题的方法是:
j="a" for i in constraints: i = i + " , \"" + j + "\"" print i k = eval(i) prob += k j += "a"prob 接受一个 python 表达式和一个唯一字符串的元组。