investigacion de operacciones

40
En dos versiones con restricciones de clase de la Múltiples problemas de mochila 1 H. Shachnai2 y Tamir T.2 Abstracto. Estudiamos dos variantes del problema mochila clásica, en la que necesitamos colocar artículos de diferentes tipos en varias mochilas; cada mochila tiene una capacidad limitada y un límite en el número de diferentes tipos de elementos que puede contener: queremos en los múltiples problemas de mochila con restricciones de clase (CMKP) maximizar el número total de artículos envasados; en el problema de colocación justa (FPP) nuestro objetivo es el mismo lugar porción (grande) de cada conjunto. Buscamos una colocación perfecta, en la que ambos problemas están resueltos óptimamente. Nos primero demostrar que los dos problemas NP-hard; Entonces consideramos algunos casos especiales, donde una colocación perfecta existe y puede encontrarse en tiempo polinomial. Para otros casos, le damos Soluciones aproximadas. Por último, le damos una solución casi óptima para el CMKP. Nuestros resultados para el CMKP y el FPP se muestran para proporcionar eficientes soluciones para dos problemas fundamentales que se presentan en subsistemas de almacenamiento multimedia. Palabras claves. Mochila, embalaje, algoritmos de aproximación, la asignación de recursos, equidad, utilización, Multimedia bajo demanda. 1. Introducción 1.1. planteamiento del problema. En el conocido múltiples problema mochila (MKP) [18] M artículos de diferentes tamaños y valores tienen que ser embalado en N mochilas con limited volúmenes. En este trabajo se estudian dos variantes de la MKP, en qué elementos de distinta M tipos debe ser embalado en mochilas N , cada uno con un volumen limitado y una limitada cantidad de compartimentos; objetos de diferentes tipos no pueden colocarse en el mismo compartimiento. En concreto, la entrada es un universo U, que consiste en M distintos tipos de artículos, dados que los subconjuntos de U 1 ; : : : ; U M hay j U yo j elementos de tipo , 1 · yo · M , y U D U 1 [ U2 ¢ ¢ ¢ [ UM; todos los elementos tienen el mismo tamaño (unidad) y el mismo valor, que es, para todos los u 2 Us.u/ D w. u / D 1. existen N Mochilas: la mochila th j , Kj , tiene el volumen V j y un número limitado de compartimentos, C j en el cual los objetos pueden colocarse, 1 · j · N . Por lo tanto, en la mochila de th j podemos colocar artículos de a lo sumo Cj de diferentes tipos. La salida de nuestros problemas de optimización es una colocación, que especifica

Upload: pato-rodriguez

Post on 10-Aug-2015

13 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: investigacion de operacciones

En dos versiones con restricciones de clase de laMúltiples problemas de mochila 1H. Shachnai2 y Tamir T.2Abstracto. Estudiamos dos variantes del problema mochila clásica, en la que necesitamos colocar artículos de

diferentes tipos  en varias mochilas; cada mochila tiene una capacidad limitada y un límite en el número dediferentes tipos de elementos que puede contener: queremos en los múltiples problemas de mochila con restricciones de clase (CMKP)maximizar el número total de artículos envasados; en el problema de colocación justa (FPP) nuestro objetivo es el mismo lugarporción (grande) de cada conjunto. Buscamos una colocación perfecta, en la que ambos problemas están resueltos óptimamente. Nosprimero demostrar que los dos problemas NP-hard; Entonces consideramos algunos casos especiales, donde una colocación perfectaexiste y puede encontrarse en tiempo polinomial. Para otros casos, le damos Soluciones aproximadas. Por último, le damosuna solución casi óptima para el CMKP. Nuestros resultados para el CMKP y el FPP se muestran para proporcionar eficientessoluciones para dos problemas fundamentales que se presentan en subsistemas de almacenamiento multimedia.

Palabras claves. Mochila, embalaje, algoritmos de aproximación, la asignación de recursos, equidad, utilización,Multimedia bajo demanda.1. Introducción1.1. planteamiento del problema. En el conocido múltiples problema mochila (MKP) [18]M artículos de diferentes tamaños y valores tienen que ser embalado en N mochilas con limitedvolúmenes. En este trabajo se estudian dos variantes de la MKP, en qué elementos de distinta Mtipos debe ser embalado en mochilas N  , cada uno con un volumen limitado y una limitadacantidad de compartimentos; objetos de diferentes tipos no pueden colocarse en el mismo compartimiento.En concreto, la entrada es un universo U, que consiste en M distintos tipos deartículos, dados que los subconjuntos de U 1 ; : : : ; U M hay j U  yo  j elementos de tipo , 1 · yo  · M  , yU D U  1 [ U2 ¢ ¢ ¢ [ UM; todos los elementos tienen el mismo tamaño (unidad) y el mismo valor, quees, para todos los u 2 U s . u  / D w. u  / D 1. existen N Mochilas: la mochila th j  , Kj  ,tiene el volumen V j y un número limitado de compartimentos, C j en el cual los objetos puedencolocarse, 1 · j  · N  . Por lo tanto, en la mochila de th j podemos colocar artículos de a lo sumo Cj

de diferentes tipos. La salida de nuestros problemas de optimización es una colocación, que especificapor cada mochila K j a los tipos de elementos de K j asignados los compartimientos y cómomuchos artículos de cada tipo se colocan en K j  . Una colocación es legal si Kj asignados a másC  j compartimentos y el tamaño total de los artículos colocados en K j no exceda de V j  , para1 Una versión preliminar de este artículo apareció en Procedimientos de diversión con algoritmos, Isola d ' Elba, Italia,Junio de 1998.

2 Departamento de informática, el Technion, Haifa 32000, Israel. f hadas, tami g @cs.technion.ac.il.Recibido el 01 de junio de 1998; revisado 05 de diciembre de 1998. Comunicado por N. Megiddo.Publicación online 06 de octubre de 2000.En dos versiones constreñida del problema mochila múltiples 443

todos los 1 · j  · N  . Una colocación determina un subconjunto U0 D U0

1 [ U0

2 [ ¢ ¢ ¢ [ U0

M de U,tal que j U 0Yo

j es el número de artículos empacado de U yo  .Los dos problemas de optimización estudiados en este trabajo son:El-constreñida múltiples problema mochila (CMKP), en el cual nuestro objetivoes maximizar el tamaño total de los elementos empaquetados, dada porP Myo D 1j U 0yo  j.El problema de colocación justa (FPP), donde el objetivo es maximizar el valor de0 < c  · 1 tal que 8 1 · yo  · M  ;  j U 0yo ¸ j c ¢ j U  yo  j.

Page 2: investigacion de operacciones

A lo largo del papel asumimosP Myo D 1j U  yo  j D P Nj D 1 V  j  , es decir, el número totalde los elementos de U es igual a la suma de los volúmenes de mochila. En particular, buscamos uncolocación perfecta  , en que ambos problemas están resueltos óptimamente. De hecho, tal una colocaciónda la máxima utilización de las capacidades de mochila, es decir, el total de ocupados volumenes V D P Nj D 1 V  j y la máxima imparcialidad, es decir, c D 1.La Asunción j U  j D V simplifica la presentación de nuestros resultados, por otra parte, cualquierentrada para el problema de gestión de almacenamiento que motivado nuestro estudio, satisface esta suposición.Es importante señalar, sin embargo, que nuestros resultados tienen para las entradas generales para elel CMKP y el FPP, es decir, para cualquier relación entre la j U  j y V. Elaboramos en esoen el apéndice.1.2. Administración de almacenamiento de información en sistemas Multimedia. Nuestras dos variantes de la mochilaproblema están motivados por dos problemas fundamentales que se presentan en la administración del almacenamientopara los sistemas multimedia-on-demand (MOD). MOD servicios se están volviendo comunes enBiblioteca recuperación de información, entretenimiento y aplicaciones comerciales. MODsystemsse espera que gestionen con los enormes requisitos de ancho de banda y almacenamiento de multimediadatos. Además, MOD servidores deben soportar los requerimientos de sincronización estricta: cadausuario puede elegir un programa que desea ver y el tiempo que desea ver. Elel servicio debe ser suministrado dentro de un pequeño estado latente y garantizando una casi constantevelocidad de transferencia de los datos.En un sistema MOD se mantiene una gran base de datos de archivos de programa video M en un centralizadoservidor. Cada archivo de programa se asocia con un parámetro de popularidad, dado por pi 2[0; 1], dondeP Myo D 1 p  yo D 1. los archivos se almacenan en los discos N compartida. Cada uno de los discoses caracterizado por (i) almacenamiento de capacidad, que es el número de archivos que pueden residiren él y (ii) su capacidad de carga, dado por el número de flujos de datos que pueden ser leídossimultáneamente desde ese disco. Suponiendo que fp1; : : : ; p M g son conocidos, podemos predecirla carga prevista generada por cada uno de los programas en cualquier momento.Queremos definir una asignación estática de almacenamiento y carga de cada archivo, por lo que la cargagenerados debido a acceder a las peticiones para el archivo puede ser satisfecho. Nuestra asignación debería permitirtransmisiones simultáneas de tantos programas de video como sea posible. En efecto, debereflejar las popularities de los programas, permitiendo que muchas transmisiones de popularlos programas y sólo pocas transmisiones a los menos populares. En otras palabras, queremoscomo lograr una asignación justa de almacenamiento y capacidad de carga. Otro objetivo esmaximizar la utilización de la capacidad de carga del sistema.El problema de asignación de archivos en discos, con el fin de maximizar la utilización (equidad), puede serformulado como una instancia de la CMKP (FPP): un disco j con capacidad de carga L j y almacenamientocapacidad C j estará representada por una mochila K j con el volumen L j y C j compartimentos.Un archivo estará representado por un conjunto U yo con el tamaño j U  yo  j que es proporcional al archivo444 H. Shachnai y T. Tamirpopularidad. En concreto, jUD j PN

j D 1 L  j y j U  yo  j D p  yo  j U  j . 3 Una solución para cualquiera de nuestras dosvariantes de los problemas de mochila inducirá una asignación estática legal.1.3. trabajos relacionados. Problemas relacionados con el trabajo previo sobre el MKP y otra mochila

Page 3: investigacion de operacciones

suponer que (i) todos los elementos del mismo tipo tienen que ser colocados en el mismo saco, y(ii) no hay límite en el número de diferentes tipos de elementos que pueden colocarse en unamochila (véase, por ejemplo, [3], [7], [15], [20] y estudios detallados en [18] y [19]).El caso especial de los MKP donde N D 1, conocido como el clásico 0 – 1 problema mochila,admite un esquema de aproximación polinomial completamente (AAP). Es decir, para cualquier "> 0, un.1 ¡ "/  -aproximación a la solución óptima puede ser encontrado en O . n ="  2 /  , donde n es elnúmero de elementos [6], [7]. En contraste, el MKP es NP-hard en el sentido fuerte, por lo tantoes poco probable que tengan un AAP, a menos que P D NP  [19].El CMKP está estrechamente relacionado con el problema de la mochila fraccionario: este problema puede seróptimamente resuelto en tiempo polinomial (por un simple algoritmo voraz [5]). De hecho, los conjuntosU  1 ; : : : ; U M puede ser sustituido por M artículos de tamaños j U  1 j ; : : : ;  j U M  j , donde cada elementose puede dividir entre varias mochilas. En nuestra versión generalizada de la mochila fraccionaria,cada mochila tiene también una capacidad limitada y un límite en el número de elementos que puede contener.Mostramos abajo que este problema es NP-hard.Trata de otros trabajos relacionados con programación multiprocesador [9] – [11], también conocida como lamakespan mínimo problema: teniendo en cuenta los procesadores n y m  trabajos con integral designadotiempos de procesamiento, el objetivo es programar los trabajos en los procesadores, tal que el generalse minimiza el tiempo de finalización del programa. Podemos representar una mochila por unprocesador y cada conjunto de elementos de tamaño k por un trabajo que requiere k unidades de tiempo de procesamiento.Por lo tanto, hay n D N procesadores y m D M puestos de trabajo. La restricción del compartimiento puedeestar representados en el problema de programación permitiendo que a lo sumo C j  trabajos para ser programada enprocesador j  , 8 1 · j  · N  . Tenga en cuenta, que es equivalente a maximizar minimizar el makespanla utilización de los volúmenes de mochila. Investigaciones anteriores sobre el problema de programaciónNo hay límite en el número de puestos de trabajo que puede ser asignado a cada procesador, es decir, no asumeC  yo D M  , 8 1 · yo  · M  (una encuesta aparece en [12]). En este caso el problema makespanadmite un esquema de aproximación de tiempo polinómico [9].MOD sistemas han sido estudiados intensamente en los últimos años [1], [8], [16] [17], [21].Sin embargo, el problema de la asignación recibió poca atención sólo en este contexto. En concreto,la mayoría de los trabajos anteriores discute el problema de equilibrio de carga en los discos, enque la meta es tener la carga total en el sistema distribuido uniformemente entre N discos.La primera solución propuesta para el problema de balanceo de carga estaba entrelazado (véase, por ejemplo,[2] y [4]), en que los datos de cada archivo se distribuyen en varios discos. Por lo tanto, lacarga pesada causada por un popular programa es compartida entre estos discos.En algoritmos dinámicos [22] fueron sugeridos para equilibrar la carga en el sistema. Elpapel también aborda el problema de determinar el número de copias de cada archivo quedebe mantenerse en el sistema; el objetivo es tener la capacidad de almacenamiento total asignadaa f yo  reflejar su popularidad. Este criterio puede producir malos resultados cuando se utilizan para la solución denuestros problemas de optimización: intuitivamente, el algoritmo destinará múltiples copias de unarchivos más populares, sin embargo, estas copias se pueden almacenar en discos, cuyas capacidades de carga son3 Por simplicidad, suponemos que p yo  j U  j es un entero (de lo contrario podemos utilizar una norma técnica [14] de redondeo).En dos versiones constreñida del problema mochila múltiples 445pequeño. En consecuencia, estos discos se sobrecarga y el sistema rechazará a menudosolicitudes de ese archivo. Esto es debido al hecho de que la colocación de archivos en los discos se usa comoparámetros sólo los popularities archivo y capacidades de almacenamiento de los discos, mientras que la cargase omiten las capacidades (se da un ejemplo detallado en la sección 2.3.2).

Page 4: investigacion de operacciones

1.4. nuestros resultados. Ahora resumimos los resultados presentados en este documento:² El CMKP y el FPP están NP-hard.² Para algunos casos una colocación perfecta siempre existe y puede encontrarse en polinomiotiempo. Se dan tres condiciones simples para la existencia de una colocación perfecta. Paracada condición, mostramos cómo el CMKP y el FPP pueden ser óptimamente resuelto, cuandoesta condición es satisfecha.² Cuando las condiciones no se cumplen, wederive Soluciones aproximadas por nuestra mochila dosproblemas. La proporción de aproximación depende de la "uniformidad" de las mochilas.En concreto, dado r > 0 y ® ¸ 1 tal que 8 j  ; r  · V  j = C  j  · ® ¢ r  , le damos unalgoritmo que logra . 1 =®/  -aproximación para el CMKP y el FPP.² Demostramos que si la cantidad de compartimentos en cada mochila es menos b, para algunosb ¸ 1, es decir, C j ¸ b  , 8 1 · j  · N entonces el CMKP se puede aproximar a dentrofactor b =. b C 1/.El resto del documento está organizado como sigue. Los resultados de dureza se dan enSección 2.4. En la sección 3 se discuten varios casos en los que existe una colocación perfectay puede encontrarse en tiempo polinomial. Se da una solución casi óptima para el CMKP enSección 4. En la sección 5 se describe cómo se pueden aplicar los resultados teóricos a almacenamiento de informacióngestión en sistemas MOD y en particular a subsistemas de discos heterogéneos  . EnSección 6 damos direcciones posibles para el trabajo futuro.2. preliminares. Dado N mochilas con los volúmenes V 1 ; : : : ; V N el potencial de embalajede las mochilas, denotados por V, es el número total de elementos que pueden ser colocados enlas mochilas, es decir, V D P Nj D 1 V  j  . Para un universo U objetos del tamaño de unidad, repartido a losestablece U 1 ; : : : ; U M una solución a la CMKP o la FPP puede representarse como dos M £ Nmatrices:1. la matriz de indicadores, , un f0; 1 g -matrix, yo  ;  j D 1 iff un compartimiento de K j se asignaronelementos de tipo U yo  .2. matriz de cantidad Q, Q;  j 2 f 0 ; 1 ; : : : ; V  j g Q yo  ;  j es el número de elementos de U yo quese colocan en K j  .Una colocación legal tiene que satisfacer las siguientes condiciones:² Yo  yo  ;  j D 0 ) Q;  j D 0. esta condición refleja el hecho de que elementos de Uque puede ser colocadoen K j sólo si un compartimiento de K j  fue asignado a los elementos de tipo .² Por cada mochila K j  ,Pyo Q  yo  ;  j  · V  j es decir, el número total de elementos colocados en K jNo exceder su capacidad.² Por cada mochila K j  ,Pyo Yo  yo  ;  j  · C  j  , es decir, el número de diferentes tipos de artículoscolocado en K j no exceda la cantidad de compartimentos en K j  .446 H. Shachnai y T. Tamir

Las matrices y Q determinarán un subconjunto de elementos U 0 D U 01

[¢ ¢ ¢[ U 0M que se colocaen las mochilas.D Definición 2.1. dada una solución para el CMKP (FPP), la cantidad llena de U  ,denota por Q yo es el número total de elementos lleno de U yo  . Por lo tanto, Qi D jU0

yo  j D P Nj D 1 Q  yo  ;  j  .2.1. utilización de una colocación. Es nuestra primera medida por la calidad de una colocación

Page 5: investigacion de operacciones

utilización:D Definición 2.2. la utilización de una colocación esP Myo D 1 Q  yo  .La máxima utilización posible de una colocación es V, lo que significa que todo el embalajese explota el potencial de las mochilas. DesdeP Myo D 1j U  yo  j D V  también significa que exactamentej U  yo  j elementos del conjunto de U yo se embalan. Otras colocaciones pueden utilizar sólo una parte de laembalaje total potencial:D Definición 2.3. una colocación es c utilizado si su utilización es igual a c ¢ V, para algunos c 2[0; 1].Las preguntas principales son: "la máxima utilización posible se encuentran en polinomiotiempo?" "Podemos encontrar una aproximación eficiente?"TheCMKPaims en maximizar la utilización de los potenciales de embalaje: en la sección 4wepresentar un algoritmo de aproximación dual para theCMKP. La noción de aproximación dualfue introducido en [13]. Se trata de aproximar la viabilidad de una solución para un determinadoproblema, en lugar de su optimalidad; algoritmos de aproximación tradicional buscan factiblesoluciones que son subóptimas, donde el rendimiento del algoritmo se mide porel grado de suboptimality permitido.En un algoritmo de aproximación dual el objetivo es encontrar una solución factible quees superoptimal; el rendimiento del algoritmo se mide por el grado de inviabilidadpermitido. La aproximación de la relación general entre tradicionales (o primario)algoritmos y algoritmos de aproximación dual se discute en el capítulo 9 de [12]. Elalgoritmo de aproximación dual que presentamos en la sección 4 es superoptimal para el CMKP.Nuestro algoritmo permite un pequeño grado de inviabilidad, es decir, es a lo sumo un compartimientoañadido a cada una de las mochilas.2.2. el problema de colocación justa. El segundo criterio para medir la calidad deuna colocación es equidad:D Definición 2.4. una colocación es c-justo, para algunos c 2 [0; 1], if, para cada conjunto Uyo , Q ¸c ¢ j U  yo  j.Una óptima colocación es 1-justo. En una colocación 1-justo, para cada yo  , exactamente jU j artículosdel conjunto deU yo se embalan. DesdeP Myo D 1j U  yo  j D V  también significa que el potencial de embalajede las mochilas es plenamente explotadas.En dos versiones constreñida del problema mochila múltiples 447Varias preguntas surgen cuando se busca una colocación justa: "hace una colocación 1-Feriaexiste para cualquier instancia del problema?" "Podemos encontrarlo eficientemente?" "Cuando una 1-Feriacolocación no existe, podemos encontrar (o aproximado) una colocación óptima eficacia? "2.3. combina la utilización y la equidad2.3.1. el problema de una colocación perfecta. Primero exploramos a la relación entre theCMKPy el FPP.D Definición 2.5. una colocación perfecta es una colocación en que todos los elementos de todos lossistemas están llenos, y todas las mochilas están llenos.Claramente, cualquier colocación perfecta es 1-Feria y utilizada 1.Ahora mostramos que para algunos casos una colocación perfecta no existe. Considerar unsistema simple que consta de dos mochilas, con C 1 D C  2 D 1 y V 1 D V  2 D 10, ydos conjuntos de elementos: j U  1 j D 15 y j U  2 j D 5. son las colocaciones sólo legales:1. cada sistema se embala en una mochila diferente. Diez ítems de U1 y cinco elementos de U2 sonembalado.

Page 6: investigacion de operacciones

2. ambos compartimientos se asignan a U1, o ambos compartimientos se asignan a U2.Claramente, estas ubicaciones son 0-justo.Nota, que por el aumento de C 1 a 2 obtenemos una instancia, para que una colocación perfectaexiste: ahora podemos colocar artículos de U 1 en dos mochilas y elegir Q 1 ;  1 D Q  2 ;  1 D 5y Q 1 ;  2 D 10.Cuando no existe una colocación perfecta, nos gustaría encontrar la mejor posible.Sin embargo, los dos objetivos de utilización y la equidad pueden entrar en conflicto. Considere una instanciacon dos Mochilas: V 1 D 20 ; C  1 D 2 Yo V  2 D 10 ; C  2 D 1; y tres conjuntos de elementos:j U  1 j D 14 ;  j U  2 j D 14 ;  j U  3 j D 2.Una colocación que alcanza la máxima utilización se presenta en la figura 1: 28artículos son embalados, es decir, esta colocación es 28

30 -utilizado. Sin embargo, es 0-Feria — ningún elemento deU  3 está lleno. Figura b presenta la mejor colocación posible con respecto a la justicia.Es 10

14 -Feria y 26

30 -utilizado. En general, cualquier c-Feria de colocación es por lo menos c-utilizados.2.3.2. algoritmos simples. En esta sección se muestran que dos simples algoritmos codiciososNo son adecuados para la CMKP y el FPP. El primer algoritmo (presentado en [22],en el contexto de sistemas MOD) puede utilizarse para la FPP: el algoritmo intentagarantizar la "equidad" asignando a cada conjunto de elementos de un número de compartimentoses proporcional a su tamaño. En concreto, utilizando un procedimiento de prorrateo, el algoritmoprimero se determina la cantidad de compartimentos, yo que se destinarán aU yo 1 · yo  · M  ;luego selecciona un subconjunto de yo mochilas que almacenan los elementos de U yo  . Finalmente, los volúmenesde las mochilas están divididas entre los conjuntos, con el fin de lograr la máxima imparcialidad.Para darse cuenta de que este algoritmo no es apto para todos los problemas de la mochila, consideraruna instancia que consiste en tres sets, j U  1 j D 6 ;  j U  2 j D j U  3 j D 3 y ocho mochilas,con C j D 1 de 1 · j  · 8. el volumen de la mochila primera es V1 D 5 y los volúmenesde los restantes mochilas son V 2 D V  3 D ¢ ¢ ¢ D V  8 D 1; así el potencial de embalajede las mochilas es V D 12. el número total de compartimientos es ocho, por lo tanto,por el criterio de "número de compartimientos", puesto que la mitad de los artículos pertenecen a U 1 cuatro448 H. Shachnai y T. Tamir

Figura 1. Máxima utilización máxima imparcialidad frente a.

los compartimentos deben asignarse a este conjunto, mientras que U 2 y U 3 debe colocarse en dosMochilas para cada uno. Claramente, no existe ninguna colocación justa bajo estas condiciones: el conjunto cuyalos artículos se almacenan en la mochila primera se asigna volumen extra, mientras que los otros dos conjuntosson "discriminados".En la FPP nuestro objetivo es encontrar las colocaciones en cual Q yo  la cantidad llena de U yo  ,refleja su tamaño. Tenga en cuenta que en el ejemplo anterior, si la cantidad de compartimentos asignadospara cada conjunto de ítems no está determinada antes de la colocación, luego una colocación perfectaexiste: por ejemplo, podemos colocar los elementos de U 1 en K 1 y K 2 artículos de U 2 enK  3 ; K  4 y K 5 ; y los artículos de U 3 en K 6 ; K  7 y K 8 . De hecho, elementos de U1 se colocanen solamente dos mochilas, pero puesto que una de estas mochilas es grande (K1), todos los artículos deU  1 puede ser embalado.El segundo algoritmo está basado en el algoritmo Más largo tiempo restante primero (LRTF)[10]. LRTF proporciona un .  43

¡1 = n  /  -aproximación al problema makespan, donden es el número de máquinas. Cuando LRTF se adopta para la FPP, colocamos los artículos deel conjunto restante más grande en la mochila con el mayor volumen restante.En dos versiones constreñida del problema mochila múltiples 449

Page 7: investigacion de operacciones

Tenga en cuenta que este algoritmo puede producir colocaciones pobres, nonfair. Considere una instanciacon dos Mochilas: V 1 D L C 1 ; C  1 D L y V 2 D L  ; C  2 D 1, para algunos L > 1;Supongamos que hay L C 1 establece, j U  1 j D L C conjuntos restantes 1 y en el L  j U  yo  j D 1.La colocación óptima los paquetes de los artículos L de los conjuntos pequeños en K 1 y los artículos L de U 1en K 2 . Este es un . L =. L C 1 //  -Feria y . 2L =. 2L C 1 //  -colocación utilizado. El LRTFalgoritmo elige primero Q 1 ;  1 D L C 1 y un elemento más de otro conjunto se coloca enK  2 . Luego no se quedan compartimentos disponibles en K2. La colocación resultante es 0-justo y.. L C 2 /=. 2L C 1 //  -utilizados.Por otra parte, considerar una variante de la LRTF, que ordena las mochilas por el cocienteV  j = C  j  . Luego se colocan elementos del conjunto restante más grande en la mochila en la queel cociente (actualizado) V j = C  j es máxima. Tenga en cuenta que este algoritmo también produce ineficientesoluciones para la FPP. Consideremos, por ejemplo, dos mochilas con V1 D 7; C  1 D 1 y V 2 D12 ; C  2 D 2; y tres conjuntos con j U  1 j D 10 ;  j U  2 j D 7, y j U  3 j D 2. en el óptimocolocación U 2 se coloca en K 1 , mientras que U 1 y U 3 se colocan en K 2 . El algoritmo anteriorinicialmente los paquetes de siete artículos de U 1 en K 1 y no puede completar el embalaje de todos losartículos de . En particular, es 0-Feria para U3. Utilizando una regla distinta, que coloca los artículosdesde el set con la restante más grande "desempacado fracción" en la mochila con elmás grande (actualizado) V j = C  j cociente, puede aumentar la equidad, con una correspondiente disminución enutilización. Aún así, un algoritmo más complicado, que combina la clasificación por los cocientesV  j = C  j con otras ideas, puede ser útil en la obtención de algoritmos de aproximación para elCMKP (elaboramos en eso en la sección 4).2.4. dureza del problema una colocación perfecta. La siguiente pregunta que consideramos esSi podemos detectar eficientemente si existe una colocación perfecta.T HEOREM 2.1. dado N mochilas con los volúmenes V1; : : : ; V N radiantes , j compartimentosen la mochila j y los conjuntos de elementos U 1 ; : : : ; U M es NP-hard para determinar si un perfectocolocación existe para esta instancia.P Techo . Mostramos una reducción del problema de la partición, que es conocido por ser NPhard[6]. el problema de la partición se compone de un conjunto finito Ay tamaño s. un  / para cada una 2 A  .El problema es determinar si existe un subconjunto A 0 de  tal manera quePyo 2 A  0 s  . yo  / D Pyo 2 A n A  0 s  . yo  /.Dada una instancia para la partición, considerar el problema de colocación consiste en dosestablece j U  1 j D j U  2 j , y j A  j mochilas con C j D 1 y V j D s  . un  j  /; 8 1 · j  j · A  j . Poreste problema, cada una colocación perfecta induce una deseada partición y viceversa.Cualquier colocación perfecta es 1-Feria y utilizada 1. Por lo tanto, es la reducción anteriorconveniente para la CMKP y la FPP. Concluimos que cada uno de estos problemas es NP-hard.3. encontrar una colocación perfecta3.1. condiciones simples de la existencia de una colocación perfecta. En esta sección nospresentes simple las condiciones para la existencia de una colocación perfecta. El primero de ellos considera450 H. Shachnai y T. Tamirentradas en las que el "número de compartimientos" restricción puede ser ignorada. Claramente, if,para todas las mochilas, C j ¸ V  j entonces existe una colocación perfecta y puede encontrarse entiempo polinómico. (Observar, eso si C j ¸ V  j para todos 1 · j  · N entonces podemos ávidamenteColoque los conjuntos en las mochilas, hasta que todos los artículos son embalados.)La siguiente condición simple considera los tamaños de los distintos conjuntos.T HEOREM 3.1. dejar 0 < "  · 1 ser el número máximo, tal que, para todos 1 · yo  · M  ,j U  yo ¸ j ." ¢ j U  j /= M  . Si, para todas las mochilas, Cj ¸ . V  j ¢ M  /=." ¢ V  / C 1, entonces existeuna colocación perfecta que utiliza como máximo M C N ¡ 1 diferentes compartimentos.

Page 8: investigacion de operacciones

P Techo . Considerar el algoritmo codicioso simple, que los paquetes de los conjuntos de elementos llenandolas mochilas uno tras otro. Específicamente, la mochila Kj se llena hasta que contieneV  j artículos, luego continuamos a empacar en K j C 1 , y así sucesivamente. DesdePYo

j U  yo  j D j U  j DV D Pj V  j  , el algoritmo finaliza cuando la última mochila, K N  , está lleno de laúltimo elemento de U M  . Por lo tanto, todo el potencial de embalaje de las mochilas es explotado ylos artículos son embalados. Intuitivamente, las condiciones indican que incluso los más pequeños conjuntosson lo suficientemente grandes como para llenar cualquier mochila. Formalmente, jUij ¸ ." ¢ j U  j /= M  implica que cualquiersubconjunto de C j ¡ 1 Series incluye por lo menos . C  j ¡ 1 /  j U ¢ j "= M D . C  j ¡ 1 / V ¢ "= M artículos.Desde entonces, C j ¸ . V  j ¢ M  /=." ¢ V  / C 1, tamaño total del subconjunto es menos V j  . El adicionalcompartimiento es necesario para un pequeño número de elementos del primer conjunto colocado en K j — paraEste conjunto, el tamaño no predice, ya que algunos de sus artículos fueron colocados ya en anterioresmochilas.Si todos los elementos de un conjunto se colocan en una mochila, usamos sólo un compartimientopara este sistema. Si se coloca en mochilas diferentes k  , utilizamos k compartimentos para este sistema.Puesto que el algoritmo hace a lo más N ¡ 1 se divide, el número total de compartimientos usadoseste algoritmo es M C N ¡ 1.3.2. relación capacidad uniforme. En esta sección presentamos una condición alternativa parala existencia de una colocación perfecta. Exigimos que el volumen y la cantidad de compartimentosen una mochila correlacionarse — mochilas con volumen alto deben tener muchoscompartimentos y viceversa.D Definición 3.1. para cualquier 1 · j  · N  la relación entre capacidad de K j es V j = C  j  . El conjunto demochilas K 1 ; : : : ; K N  tiene un cociente capacidad uniforme si existe una constante r > 0,tal que V j = C  j D r  , 8 1 · j  · N  .Intuitivamente, el cociente de la capacidad de una mochila K j da el número promedio de elementoscontenida en cada compartimiento cuando el volumen de K j es totalmente utilizado. Demostramos que,para un conjunto de mochilas con relación de capacidad uniforme, siP Nj D 1 C  j ¸ M C N ¡ 1, entonces ununa colocación perfecta existe y puede encontrarse eficientemente. Esto se aferra para cualquier distribuciónlos tamaños de los conjuntos U 1 ; : : : ; U M  .T HEOREM 3.2. si la proporción de capacidad es uniforme yP Nj D 1 C  j ¸ M C N ¡ 1, y luego ununa colocación perfecta existe y puede encontrarse en O  . M ¢ N C máximo . N LG N ; M LG M // pasos  .En dos versiones constreñida del problema mochila múltiples 451

P Techo . Presentamos un algoritmo de tiempo polinomial que rinde una colocación perfecta. Elalgoritmo, denotado por A  u procede colocando exactamente V j artículos de a lo sumo C j diferentesestablece en cada una de las mochilas. Suponemos que los conjuntos se dan en un nondecreasingorden de sus tamaños, es decir, j U  1 j j · U  2 j · ¢ ¢ ¢ j · U M  j.En cada paso, guardamos los restos de los conjuntos en una lista ordenada, denotada por R. Ellista, R[1] ; : : : ; R  [m], 1 · m  · M  , se actualiza durante el algoritmo, es decir, eliminamosR series de que fueron completamente lleno, y nos desplazamos a sus lugar actualizados sets que fueronsólo parcialmente lleno. R es la lista de petición de volumen, es decir, representa a cada entrada de R

Page 9: investigacion de operacciones

la solicitud de volumen, que es el número de elementos sin empaquetar, de algún conjunto U yo  . Elmochilas se dan en un orden nondecreasing de la cantidad de compartimentos tienen,es decir, C 1 · C  2 · ¢ ¢ ¢ · C N  .La idea principal en el algoritmo es mantener el tamaño promedio de las solicitudes en R grandelo suficiente. Específicamente, para cada 1 · k  · N  , vamos a mostrar que cuando la mochila K k eslleno, o el tamaño promedio de petición es por lo menos r  , o un algoritmo voraz trivial puede seraplica para empacar las peticiones restantes en las mochilas restantes.El algoritmo utiliza dos procedimientos de mochila-relleno: algunas de las mochilas están llenosusando el procedimiento de relleno de codicioso  ; las otras mochilas se llenará con el movingwindowprocedimiento. Ahora describimos los dos procedimientos.G REEDY -F ILLING . El procedimiento de relleno de codiciosos llena una mochila con artículos, a partirdesde el conjunto más pequeño, R[1] y continuando hasta la mochila está saturada, es decir, hasta quecontiene exactamente V j artículos de . Puede dividir el último set, es decir, será sólo una parte de sus elementosembalada en K j  . Se da una descripción formal del procedimiento de relleno de codiciosos enFigura 2.M OVING -W INDOW . El procedimiento de mover la ventana llena una mochila, Kj , con el primersecuencia de C j conjuntos cuyo tamaño total es menos V j  . Buscamos la lista R usando una mudanzaventana de tamaño C j  . Inicialmente, la ventana cubre el conjunto de los más pequeños Cj establece. En cadaiteración que reemplazamos el más pequeño situado en la ventana por el siguiente conjunto de R, hasta que el númerode los artículos que figuran en la ventana sea lo suficientemente grande como para saturar K j  . Si el subconjunto deel C j conjuntos más grandes incluye menos de V j artículos, entonces nosotros no podemos saturar K j  . Sin embargo, nosRelleno de codiciosos ( j  )yo Ã 1repetir

Allocate un compartimiento de K j para los artículos de la serie U k correspondientes a R[ ].

Coloque los artículos de U k en K j  : Q k  ;  j D min f R  [yo ] ; V  j gV  j Ã V  j  ¡ Q  k  ;  j

yo Ã yo C 1hasta V  j D 0Retire de R  los conjuntos que estaban completamente lleno en K j  .Actualizar el tamaño del nuevo conjunto más pequeño que fue sólo parcialmente embalado en K j  .Quitar K j de la lista mochila.

Figura 2. El procedimiento de relleno de codiciosos.452 H. Shachnai y T. Tamir

Mover la ventana ( j  )yo Ã 1un D R  [1] C ¢ ¢ ¢ C R  [Cj  ] .mientras (un < Vj y jRj ¸ Cj C )un Ã un  ¡ R  [yo ] C R[Cj C i  ]yo Ã yo C 1Llenar K j  :Allocate compartimentos de K j a todos los grupos correspondientes a las solicitudes

R  [yo ] ; : : : ; R  [ C Cj ¡ 1].

Para cada k, · k  · yo C C  j  ¡ 2Lugar en K j R  [k] elementos del conjunto correspondiente.

Q  k  0

;  j D V  j  ¡ . R  [yo ] C ¢ ¢ ¢ C R  [ C Cj ¡ 2]/  .

Page 10: investigacion de operacciones

Lugar en K j Q  k  0

;  j elementos del conjunto de U k  0 correspondientes a R[ C Cj ¡ 1].Actualización de la lista R:

Retire de R  los conjuntos R[ ] ; : : : ; R  [ C Cj ¡ 2].

Si el conjunto U k  0 correspondientes a R[ C Cj ¡ 1] no está completamente embalado,Movimiento R[ C Cj ¡ 1] a su nuevo lugar apropiado en el clasificado lista de R.

Quitar K j de la lista mochila.

Figura 3. El procedimiento de ventana móvil.

muestro a continuación que esto nunca ocurra. Una descripción formal del procedimiento de mover la ventanase da en la figura 3. Tenga en cuenta que la ventana avanza hasta que cubre Cj establece, taleso V j > R  [ ¡ 1] C ¢ ¢ ¢ C R  [ C Cj ¡ 2] y V j  · R  [yo ] C ¢ ¢ ¢ C R[ C Cj ¡ 1](ver figura 4). En esta etapa claramente podemos colocar en Kj todos los elementos de los conjuntosR  [yo ] ; : : : ; R  [ C Cj ¡ 2] y saturar K j mediante la adición de algunos de los elementos en el conjuntoR  [ C Cj ¡ 1].T Él A LGORITHM A  u  . El algoritmo se desarrolla en las iteraciones. En la iteración th j  llenamosK  j por las siguientes reglas:1. si hay menos de Cj fija, o si el subconjunto del Cj conjuntos más pequeñas contiene másque V j artículos, luego llenar K j usando el procedimiento de codicioso.2. si el subconjunto del Cj conjuntos más pequeñas contiene como máximo Vj artículos, luego llenar Kj usando elprocedimiento de mover la ventana.Fig. 4. La lista R.En dos versiones constreñida del problema mochila múltiples 453Ahora mostramos que el algoritmo termina con una colocación perfecta. Podemos distinguirentre dos etapas en la ejecución de A  u  :1. en la primera etapa, cada mochila Kj que está lleno contiene Cj ¡ 1 o Cj conjuntos de artículos.Esta etapa incluye algunas ejecuciones y las ejecuciones de la mudanza-windowproceduredel procedimiento de codicioso.2. la segunda etapa comienza cuando, por primera vez, el número de conjuntos en Kj , paraalgunos 1 · j  · N es menor que C j  . Esto puede claramente ocurrirá solamente cuando los avarosse utiliza el procedimiento.Tenga en cuenta que para algunos insumos, una de las etapas no se produzca. Para cada una de las dos etapas,demostramos que cualquier mochila K j que se llena durante esta etapa contendrá exactamente V jartículos de a lo sumo C j diferentes conjuntos.Utilizamos la notación siguiente:² C  k es el número total de compartimientos que están disponibles después de k mochilaslleno.² M  k es el número de conjuntos que no son completamente empacado después k mochilas llenas de.² N  k es el número de mochilas vacías después k mochilas llenas (Nk D N ¡ k  ).² r es la relación entre capacidad, es decir, 8 j  ; V  j = C  j D r  .Ahora consideramos la primera etapa.L EMMA 3.3. cada una de las mochilas que se llenan durante la primera etapa de la unaestancia serácontienen exactamente V  j elementos que pertenecen a más C  j diferentes conjuntos  .P Techo . Mostramos las siguientes invariantes para la relación entre el número de permanecerconjuntos de , mochilas y compartimientos, durante la primera etapa. Deja Kb será la primera mochilaen la segunda etapa: b puede ser cualquier número entre 1 y N.C LAIM 3.4. para cada 0 · k < b C k ¸ M  k C N  k ¡ 1.P Techo . La prueba es por inducción sobre k, el número de mochilas que ya estabanlleno.Base  . k D 0. es dado queP N

Page 11: investigacion de operacciones

j D 1 C  j ¸ M C N ¡ 1. así, usando nuestra notación,C  0 ¸ M  0 C N  0 ¡ 1.Paso de inducción  . Considerar la iteración de th k, en el cual Kk se llena.1. después de esta iteración Kk ya no está disponible, por lo tanto Ck D Ck¡1 ¡ Ck  .2. por la definición de la primera etapa, embalamos plenamente en esta iteración Ck ¡ 1 o Ck establece.Por lo tanto M k D M  k  ¡ 1 ¡ . C  k ¡ 1 / o M k D M  k  ¡ 1 ¡ C  k  . Por lo tanto, Mk · M  k  ¡ 1 ¡ . C  k ¡ 1/,es decir, M k  ¡ 1 ¸ M  k C C  k ¡ 13. claramente, Nk D Nk¡1 ¡ 1.454 H. Shachnai y T. Tamir

Por la hipótesis de inducción, C k  ¡ 1 ¸ M  k  ¡ 1 C N  k  ¡ 1 ¡ 1, por lo tantoC  k D C  k  ¡ 1 ¡ C  k

¸ M  k  ¡ 1 C N  k  ¡ 1 ¡ 1 ¡ C  k

¸ M  k C C  k ¡ 1 C N  k C 1 ¡ 1 ¡ C  k

D M  k C N  k ¡ 1:C LAIM 3.5. para cada 1 · k < b el tamaño promedio del conjunto cuando llenamos K k es por lo menos r  .P Techo . Usando reclamo 3.4, después k ¡ 1 mochilas están llenos, el tamaño promedio del conjunto esnúmero de elementos restantesnúmero de conjuntos restantes¸ potencial restante embalajenúmero de conjuntos restantesD r ¢ C  k  ¡ 1M  k  ¡ 1¸ r ¢ . M  k  ¡ 1 C N  k  ¡ 1 ¡ 1/M  k  ¡ 1¸ r:Recordemos que al principioP Myo D 1j U  yo  j D P Nj D 1 V  j  . Por lo tanto, en cualquier momento, el número dede artículos sin paquetear es al menos el restante potencial del embalaje. Además, Nk¡1 ¸ 1 desde enpor lo menos K k sigue vacía después de k ¡ 1 mochilas llenas.Concluimos que, para todos los k < b el mayor C k establece después . k ¡ 1 /  iteraciones contienen enpor lo menos r ¢ C  k artículos, que es igual a V k  . Esto significa que si el procedimiento de ventana móviles aplicado, el windownever llega al final del R (los más grandes juegos) sin saturar K k  .Mochilas que son llenados por el procedimiento de codicioso claramente están saturados, desde los codiciososprocedimiento se aplica incluso cuando el menor C k sistemas son lo suficientemente grandes como para saturar K k  .Ahora analizamos la segunda etapa del algoritmo. Tenga en cuenta que llegar a la segundade la etapa cuando el menor C b ¡ 1 sistemas juntos contienen más de V b artículos.L EMMA 3.6. cada una de las mochilas que se llenan durante la segunda etapa de unu serácontienen exactamente V  j elementos que pertenecen a más C  j diferentes conjuntos  .P Techo . Deja Rb ser la lista al final de la primera etapa. Primero demostramos que, para todos losj ¸ b K j puede estar saturada por cualquier subconjunto de C j ¡ 1 sistemas de R b  .C LAIM 3.7. al principio de la segunda etapa, para cada j ¸ b, cualquier subconjunto de Cj ¡1conjuntos contiene más de V  j artículos  .P Techo . Por definición, Kb es la primera mochila llenada en la segunda etapa. Por lo tanto menosa C b ¡ 1 sistemas se embalan en K b  . Esto sólo puede suceder si el subconjunto del Cb ¡ 1conjuntos más pequeñas contiene más de V b D r ¢ C  b artículos de . Por lo tanto, el tamaño promedio de los

Page 12: investigacion de operacciones

menor C b ¡ 1 sistemas es más grande que . r ¢ C  b  /=. C  b ¡ 1 /  . Considere una mochila Kj ;  j > b  .Se ordenan las mochilas que C j ¸ C  b  , y los conjuntos se ordenan en un nondecreasingEn dos versiones constreñida del problema mochila múltiples 455

orden de sus tamaños, por lo tanto, el tamaño promedio del menor C j ¡ 1 sistemas es más grande que. r ¢ C  b  /=. C  b ¡ 1 /  . Además, desde Cj ¸ Cb  ,r ¢ C  b

C  b ¡ 1¸ r ¢ C  j

C  j ¡ 1:Esto significa que el número total de elementos en el más pequeño C j ¡ 1 sistemas es más grande que. C  j ¡ 1 / ¢ r ¢ C  j

C  j ¡ 1D r ¢ C  j D V  j  :Claramente, si el menor C j ¡ 1 establece en R b contienen más de V j artículos, entonces cualquier C j ¡ 1se pone en R b contienen más de V j artículos.Ahora utilizamos el reclamo 3.7 para mostrar que cualquier mochila llena después de K b contiene como máximoC  j ¡ 1 diferentes sistemas y está saturado por elementos adicionales llenos desde un conjunto de R b  .Por el procedimiento de relleno de codiciosos, K b se llena hasta V b artículos son embalados. El último setembalado en K b puede incluir algunos elementos más desempaquetados. La fracción de la izquierda de la divisiónconjunto es ahora la más pequeño set en R b  (desde incluso antes de la división era parte de los más pequeñosjuego disponible). En otras palabras, la fracción es R[1]. Ahora pasamos a llenar KbC1. Considerarel más pequeño C b C 1 conjuntos de . Estos conjuntos se componen de R[1] y adicional CbC1¡1 establece. PorReclamación 3.7 el adicional C b C 1 ¡ 1 sistemas incluyen más de V b C 1 artículos, por lo tanto (no importadel tamaño de la fracción R[1]) el menor CbC1 conjuntos incluyen juntos más de VbC1

artículos y el procedimiento de relleno de codiciosos se utiliza: V b C 1 artículos de a lo sumo C b C 1 conjuntos se colocanen K b C 1 . Una vez más, el último conjunto podrá ser embalado sólo parcialmente. El mismo argumento sostiene hastallegamos a una mochila K l  , de tal manera que menos C l conjuntos quedan. DesdeP Myo D 1j U  yo  j D P Nj D 1 V  j

al principio y desde entonces todas las mochilas antes de K l se satura, el número totalde artículos sin paquetear equivale a la total dejado el volumen. Por lo tanto, podemos llenar Kl usando los codiciososprocedimiento de . Este argumento sostiene para todas las mochilas restantes, hasta KN está saturadoy no se quedan conjuntos.Combinando lemas 3.3 y 3.6 concluimos que cada uno de las mochilas K j  ; 1·j  · N se llena por exactamente V j artículos de a lo sumo C j diferentes conjuntos. Por lo tanto, el algoritmo determina con una colocación perfecta.El algoritmo es polinomio: cada uno de los procedimientos de relleno toma O . M  / pasos. Agregarla complejidad de preprocesamiento de ordenar las listas, la complejidad total del algoritmoes O . N ¢ M C N  log N C M  registro M /.3.3. aproximar una colocación perfecta. Cuando las mochilas no tienen uniformerelación de capacidad, el grado de falta se mide por la mínima ®  tal que, para

Page 13: investigacion de operacciones

algunos r > 0,8 j  ; r  · V  j

C  j

(1) · ® ¢ r  :(Cuando ® D 1 tenemos relación capacidad uniforme, en cualquier otro caso ® > 1.) En esta secciónmostramos cómo se puede aproximar una colocación perfecta. La proporción de aproximación esproporcional a ®.456 H. Shachnai y T. Tamir

T HEOREM 3.8. deja que ® ¸ 1 es el mínimo número satisfactorio (1). Si C ¸ M C N ¡ 1,a continuación, un  . 1 =®/  -colocación utilizada puede encontrarse en tiempo polinómico  .P Techo . Considere la siguiente instancia, yo 0, el problema de colocación: por cada mochilaK  j 1 · j  · N el volumen de K j en 0 es V 0j

D d r ¢ C  j e . Que V0 D PN

j D 1 V 0j .Para cada conjunto, U yo el tamaño del conjunto de U yo en 0 denotada por j U 0Yo

j , se determina mediante la resolución de laproblema de MAX-MIN siguiente:Maximizar minj U 0Yo

jj U  yo  j ;  tal queX Myo D 1j U 0Yo

j D V 0;  j U 0Yo

(2) j integer.En primer lugar, tenga en cuenta que cualquier colocación legal de 0 induce una colocación legal por el originalinstancia. Esto se deduce la siguiente afirmación:C LAIM 3.9. para cada 1 · j  · N V 0j

· V  j  .P Techo . Por cada 1 · j  · N V j es un entero. Por lo tanto, para el logro de la mochilael ratio de capacidad mínima, V j D r ¢ C  j D d r ¢ C  j e D V 0j  . Por cada mochila Kj taleseso V j = C  j > r existe algunos "> 0 tal que V j D . r C "/ ¢ C  j D d . r C "/ ¢ C  j ¸ ed r ¢ C  j e D V 0j .A continuación, mostramos que una colocación perfecta existe y se puede encontrar eficientemente para 0.Tenga en cuenta que las mochilas en 0 no necesariamente tienen relación capacidad uniforme, sin embargo, elfalta es lo suficientemente pequeño como para demostrar que el algoritmo A  u presentado en la sección 3.2 esconveniente para 0 . Seguimos la prueba del teorema 3.2 para demostrar que unaestancia llena cada mochilacon exactamente V 0j artículos de a lo sumo C j conjuntos de . Es fácil verificar que reclamos 3.4 y 3.5 mantengapara I 0 . Deja Kk ser una mochila llenada durante la primera etapa de Au. Por reclamo 3.5, la media

Page 14: investigacion de operacciones

establecer el tamaño cuando llenamos K k es por lo menos r  . De hecho, V0

j puede ser mayor que r ¢ C  j  , sin embargo, puesto queel número de elementos que se incluyen en la ventana es un entero y desde V 0j

D d r ¢ C  j e es elnúmero entero más pequeño no menor que r ¢ C  j  , concluimos que cada vez que la mudanza de la ventanaprocedimiento es aplicado, la ventana no alcanza el final de R sin saturar K k  .Asimismo, para la segunda etapa de A  u Reclamo 3.7 depara 0 y concluimos que todos losmochilas están saturados. Por reclamo 3.9, una colocación legal en 0 es una colocación legal parala instancia original. Desde V0 ¸ . 1 =®/ V una colocación perfecta en 0 induce una colocaciónes decir . 1 =®/  -utilizado para el original instancia .R EMARK 3.1. para resolver el CMKP, cualquier opción de establecer tamaños que satisface, 8;  j U 0Yo

j ·j U  yo  j yP Myo D 1j U 0Yo

j D V 0 se puede aplicar aquí. La solución de (2) también resuelve eficientementela FPP: para cada sistema U yo  , j U 0Yo

¸ j . 1 =®/  j U  yo ¡ j! 1.Con el fin de lograr una buena aproximación que nos gustaría tener ®  lo más cerca posible1. En la sección 5 se muestra que los compartimentos se pueden mover entre las mochilas,entonces ® D C  k =. C  k ¡ 1 /  , donde K k es la mochila con la capacidad máxima relación.Este modelo es relevante para subsistemas de almacenamiento MOD, en la cual pueden ser recursos de almacenamientose movió entre los discos.En dos versiones constreñida del problema mochila múltiples 457

4. algoritmo de aproximación para el CMKP. En esta sección presentamos una aproximación dualalgoritmo de theCMKP. Específicamente, nosotros demostrar es suficiente con añadir unocompartimiento para cada mochila, con el fin de eliminar la brecha entre el rendimientode un óptimo, algoritmo de tiempo probablemente exponencial y un algoritmo de tiempo polinomial.Hay que recordar que un algoritmo de aproximación dual se encuentra una solución factible que es superoptimal.Su rendimiento se mide por el grado de inviabilidad permitido. La propuestaalgoritmo está permitido publicar artículos de C j C 1 (en lugar de Cj ) diferentes conjuntos enK  j 1 · j  · N  .T HEOREM 4.1. dado una instancia de la CMKP, mediante la adición de un solo compartimiento paracada mochila podemos encontrar una colocación en tiempo polinómico, cuya utilización es menosla máxima utilización posible para I  .P Techo . Sea una instancia de la CMKP. Denotar porC generada a partir de la instanciamediante la adición de un compartimiento para cada mochila. Presentamos un algoritmo de tiempo polinomialque encuentra una colocación legal en C . El algoritmo, denotado por unr procede por rellenoK  j a lo sumo V j artículos de a lo sumo C j C 1 diferentes sistemas, 8 1 · j  · N  . El número totalde artículos llenos de C por A  r es el número total de artículos llenos de por lo menosun algoritmo óptimo.Como en el caso de uniforme-cociente (sección 3.2), suponemos que los conjuntos de elementos se danen orden nondecreasing de sus tamaños, es decir, los conjuntos de satisfacer j U  1 j j · U  2 j · ¢ ¢ ¢ j · U M  j.Mantenemos los sets restantes en una lista ordenada, denotada por R, que se actualiza durante laalgoritmo. Este algoritmo también utiliza los dos procedimientos de mochila-relleno: relleno de codiciososy mover la ventana introducido en la sección 3.2. Sin embargo, el procedimiento de ventana móvil

Page 15: investigacion de operacciones

ha cambiado un poco: ahora la ventana cubre C j C 1 Series (en vez de Cj ). Además, si el subconjuntode la C j C 1 sistemas más grande incluye menos de V j artículos, entonces nosotros no podemos saturar K j  , yhacemos lo mejor que podamos: llenamos K j con estos C j C 1 Series (en el uniforme-ratio caso estonunca sucede).Las mochilas se dan en un orden nonincreasing por su relación de capacidad, es decir, V 1 = C  1¸V  2 = C  2 ¸ ¢ ¢ ¢ ¸ V N = C N  . Las mochilas ordenados se mantienen en una lista que se denota por L0. Otrolista de mochilas, denotado por L 00 , pueden crearse durante la ejecución del algoritmo de.T Él A LGORITHM A  r  . En general, el algoritmo utiliza el procedimiento de mover la ventana allenar la mochila según su orden en L 0 es decir, en la iteración th j  llenamos K j yquitarlo de L 0.Tenga en cuenta que el procedimiento de mover la ventana coloca en K j artículos de exactamente C j C conjuntos de 1.A veces no es posible embalar desde esa cantidad de conjuntos (véase abajo): de talcasos nos movemos K j a L 00 o buscar otra mochila para que la mudanza de la ventanaprocedimiento puede ser aplicado. Mochilas que se mueven de L0 a L00 están llenos con elprocedimiento codicioso, después de L 0 está vacía.Se utilizan las siguientes reglas cuando A  r examina K j 2 L 0.² Si K j D; , es decir, L 0 es vaciar, llenar secuencialmente todas las mochilas en L 00 usando el greedyfillingprocedimiento.² Si hay menos de C j C 1 establece en R, mover K j hasta el final de L 00.458 h Shachnai y T. Tamir

² Si el subconjunto del C j sistemas más pequeños en R contiene como máximo V j artículos, llenar K j con artículosde C j C 1 diferentes conjuntos, utilizando el procedimiento de ventana móvil.² Si el subconjunto del C j sistemas más pequeños en R contiene más de V j Buscar artículos,la primera mochila K k 2 L 0 para el cual el subconjunto del menor C k  incluye conjuntosa lo sumo V k artículos de . Si existe tal una mochila, llenar Kk usando el procedimiento de ventana en movimiento;K  j será examinado nuevamente en la siguiente iteración. Si no hay ninguna tal mochilaen L 0 llenamos secuencialmente todas las mochilas en L 0 y L 00 usando el codicioso-rellenoprocedimiento.Optimalidad  . Denotar por G D fKg1 ; K  g  2 ; : : : ; K  g  n

g el conjunto de mochilas que no sonsaturado por A  r y denotan por w  1 w;  2 ;:::; w  n  la resultante pérdida de volumen en cada unomochila no saturado, es decir, el volumen de K g  yo es completamente no explotados y único V g  yo

¡ w  yo

los artículos se colocan en K g  yo  . Demostramos que no hay ninguna colocación legal de que elutilización total excedeP Nj D 1 V  j ¡ w  1 C w  2 C ¢ ¢ ¢ C w  n  /  . Para probar esto, podemos distinguirentre las cuatro etapas de A  r  :1. mochilas de L0 son llenados por su orden en L0usando traslado-windowprocedure;algunas de las mochilas pueden ser movidos a L 00.2. mochilas de L0 se llenan mediante el movimiento-windowprocedure, pero no necesariamentesegún su orden en L 0 algunas de las mochilas pueden ser movidos a L 00.3. mochilas de L0 están llenas, utilizando el procedimiento de relleno de codiciosos (cuando no hay mochilade L 0 puede ser llenado por el procedimiento de mover la ventana).4. mochilas de L00 se llenan mediante el procedimiento de relleno de codiciosos (cuando L0 está vacía).

Page 16: investigacion de operacciones

Para las dos primeras etapas se muestra que la pérdida total de volumen i C es en la mayoría de lospérdida de volumen en una colocación óptima de  . Para las dos últimas etapas se muestra queNo hay ningún residuo, y todas las mochilas llenados durante estas etapas están saturados.Para simplicidad, se asume que cada vez que se ejecuta el procedimiento de mover la ventana, lalista de R es escaneada de izquierda a derecha, es decir, el conjunto más pequeño, R[1], es el conjunto de la izquierda yel conjunto más grande es el de la derecha en R. Durante la ejecución del procedimiento de mover la ventana,la ventana se mueve de izquierda a derecha. Hay dos escenarios posibles:1. Saturating: en el cual Kj está saturado, lo que significa que existe algún i  , que es elÍndice de R del conjunto más pequeño en la ventana, de tal forma que(i) ( > 1 y Vj > R[ ¡ 1] C ¢ ¢ ¢ C R[ C Cj ¡ 1]) o ( D 1 y Vj >R  [1] C ¢ ¢ ¢ C R  [Cj  ]);(ii) Vj · R  [yo ] C ¢ ¢ ¢ C R  [ C Cj  ].En esta etapa, claramente podemos colocar en K j el C j establece R[ ] ; : : : ; R  [ C Cj ¡ 1], ysaturar K j mediante la adición de algunos de los artículos de R[CCj ]. Los conjuntos de R[ ]; : : : ; R  [CCj¡1]se extraen R, y la fracción de la izquierda de la set R[CCj ] éstesemueve a su actualizadolugar en la lista R. Tenga en cuenta que desde algunos de los elementos de este conjunto se embalan, la posiciónde eso fracción en R queda a su posición original.2. Nonsaturating: en que la ventana alcanza la posición más a la derecha en R, pero lasubconjunto del C j C 1 sistemas más grande cubierto por la ventana contiene menos de V j artículos.Todos los elementos de los conjuntos de R[ ] ; : : : ; R  [ C Cj ] estén embaladas, y se eliminan estos conjuntosde R.En dos versiones constreñida del problema mochila múltiples 459En ambos casos, podemos considerar la secuencia quitada de conjuntos como un agujero en R. En unsaturar la ejecución, K j crea un agujero de C j establece en Ry un conjunto adicional (elfracción a la izquierda de la última serie) se mueve la izquierda del agujero. En una ejecución nonsaturating, Kj

crea un agujero de C j C 1 establece en R.Examinamos la secuencia de los agujeros creados durante la primera etapa del algoritmo en R  .Primero mostramos que cada mochila nonsaturated crea, en el extremo derecho del R, un agujeroque es la Unión de todos los agujeros en R.C LAIM 4.2. todos los Kgj

2 G llena durante la primera etapa de A  r une los orificios existentesen R en un solo agujero ubicado en el extremo derecho del R.P Techo . La prueba es por inducción en j  , el índice de Kgj en G.Base  . K g  1 es la primera mochila nonsaturated en la ejecución de A  r  . Las mochilas sonordenados en orden nonincreasing por sus relaciones de capacidad. Por lo tanto, para todos los k < g1lapromedio del número de elementos de cada conjunto embalado en K k es más grande que el promediode elementos de cada conjunto embalado en K g  1 . En particular, el conjunto más grande en el agujero creado porK  k es más grande que el conjunto más pequeño en el agujero creado por K g  1 . Por lo tanto, el agujero creado por Kg1

comienza a la izquierda del agujero creado por K k  . Además, desde Kg1 no se satura, el agujero se creaincluye el mayor C g  1

C 1 juegos disponibles y en particular el que más a la derecha. Por lo tantoune todos los agujeros que fueron creados por mochilas previamente llenados en un agujero.Paso de inducción  . Deja Kgj ser la mochila nonsaturated de th j  llenada durante la primera etapadel algoritmo A  r  . Por la hipótesis de inducción, Kgj¡1 une todos los agujeros creados porK  1 ; K  2 ; : : : ; K  g  j  ¡ 1 . En otras palabras, Kgj¡1 R de divide en dos partes: el agujero de la derecha

Page 17: investigacion de operacciones

y el restante se establece en la izquierda. Las mochilas se ordenan en orden nonincreasingsus relaciones de capacidad. Por lo tanto, al igual que en el caso base, por cada gj¡1 < k < gj la medianúmero de elementos de cada conjunto colocado en K k es más grande que el número promedio de elementosen cada sistema embaló en K g  j por lo tanto el agujero creado por K g  j comienza a la izquierda del agujero creadopor K k  . Puesto que también incluye el conjunto más grande disponible, une los agujeros creados porK  g  j  ¡ 1 C 1 ; : : : ; K  g  j  ¡ 1 y el agujero en la parte derecha creado por K 1 ; : : : ; K  g  j  ¡ 1 en un agujero.La forma que se crean los agujeros implica A  r es óptimo para las mochilas llenadosdurante la primera etapa:L EMMA 4.3. Deja Kj llenarán la última mochila por unr durante la primera etapa a continuación, elnúmero total de elementos colocados en K  1 ; : : : ; K  j es por lo menos el número de objetos que se coloquen enK  1 ; : : : ; K  j bajo un algoritmo óptimo para la instancia  .P Techo . Deja Kgj ser la última nonsaturated mochila llenada durante la primera etapa. Elmochilas que se llenan después de K g  j están saturados. Por lo tanto, es suficiente probar que ellema sostiene para K 1 ; : : : ; K  g  j  . Por reclamo 4.2, el agujero creado por Kgj une todos los agujeroscreado por K 1 ; : : : ; K  g  j  . Para todos los k · g  j el agujero creado por K k se compone de C k o C k C 1conjuntos, por lo tanto el agujero combinado consiste en por lo menos el más grande C 1 C C  2 C ¢ ¢ ¢ C C  g  j establece.El tamaño total del agujero es el tamaño total de conjuntos indivisa en K 1 ; : : : ; K  g  j quees a lo sumo V 1 C V  2 C ¢ ¢ ¢ C V  g  j

¡ w  1 C w  2 C ¢ ¢ ¢ C w  j  /  . Concluimos que la suma deH. 460 Shachnai y T. Tamir

el mayor C 1 C C  2 C ¢ ¢ ¢ C C  g  j conjuntos es a lo sumo V 1 C V  2 C ¢ ¢ ¢ C V  g  j

¡ w  1 C w  2 C ¢ ¢ ¢ Cw  j  /  , lo que significa que ningún algoritmo, y en particular una óptima, puede colocar más deV  1 C V  2 C ¢ ¢ ¢ C V  g  j

¡ w  1 C w  2 C ¢ ¢ ¢ C w  j  / elementos de K 1 ; : : : ; K  g  j  .Tenga en cuenta que las fracciones de conjuntos que fueron creados por K 1 ; : : : ; K  g  j  ¡ 1 no debería molestarnos:Si una fracción de un conjunto más tarde esta lleno, significa que está contenido el tamaño original de ese seten el agujero Unido. Si la fracción no está lleno, entonces el número total de elementos llenopor A  r es en realidad mayor que V 1 C V  2 C ¢ ¢ ¢ C V  g  j

¡ w  1 C w  2 C ¢ ¢ ¢ C w  j  /  lo que significa queK  1 ; : : : ; K  g  j no puede ser llenado mejor incluso por más que el más grande C 1 C C  2 C ¢ ¢ ¢ C C  g  j

establece.Recordar que durante la primera etapa se puedan mover mochilas de L 0 a L 00 . Estosmochilas se llenará durante la cuarta etapa, y la primera etapa continúa. El primeroetapa continúa hasta que encontramos una mochila K k  , para lo cual el subconjunto del C k conjuntos más pequeñoscontiene más de V k artículos.Ahora probamos la optimalidad de la segunda etapa. La prueba es similar a la pruebapara la primera etapa. Mostramos que los agujeros creados durante la segunda etapa están UnidosCuando una mochila no está saturada; Entonces concluimos que la colocación es óptima.Primero demostrar que los agujeros crean durante la segunda etapa siempre "se extendió a laizquierda"en R.C LAIM 4.4. Deja Kk1 y Kk2 ser dos mochilas que están llenos de iteraciones sucesivasdurante la segunda etapa entonces el agujero creado por K k  2 comienza a la izquierda del agujero creado por K  k  1.P Techo . Consideramos dos casos por separado:1. k1 < k2, lo que significa que la relación entre capacidad Kk1 es mayor que el cociente de la capacidad de

Page 18: investigacion de operacciones

K  k  2 . En este caso, al igual que en la primera etapa, es evidente que el agujero creado por Kk2 comienza a la izquierdadel agujero creado por K k  1.2. k > 1 k2. El algoritmo, cuando examinamos Kk2 el subconjunto del Ck2 conjuntos más pequeñoscontiene más de V k  2 artículos y el relleno de K k  2 se retrasó. Puesto que finalmente llenamosK  k  2 durante la segunda etapa, se utilizan nuevos pequeños conjuntos. Estos pequeños conjuntos son fraccionescreado por mochilas saturados después de K k  2 fue rechazada. Puesto que examinamos Kk2 otra vezdespués de cada iteración y finalmente se llena después de K k  1 significa que una fraccióncreado por K k  1 se utiliza. Recordemos que, para ¸ 1, cualquier resto de un conjunto que vuelve aR al final de la iteración será colocado izquierda del orificio creado en R durante esteiteración. Por lo tanto el agujero creado por Kk2 comienza a la izquierda del agujero creado por Kk1.Ahora llegamos a la conclusión que nonsaturated mochilas para unirían los agujeros R.C LAIM 4.5. cada Kgj

2 G llena durante la segunda etapa de A  r une los agujeros Ren un solo agujero  ; este agujero forma del extremo derecho del R.P Techo . La prueba es por inducción en j  , el índice de Kgj en G. Seguimos los pasosde la prueba de reclamación 4.2. De hecho, no podemos asumir que las mochilas están llenosun nonincreasing orden de su proporción de capacidad. Sin embargo, por reclamar 4.4, si Kgj está llenodespués de K k entonces el agujero crea comienza izquierdo del agujero creado por K k y puesto que tambiénEn dos versiones constreñida del problema mochila múltiples 461

incluye el conjunto de la derecha disponible, une todos los agujeros creados por K k  ; : : : ; K  g  j  , yla inducción en la prueba de reclamación 4.2 puede ser aplicada.Al igual que en la prueba de optimalidad para la primera etapa, llegamos a la conclusión de la manera en los agujerosse crean, que la colocación es óptima.C OROLLARY 4.6. Deja Kj llenarán la última mochila porunr durante la segunda etapa luegoel número total de artículos envasados en K  1 ; : : : ; K  j es por lo menos el número de artículos llenosen K  1 ; : : : ; K  j bajo un algoritmo óptimo para la instancia original  .Para la primera y segunda etapas hemos demostrado que el volumen total desperdiciado en mochilasllena durante estas etapas no supera la pérdida de volumen en estas mochilasbajo una colocación óptima para . Completamos la prueba de optimalidad mostrandoque todas las mochilas que se llenan durante la tercera y las cuarta etapas de A  r sonsaturado.L EMMA 4.7. cada una de las mochilas que se llenan durante la tercera etapa del unr serácontienen exactamente V  j artículos que pertenecen a más de C j C diferentes conjuntosde 1.P Techo . La tercera fase consiste en sucesivas ejecuciones del procedimiento de relleno de codiciosos.A  r  llega a la tercera etapa if, por cada mochila K j 2 L 0 el subconjunto de la C jconjuntos más pequeñas contiene más de V j artículos de . Claramente, si el Cj conjuntos más pequeños son demasiado grandes,entonces cualquier C j sistemas son demasiado grandes para K j  . Mostramos que el algoritmo voraz no utiliza nunca mása C j C 1 establece para llenar K j  :Deja K c  llenar la mochila primera en la tercera etapa. Claramente, a lo sumo Cc se utilizan conjuntos de.El último conjunto de que elementos se embalan en K c puede partirse. La fracción que queda esAhora el conjunto más pequeño (desde incluso antes de la división era parte de la más pequeña disponiblejuego). En otras palabras, la fracción es R[1]. Ahora pasamos a llenar KcC1. Considerar el subconjuntode la C c C 1 C conjuntos de 1 más pequeño. Se compone de R[1] y adicional CcC1 establece. El subconjuntodel adicional C c C 1 conjuntos incluye más de V c C 1 artículos, por lo tanto, pase lo que paseel tamaño de la fracción R[1], el menor C c C 1 C 1 conjuntos incluyen juntos más de

Page 19: investigacion de operacciones

V  c C 1 artículos y nosotros podemos embalar en K c C 1 exactamente V c C 1 artículos de a lo sumo C c C 1 C conjuntos de 1.Una vez más, el último conjunto puede partirse. El mismo argumento sostiene para todas las mochilas que permanecenen L 0 . Es decir, cada mochila Kj contendrá exactamente Vj elementos que pertenecen a lo másC  j C conjuntos de 1.L EMMA 4.8. cada una de las mochilas llenados durante la cuarta etapa del unr contendráexactamente V  j elementos que pertenecen a más C  j C diferentes conjuntosde 1.P Techo . En la cuarta etapa llenamos las mochilas en L00. Recordemos que una mochila Kj

se traslada a L 00 si hay menos de C j C 1 disponible establece en el momento en que se examinapor A  r  . Puesto que no agregamos juegos a lo largo de la ejecución del algoritmo, claramentehay menos de C j C 1 disponible establece cuando llenamos K j en la cuarta etapa, usandoel procedimiento de codicioso. Para lograr que las mochilas están saturadas, tenga en cuenta queal principioP Myo D 1j U  yo  j D P Nj D 1 V  j es decir, el número total de elementos es igual462 H. Shachnai y T. Tamirpara el volumen total disponible. Puesto que ninguna mochila es llenada por más Vj artículos,la suma de los tamaños de los sets restantes siempre excede el total restantevolumen.Combinando corolario 4.6 con lemas 4,7 y 4,8 concluimos que el totalcantidad de volumen perdido para la instancia C no exceda la cantidad total de desperdiciovolumen bajo una colocación óptima de  . En particular, si existe una colocación perfectayo  , entonces nuestro algoritmo encuentra una colocación perfecta de C.El algoritmo es polinomio: cada procedimiento de relleno tiene complejidad O . M  /  . En elpeor de los casos (durante la segunda etapa) toma O . M ¢ N  / pasos para elegir el próxima mochilapara ser llenado. Por lo tanto la complejidad total del unr es. M  2 ¢ N  2/.El esquema de doble aproximación rinde el siguiente algoritmo de aproximación para elCMKP:1. encontrar una solución óptima, suponiendo que Cj D Cj C 1; 8 1 · j  · N  . Deja que 0; Q 0 ser elindicador resultante y las matrices de cantidad.2. deja que D I 0

; Q D Q 0.3. por cada mochila Kj ;  j D 1 ; : : : ; N  : siPyo Q  yo  ;  j D C  j C 1 (es decir, CjCcompartimentos 1se utilizan), deje Us ser el juego de que la cantidad colocada en Kj es mínima, es decir,Q  s  ;  j D min 1 · yo  · M Q  yo  ;  j > 0, entonces Q s  ;  j D 0.En otras palabras, giramos la colocación inviable en una factible, utilizando sólo laC  j máximo compartimentos en cada mochila. Tenga en cuenta que esta manera omitimos desde el subconjuntode empacado elementos como máximo V j =. C  j C 1 / artículos.C OROLLARY 4.9. dado una instancia de la CMKP, dejar Uoptar por obtener la utilizaciónpor una colocación óptima de los elementos entonces podemos encontrar en O . M  2 ¢ N  2 / pasos de una colocaciónque alcanza la utilización U D U OPT ¡ " para " D P Nj D 1 . V  j =. C  j C 1//.En particular, si la cantidad de compartimentos en cada mochila es menos b, para algunos

Page 20: investigacion de operacciones

b ¸ 1, es decir, C j ¸ b para todos 1 · j  · N  , entonces el algoritmo de aproximación anterioralcanza la utilización . 1 ¡ ®/ U OPT para ® D 1 =. b C 1/.5. aplicación a sistemas MOD. En esta sección mostramos cómo nuestros resultados para elCMKP y el FPP se aplican a la administración del almacenamiento en sistemas multimedia. Considerar unsistema tiene N discos: es la capacidad de almacenamiento de disco j de C j  , y su capacidad de carga es L j  ,1 · j  · N  . La base de datos asociado con el sistema MOD contiene programa video Marchivos f f  1 ; : : : ;  f M g , con las correspondientes popularities f p  1 ; : : : ; p M g . La popularidadparámetro de f yo  refleja la porción de la carga total generada debido a las peticiones de accesoa f yo  . Conociendo a estos popularities y la capacidad de carga total del sistema, podemosDetermine la carga promedio generada por cada uno de los archivos.Como se mencionó en la sección 1.2, puede formularse el problema de asignación de archivos en discoscomo ejemplo de los problemas de embalaje, con los discos representados por mochilas, yt P él archivos por conjuntos de artículos. Los popularities de los archivos de determinan los tamaños de conjunto, tal que Myo D 1j U  yo  j D P Nj D 1 L  j  . Cuando nuestro objetivo es maximizar la utilización, que debemos resolverEn dos versiones constreñida del problema mochila múltiples 463el CMKP; Cuando el objetivo es maximizar la imparcialidad, que debemos resolver la FPP. Una soluciónpara cualquiera de nuestras dos variantes de la mochila problemas inducirá una asignación estática legal.En cuanto a las matrices y Q:² Yo  yo  ;  j D 1 iff una copia de los archivos se almacena en el disco j  .² Q  yo  ;  j 2 f 0 ; 1 ; : : : ; L  j g es la carga total de ese archivo puede crear en el disco j  .Por lo tanto, nuestros resultados en la sección 3 rendimiento algoritmos eficientes para encontrar un trabajo perfectode los archivos de los discos, en el cual la capacidad de carga del sistema es totalmente utilizada, y elpide a cada uno de los archivos puede ser satisfecha.5.1. aproximación relación capacidad uniforme. Ahora consideramos una ligeramente diferentemodelo, en el cual el subsistema de almacenamiento consiste en arreglos de discos de N, D 1 ; : : : ; D N  : D j hauna capacidad fija, L j  , y, además, hay un límite en el número total de, C,unidades de almacenamiento que pueden distribuirse en los arreglos de discos. Nos gustaría encontrar una asignaciónde las unidades de almacenamiento para los arreglos de discos. Es decir, para cualquier 1 · j  · N  tenemos que determinarC  j  la capacidad de almacenamiento de D j  tal queP Nj D 1 C  j D C  . Este modelo refleja la situaciónen el cual varios arreglos de discos se utilizan para almacenar los archivos. La capacidad de almacenamiento de unaarreglo de discos es la suma de las capacidades de almacenamiento de los discos individuales. Por lo tanto, el almacenamientocapacidad de un arreglo de discos (con una capacidad de carga fija) puede variar, dependiendo del almacenamientocapacidades de los discos que componen la matriz. Mostramos debajo de eso, en tal sistema, elcapacidad total de almacenamiento puede distribuirse entre los arreglos de discos, con el fin de lograr unarelación entre la capacidad casi uniforme. Esto nos permite encontrar un trabajo casi perfecto delos archivos de los discos.Deje que L D P Nj D 1 L  j  la capacidad de carga total del sistema. De hecho, es fácildeterminar la capacidad de almacenamiento de cada arreglo de discos con el fin de obtener una "capacidad uniforme

Page 21: investigacion de operacciones

ratio ": en particular, podemos elegir C j D C ¢ L  j = L  . Esto produce una relación capacidad uniformecon r D L = C  . Sin embargo, desde entonces requerimos que cada arreglo de discos tiene un número integralde archivos, tenemos que ronda el C j de una manera que minimiza la violación de la uniformidad.Formalmente, que debemos resolver el siguiente problema de programación de enteros:Minimizar ® D máximo 1 · j  · N  . L  j = C  j  /min 1 · j  · N  . L  j = C  j  /tal queX Nj D 1C  j  (3) D C; C  j  integer.Este problema puede ser resuelto de forma óptima en O . N  log N C N  registroC / pasos, utilizando, por ejemplo, elalgoritmo "SOLVE-FAIR" (véase el capítulo 6 de [14]). La solución proporciona una asignaciónde las unidades de almacenamiento de los discos tales que, para algunos r > 0,8 j  ; r  · L  j

C  j

(4) · ® ¢ r  ;y ® se reduce al mínimo. Por teorema 3.8 tenemos:C OROLLARY 5.1. si los contenedores pueden ser distribuidos entre los discos, un . 1 =®/  -utilizadosasignación se encuentran en O  . N ¢ M C N  log N C N  registroC / pasos donde ® es el valorde la solución óptima de  (3).464 H. Shachnai y T. Tamir

Observar que ® es pequeña (es decir, cercano a 1), tenga en cuenta que, en cualquier solución óptima de (3),la relación de capacidad de D j satisface¹LCº· L  j

C  j

·»LC¼; 8 1 · j  · N  :Esto inmediatamente rendimientos un límite de 2 ®  . Más exactamente, ®  · dL=Ce=bL=Cc:5.2. lograr una utilización casi óptima. En la sección 4 se presenta una aproximación dualalgoritmo para el CMKP. En términos de sistemas MOD, significa que podemos lograrla utilización óptima de un sistema mediante la adición de una unidad de almacenamiento en cada disco. En efecto, paraun sistema determinado de MOD, tales cambios en la configuración pueden ser imposibles, sin embargo, nospuede utilizar el algoritmo de aproximación derivado de algoritmo A  r y el resultado en corolario4.9. esto implica que si cada uno de los discos puede almacenar al menos archivos b  , para algunos b ¸ 1,es decir, C j ¸ b para todos 1 · j  · N entonces el algoritmo de aproximación anterior alcanzautilización . 1 ¡ ®/ U OPT , con ® D 1 =. b C 1/.6. discusión. Hemos estudiado dos variantes del problema de la mochila, a saber, elCMKP y el FPP. Hemos demostrado que ambos problemas son NP-hard; para algunos casosexiste un algoritmo óptimo tiempo polinómicas. También hemos propuesto un algoritmo de aproximaciónpara el CMKP. Por último, hemos mostrado cómo nuestros resultados para el CMKP y el FPPpuede ser utilizado para la asignación eficiente de los recursos en subsistemas de almacenamiento multimedia.

Page 22: investigacion de operacciones

Nuestro papel deja abiertas varias vías interesantes para la labor futura:² Para el caso especial donde M D 1, tanto el CMKP y el FPP son fáciles de resolver. Encontraste, ambos problemas son difíciles de resolver, ya para el caso donde M D 2, si cadamochila tiene un solo compartimiento. Es interesante para investigar más a fondo cómo lacociente entre M, el número de clases de artículos y la cantidad de compartimentos en elMochilas nos permite encontrar una solución óptima para cada uno de los problemas eficientemente.A lo largo de estas líneas, es posible formular versiones más débiles de las condicionesdado en la sección 3.1.² Presentamos un . 1 ¡ ®/  -algoritmo de aproximación para el CMKP, donde ® dependeen la entrada, es decir, el cociente de la capacidad de las mochilas. Puede ser el CMKP (FPP)aproximada a un factor 1 ¡ "  , para cualquier "> 0, utilizando un polinomio (totalmente)¿esquema de aproximación?² Consideramos el caso donde s . u  / D w. u  / para cualquier u 2 U  . Una extensión natural detanto el CMKP y el FPP permitiría Artículos de diferentes tipos para tener diferentestamaños y pesos diferentes.² Hemos demostrado la aplicación de la CMKP y el FPP para el problema de la asignaciónarchivos a discos en subsistemas de almacenamiento multimedia. Una suposición subyacente en laproblema de la asignación fue que la configuración de hardware es fijo, y nuestro objetivo eshacer el mejor uso de esta configuración, en términos de utilización y la equidad. En la dobleproblema de configuración del sistema nuestro objetivo es lograr una cierta calidad de servicio,y nos permite cambiar la configuración de hardware. Concretamente, dado un conjunto dearchivos, nos gustaría determinar el número de discos que deben usarse para almacenary difusión de estos archivos; los discos pueden ser de varios tipos diferentes, donde cadaEn dos versiones constreñida del problema mochila múltiples 465tipo se caracteriza por la capacidad de almacenamiento y carga específica y un costo fijo. Esto le dasubida a la siguiente versión del problema bin-embalaje fraccional con restricciones de clase:Supongamos que tenemos un conjunto U de j U  j D M elementos, cada elemento u 2 U  tiene un tamaño s . u  / 2 Z C.Podemos embalar los artículos en U (que permite dividir los artículos) en una colección de contenedores que puedenser de varios tipos diferentes. Un contenedor de tipo j  tiene volumen Vj ; puede contener Cj ¸ 1 artículosy su costo es F j  . Nuestro objetivo es para embalar todos los elementos de un conjunto de contenedores a un costo mínimo de.² El CMKP y el FPP pueden aplicarse para la asignación estática de archivos en los discos.Asignación estática es sólo el primer componente de un esquema de asignación de recursos MOD,en el cual se define el estado inicial del sistema. Luego es seguido por una dinámicafase  , en que las peticiones del cliente al llegar al sistema necesita ser reparado. Durantela fase dinámica, pueden cambiar las popularities de los varios archivos. Tales cambios sonnaturales, por ejemplo, cuando se trata con datos de vídeo disponibles en los sitios de la world-wide-web.En respuesta, el sistema MOD debe apoyar operaciones tales como supresiones de archivo orepeticiones, además de reasignaciones de la carga. Esto introduce una versión en línea decada uno de nuestros problemas de embalaje, donde los tamaños de los conjuntos que nos gustaríapaquete puede cambiar dinámicamente, y tenemos que actualizar la colocación en consecuencia. Eltransición de la colocación de uno a otro debe hacerse con el número mínimode reasignaciones de artículos a los compartimientos.Agradecimientos. Nos gustaría dar las gracias a los revisores, para proporcionar muchos útilesComentarios y sugerencias.Apéndice. En este apéndice se muestra la validez de los resultados para las instancias generalesde la CMKP y la FPP, en el cual no es necesariamente igual al número total de elementosa la suma de los volúmenes de las mochilas, a saber, j U  j 6 D V  . Tenga en cuenta que las definicionesde utilización y la equidad, como se indica en las secciones 2.1 y 2.2, no dependen de la relaciónentre j U  j y V. Sin embargo, esta proporción, influye en la definición de una colocación perfecta.Cuando j U  j 6 D V  la máxima utilización posible es min .  j U  j ; V  /  . Cuando el objetivo esmaximizar la imparcialidad, una colocación óptima es min . 1 ; V =  j U  j /  -Feria de. 4 Para un caso general,

Page 23: investigacion de operacciones

una colocación es perfecto si es óptimo con respecto a la utilización, así como la equidad.Formalmente,D Definición A.1. A una colocación perfecta es una colocación es min. 1 ; V =  j U  j /  -justo, en¿Cuál de las siguientes está satisfecho: (i) todos los elementos estén embalados, o (ii) todas las mochilasestán llenos.Ahora discutimos, que tienen todos los resultados presentados en la sección 3 para entradas generales:² Si V >  j U  j luego añadir un juego simulado de tamaño V ¡ j U  j para obtener una instancia en la cualV D j U  j . Después de colocar los elementos en las mochilas, desconsiderar el "muñeco".4 Técnicas de redondeo estándar [14] pueden aplicarse aquí para determinar el número exacto de productos a envasarde cada tipo.466 H. Shachnai y T. Tamir

² Si V <  j U  j es una colocación perfecta . V =  j U  j /  -feria. Para cada sistema , determinar jU ¤Yo

j D. V =  j U  j /  j U  yo  j (redondeado a números enteros, tal quePYo

j U ¤Yo

j D V  /  . La resultante ejemplo U ¤satisface j U ¤ j D V  .Todos los algoritmos presentados en la sección 3 se pueden aplicar a los casos ajustados arriba,para producir la perfecta colocación de las instancias originales. Puesta a punto especial es necesaria enla prueba del teorema 3.1: cuando V >  j U  j , no puede cumplir con el conjunto maniquí añadido elcondición j U  yo ¸ j ." ¢ j U  j /= M  . Para solucionar este problema potencial, el algoritmo tiene queconsiderar el muñeco primero: nota que uno está permitido (arbitrariamente pequeña) parte de un conjuntoen cada mochila, por lo tanto, el conjunto de muñeco puede servir como la fracción colocada en el primermochila.Nuestros resultados en la sección 4 también sostienen para entradas generales, a saber, las declaraciones del teorema4.1 y corolario 4.9 siguen siendo válidas. De hecho, el algoritmo de unar utilizado en la prueba deTeorema 4.1, puede ser aplicado para cualquier instancia de la CMKP. Es suficiente demostrar lavalidez de corolario 4.6 y lemas 4.3, 4.7 y 4.8. Primero Observe que sólo la prueba deLema 4.8 asume que j U  j D V  . Ahora mostramos cómo puede ser la prueba de este lemamodificado para argumentar que todas las mochilas llenados durante la cuarta etapa están "saturados",también al j U  j 6 D V  . Consideramos dos casos por separado:(i) si jUj > V, entonces como en el caso donde jUj D Vla suma de los tamaños de las restantesconjuntos siempre excede el total restante volumen.(ii) si V >  jUjentonces todas las mochilas llenados durante la cuarta etapa se saturan hasta Restá vacío, o hasta que las mochilas están llenos. Si R está vacía (no hay peticiones queden), sesignifica que empacamos todos los elementos de la U, que es claramente óptima. Si corremos hacia fuerade mochilas, entonces, como en el caso donde j U ¸ j V significa que todas las mochilasen esta etapa están saturados. Por lo tanto, es inevitable la única pérdida de volumenw D w  1 C w  2 C ¢ ¢ ¢ C w  n  (de las dos primeras etapas).En ambos casos la utilización alcanzada por A  r al menos es la máxima utilización posiblepara la instancia original, .Referencias[1] C. Aggarwal, J. Lobo y P. S. Yu, en Caballito óptima combinar políticas para DISHsistemas, en Los procedimientos de Sigmetrics, 1996, págs. 200-209.[2] S. Berson, S. Ghandeharizadeh, R. Muntz y X. Ju, tambaleó striping en información multimediasistemas, Procedimientos de SIGMOD, 1994, págs. 79-90.[3] A.K. Chandra, D.S. Hirschberg y C.K.Wong, algoritmos aproximados por una mochila generalizadaproblemas, teórico. Comput. SCI., 3 (1976), 293-304.[4] Chen p., E. Lee, G. Gibson, R. Katz y D. Patterson, RAID: alto rendimiento, secundaria confiablealmacenamiento, ACM Comput. Encuestas, 26(2) (1994), 145-185.[5] T. Corman, Leiserson C. y R. Rivest, Introducción a los algoritmos, MIT Press, Cambridge, MA,

Page 24: investigacion de operacciones

1990.[6] M.R. Garey y D.S. Johnson, computadoras e ingobernable:Guía a la teoría de NP-completo.Freeman, San Francisco, CA, 1979.[7] G.V. Gens y E.V. Levner, complejidad computacional de algoritmos de aproximación de combinatoriaproblemas, en actas de la 8th International Symposium on MathematicalFoundations de informática

Ciencia  , Lecture Notes in Computer Science, Vol. 74, Springer-Verlag, Berlín, 1979, págs. 292 – 300.En dos versiones constreñida del problema mochila múltiples 467Piggybacking adaptativa L. Golubchik, J.C.S Lui y R.R. Muntz, [8]: una técnica novedosa para compartir datosen servidores de almacenamiento de video on Demand, ACM Multimedia sistemas J., 4(3) (1996), 140-155.[9] R.L. Graham, límites para ciertas anomalías multiproceso, Técnico de sistemas Bell. J., 45 (1966), 1563 –1581.[10] R.L. Graham, límites sobre anomalías de sincronización multiprocesador, SIAM J. Appl. Matemáticas., 17 (1969), 263-269.[11] R.L. Graham, E.L. Lawler, J.K. Lenstra y Kan A.H.G. Rinnooy, optimización y aproximación endeterminista de secuenciación y programación: una encuesta, Ann. Matemáticas discretas., 5 (1979), 287-326.[12] D.S. Hochbaum, aproximación algoritmos para problemas NP-Hard, PWS, Boston, MA, 1995.[13] D.S. Hochbaum y D.B. Shmoys, mediante algoritmos de aproximación dual para la programación de problemas:resultados teóricos y prácticos, J. Assoc. Comput. Mach., 34(1) (1987), 144-162.[14] T. Ibaraki y N. Katoh, problemas de asignación de recursos - métodos algorítmicos, el MIT Press,Cambridge, MA, 1988.[15] O.H. Ibarra y C.E. Kim, aproximación rápida para la mochila y la suma de problemas de subconjunto,

J  . Assoc. Comput. Mach., 22 (1979), 463 – 488.[16] M. Kamath, K. Ramamritham y D. Towsley, compartir la base de datos multimedia de medios continuossistemas, en las actas de la cuarta Conferencia Internacional sobre sistemas de base de datos avanzado

Aplicaciones  , Singapur, 1995, págs. 79-86.[17] P.W.K. mentira, J.C.S. Lui y L. Golubchik, replicación dinámica basadas en umbrales en gran escala vídeo-ondemandsistemas, en actas del VIII taller internacional en temas de investigación en base de datos

Ingeniería  (Paseo), Orlando, FL, febrero de 1998, págs. 52-59.[18] S. Martello y P. Toth, algoritmos para problemas de mochila, Ann. Matemáticas discretas., 31 (1987), 213-258.[19] D. Pisinger, algoritmos para problemas de mochila, tesis de doctorado, Departamento de informática, Universidadde Copenhague, febrero de 1995.[20] S.S. Skiena, el Manual de diseño de algoritmo, Springer-Verlag, Nueva York, 1998.[21] J.L. Wolf, P.S. Yu y H. Shachnai, problemas de programación en sistemas de video on Demand, en Multimedia

Manejo y almacenamiento de información  (Pronto M. Chung, ed.), Kluwer, Dordrecht, 1996, págs. 183-207.[22] J.L.Wolf, P.S.Yu y H. Shachnai, disco equilibrio de carga para sistemas de vídeo a la carta,ACMMultimedia

Sistemas de J  ., 5 (1997), 358-370.