如何解决Gurobi/Python:设置为列表的元素
我有一个优化问题,我试图在 gurobi/python 的帮助下解决。
某些约束必须根据其他指标在不同的集合上进行总结,例如:
for i in range(nJobs):
for j in range(n[i]):
model.addConstr(quicksum(y[i][j][k][l] for k in range(nJobs) for l in range(nJobs)))
在上述约束中,M[i][j] 和 W[i][j] 依赖于索引 i 和 j。
这些集合是从 Excel 导入的:
M = [[0]* n[i] for i in range(nJobs)]
iter_i = 0
for i in range(nJobs):
if i != 0:
iter_i = iter_i+n[i-1]
for j in range(n[i]):
M[i][j] = DataSheet.cell(5 + j + iter_i,5).value
包含 M[i][j] 值的 Excel 表格如下所示:
因此某些单元格可能包含多个以逗号分隔的数字。
显然,不能对 M[i][j] 的某些条目总结约束,因为这些条目被视为字符串。有什么方法可以转换 M[i][j] 中的条目,以便将它们用于约束中的求和?
解决方法
您应该在构建模型之前执行一些数据清理。可以使用 str
或 int
将 Excel 表中的值从 float
转换为 int(value)
或 float(value)
。表格中的单个单元格不应包含多个值 - 这是不好的做法,很容易被误解。
很难理解你的问题。请尝试遵循 how to ask good questions 的 Stackoverflow 指南。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。