def cost(order_num):
min_coste = math.inf
ware_optima = 0
inst = self.instance
(cx,cy,cprods) = inst.orders[order_num]
# Para cada warehouse
for wn in range(len(warehouses)):
(wx,wy,wprods) = warehouses[wn]
# Comprueba que aquí esté todo
for cosa in cprods:
if cosa not in wprods:
continue
# Calcula el coste
coste = dist((self.x,self.y), (wx,wy)) + dist((wx,wy), (cx,cy)) + 2 #+1 por el load y el delivery
if (coste < min_coste):
ware_optima = wn
min_coste = coste
return (coste, wn)
评论列表
文章目录