definición del problema objetivo del algoritmo algoritmos comparaciones conclusiones preguntas
TRANSCRIPT
Telekom Solution
s
Agenda
Definición del problema Objetivo del algoritmo Algoritmos Comparaciones Conclusiones Preguntas
Definición del problema
Hallar una solución eficiente que se aproxime a la óptima en el diseño de la red de cableado de clientes, aplicado a TeleRural.
Objetivo del algoritmo
Minimizar los costos y tiempos de instalación de nuevos clientes de tal manera que permita una eficiente distribución de estaciones y antenas.
Algoritmo
VORAZ
• Normalmente usados en problemas de optimización.
• Dado un conjunto de elementos de entrada se van seleccionando
o desechando estos para formar un conjunto de elementos que
cumplan con la restricciones.
• Un algoritmo voraz no encuentra siempre una solución óptima,
pero muchas veces la logra.
Algoritmo VORAZ
Descripción
Algoritmo VORAZForma General
Inicio
Ingreso de conjunto
candidato C
Selección de elemento de C
más prometedor
Es conveniente para la solución
Si
No
Agregar elemento a conjunto solución y
eliminar de conjunto C
Hay solución y conjunto C vacio
Rechazar elemento
No
Fin
Devolver solución
Si
Algoritmo VORAZForma Adaptada
Inicio
Ingreso de conjunto inicial de parejas puntos (clientes y
antena)
Selección de pareja de puntos entre los que la distancia sea minima
Visita 2 o más veces un punto
Cierra un recorrido antes de visitar todos
los puntos
Si
No
Si
No
Agregar pareja de puntos a conjunto solución y eliminar de conjunto
inicial
Hay solución y conjunto inicial vacio
Descartar pareja de puntos
No
Fin
Resultado final
Si
El algoritmo voraz arroja soluciones que están muy cerca de las soluciones exactas.
Rapidez en hallar una solución, cuando la encuentran.
Moderado costo computacional.
De implementación sencilla.
• Rapidez en hallar una solución, cuando la encuentran.
El enfoque que aplican es muy corto y toma decisiones basándose en la información que tienen disponible de modo inmediato, sin tener en cuenta los efectos que estas decisiones puedan tener en el futuro.
Se estancan en óptimos locales de las funciones que pretenden optimizar y quizá no analizan vecindades más allá del criterio, por lo que pueden estar dejando de considerar al óptimo global.
Ventajas
Desventajas
Algoritmo VORAZ
Algoritmo
GRASP
Algoritmo GRASP
Descripción
(Greedy Randomized Adaptive Search Procedure)
• Procedimiento de búsqueda:
Goloso
Aleatorio
Adaptativo
• Algoritmo meta heurístico
• Optimización combinatoria
• Procedimiento iterativo, cada paso consta de dos fases:
Construcción
Mejora
Algoritmo GRASP
Forma Genera
l
Inicio
Ingreso de Datos del Problema (P) y parámetro de relajación α
Condición de parada
Si
No
Fin
Registrar(S)
S = Algoritmo_Constructivo(P)
S = Busqueda_Local(S)
Algoritmo Constructiv
o
Algoritmo GRASP
E tiene elementos
E={elementos del problema}
Si
No
τ = Peor elemento de Eβ = Mejor elemento de E
RCL = Lista de elementos entre β y τ dado el parámetro de relajación α
c = Elemento al azar de RCLS = S U {c}E = E – {c}
Retornar S
Algoritmo Constructiv
o
Algoritmo GRASP
(Adaptado)
E tiene elementos
Si
No
τ = Distancia de nodo más lejano a iβ = Distancia de nodo más cercano a iRCL = Lista de nodos más cercanos a
i comprendidos entre β-α(β-τ) y β
c = Elemento al azar de RCLS = S U {c}E = E – {c}
i = c
Retornar S
E={Nodos de la Red}Elegir un nodo i
E = E – {i} S = φ
Algoritmo GRASP
Búsqueda LocalV tiene elementos
Si
S’=elemento de V
No
V = Construir_Vecindad(S)Mejor_S = S
Mejor_S = S’
S’ es mejor elemento que Mejor_S
Si
No
V = V – {S}
Retornar Mejor_S
Algoritmo GRASP
Construcción de la
vecindad
S={ }
V={ , , … }
Versiones Alternas2-Exchange
Algoritmo GRASP
Búsqueda Local
(Adaptado)
V tiene elementos
Si
S’=elemento de V
No
V = Construir_Vecindad(S)Mejor_S = S
Mejor_S = S’
FO(S’) < FO(Mejor_S)
Si
No
V = V – {S}
Retornar Mejor_S
Algoritmo GRASP
Forma Genera
l
Inicio
Ingreso de Datos del Problema (P) y parámetro de relajación α
Condición de parada
Si
No
Fin
Registrar(S)
S = Algoritmo_Constructivo(P)
S = Busqueda_Local(S)
Algoritmo GRASP
Ventajas Recomendable cuando el conjunto de datos a trabajar es
grande y se requiere una solución aceptable. Sencillez y facilidad de implementación. Permiten una mayor flexibilidad para el manejo de las
características del problema.
Desventajas
No se puede precisar cuan cerca se está de la solución óptima. La solución obtenida sólo es una óptima local.
Algoritmo
GENETICO
Algoritmo GENETICO
• Algoritmo inspirado en evolución
biológica.
• “Los más aptos sobreviven”
• Con métodos de búsqueda dirigida
basada en probabilidades.
Mayor # Iteraciones
Mayor probabilidad de
obtener el óptimo
Descripción
• Operan de forma simultánea con varias soluciones.
• Usan operadores probabilísticos.
• Resulta sumamente fácil ejecutarlos en las modernas
arquitecturas.
Ventajas
Algoritmo GENETICO
Desventajas
• Difíciles de adaptar a los problemas.
• Requieren de gran procesamiento.
Inicio
Creación de Población Inicial
Condición de término
Selección
Crossover
Mutación
Evaluación-Reemplazo
NO
Resultado
SI
Aleatoriamente GRASP
Cruzamiento entre pares de cromosomas
Modificación del cromosoma.
Descartar y seleccionar
Algoritmo GENETICO
La ruleta
Generación y Representación
Evaluar Factor Fitness
Descarte y selección
Cambios a las redes
Adaptado al caso TELERURAL
Algoritmo GENETICO
Inicio
Redes alternativas iniciales
Condición de Parada
Selección de mejores redes
Cruzamiento entre redes
Mutación de redes
Evaluación de redes
Resultados
SI NO
Comparaciones
Criterios de Evaluación Voraz Grasp Genético
Dificultad de Implementación
Baja Medio Alta
Aproximación o exactitud de solución
Medio Medio Alta
Costo de ejecución: Tiempo de demora
Bajo Medio Alto
Costos por ejecución: Consumo de Recursos
Bajo Medio Alto
Cantidad de datos a manipular
Apropiado con un espacio de datos no muy extenso.
Apropiado hasta con un espacio de datos extenso.
Apropiado hasta con un espacio de
datos extenso.
Adaptabilidad al problema No compleja No compleja Compleja
Nivel de entendimiento teórico
Sencillo Medio Complejo
Capacidad de evaluar soluciones en paralelo
No tiene (Miope) Si tiene Si tiene
Conclusiones
• El propósito del trabajo fue la comprensión de los algoritmos
heurísticos, meta heurísticos y evolutivos para ser adaptados
a nuestro problema.
• Ningún algoritmo da la solución ideal pero si una
aproximada.
• Por los criterios de comparación planteados se puede definir
que el algoritmo GRASP probablemente sea el algoritmo
más adecuado .
Conclusiones
Bibliografía
• es.wikipedia.org/wiki/Algoritmo_genético
• http://the-geek.org/docs/algen/
• http://www.uv.es/~rmarti/docencia/doctorado/Intro.pdf (OK)
• http://thales.cica.es/rd/Recursos/rd99/ed99-0033-04/java/
• http://catarina.udlap.mx/u_dl_a/tales//documentos/lii/
hernandez_r_cm/capitulo3.pdf (OK)
• http://www.raycojorge.info/archivos/iberhttp://thales.cica.es/
rd/Recursos/rd99/ed99-0033-04/voraz_introd.html
• http://www.lsi.upc.es/~iea/transpas/2_voraces/sld092.htm