【问题标题】:How to define parameters in python and send them to CPLEX mod file?如何在 python 中定义参数并将它们发送到 CPLEX mod 文件?
【发布时间】:2020-09-04 11:50:45
【问题描述】:

我想从 Python 运行 MOD 文件,该文件以前是用 CPLEX 和 OPL 编写的。一些链接中讨论了这方面的信息,例如,有关 zootupleset.mod 和 doopl 包的说明可在以下链接中找到:

How to run a .mod file (CPLEX) using python?

https://pypi.org/project/doopl/

https://optmsr.com/very-simple-opl-call-opl-from-python/

但我想问的是,是否可以在 python 中定义参数并将它们发送到 CPLEX 而不是数据文件中?对此有什么不能做的? 在这种情况下,mod和Python文件中应该如何定义参数呢? 是否需要在mod文件中定义一个首字母然后从Python中接收?

【问题讨论】:

    标签: python cplex


    【解决方案1】:

    3种设置Cplex参数的方法让优化变得简单

    https://github.com/AlexFleischerParis/zooopl/blob/master/zoosetting1.mod

    如果您的参数在 python 中,并且您想通过 doopl 将它们发送到 opl,我建议发送一个带有 python 中参数的元组集,然后在 opl 脚本部分您使用该元组集通过脚本设置 Cplex 设置

    【讨论】:

    • 非常感谢您的回复。我想再问一个问题;在下一个示例中:stackoverflow.com/questions/60598747/…tuple bus { key int nbSeats; float cost; } 这部分在 Cplex 中定义。 Python中对应的部分是不是:Buses = [ (40,500), (30,400) ] 是吗?这是为总线元组发送的吗?如:opl.set_input("buses", Buses)?
    • Yes 和许多其他 opl Cplex 简单示例在linkedin.com/pulse/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多