微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Gurobi/Python:设置为列表的元素

如何解决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 表格如下所示:

enter image description here

因此某些单元格可能包含多个以逗号分隔的数字。

显然,不能对 M[i][j] 的某些条目总结约束,因为这些条目被视为字符串。有什么方法可以转换 M[i][j] 中的条目,以便将它们用于约束中的求和?

解决方法

您应该在构建模型之前执行一些数据清理。可以使用 strint 将 Excel 表中的值从 float 转换为 int(value)float(value)。表格中的单个单元格不应包含多个值 - 这是不好的做法,很容易被误解。

很难理解你的问题。请尝试遵循 how to ask good questions 的 Stackoverflow 指南。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。