stringtranslate.com

Embalaje de contenedores de siguiente ajuste

Next-fit es un algoritmo en línea para el empaquetamiento de contenedores . Su entrada es una lista de elementos de diferentes tamaños. Su salida es un empaquetamiento : una partición de los elementos en contenedores de capacidad fija, de modo que la suma de los tamaños de los elementos en cada contenedor sea como máximo la capacidad. Idealmente, nos gustaría utilizar la menor cantidad de contenedores posible, pero minimizar la cantidad de contenedores es un problema NP-hard. El algoritmo next-fit utiliza la siguiente heurística :

Next-Fit es un algoritmo de espacio acotado: solo requiere que haya un contenedor parcialmente lleno abierto en cualquier momento. El algoritmo fue estudiado por David S. Johnson en su tesis doctoral [1] en 1973.

Tiempo de ejecución

El tiempo de ejecución de NextFit se puede limitar mediante , donde es el número de elementos en la lista. [2]

Relación de aproximación

Denotemos por NF(L) el número de contenedores utilizados por NextFit, y por OPT(L) el número óptimo de contenedores posibles para la lista L.

Límite superior

Entonces, para cada lista , . La intuición de la prueba es la siguiente. El número de contenedores utilizados por este algoritmo no es más que el doble del número óptimo de contenedores. En otras palabras, es imposible que 2 contenedores estén como máximo medio llenos porque tal posibilidad implica que en algún momento, exactamente un contenedor estaba como máximo medio lleno y se abrió uno nuevo para acomodar un elemento de tamaño como máximo . Pero como el primero tiene al menos un espacio de , el algoritmo no abrirá un nuevo contenedor para ningún elemento cuyo tamaño sea como máximo . Solo después de que el contenedor se llena con más de o si llega un elemento con un tamaño mayor que , el algoritmo puede abrir un nuevo contenedor. Por lo tanto, si tenemos contenedores, al menos contenedores están más de la mitad llenos. Por lo tanto, . Como es un límite inferior del valor óptimo , obtenemos que y por lo tanto . [3] : 74 

Límite inferior

Para cada , existe una lista tal que y .

La familia de listas para las que se cumple que está dada por con . La solución óptima para esta lista tiene contenedores que contienen dos elementos con tamaño y un contenedor con elementos con tamaño (es decir, contenedores totales), mientras que la solución generada por NF tiene contenedores con un elemento de tamaño y un elemento con tamaño .

Tamaño de elemento limitado

Si el tamaño máximo de un elemento es , entonces la razón de aproximación asintótica satisface:

Otras propiedades

Next-Fit empaqueta una lista y su inversa en el mismo número de contenedores. [4]

Próximo-a-Ajuste (NkF)

Next-k-Fit es una variante de Next-Fit, pero en lugar de mantener solo un contenedor abierto, el algoritmo mantiene abiertos los últimos contenedores y elige el primer contenedor en el que encaja el artículo.

Para , NkF ofrece resultados que son mejores en comparación con los resultados de NF, sin embargo, aumentar a valores constantes mayores que no mejora el algoritmo más en su comportamiento en el peor de los casos. Si el algoritmo es un algoritmo AlmostAnyFit y entonces . [1]

Véase también

Referencias

  1. ^ ab Johnson, David S (1973). "Algoritmos de empaquetamiento de contenedores casi óptimos" (PDF) . Instituto Tecnológico de Massachusetts .
  2. ^ Suri, Subhash. "Bin Packing". Ciencias de la Computación de la UCSB . Consultado el 7 de octubre de 2021 .
  3. ^ Vazirani, Vijay V. (2003), Algoritmos de aproximación , Berlín: Springer, ISBN 3-540-65367-8
  4. ^ Fisher, David C. (1988-12-01). "Next-fit empaqueta una lista y su reverso en el mismo número de contenedores". Operations Research Letters . 7 (6): 291–293. doi :10.1016/0167-6377(88)90060-0. ISSN  0167-6377.