如何在 pyomo 框架中使用 Gurobi 解决非线性优化问题?

问题描述 投票:0回答:1

我正在尝试在 pyomo 框架中使用 Gurobi 解决非线性(特别是指数)约束问题。求解器给出错误“模型约束不能写成 LP 形式”。同样的问题在 gurobipy 框架中得到了解决。

我使用了 pyomo core (pc) 中的内置函数来定义约束。 (参考下面的代码块)

model.con3=pe.Constraint(rule= model.expx == pc.exp(model.x) - 25)

求解器给我一个错误:“ValueError:模型约束包含无法写入 LP 格式的非线性项” 我为求解器选择了以下选项:

解算器=“gurobi” solver_config = {“消息”:1, “保持文件”:0, “选项”:{“FuncNonlinear”:1,“NonConvex”:2}}

我使用 gurobipy 实现了相同的代码并设置参数 m.params.FuncNonlinear = 1;代码运行良好,问题已解决。有没有办法在pyomo框架中解决Gurobi中的非线性优化问题?

谢谢!

pyomo gurobi nonlinear-optimization non-convex
1个回答
0
投票

在 Pyomo 中使用 Gurobi 进行非线性优化

opt = SolverFactory('gurobi')

opt.options['非凸'] = 2

© www.soinside.com 2019 - 2024. All rights reserved.