Tengo una lista de products
, que consiste en la lista de shops
, que lo vendió.Algoritmo de minimización del carrito de la compra
{
'Book A': [ShopA, ShopB, ShopC],
'Book B': [ShopC, ShopD],
'Movie C': [ShopA, ShopB, ShopD, ShopE],
...
}
(precio difiere entre las tiendas)
Cada tienda es también tiene un coste de envío. Es un costo de envío "por pedido", no importa cuántos artículos hay en mi carrito. Y también difiere entre las tiendas.
Ej: si compro "libro A" de Shópa, "Libro B" de ShopC y "Cine C" de Shópa, el precio resultante es: Book A price in ShopA
+ Book B price in ShopC
+ Movie C price in ShopA
+ ShopC shipping cost
+ ShopA shipping cost
Si el costo de envío era cero o era por artículo y constante, entonces simplemente ordenaría las listas de ofertas por el campo price+shipping
y obtendría el primer resultado de cada conjunto.
Necesito comprar todos los artículosvez y encontrar el precio mínimo y el conjunto resultante.
No soy muy bueno con los algoritmos de optimización y la programación dinámica, así que necesito una solución o simplemente un guiño en la dirección correcta.
Puede dar algunas estimaciones de la cantidad de tiendas y productos que deberá procesar. Actualmente, he encontrado un algoritmo que funciona bien solo para una cantidad muy pequeña de productos, y tengo la sensación de que este no es el caso ... –
5-10 artículos, 30-50 tiendas – dmzkrsk
Por el amor de Dios, implemente esta. Esto es lo que más odio de los sitios como Amazon: no solo no conozco los costos de envío por adelantado, sino que realmente no sé si se enviarán a una determinada dirección ** en absoluto ** hasta que llegue el momento de pagar. – Groo