¿Es este un problema conocido de optimización / programación combinatoria?

8

Se nos dan pilas que contienen "elementos" de diferente color y una máquina que puede procesar múltiples elementos del mismo color de una sola vez. En cada paso, podemos eliminar un elemento de la parte superior de cada pila y ponerlo en nuestra máquina (de manera efectiva, la máquina puede procesar como máximo elementos en un solo paso; para que eso suceda, todas las pilas deben tener elementos del mismo color encima). El objetivo es procesar todos los artículos en un tiempo mínimo.nn

Entrada de ejemplo:

Una posible solución es un algoritmo codicioso: en cada paso, simplemente tome tantos elementos como sea posible y mételos todos en la máquina. Desafortunadamente, el algoritmo codicioso no es óptimo: produce el siguiente programa para la entrada de ejemplo:

El horario óptimo es el siguiente:

Planeo ir con alguna forma de búsqueda de espacio de estado, pero ¿tal vez haya un enfoque más eficiente y específico para cada problema? Se aprecian enlaces a literatura relevante.

Mikhail Glushenkov
fuente
En cada paso, se le permite tomar solo un artículo de la parte superior de cada pila (y todos los artículos que ponga en la máquina deben ser del mismo color). Entonces el algoritmo codicioso produce un horario no óptimo (ver fig. 2).
Mikhail Glushenkov
Y debe procesar todos los elementos en orden, es decir, tomarlos solo desde la parte superior.
Mikhail Glushenkov
Ahh Entendido. Interesante problema Haría una tabla de búsqueda óptima para decidir las primeras filas si este fuera un sistema en tiempo real. En cuanto a la complejidad exacta ... primero pruebe el óptimo para el caso de dos columnas.
Chad Brewbaker
La inmovilización sería aún más interesante si se opera en un conjunto de listas FIFO en las que solo puede examinar elementos hasta una profundidad particular para el cálculo.
George Polevoy

Respuestas:

7

Su problema es equivalente a la Supersecuencia común más corta (SCS) y fue considerado en por el nombre Programación en máquinas por lotes con restricciones de precedencia como cadenas y compatibilidades . Si los elementos del problema son del mismo color, dicho problema está en P y puede resolverse en .O ( n 2 ) [ 2 ][1]O(n2) [2]

Lo que concierne a la aproximabilidad de una buena fuente es Un compendio de problemas de optimización de NP .

Los últimos resultados en SCS se pueden encontrar en .[3,4]

Para ver algoritmos prácticos, consulte cuyo autor declara que "el híbrido MA-BS es una técnica actual de vanguardia para el SCSP ".[ 6 ][5][6]

  1. Brauner N., Naves G. Programación de cadenas de operaciones en una máquina de procesamiento por lotes con conjuntos disjuntos de compatibilidad de operaciones .
  2. Algoritmos de planificación de Brucker P. (Capítulo 8. Problemas de procesamiento por lotes).
  3. Timkovsky VG Algunas aproximaciones para las no subsecuencias y supersecuencias comunes más cortas .
  4. Gotthilf Z. y Lewenstein M. Resultados de aproximación mejorados en el problema de supersecuencia común más corto .
  5. Kubalik J. Algoritmo de búsqueda local estocástico eficiente para resolver el problema de supersecuencia común más corto .
  6. Blum, C., Cotta, C., Fernández, AJ, Gallardo, JE Un enfoque de búsqueda de haz probabilístico para el problema de supersecuencia común más corto .
Oleksandr Bondarenko
fuente
1
El artículo [1] contiene una observación que yo también iba a escribir: cuando hay pilas ítems en total, hay una solución de programación dinámica en el tiempon O ( n k )knO(nk)
Sasho Nikolov
2

Ω(logδn)

kkX|X|=xXxxXx/k

Sasho Nikolov
fuente