El problema de la mochila es uno de los problemas más estudiados en optimización combinatoria , con numerosas aplicaciones en la vida real. Por esta razón, se han examinado muchos casos especiales y generalizaciones. [ 1 ] [ 2 ]
Todas las versiones comparten un conjunto de n elementos, donde cada elementoCada elemento tiene una ganancia asociada p j y un peso w j . La variable de decisión binaria x j se utiliza para seleccionar el elemento. El objetivo es elegir algunos de los elementos que maximicen la ganancia total, respetando que el peso total máximo de los elementos seleccionados no supere W. Generalmente, estos coeficientes se escalan para convertirse en números enteros y casi siempre se asume que son positivos.
El problema de la mochila en su forma más básica:
Generalizaciones directas
Una variante común es que cada elemento se puede elegir varias veces. El problema de la mochila acotada especifica, para cada elemento j , un límite superior u j (que puede ser un entero positivo o infinito) sobre el número de veces que se puede seleccionar el elemento j :
El problema de la mochila sin límite (a veces llamado problema de la mochila entera ) no impone ningún límite superior al número de veces que se puede seleccionar un elemento:
Lueker demostró en 1975 que la variante no acotada era NP-completa . [ 3 ] Tanto la variante acotada como la no acotada admiten un FPTAS (esencialmente el mismo que el utilizado en el problema de la mochila 0-1).
Si los elementos se subdividen en k clases denotadasy se debe tomar exactamente un artículo de cada clase, obtenemos el problema de la mochila de opción múltiple :
Si para cada artículo la ganancia y el peso son iguales, obtenemos el problema de la suma de subconjuntos (a menudo se da en su lugar el problema de decisión correspondiente):
Si tenemos n artículos y m mochilas con capacidades, obtenemos el problema de la mochila múltiple :
Como caso especial del problema de la mochila múltiple, cuando las ganancias son iguales a los pesos y todos los contenedores tienen la misma capacidad, podemos tener un problema de suma de subconjuntos múltiples .
Problema de la mochila cuadrática :
Problema de la mochila con unión de conjuntos :
SUKP es definido por Kellerer et al [ 2 ] (en la página 423) de la siguiente manera:
Dado un conjunto deelementosy un conjunto delos llamados elementos, cada artículocorresponde a un subconjuntodel conjunto de elementosLos artículosobtener beneficios no negativos,y los elementostienen pesos no negativos,El peso total de un conjunto de artículos viene dado por la suma de los pesos de los elementos de la unión de los conjuntos de elementos correspondientes. El objetivo es encontrar un subconjunto de artículos cuyo peso total no supere la capacidad de la mochila y que genere el máximo beneficio.
Múltiples restricciones
Si existe más de una restricción (por ejemplo, un límite de volumen y un límite de peso, donde el volumen y el peso de cada artículo no están relacionados), obtenemos el problema de la mochila con múltiples restricciones , el problema de la mochila multidimensional o el problema de la mochila m - dimensional . (Cabe destacar que "dimensión" aquí no se refiere a la forma de ningún artículo). Este problema tiene variantes binarias, acotadas e ilimitadas; la versión ilimitada se muestra a continuación.
La variante 0-1 (para cualquier fijo)) se demostró que era NP-completo alrededor de 1980 y, más fuertemente, no tiene FPTAS a menos que P=NP. [ 4 ] [ 5 ]
Las variantes acotadas y no acotadas (para cualquier fijo)) también exhiben la misma dureza. [ 6 ]
Para cualquier fijo, estos problemas admiten un algoritmo de tiempo pseudopolinomial (similar al del problema de la mochila básico) y un PTAS . [ 2 ]
Problemas tipo mochila
Si todas las ganancias son 1, intentaremos maximizar la cantidad de artículos que no excedan la capacidad de la mochila:
Si tenemos varios contenedores (del mismo tamaño) y deseamos empaquetar los n artículos en la menor cantidad de contenedores posible, obtenemos el problema de empaquetamiento de contenedores , que se modela mediante variables indicadoras.El contenedor i está siendo utilizado:
El problema del corte de material es idéntico al problema del empaquetado de contenedores , pero dado que las instancias prácticas suelen tener muchos menos tipos de artículos, a menudo se utiliza otra formulación. El artículo j se necesita B j veces, cada "patrón" de artículos que caben en una sola mochila tiene una variable, x i (hay m patrones), y el patrón i utiliza el artículo j b ij veces:
Si al problema de la mochila de opción múltiple le añadimos la restricción de que cada subconjunto tenga un tamaño n y eliminamos la restricción sobre el peso total, obtenemos el problema de asignación , que también es el problema de encontrar un emparejamiento bipartito maximal :
En la variante de mochila de máxima densidad hay un peso inicialy maximizamos la densidad de elementos seleccionados que no violan la restricción de capacidad: [ 7 ]
Aunque menos comunes que los anteriores, existen otros problemas similares a los de la mochila, entre ellos:
- Problema de la mochila anidada
- Problema de la mochila que se desmorona
- Problema de la mochila no lineal
- Problema de la mochila paramétrico inverso
Los tres últimos se analizan en la obra de referencia de Kellerer et al., Problemas de la mochila . [ 2 ]
Referencias
- ↑ Martello, Silvano y Toth, Paolo (1990). Problemas de la mochila: algoritmos e implementaciones informáticas . John Wiley & Sons . ISBN 978-0471924203.
{{cite book}}: CS1 maint: varios nombres: lista de autores ( enlace ) - ^ Kellerer , Hans y Pferschy, Ulrich y Pisinger, David (2004) . Problemas con la mochila . Springer Verlag . ISBN 978-3-540-40286-2.
{{cite book}}: CS1 maint: varios nombres: lista de autores ( enlace ) - ↑ Lueker, GS (1975). Dos problemas NP-completos en programación entera no negativa . Informe n.º 178, Laboratorio de Ciencias de la Computación, Princeton.
- ↑ Gens, GV; Levner, EV (1979). "Complejidad y algoritmos de aproximación para problemas combinatorios: una revisión". Instituto Central de Economía y Matemáticas, Academia de Ciencias de la URSS, Moscú.
- ↑ "Sobre la existencia de esquemas de aproximación rápida". Programación no lineal . 4 : 415–437 . 1980.
- ↑ Magazine, Michael J.; Chern, Maw-Sheng (1984). "Una nota sobre esquemas de aproximación para problemas de mochila multidimensionales". Matemáticas de la investigación operativa . 9 (2): 244– 247. doi : 10.1287/moor.9.2.244 .
- ↑ Cohen, Reuven; Katzir, Liran (2008). "El problema generalizado de cobertura máxima". Information Processing Letters . 108 : 15–22 . CiteSeerX 10.1.1.156.2073 . doi : 10.1016/j.ipl.2008.03.017 .
- "Algoritmos para problemas de la mochila" , D. Pisinger. Tesis doctoral, DIKU, Universidad de Copenhague, Informe 95/1 (1995).
- Optimización combinatoria