如何使用CPLEX Python API(CPLEX 12.5,Python 2.7.15)获得最佳性差距(相对和绝对)?是否有get_optimal_gap()
这样的函数可以给出最优性差距?或者解析输出(如前所述here)唯一的方法?我看到有solution.get_objective_value()
之类的自定义函数 - 如果有人可以建议具有可以在cplex对象/文件上应用的所有函数列表的在线资源,那将是很好的。目前我正在使用以下代码(礼貌:this IBM文档):
import cplex
import sys
def sample1(filename):
c = cplex.Cplex(filename)
try:
c.solve()
except CplexSolverError:
print "Exception raised during solve"
return
# solution.get_status() returns an integer code
status = c.solution.get_status()
print "Solution status = " , status, ":",
print c.solution.status[status]
print "Objective value = " , c.solution.get_objective_value()
sample1(filename)
答案 0 :(得分:1)
CPLEX Python API的文档是here(目前版本12.8)。
要获得相对mip间隙,您可以使用c.solution.MIP.get_mip_relative_gap()。要计算绝对mip间隙,您需要c.solution.MIP.get_best_objective()。
如果您还没有,那么您还需要查看CPX_PARAM_EPGAP和CPX_PARAM_EPAGAP参数。