Пример #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 put_get(self, item):
     bound = Node._extract_bound(item)
     if self._sense == minimize:
         priority = -bound
     else:
         priority = bound
     Node._insert_queue_priority(item, priority)
     return self._queue.put_get(item, priority)
Пример #3
0
 def put_get(self, item):
     gap = self._get_gap(item)
     Node._insert_queue_priority(item, gap)
     return super(LocalGapPriorityQueue, self).put_get(item)
Пример #4
0
 def put_get(self, item):
     Node._insert_queue_priority(item, random.random())
     return super(RandomPriorityQueue, self).put_get(item)
Пример #5
0
 def put_get(self, item):
     cnt, item_ = super(FIFOQueue, self).put_get(item)
     Node._insert_queue_priority(item, -cnt)
     return cnt, item_
Пример #6
0
 def put_get(self, item):
     depth = Node._extract_tree_depth(item)
     assert depth >= 0
     Node._insert_queue_priority(item, depth)
     return super(DepthFirstPriorityQueue, self).put_get(item)