Пример #1
0
 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)
Пример #2
0
 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