如何使用pyomo multistart定义“可执行”解算器路径

2024-05-01 21:30:52 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: 模型框架model定义系统情况exepyomo