1 / 58

Un Algoritmo de Búsqueda Tabú para el Problema de la Paginación de Avisos Clasificados

Un Algoritmo de Búsqueda Tabú para el Problema de la Paginación de Avisos Clasificados. Federico Abramzón Martín Maceratesi Oscar Quevedo Irene Loiseau XII CLAIO La Habana, Cuba, octubre 2004. Hoja de Ruta. Objetivos del trabajo Descripción del Problema Marco Teórico

bayard
Télécharger la présentation

Un Algoritmo de Búsqueda Tabú para el Problema de la Paginación de Avisos Clasificados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Un Algoritmo de Búsqueda Tabú para el Problema de la Paginación de Avisos Clasificados Federico Abramzón Martín Maceratesi Oscar Quevedo Irene Loiseau XII CLAIO La Habana, Cuba, octubre 2004

  2. Hoja de Ruta • Objetivos del trabajo • Descripción del Problema • Marco Teórico • Representación propuesta • Implementación • Resultados • Conclusiones

  3. Objetivos • Resolver el Problema de la Paginación de Avisos Clasificados (PPAC) • Relevamiento del Estado del Arte • Utilización de métodos de Búsqueda Heurística • Aplicación de Técnicas de Mejoramiento (Búsqueda Tabú) • Implementación de un prototipo

  4. Descripción del Problema PPAC • Encontrar una manera adecuada de disponer los avisos clasificados en las páginas de una publicación, de acuerdo a una serie de criterios gráficos • Compactación • Armonía • Aplicaciones prácticas • Páginas Amarillas (PA) • Rubros Clasificados de un diario

  5. Ventajas de disponer de este tipo de herramienta • Automatizar el proceso de compaginación • Minimizar costos de producción (tiempo + recursos)  > Beneficio Económico • Prolongar el “Cierre de Edición” • Incluir mayor cantidad de avisos en la publicación

  6. Avisos Lineales Avisos de Relleno Encabezados de Sección Avisos Destacados Anclas Elementos de una Publicación de este tipo Secciones o Rubros • Encabezados • Avisos Destacados • Avisos Lineales (caso part: Anclas) Avisos de Relleno • Fillers • Burbujas

  7. Definiciones y criterios generales de diseño • Página Grilla (o Matriz)subdividida en filas y columnas. • Intersección fila y columna  módulo. • Cada aviso pertenece a un tipo determinado: Destacado,Lineal, Encabezado o Relleno. • Avisos Destacados y Lineales pertenecen a una determinada Sección. • Avisos Lineales y Encabezados de Sección: • Ancho: 1 columna • Alto: número prefijado de módulos (1 o +) • Avisos Destacados diferentes Formatos: • Ancho: [1, máx(cols pág)] • Alto: número prefijado de módulos (según formato aviso) • Los avisos de una Sección dada: “bajo el alcance del Encabezado de Sección” correspondiente (en la página de inicio o fin de Sección, o en una página entre ellas). • Preferentemente, los avisos no deberían mezclarse con los pertenecientes a otras Secciones. • Los Avisos Lineales: en general, ubicados en un determinado orden (alfabético). • Los Avisos Destacados: ubicados lo más cerca posible del borde inferior de la página, y del comienzo de Sección. • No se permite ubicar un Encabezado de Sección, si no existe al menos un Aviso Lineal asociado debajo suyo. • En cada página, los Avisos Lineales deben ubicarse por encima de los Avisos Destacados.

  8. Otros detalles a considerar • Estilo de Layout • Agrupación de Avisos Destacados • Piramidal (“apilar”) • Bloques horizontales (“acostar”) • En forma de “U”

  9. PPAC: Datos de Entrada / Salida • Entrada: • Avisos Destacados: Identif., Dimensiones, Sección [y Pág y/o Posic] • Avisos Lineales: Identif., Cant. de módulos (o filas) y Sección • Espacio Reservado (Fillers “Fijos”): Identif., Dimensiones [y Pág y/o Posic] • Salida: • Especificación precisa: Pág y Posic de cada aviso

  10. Objetivos del método de paginación • Minimización de la superficie cubierta por Avisos de Relleno (Fillers y Burbujas) • Forma de publicidad  Cota inferior • Minimización de la cantidad de páginas • Cant. fija de avisos pagos = Minimizar los Rellenos (desperdicio)

  11. PPAC: Complejidad • Problema de Optimización Combinatoria • Combinación de 2 variantes de Bin-packing: • Ubicación de Avisos Destacados (bi-dimensional) • “Cortes” de Avisos Lineales  NP-hard • Difícil de formular mediante un Modelo Matemático • Entre los posibles enfoques: • Técnicas Branch & Cut • Técnicas Heurísticas (de tiempo polinomial determinístico)

  12. Trabajos previos • Publicaciones científicas y académicas • Métodos Basados en Reglas • Métodos Basados en Restricciones • Programación Dinámica • Búsqueda Heurística • Relevamiento de productos comerciales • SCS/ClassPag de SCS • VIP de VTT • Calligramme Directory • ADSNG/PAGE de Amdocs

  13. Hoja de Ruta • Objetivos • Descripción del Problema • Marco Teórico • Representación propuesta • Implementación • Resultados • Conclusiones

  14. Heurística Toma en cuenta el conocimiento adquirido en experiencias pasadas (tanto positivas como negativas). Cada persona “filtra” esta información y define un patrón de comportamiento.

  15. Vecindario Dado S, un conjunto de Soluciones Factibles, se define como Vecindario de S al conjunto N(S), tal que todas las soluciones de N(S) puedan ser obtenidas a partir de aplicar una función de Movimiento válida a S, según la Heurística subyacente. Opt B A F ...... s C D E

  16. Búsqueda Descendente Comienza con alguna solución inicial y se mueve (función movimiento) de vecino en vecino, tanto como le sea posible, mientras disminuya el valor de la función objetivo.

  17. Metaheurísticas • Objetivos • escapar de óptimos locales  movimientos de no mejora • explorar la estructura básica del problema • adaptarse a implementaciones particulares • Las más promisorias... • Búsqueda Tabú • Algoritmos Genéticos • Simulated Annealing • Grasp

  18. N(s) N(s,k)= N(s) - T(s,k) S N(S) T Búsqueda Tabú (BT) • Estrategia que permite admitir movimientos de No Mejora para escapar de óptimos locales • Uso de Memoria Flexible • Mem. de Corto plazo: evitar ciclos • Qué tan “Reciente” ... • Mem. de Largo plazo: sacar ventaja de la historia de la búsqueda • Qué tan “Frecuente” ...

  19. Elementos principales de un algoritmo BT • Representación de Solución Candidata • Movimiento  Vecindario • Lista Tabú - Retención • Criterio de Parada • Criterio de Aspiración • Función Evaluación

  20. M. Teórico: BT - Algoritmo básico • Elegir una solución inicial i; i*=i; k=0. • k=k+1; Generar un subconjunto N* de N(i,k), tal que no cumpla las condiciones tabú, o cumpla el criterio de aspiración. • Elegir el mejor j є N* con respecto a f(j), y hacer i=j. • Si f(j) < f(i*), hacer i*=j. • Actualizar la lista tabú y condiciones de aspiración. • Si no se cumplen las condiciones de parada, volver a (2).

  21. BT – Más detalles • Diversificación: Orientar la búsqueda hacia otras zonas • Incrementar la retención de movimientos tabú • Reiniciar el algoritmo con nueva Solución Inicial • Utilizar información de frecuencia • Intensificación: Analizar en profundidad una región determinada • Reducir la retención de movimientos tabú (riesgo de ciclos) • Reglas de selección contemplando atributos de buenas soluciones • Combinación de estas técnicas • Variación dinámica de la retención • Soluciones Elite: “memorizar” buenas soluciones para su posterior análisis

  22. Hoja de Ruta • Objetivos • Descripción del Problema • Marco Teórico • Representación propuesta • Implementación • Resultados • Conclusiones

  23. Aplicación de BT • A la asignación de Avisos Destacados a las páginas • Y adicionalmente ... • Decoding (método determinístico): • Ubicación de Avisos Destacados en la página • Fluido de Avisos Lineales por encima de Avisos Destacados

  24. 12 3 8 10 5 9 11 1 2 4 6 7 1 2 3 4 5 6 7 8 9 10 11 ... 1 2 3 4 5 6 7 8 Representación: Solución Candidata • Se almacena el primer Aviso Destacado de cada página  Cortes de Página (CP)

  25. ... 5 6 7 8 9 10 11 ... • Join: eliminar un Corte de Página • Join: eliminar un Corte de Página • Join: eliminar un Corte de Página • Join: eliminar un Corte de Página • Split: agregar un Corte de Página • Split: agregar un Corte de Página 4 4 4 4 4 6 6 6 5 5 5 5 5 • Shift: mover un Corte de Página • Shift sin acotar: equivalente a eliminar un CP (join) y ubicarlo en otra posición (split) • Shift acotado: el CP puede ser movido sólo entre los dos CP adyacentes (causa el efecto de mover destacados entre páginas adyacentes) • Shift: mover un Corte de Página • Shift sin acotar: equivalente a eliminar un CP (join) y ubicarlo en otra posición (split) • Shift acotado: el CP puede ser movido sólo entre los dos CP adyacentes (causa el efecto de mover destacados entre páginas adyacentes) • Shift: mover un Corte de Página • Shift sin acotar: equivalente a eliminar un CP (join) y ubicarlo en otra posición (split) Movimientos Posibles • Shift: mover un Corte de Página • Shift sin acotar: equivalente a eliminar un CP (join) y ubicarlo en otra posición (split) • Shift: mover un Corte de Página

  26. 1 2 3 4 5 6 7 8 9 10 11 ... 1 2 3 4 5 6 4 Movimientos Tabú • Realizado un Movimiento, podemos restringir: • Que ese CP no vuelva a la posición de origen • Que ningún CP vuelva desde la posición destino • Que ningún CP ocupe la posición origen • Realizado un Movimiento, podemos restringir: • Que ese CP no vuelva a la posición de origen • Que ningún CP vuelva desde la posición destino • Realizado un Movimiento, podemos restringir: • Realizado un Movimiento, podemos restringir: • Que ese CP no vuelva a la posición de origen

  27. Retención Alternativas analizadas: • Retención fija • Se fija un valor para toda la corrida del algoritmo • Retención variable • Variación de retención por períodos • Variación de retención por cada inserción

  28. Criterios de Aspiración Alternativas analizadas: • Movimientos Tabú que superen la calidad de la mejor solución encontrada (global) • Movimientos Tabú mejores que las últimas N soluciones generadas (local)

  29. Función Evaluación • Penalizaciones (relativas y/o absolutas) sobre: • Overflow (avisos fuera de la página) • Avisos fuera de orden (avisos menores en páginas previas a uno mayor) • Avisos fuera de sección (aviso previo a su encabezado de sección) • Generación de avisos de relleno • Violación de preferencia par/impar • Distancia de los avisos al encabezado

  30. Criterio de parada Alternativas analizadas: • Cantidad máxima de iteraciones • Cantidad máxima de movimientos de no mejora • Valor alcanzado por la Función Evaluación

  31. V1 V2 V3 Heurísticas propuestas • Solución Inicial • Heurística Constructiva • Solución no necesariamente factible • Estimación de cantidad de páginas por rubro • Distribución proporcional de destacados y lineales por rubro • Movimientos de mejora • Shift acotado • Ubicación de avisos en la página • Decoding: método determinístico • Utilización de Ventanas de Optimización • Particionamiento del problema • Solapamiento entre ventanas

  32. Resumiendo ... • Solución Candidata: Representación de Cortes de Página. • Ubicación determinística de avisos en la página (Decoding). • Movimiento: Shift acotado. • Criterio Tabú: Marcar como tabú la posición original. • Retención: Variable por cada inserción. • Criterio de Aspiración: cuando un movimiento tabú supere la mejor solución encontrada hasta el momento (global). • Función Evaluación: Penalizamos el Overflow, Fuera de Sección, Violación preferencia par/impar, generación de Rellenos (Fillers y Burbujas) y Distancia. • Criterio de Parada: Cantidad de iteraciones y Umbral de la Función Evaluación. • Solución Inicial: Generada por Heurística Constructiva. • Utilización de Ventanas de Optimización.

  33. Hoja de Ruta • Objetivos • Descripción del Problema • Marco Teórico • Representación propuesta • Implementación • Resultados • Conclusiones

  34. .PAG Interfase Gráfica .INI .IN Motor Pagination: Arquitectura del prototipo • Módulos • Interfase Gráfica • Motor • Archivos • .PAG • .IN • TS.INI

  35. Pagination: Algoritmo principal

  36. Pagination: Algoritmo BT implementado

  37. Pagination: Demo ... • Visualización de una publicación • Reserva de espacio • Fijación de Avisos Destacados • Repaginación • Parametrizaciones

  38. Hoja de Ruta • Objetivos • Descripción del Problema • Marco Teórico • Representación propuesta • Implementación • Resultados • Conclusiones

  39. Lotes de Prueba • Semi-reales: extracción de Las Páginas Amarillas (PA) • PASF: sin la fijación de avisos. • PACF: con Aviso Destacado fijado manualmente. • Aleatorios: a través de un Generador Random que también implementamos • RND100 • RND1000

  40. Ajuste de Parámetros • Parámetros de la Función Evaluación: • Overflow • Burbujas • Fillers • Avisos Fuera de Sección • Distancia • Parámetros de la Búsqueda Tabú (BT): • % Vecinos • Retención en Lista Tabú • Cantidad de Iteraciones • Tamaño de Ventanas de Optimización

  41. Ajuste BT: % Vecinos Comparativa BT – Porcentaje de Vecinos (retención baja) Comparativa BT – Porcentaje de Vecinos (retención alta)

  42. Ajuste BT: # Iteraciones (PACF)

  43. Ajuste BT: # Iteraciones (PASF)

  44. Ajuste BT: # Iteraciones (RND100)

  45. Resultados: Parámetros elegidos de acuerdo a la experimentación

  46. Resultados: Comportamiento de BT

  47. Resultados: Influencia Sol. Inicial Solución Inicial generada mediante la Heurística Constructiva Vs. Generación de una Solución Inicial “Mala” (Todos los Destacados más allá de la última página de la ventana)

  48. Resultados: Influencia Sol. Inicial (PACF) Solución Inicial con Heurística Constructiva Solución Inicial “Mala”

  49. Resultados: Influencia Sol. Inicial (PASF) Solución Inicial con Heurística Constructiva Solución Inicial “Mala”

  50. Resultados: Influencia Sol. Inicial (RND) Solución Inicial con Heurística Constructiva Solución Inicial “Mala”

More Related