相关文章推荐
纯真的围巾  ·  python ...·  1 年前    · 
爱笑的蜡烛  ·  Python Qt ...·  2 年前    · 

pyomo 调用gurobi 二次模型求解参数设置

用pyomo建模语言描述的优化模型为二次(约束条件或者目标函数为二次的),调用gurobi没有做参数设置,求解时报错如下:

GurobiError : Objective Q not PSD (diagonal adjustment of 4.0e+00 would be required). Set NonConvex parameter to 2 to solve model.

把NonConvex 这个参数设置为2即可解决 [1] :

Set NonConvex parameter to 2 to solve model.

pyomo语言调用gurobi求解的设置参数为 [1] :

opt.options['NonConvex'] = 2

直接用gurobipy直接读取lp,此lp为包含二次约束或者目标函数为二次,参数设置为:

M.Params.NonConvex = 2

参考

  1. ^ a b https://support.gurobi.com/hc/en-us/community/posts/360074274611-Set-params-NonConvex-2-with-Pyomo
编辑于 2022-06-13 11:22

文章被以下专栏收录