class TimeLimitCallback(MIPInfoCallback):
def __call__(self):
if not self.aborted and self.has_incumbent():
gap = 100.0 * self.get_MIP_relative_gap()
timeused = self.get_time() - self.starttime
if timeused > self.timelimit and gap < self.acceptablegap:
print("Good enough solution at", timeused, "sec., gap =",
gap, "%, quitting.")
self.aborted = True
self.abort()
必须使用回调来强制执行这两个条件。CPLEX附带的
mipex4.py
示例正是如何做到这一点的。在以下是示例中的回调:
以及其他相关部分:
^{pr2}$相关问题 更多 >
编程相关推荐