def put_get(self, item): objective = Node._extract_objective(item) if self._sense == minimize: priority = -objective else: priority = objective Node._insert_queue_priority(item, priority) return super(BestObjectiveFirstPriorityQueue, self).put_get(item)
def _get_gap(self, item): objective = Node._extract_objective(item) bound = Node._extract_bound(item) if self._sense == minimize: gap = objective - bound else: gap = bound - objective assert not math.isnan(gap) return gap