【问题标题】:How to define "executable" solver path with pyomo multistart如何使用 pyomo multistart 定义“可执行”求解器路径
【发布时间】:2020-08-27 23:41:10
【问题描述】:

我有一个非线性最小化问题,显然是非凸性的。我将 Pyomo 框架用于能源系统运行优化模型,其中需要在连续几个小时内评估一次配置的优化模型(我在开始时创建优化问题,为特定系统定义变量、约束和目标函数,然后我尝试为“模拟”时间框架(例如,给定年份的每个小时)解决这个创建的设置,仅更改能源需求参数,...最小化运营成本)。我注意到在一些随机的时间里找不到最佳值。在大多数这些失败的情况下,我会得到“达到最大迭代次数”,有时会得到“恢复失败”的结果。
为了克服这个问题,我想使用 Pyomo “multistart” 方法 (pyo.Solverfactory('multistart').solve(model)),它默认使用 IPOPT 求解器。我以前也一直在使用它,但后来我有了语法: pyo.Solverfactory('ipopt', executable=...ipopt.exe) 在这种使用 multistart 的新案例中,虽然我无法为 IPOPT 求解器定义可执行文件。您能帮我解决这个问题吗?(...或建议替代 multistart 以克服非凸最小化的起点问题)
到目前为止,我已经尝试过:
pyo.Solverfactory('multistart', executable=...ipopt.exe).solve(model)
pyo.Solverfactory('multistart').solve(model, solver='ipopt', executable=...ipopt.exe)
非常感谢!

【问题讨论】:

    标签: python pyomo nonlinear-optimization ipopt non-convex


    【解决方案1】:

    应该有一个参数可以将关键字参数字典传递给求解器。见solver_args (https://pyomo.readthedocs.io/en/latest/contributed_packages/multistart.html#using-multistart-solver)

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    猜你喜欢
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    • 2018-09-07
    • 2021-09-23
    相关资源
    最近更新 更多