La programación de máquinas idénticas es un problema de optimización en informática e investigación operativa . Se nos dan n trabajos J 1 , J 2 , ..., J n con tiempos de procesamiento variables, que deben programarse en m máquinas idénticas, de manera que se optimice una determinada función objetivo, por ejemplo, se minimice el tiempo total de finalización .
La programación de máquinas idénticas es un caso especial de la programación de máquinas uniformes , que a su vez es un caso especial de la programación óptima de tareas . En el caso general, el tiempo de procesamiento de cada tarea puede ser diferente en distintas máquinas; en el caso de la programación de máquinas idénticas, el tiempo de procesamiento de cada tarea es el mismo en todas las máquinas. Por lo tanto, la programación de máquinas idénticas es equivalente a la partición de números multivariada . Un caso especial de la programación de máquinas idénticas es la programación de una sola máquina .
En la notación estándar de tres campos para problemas de programación óptima de trabajos , la variante de máquinas idénticas se denota por P en el primer campo. Por ejemplo, " P||" es un problema de programación de máquinas idénticas sin restricciones, donde el objetivo es minimizar el tiempo máximo de finalización.
En algunas variantes del problema, en lugar de minimizar el tiempo máximo de finalización, se desea minimizar el tiempo promedio de finalización (promediado sobre todos los n trabajos); se denota por P||. De manera más general, cuando algunos trabajos son más importantes que otros, puede ser deseable minimizar un promedio ponderado del tiempo de finalización, donde cada trabajo tiene un peso diferente. Esto se denota por P||.
Algoritmos
Minimizar el tiempo promedio y el tiempo promedio ponderado de finalización.
Minimizar el tiempo promedio de finalización ( P||) se puede realizar en tiempo polinomial. El algoritmo SPT (Shortest Processing Time First) ordena los trabajos por su longitud, del más corto al más largo, y luego los asigna al procesador con el tiempo de finalización más temprano hasta el momento. Se ejecuta en tiempo O( n log n ) y minimiza el tiempo promedio de finalización en máquinas idénticas, [ 1 ] P||.
- Puede haber muchos cronogramas SPT; encontrar el cronograma SPT con el menor tiempo de finalización (también llamado OMFT – tiempo medio de finalización óptimo ) es un problema NP-difícil.
Minimizar el tiempo promedio ponderado de finalización es NP-difícil incluso en máquinas idénticas, por reducción del problema de la mochila . [ 1 ] Es NP-difícil incluso si el número de máquinas es fijo y al menos 2, por reducción del problema de partición . [ 2 ]
Sahni [ 2 ] presenta un algoritmo de tiempo exponencial y un esquema de aproximación de tiempo polinomial para resolver ambos problemas NP-difíciles en máquinas idénticas:
- Tiempo medio de finalización óptimo;
- Tiempo promedio ponderado de finalización.
Minimizar el tiempo máximo de finalización (makespan)
Minimizar el tiempo máximo de finalización ( P||) es NP-difícil incluso para máquinas idénticas , por reducción del problema de partición . Se conocen muchos algoritmos exactos y de aproximación .
Graham demostró que:
- Cualquier algoritmo de planificación de listas (un algoritmo que procesa los trabajos en un orden fijo arbitrario y programa cada trabajo en la primera máquina disponible) es un aproximación para máquinas idénticas . [ 3 ] La cota es ajustada para cualquier m . Este algoritmo se ejecuta en tiempo O( n ).
- El algoritmo específico de programación de listas llamado Tiempo de procesamiento más largo primero (LPT), que ordena los trabajos por longitud descendente, es unaproximación para máquinas idénticas . [ 4 ] : sec.5 También se denomina partición de números voraz .
Coffman, Garey y Johnson presentaron un algoritmo diferente llamado algoritmo multifit , que utiliza técnicas de empaquetamiento de contenedores , el cual tiene un factor de aproximación de 13/11≈1,182.
Huang y Lu [ 5 ] presentaron un algoritmo simple de tiempo polinomial que alcanza una aproximación de 11/9≈1,222 en tiempo O( m log m + n ), a través del problema más general de asignación de tareas de participación maximin .
Sahni [ 2 ] presentó un PTAS que alcanza (1+ε)OPT en tiempo. Es un FPTAS si m es fijo. Para m=2, el tiempo de ejecución mejora aEl algoritmo utiliza una técnica llamada partición de intervalos .
Hochbaum y Shmoys [ 6 ] presentaron varios algoritmos de aproximación para cualquier número de máquinas idénticas (incluso cuando el número de máquinas no es fijo):
- Para cualquier r > 0, un algoritmo con una razón de aproximación como máximo (6/5 + 2 − r ) en tiempo.
- Para cualquier r > 0, un algoritmo con una razón de aproximación como máximo (7/6 + 2 − r ) en tiempo.
- Para cualquier ε >0, un algoritmo con una razón de aproximación como máximo (1+ε) en tiempoEste es un PTAS . Tenga en cuenta que, cuando el número de máquinas es parte de la entrada, el problema es fuertemente NP-difícil , por lo que no es posible un FPTAS.
Leung [ 7 ] mejoró el tiempo de ejecución de este algoritmo a.
Maximizar el tiempo mínimo de finalización
Maximizar el tiempo mínimo de finalización ( P||) es aplicable cuando los "trabajos" son en realidad piezas de repuesto necesarias para mantener las máquinas en funcionamiento, y tienen diferentes vidas útiles. El objetivo es mantener las máquinas en funcionamiento el mayor tiempo posible. [ 8 ] El algoritmo LPT alcanza al menosdel óptimo.
Woeginger [ 9 ] presentó un PTAS que alcanza un factor de aproximación dea tiempo, dóndeuna constante enorme que es exponencial en el factor de aproximación requerido ε. El algoritmo utiliza el algoritmo de Lenstra para programación lineal entera .
Funciones objetivo generales
Alon, Azar, Woeginger y Yadid [ 10 ] consideran una función objetivo más general. Dada una función real positiva f , que depende únicamente de los tiempos de finalización C i , consideran los objetivos de minimizar, minimizando, maximizandoy maximizarDemuestran que, si f es no negativa, convexa y satisface una condición de continuidad estricta que denominan "F*", entonces ambos problemas de minimización tienen un PTAS. De manera similar, si f es no negativa, cóncava y satisface F*, entonces ambos problemas de maximización tienen un PTAS. En ambos casos, el tiempo de ejecución del PTAS es O( n ), pero con constantes exponenciales en 1/ ε.
Véase también
Referencias
- 1 2 Horowitz, Ellis; Sahni, Sartaj (1976-04-01). "Algoritmos exactos y aproximados para la planificación de procesadores no idénticos" . Journal of the ACM . 23 (2): 317– 327. doi : 10.1145/321941.321951 . ISSN 0004-5411 . S2CID 18693114 .
- 1 2 3 Sahni, Sartaj K. (1976-01-01). "Algoritmos para la programación de tareas independientes" . Journal of the ACM . 23 (1): 116– 127. doi : 10.1145/321921.321934 . ISSN 0004-5411 . S2CID 10956951 .
- ↑ Graham, Ron L. (1966). "Límites para ciertas anomalías de multiprocesamiento" . Bell System Technical Journal . 45 (9): 1563– 1581. doi : 10.1002/j.1538-7305.1966.tb01709.x . ISSN 1538-7305 .
- ↑ Graham, Ron L. (1969-03-01). "Límites en anomalías de temporización de multiprocesamiento" . SIAM Journal on Applied Mathematics . 17 (2): 416– 429. doi : 10.1137/0117039 . ISSN 0036-1399 .
- ↑ Huang, Xin; Lu, Pinyan (18 de julio de 2021). «Un marco algorítmico para aproximar la asignación de tareas domésticas mediante la participación maximin» . Actas de la 22.ª Conferencia ACM sobre Economía y Computación . EC '21. Budapest, Hungría: Association for Computing Machinery. págs. 630–631 . arXiv : 1907.04505 . doi : 10.1145/3465456.3467555 . ISBN 978-1-4503-8554-1. S2CID 195874333 .
- ↑ Hochbaum, Dorit S.; Shmoys, David B. (1987-01-01). "Uso de algoritmos de aproximación dual para problemas de programación: resultados teóricos y prácticos" . Journal of the ACM . 34 (1): 144– 162. doi : 10.1145/7531.7535 . ISSN 0004-5411 . S2CID 9739129 .
- ↑ Leung, Joseph YT. (1989-05-08). "Empaquetado de contenedores con tamaños de piezas restringidos" . Information Processing Letters . 31 (3): 145– 149. doi : 10.1016/0020-0190(89)90223-8 . ISSN 0020-0190 .
- ↑ Friesen, DK; Deuermeyer, BL (1981-02-01). "Análisis de soluciones voraces para un problema de secuenciación de piezas de repuesto" . Matemáticas de la investigación operativa . 6 (1): 74– 87. doi : 10.1287/moor.6.1.74 . ISSN 0364-765X .
- ↑ Woeginger, Gerhard J. (1997-05-01). "Un esquema de aproximación en tiempo polinomial para maximizar el tiempo mínimo de finalización de la máquina" . Operations Research Letters . 20 (4): 149– 154. doi : 10.1016/S0167-6377(96)00055-7 . ISSN 0167-6377 .
- ↑ Alon, Noga ; Azar, Yossi; Woeginger, Gerhard J.; Yadid, Tal (1998). "Esquemas de aproximación para la planificación en máquinas paralelas" . Journal of Scheduling . 1 (1): 55– 66. doi : 10.1002/(SICI)1099-1425(199806)1:1 < 55::AID-JOS2 > 3.0.CO ; 2-J . ISSN 1099-1425 .
Enlaces externos
- Resumen de problemas de máquinas paralelas sin expropiación
- Programación óptima
- Particionamiento numérico