我们可以在CPLEX中使用手动间隙。
IRP=Model(solver=CplexSolver(CPX_PARAM_EPGAP=0.00000001))
但是如果我们想达到0.02%的差距。这是正确的吗?
IRP=Model(solver=CplexSolver(CPX_PARAM_EPGAP=0.02))
这是正确的吗?
IRP=Model(solver=CplexSolver(CPX_PARAM_EPGAP=0.0002))
请问我哪一个是正确的?非常感谢。
答案 0 :(得分:1)
根据IBM Knowledgecenter for CPLEX上的描述,对于0.02%,您需要输入0.0002=0.02*0.01
。因此,第二个是正确的。
IRP=Model(solver=CplexSolver(CPX_PARAM_EPGAP=0.0002))
当值
|bestbound-bestinteger|/(1e-10+|bestinteger|)
低于此参数的值,即混合整数 优化已停止。
例如,指示CPLEX在发现以下情况后立即停止: 可行的整数解证明在最优的 5%之内, 将相对MIP间隙公差设置为 0.05 。