1    def fastBound(instance,oitems,solution,weight,index):
   2      result=0.0
   3      remaining=instance.maxWeight-weight # remaining weight in the sack
   4      if (index==len(oitems)): return 0 # we cannot add any other items
   5      while (remaining>0):
   6        delete=min(remaining,oitems[index].weight)
   7        remaining=remaining-delete
   8        result=result+delete*(oitems[index].pw)
   9        index=index+1
  10        if (index==len(solution)): break
  11      #print result," - ", floor(result)
  12      return result