Tengo una tienda, que contiene productos (denotados por mayúsculas latinas) y componentes (denotados por minúsculas griegas). Un producto está formado por un conjunto de componentes (pero no más de uno de cada componente distinto). Por ejemplo:
A = {, }, B = {}, C = {, , }
Una tienda contiene tanto productos como componentes:
\= {(10, A), (5, B), (20, )}
(Es decir, 10 elementos de A, 5 elementos de B y 20 elementos de ).
Se puede transformar el almacén desmontando un producto, por ejemplo desmontando 2 elementos de C, {(10, C)} se transforma en {(8, C), (2, ), (2, ), (2, )}.
Se puede transformar el almacén ensamblando un producto, por ejemplo ensamblando 1 artículo de B, {(10, ), (10, )} se transforma en {(1, B), (9, ), (10, )}.
Dado un almacén arbitrario, y una cantidad n de un producto requerido X, ¿cómo puedo determinar la(s) secuencia(s) óptima(s) de transformaciones necesarias, para obtener un almacén que contenga (n, X)? Una secuencia es óptima si y sólo si no existe otra secuencia que conste de menos transformaciones.
No soy bueno con la sintaxis matemática, por favor vea mi puesto sobre el mismo tema en SO.
EDIT
Estimado Milcak
He probado tu solución, pero obviamente estoy haciendo algo mal. Digamos que tenemos en la tienda tres productos A1={α,β,γ} , A2={α,γ,δ} y A3={β,δ} . Necesitamos extraer un producto X={α,β,δ} . Ahora, utilizando su notación, esto sería: X=(1,1,1)A1=(1,1,0)A2=(1,0,1)A3=(0,1,1)
Esto da la ecuación:
(110101011)(z1z2z3)=(111)
Que creo que es lo mismo que:
z1+z2=1z1+z3=1z2+z3=1
Ahora la solución es (esperemos) Z=(12,12,12) .
Tú dices:
entonces escoge yi de manera que sean enteros no negativos, y que su suma se minimice, lo que equivale a encontrar el punto de la red integral más cercano a z tal que yi≥zi y yi≥0 para todos i .
Esto da como resultado Y=(1,1,1) pero, ¿no significa esto que necesito uno de cada uno de los Ai ? ¿Las soluciones no serían (1,1,0) , (1,0,1) y (0,1,1) ?
Estoy seguro de haber entendido mal algunas partes de su respuesta. ¿Podría ampliar su respuesta, deshaciendo mis nudos cerebrales? Muchas gracias.