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