【问题标题】:CPLEX gap setting with PULP使用 PULP 设置 CPLEX 间隙
【发布时间】:2017-09-17 17:11:47
【问题描述】:

在从 PULP (python) 调用 CMD_CPLEX() 时,有人知道如何为 CPLEX 求解器设置 epgap 参数吗?

我已经尝试过从文件夹中的选项文件到大量不同的语法尝试,例如:

prob.solve(CPLEX_CMD(options = ['epgap = 0.25']))

任何提示将不胜感激!

【问题讨论】:

    标签: python mathematical-optimization linear-programming cplex pulp


    【解决方案1】:

    您可能知道,CPLEX_CMD 求解器是CPLEX interactive 的包装器。要设置参数,您需要使用在交互中使用的相同语法。因此,要设置 relative MIP gap tolerance 参数,您需要使用以下语法:

    prob.solve(CPLEX_CMD(options=['set mip tolerances mipgap 0.25']))
    

    【讨论】:

    • 成功了!非常感谢。你是怎么知道的?文档很少 - 我在网上搜索了数周。是否有一个包含更多命令和参数语法的知识库?
    • 我必须查看source code 并进行一些实验。正如你所说,文档很少。
    • rkersh,我想像你一样搜索源代码,寻找 WorkMem link。看起来 PULP 不支持设置该参数,如果我这样做是正确的 - 你能确认一下吗?我浏览了纸浆/src/pulp/solvers.py
    • 源代码告诉我们,您可以在options列表中输入任何参数。正如我所说,您只需使用 CPLEX 交互中支持的语法。因此,对于WorkMem,您需要将'set workmem 2048' 添加到选项列表中(其中2048 是兆字节数)。
    • 感谢 rkersh!我现在了解并将继续使用此方法。亲切的问候,再次感谢朋友。
    猜你喜欢
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    • 1970-01-01
    • 2018-03-04
    • 1970-01-01
    • 2022-12-12
    • 2012-01-30
    • 1970-01-01
    相关资源
    最近更新 更多