Loading [MathJax]/extensions/TeX/mathchoice.js

5 votos

Recorrido óptimo de desmontaje/montaje del producto

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 yizi y yi0 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.

1voto

Gavin Puntos 183

Aquí se busca una solución óptima para un sistema de inecuaciones lineales.

En primer lugar, algunas simplificaciones:

  • podemos suponer que sólo necesitamos ensamblar un producto final X . Si necesitáramos nX , entonces necesitamos n -veces más componentes que para X . Pero no importa cómo consigamos los componentes para ensamblar nX Tendremos que gastar n transformaciones para el montaje final. Así, si necesitamos nX podemos suponer que X necesita n veces más de cada componente. En otras palabras, sólo nos preocupamos por minimizar la cantidad de veces que desmontamos los productos.

  • En segundo lugar, debemos considerar únicamente los componentes de X . Supongamos que tenemos k1 componentes en total, y X consiste en unos kk1 diferentes componentes. Entonces podemos escribir X=(x1,,xk,0,,0) (con k1k 0 's). Entonces, si otro producto A tiene componentes (a1,,ak,ak+1,,ak1) No es necesario considerar lo que el ak+1,,ak1 son.

Así que ahora, digamos que tenemos productos A1,...,An donde Ai=(ai1,,aik) . Entonces buscamos enteros no negativos y1,,yn tal que ni=1yi se minimiza, y:

(a11an1a1kank)(y1yn)\NLamarcadelacasa(x1xk)

donde " "se refiere a la ordenación lexicográfica .

Ya que suponemos que sí se puede construir X de los otros productos, sabemos que esto siempre tendrá una solución (bastantes, en realidad).

Ahora, puedes resolver la desigualdad anterior como si fuera una igualdad, para esto sin embargo, puedes necesitar extender las cantidades de productos para que contengan números racionales. Se obtiene una solución z=(z1,,zn) y luego elegir y para que:

  • yi son enteros no negativos
  • yi=zi (como z es óptima, una solución entera sólo puede ser peor)
  • |yizi| se minimiza

EDIT

He editado los requisitos finales para y . Me disculpo, por mi error anterior - he entendido mal la relevancia de " z ". Está claro que ésta es la solución óptima (sobre los racionales). Por tanto, y debe estar cerca, sin embargo, no necesariamente que yizi para todos i .

Desde z es óptima, cualquier solución integral requerirá al menos zi transformaciones. Para y para estar más cerca de z necesitamos |yizi| minimizado.

Tenemos zi=zi+lzi+n1 . Así, y es de la forma (z1+δ1,,zn+δn) , donde l de la δi son 1 y los demás 0 .

En su ejemplo zi=0 para todos i . Entonces, como zi=2 tenemos y=(δ1,δ2,δ3) , con una δ=0 y otros =1 . Eso te da tus tres respuestas, ya que cada coordenada de z es 1/2 .


Puedo tratar de probar esto mañana, pero por ahora tienes al menos un marco básico - y=(z1+δ1,,zn+δn) como se ha definido anteriormente es claramente correcta, y si la condición " |yizi| se minimiza" puede ser errónea, la respuesta correcta se limita ahora a \binom {n}{l} posibilidades: es decir, elegir qué \delta son 1 's. En general, debería ser una cantidad pequeña de casos, por lo que debería ser fácil de comprobar por fuerza bruta.

Lo actualizaré mañana.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X