过滤内容,
版本
文本搜索
$ {sidebar_list_label}- - - - - -回来
根据语言过滤
Presolve
Gurobi presolve算法设计模型更少,更容易解决。然而,在某些情况下,presolve有助于数值问题。下面的Python代码可以帮助您确定这是发生。首先,读取模型文件和打印汇总统计数据presolved模型:
m =阅读(gurobi.rew) p = m.presolve () p.printStats ()如果数值范围看起来比原来的模型,尝试参数总= 0:
m.Params m.reset ()。总= 0 p = m.presolve () p.printStats ()如果由此产生的数值模型仍然是有问题的,你可能需要禁用presolve完全使用参数Presolve = 0;尝试使用上面的步骤
m.Params m.reset ()。Presolve= 0 p = m.presolve() p.printStats()
如果统计更好看总= 0或Presolve = 0,你应该进一步测试这些参数。对于连续(LP)模型,可以直接进行测试。MIP,你应该比较LP放松和没有这些参数。下面的Python命令创建三个LP放松方式:该模型没有presolve,与presolve模型,该模型总= 0:
m =阅读(gurobi.rew) r = m.relax () r.write (gurobi.relax-nopre.rew) p = m.presolve () r = p.relax () r.write (gurobi.relax-pre.rew) m.reset m.Params ()。总= 0 p = m.presolve () r = p.relax () r.write (“gurobi.relax-agg0.rew”)这三个文件,使用前面提到的技术来确定Presolve = 0或总= 0提高了数值的LP放松。
最后,如果总= 0有助于数字但太慢使得模型,试一试AggFill = 0代替。