Grafos Eulerianos y Hamiltonianos. Algoritmos y Estructuras de Datos III

Documentos relacionados
LAS CIENCIAS DE LA PLANIFICACIÓN

Caminos y Flujos optimales. Introducción a la Investigación de Operaciones 2007

METAHEURISTICAS Ideas, Mitos, Soluciones

Análisis y síntesis de sistemas digitales combinacionales

Un grafo G = (V, E) se dice finito si V es un conjunto finito.

Práctica N o 8 Desigualdades Válidas - Algoritmos de Planos de Corte - Algoritmos Branch & Cut

Búsqueda con adversario

Planaridad. Algoritmos y Estructuras de Datos III

Ejemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013

Minicurso de Teoría de Gráficas Escuela de Verano 2014 por María Luisa Pérez Seguí Facultad de Ciencias Físico-Matemáticas, Universidad Michoacana

El TAD Grafo. El TAD Grafo

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

Conjuntos, relaciones y funciones Susana Puddu

Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE

OPTIMIZACIÓN VECTORIAL

C a l ses P P y y NP C a l se P C a l se N P N P [No N n o -De D te t rmin i i n s i ti t c i Polynomial-tim i e]

Tema: Los Grafos y su importancia para la optimización de redes.

Algebra lineal y conjuntos convexos

TEORÍA DE GRAFOS. OPTIMIZACIÓN EN REDES 1

Metaheurísticas. Seminario 4. Problemas de optimización con técnicas basadas en adaptación social

&$3Ì78/2 $/*25,7026 (92/87,926 $9$1=$'26 3$5$ INTRODUCCIÓN

Algoritmos y Estructuras de Datos Curso 06/07. Ejercicios

PASO 1: Poner el problema en forma estandar.

Inicio. Cálculos previos GRASP. Resultados. Fin. Figura 5.1: Diagrama de flujo del algoritmo.

11. MOSAICOS. El ángulo interior de un polígono regular de n lados es

Unidad 2: Ecuaciones, inecuaciones y sistemas.

Unidad V. 5.1 Recta tangente y recta normal a una curva en un punto. Curvas ortogonales.

Sucesiones Introducción

Práctica N 6 Modelos de Programación Lineal Entera

1 Método de la bisección. 1.1 Teorema de Bolzano Teorema 1.1 (Bolzano) Contenido

greedy (adj): avaricioso, voraz, ávido, codicioso, glotón

El Juego como Problema de Búsqueda

Figura 3.1. Grafo orientado.

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas

Capítulo 3: Técnicas de Conteo Clase 2: Permutaciones y Combinaciones, Coeficientes Binomiales y Aplicaciones a Probabilidad Discreta

(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados

RELACIÓN DE PROBLEMAS DE CLASE DE PROGRAMACIÓN LINEAL ENTERA

JUNIO Opción A

TEMA 1.- POLINOMIOS Y FRACCIONES ALGEBRAICAS

Algoritmos sobre Grafos

Investigación de operaciones en acción: Heurísticas para la solución del TSP

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS.

Ecuaciones Diofánticas

Práctica 2 Métodos de búsqueda para funciones de una variable

(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es

Con miras a conocer la metodología que se aplica en el Método SIMPLEX, tenemos a continiacion un ejemplo:

Problemas en P y NP. Marcos Kiwi. Semestre Otoño U. Chile

Ángulos complementarios Un par de ángulos son complementarios si la suma resultante de sus medidas es.

Minería de Datos. Árboles de Decisión. Fac. Ciencias Ing. Informática Otoño de Dept. Matesco, Universidad de Cantabria

Algoritmos Heurísticos en Optimización Combinatoria

Inteligencia Artificial. Integrantes Equipo # 1:

Temario III Algoritmos Combinatorios y Metaheurísticas

Semana 09 [1/28] Sucesiones. 29 de abril de Sucesiones

Semana 2 [1/24] Derivadas. August 16, Derivadas

Pasos en el Método Simplex

INTEGRACIÓN NUMÉRICA

Programación entera: Ejemplos, resolución gráfica, relajaciones lineales. Investigación Operativa, Grado en Estadística y Empresa, 2011/12

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones

Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 4: Autómatas finitos deterministas. Holger Billhardt holger.billhardt@urjc.

Normalmente usamos la palabra "combinación" descuidadamente, sin pensar en si el orden de las cosas es importante. En otras palabras:

Tema 6: Ecuaciones diferenciales lineales.

Figura 1. Círculo unidad. Definición. 1. Llamamos número π (pi) al valor de la integral

Máster Interuniversitario en Técnicas Estadísticas. Cooperación en los problemas del viajante (TSP) y de rutas de vehículos (VRP): una panorámica.

4. NÚMEROS PSEUDOALEATORIOS.

Lección 5.1: Matrices y determinantes. Primeros conceptos. Objetivos de esta lección

Cristian Blanco

USO DE LOS JUEGOS DE MESA EN EL AULA

GUIA DE TRABAJO Materia: Matemáticas. Tema: Geometría 19 Explorando la esfera-2. Fecha: Profesor: Fernando Viso

Esta expresión polinómica puede expresarse como una expresión matricial de la forma; a 11 a 12 a 1n x 1 x 2 q(x 1, x 2,, x n ) = (x 1, x 2,, x n )

1.5 Límites infinitos

INSTITUTO DE FORMACIÓN DOCENTE DE CANELONES DIVISIBILIDAD

1. dejar a una lado de la igualdad la expresión que contenga una raíz.

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo

Universidad Tec Milenio: Profesional HG04002 Análisis de Decisiones I

Construcciones con regla y compás

PROBLEMAS RESUELTOS MOVIMIENTO ONDULATORIO

Polinomios. 1.- Funciones cuadráticas

Introducción a Autómatas Finitos

Programación. Tema 8: Tablas Hash. Apuntes elaborados por: Eduardo Quevedo, Aaron Asencio y Raquel López Revisado por: Javier Miranda el????

TEORÍA DE GRAFOS Ingeniería de Sistemas

1. Conceptos básicos sobre el problema en cuestión y cuestiones afines. 2. Formulación de los correspondientes algoritmos y su pseudocódigo.

Expliquemos con exactitud qué queremos decir con valores máximos y mínimos.

Apuntes de Matemática Discreta 14. Grafos

Espacios vectoriales reales.

Trabajando con Listas

CI-6675 Algoritmos y Estructuras Optimizadas para Videojuegos

Proyecto. Tema 6 sesión 2: Generación de Rectas, Circunferencias y Curvas. Geometría Analítica. Isidro Huesca Zavaleta

PROBLEMAS RESUELTOS DE PREPARACIÓN PARA OPOSICIONES. Problemas 02

50 CAP. I. CONJUNTOS, APLICACIONES Y RELACIONES. Ejercicio Dados los conjuntos: Determinar los siguientes conjuntos: Se tiene:

Teoría de la Probabilidad Tema 2: Teorema de Extensión

Cuando se enumeran todos los elementos que componen el conjunto. A = { 1, 2, 3, 4, 5 }

Tema 3: El Método Simplex. Algoritmo de las Dos Fases.

Cap. 3: relaciones en un triángulo

Pintar mapas, organizar fiestas... en el fondo, es sólo teoría de grafos

Un grafo G es un par (V,E) donde V es un conjunto (llamado conjunto de vértices) y E un subconjunto de VxV (conjunto de aristas).

Función lineal Ecuación de la recta

Sistemas de Ecuaciones Lineales

3. Métodos clásicos de optimización lineal

FUNCIONES REALES 1º DE BACHILLERATO CURSO

Transcripción:

Grafos Eulerianos y Hamiltonianos Algoritmos y Estructuras de Datos III

Grafos eulerianos Definiciones: Un circuito C en un grafo (o multigrafo) G es un circuito euleriano si C pasa por todos las aristas de G una y sólo una vez. Un grafo euleriano es un grafo que tiene un circuito euleriano (o multigrafo).

Grafos eulerianos Definiciones: Un circuito C en un grafo (o multigrafo) G es un circuito euleriano si C pasa por todos las aristas de G una y sólo una vez. Un grafo euleriano es un grafo que tiene un circuito euleriano (o multigrafo). Teorema (Euler 1736): Un grafo (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. A partir de la demostración del teorema de Euler se puede escribir un algoritmo para construir un circuito euleriano para un grafo que tiene todos sus nodos de grado par.

Grafos eulerianos u 4 u 1 u 6 u 3 u 5 u 2 u 7 u 8

Grafos eulerianos u 4 u 1 u 6 u 3 u 5 u 2 u 7 u 8

Grafos eulerianos u 4 u 1 u 6 u 3 u 5 u 2 u 7 u 8

Grafos eulerianos u 4 u 1 u 6 u 3 u 5 u 2 u 7 u 8

Grafos eulerianos Entrada: G = (V, X ) conexo con todos los nodos de grado par. comenzar por cualquier nodo v y construir un ciclo Z mientras exista e X \ Z hacer elegir w tal que existe (w, u) Z y (w, z) X \ Z desde w construir un ciclo D con D Z = Z := unir Z y D por medio de w fin mientras retornar Z Cuál es la complejidad de este algoritmo?

Grafos eulerianos Definiciones: Un camino euleriano en un grafo (o multigrafo) G es un camino que pasa por cada arista de G una y sólo una vez. Un grafo orientado o digrafo, se dice euleriano si tiene un circuito orientado que pasa por cada arco de G una y sólo una vez.

Grafos eulerianos Definiciones: Un camino euleriano en un grafo (o multigrafo) G es un camino que pasa por cada arista de G una y sólo una vez. Un grafo orientado o digrafo, se dice euleriano si tiene un circuito orientado que pasa por cada arco de G una y sólo una vez. Teorema: Un grafo (o multigrafo) conexo tiene un camino euleriano si y sólo si tiene exactamente dos nodos de grado impar.

Grafos eulerianos Definiciones: Un camino euleriano en un grafo (o multigrafo) G es un camino que pasa por cada arista de G una y sólo una vez. Un grafo orientado o digrafo, se dice euleriano si tiene un circuito orientado que pasa por cada arco de G una y sólo una vez. Teorema: Un grafo (o multigrafo) conexo tiene un camino euleriano si y sólo si tiene exactamente dos nodos de grado impar. Teorema: Un digrafo conexo es euleriano si y sólo si para todo nodo v de G se verfica que d in (v) = d out (v).

Problema del cartero chino (Guan, 1962) Definición: Dado un grafo G = (V, X ) con longitudes asignadas a sus aristas, l : X R 0, el problema del cartero chino consiste en encontrar un circuito que pase por cada arista de G al menos una vez de longitud mínima.

Problema del cartero chino (Guan, 1962) Definición: Dado un grafo G = (V, X ) con longitudes asignadas a sus aristas, l : X R 0, el problema del cartero chino consiste en encontrar un circuito que pase por cada arista de G al menos una vez de longitud mínima. Si G es euleriano, un circuito euleriano es la solución del problema del cartero chino. Hay algoritmos polinomiales para el problema del cartero chino cuando G es orientado o no orientado. Pero no se conocen algoritmos polinomiales (el problema no está computacionalmente resuelto) si el grafo es mixto (algunas aristas orientados y otros no).

Grafos hamiltonianos Definiciones: Un circuito en un grafo G es un circuito hamiltoniano si pasa por cada nodo de G una y sólo una vez. Un grafo se dice hamiltoniano si tiene un circuito hamiltoniano.

Grafos hamiltonianos Definiciones: Un circuito en un grafo G es un circuito hamiltoniano si pasa por cada nodo de G una y sólo una vez. Un grafo se dice hamiltoniano si tiene un circuito hamiltoniano. No se conocen buenas caracterizaciones para grafos hamiltonianos.

Grafos hamiltonianos Definiciones: Un circuito en un grafo G es un circuito hamiltoniano si pasa por cada nodo de G una y sólo una vez. Un grafo se dice hamiltoniano si tiene un circuito hamiltoniano. No se conocen buenas caracterizaciones para grafos hamiltonianos. Cómo intentar construir un circuito hamiltoniano?

Grafos hamiltonianos Definiciones: Un circuito en un grafo G es un circuito hamiltoniano si pasa por cada nodo de G una y sólo una vez. Un grafo se dice hamiltoniano si tiene un circuito hamiltoniano. No se conocen buenas caracterizaciones para grafos hamiltonianos. Cómo intentar construir un circuito hamiltoniano? No se conocen algoritmos polinomiales para decidir si un grafo es hamiltoniano o no.

Grafos hamiltonianos Teorema (condición necesaria): Sea G un grafo conexo. Si existe W V tal que G \ W tiene c componentes conexas con c > W entonces G no es hamiltoniano. Es cierta la recíproca de este teorema?

Grafos hamiltonianos Teorema (condición necesaria): Sea G un grafo conexo. Si existe W V tal que G \ W tiene c componentes conexas con c > W entonces G no es hamiltoniano. Es cierta la recíproca de este teorema? Teorema (Dirac) (condición suficiente): Sea G un grafo con n 3 y tal que para todo v V se verifica que d(v) n/2 entonces G es hamiltoniano. Es cierta la recíproca de este teorema?

Metaheurísticas Heurísticas clásicas. Metaheurísticas o heurísticas modernas. Cuándo usarlas? Problemas para los cuales no se conocen buenos algoritmos exactos. Problemas difíciles de modelar. Cómo se evalúan? Problemas test. Problemas reales. Problemas generados al azar. Cotas inferiores.

Problema del viajante de comercio (TSP) Definición: Dado un grafo G = (V, X ) con longitudes asignadas a las aristas, l : X R 0, queremos determinar un circuito hamiltoniano de longitud mínima. No se conocen algoritmos polinomiales para resolver el problema del viajante de comercio. Tampoco se conocen algoritmos ɛ-aproximados polinomiales para el TSP general (si se conocen cuando las distancias son euclideanas). Es el problema de optimización combinatoria más estudiado.

Heurísticas y algoritmos aproximados para el TSP Heurística del vecino más cercano elegir un nodo v orden(v) := 0 S := {v} i := 0 mientras S V hacer i := i + 1 elegir la arista (v, w) más barata con w / S orden(w) := i S := S {w} v := w fin mientras retornar orden Cuál es la complejidad de este algoritmo?

Heurísticas y algoritmos aproximados para el TSP Heurísticas de inserción C := un circuito de longitud 3 S := {nodos de C} mientras S V hacer ELEGIR un nodo v / S S := S {v} INSERTAR v en C fin mientras retornar C

Heurísticas y algoritmos aproximados para el TSP Heurísticas de inserción C := un circuito de longitud 3 S := {nodos de C} mientras S V hacer ELEGIR un nodo v / S S := S {v} INSERTAR v en C fin mientras retornar C Cómo ELEGIR? Cómo INSERTAR?

Heurísticas y algoritmos aproximados para el TSP Heurísticas de inserción C := un circuito de longitud 3 S := {nodos de C} mientras S V hacer ELEGIR un nodo v / S S := S {v} INSERTAR v en C fin mientras retornar C Cómo ELEGIR? Cómo INSERTAR? variantes de la heurística de inserción

Heurísticas y algoritmos aproximados para el TSP Heurísticas de inserción Para INSERTAR el nodo v elegido: Sea c vi v j es el costo o la longitud de la arista (v i, v j ). Elegimos dos nodos consecutivos en el circuito v i, v i+1 tal que sea mínimo. c vi v + c vvi+1 c vi v i+1 Insertamos v entre v i y v i+1.

Heurísticas y algoritmos aproximados para el TSP Heurísticas de inserción Podemos ELEGIR el nuevo nodo v para agregar al circuito tal que: v sea el nodo más próximo a un nodo que ya está en el circuito.

Heurísticas y algoritmos aproximados para el TSP Heurísticas de inserción Podemos ELEGIR el nuevo nodo v para agregar al circuito tal que: v sea el nodo más próximo a un nodo que ya está en el circuito. v sea el nodo más lejano a un nodo que ya está en el circuito.

Heurísticas y algoritmos aproximados para el TSP Heurísticas de inserción Podemos ELEGIR el nuevo nodo v para agregar al circuito tal que: v sea el nodo más próximo a un nodo que ya está en el circuito. v sea el nodo más lejano a un nodo que ya está en el circuito. v sea el nodo más barato, o sea el que hace crecer menos la longitud del circuito.

Heurísticas y algoritmos aproximados para el TSP Heurísticas de inserción Podemos ELEGIR el nuevo nodo v para agregar al circuito tal que: v sea el nodo más próximo a un nodo que ya está en el circuito. v sea el nodo más lejano a un nodo que ya está en el circuito. v sea el nodo más barato, o sea el que hace crecer menos la longitud del circuito. v se elige al azar.

Heurísticas y algoritmos aproximados para el TSP Heurísticas de inserción Podemos ELEGIR el nuevo nodo v para agregar al circuito tal que: v sea el nodo más próximo a un nodo que ya está en el circuito. v sea el nodo más lejano a un nodo que ya está en el circuito. v sea el nodo más barato, o sea el que hace crecer menos la longitud del circuito. v se elige al azar.

Heurísticas y algoritmos aproximados para el TSP Heurísticas de inserción En el caso de grafos euclideanos (por ejemplo grafos en el plano R 2 ), se puede implementar un algoritmo de inserción: Usando la cápsula convexa de los nodos como circuito inicial. Insertando en cada paso un nodo v tal que el ángulo formado por las aristas (w, v) y (v, z), con w y z consecutivos en el circuito ya construido, sea máximo. Hay muchas variantes sobre estas ideas.

Heurísticas y algoritmos aproximados para el TSP Heurística del árbol generador encontrar un árbol generador mínimo T de G duplicar las aristas de T armar un circuito euleriano E con los ejes de T y sus duplicados recorrer E usando DFS y armar un circuito hamiltoniano de G Cuál es la complejidad de este algoritmo?

Heurísticas y algoritmos aproximados para el TSP Heurística del árbol generador Teorema: Si las distancias del grafo G cumplen la desigualdad triangular, la heurística del árbol generador es un algoritmo aproximado con una perfomance en el peor caso dada por l(c H )/l(c ) = X H (G)/X (G) 2 O sea, si las distancias son euclideanas hay algoritmos polinomiales para el problema del TSP aproximado.

Heurísticas y algoritmos aproximados para el TSP Perfomance de otros algoritmos aproximados en el peor caso Si las distancias de G son euclideanas se puede probar que valen las siguientes cotas para la perfomance en el peor caso: Vecino más próximo X H (G)/X (G) 1/2( log n + 1) Inserción del más próximo X H (G)/X (G) 2 Inserción del más lejano X H (G)/X (G) 2 log n + 0,16 Inserción del más barato X H (G)/X (G) 2

Heurísticas y algoritmos aproximados para el TSP Heurísticas de mejoramiento - Algoritmos de búsqueda local Cómo podemos mejorar la solución obtenida por alguna heurística constructiva como las anteriores? Heurística 2-opt de Lin y Kernighan obtener una solución inicial H por ejemplo con alguna de las heurísticas anteriores mientras sea posible hacer elegir (u i, u i+1 ) y (u k, u k+1 ) H tal que c ui u i+1 + c uk u k+1 > c ui u k + c ui+1 u k+1 H := H \ {(u i, u i+1 ), (u k, u k+1 )} {(u i, u k ), (u i+1, u k+1 )} fin mientras Cuándo para este algoritmo? Se obtiene la solución óptima del TSP de este modo?

Heurísticas y algoritmos aproximados para el TSP Heurísticas de mejoramiento - Algoritmos de búsqueda local En vez de elegir para sacar de H un par de aristas cualquiera que nos lleve a obtener un circuito de menor longitud podemos elegir, entre todos los pares posibles, el par que nos hace obtener el menor circuito (más trabajo computacional). Esta idea se extiende en las heurísticas k-opt donde se hacen intercambios de k aristas. Es decir, en vez de sacar dos aristas, sacamos k aristas de H y vemos cual es la mejor forma de reconstruir el circuito. En la práctica se usa sólo 2-opt o 3-opt.

Algoritmos de descenso o búsqueda local Esquema general S = conjunto de soluciones N(s) = soluciones vecinas de la solución s f (s) = valor de la solución s elegir una solución inicial s S repetir elegir s N(s ) tal que f (s) < f (s ) reemplazar s por s hasta que f (s) > f (s ) para todos los s N(s )

Algoritmos de descenso o búsqueda local Cómo determinar las soluciones vecinas de una solución s dada?

Algoritmos de descenso o búsqueda local Cómo determinar las soluciones vecinas de una solución s dada? Qué se obtiene con este procedimiento? Sirve?

Algoritmos de descenso o búsqueda local Cómo determinar las soluciones vecinas de una solución s dada? Qué se obtiene con este procedimiento? Sirve? Óptimos locales y globales

Algoritmos de descenso o búsqueda local Cómo determinar las soluciones vecinas de una solución s dada? Qué se obtiene con este procedimiento? Sirve? Óptimos locales y globales Espacio de búsqueda

Tabu Search Objetivo: minimizar una función f sobre un conjunto de soluciones S. Metaheurística que guía una heurística de búsqueda local para explorar el espacio de soluciones evitando los óptimos locales. Iterativamente se mueve de una solución a otra hasta que se cumple algún criterio de terminación. Cada s S tiene asociada una vecindad N(s) S y cada solución s N(s) es alcanzada desde s realizando movimientos.

Tabu Search Explorar todo N(s) puede ser impracticable computacionalmente. Restringe la búsqueda a V N(s) con V N(s). Usa memoria para definir V. Permite moverse de s a s aun si f (s ) > f (s) para salir de un óptimo local. Se pueden generar ciclos. Lista tabú: memoriza soluciones y vecindades consideradas en iteraciones anteriores.

Tabu Search - Lista Tabú Memoriza las T últimas soluciones visitadas. Memoriza movimientos reversos asocidos con los movimientos hechos. Clasifica como tabú ciertos atributos de las soluciones. Memoria a corto plazo. Tamaño y permanencia en T. Almacenar atributos o movimientos es más efectivo. Puede hacer que soluciones no visitadas sean tabú. Función de aspiración: cuando con un movimiento tabú se obtiene una solución mejor que la mejor hasta ese momento, se permite elegirla. cuando todos los movimientos o vecinos posibles son tabú, se elige alguno de ellos ( el menos tabu ).

Tabu Search - Esquema general elegir una solución inicial s 0 S inicializar la lista tabú T inicializar la función de aspiración A mientras no se verifique el criterio de parada hacer generar V {s N(s 0 ) : s no es tabu o A(s) Ā(s )} elegir s 0 V tal que f (s 0 ) f (s) s V actualizar la función de aspiración A actualizar la lista tabú T si f (s 0 ) < f (s ) entonces s := s 0 fin si fin mientras retornar s

Tabu Search Qué hay que hacer para usar este esquema? Determinar el conjunto de soluciones factibles S. Determinar la función objetivo f. Dar un procedimiento para generar los elementos de N(s). Decidir el tamaño del conjunto V N(s) que será considerado en cada iteración. Definir la lista Tabú T y su tamaño. De ser posible definir una cota inferior para la función objetivo f. Definir la función de aspiración A(z) y el umbral de aceptación. Definir criterios de parada.

Tabu Search Los criterios de parada más simples son: Se encontró una solución óptima (si es posible saberlo). {s N(s 0 ) : s no es tabu o A(s) Ā(s )} =. Se alcanzó el número máximo de iteraciones permitidas. El número de iteraciones realizadas sin modificar s es mayor que un número máximo determinado. Cualquier combinación de los anteriores.

Tabu Search - Mejoras Uso de la memoria a largo plazo : Frecuencia: guarda la frecuencia de ocurrencias de atributos en las soluciones visitadas para penalizar o premiar (según convenga) movimientos que usan atributos muy usados en el pasado. Intensificación: intensifica la búsqueda en alguna región de S porque es considerada buena bajo algún criterio. Diversificación: explora nuevas regiones de S no exploradas. Camino de soluciones entre dos soluciones prometedoras. Etc.

Tabu Search - Ejemplo: Viajante de comercio Solución inicial: dada por alguna heurística o al azar. Espacio de soluciones: permutaciones de (1, 2,..., n). Tamaño del espacio: (n 1)!/2. Movimientos: k intercambios, por ejemplo k = 2. Cardinal de N(s), N(s) : n(n 1)/2. Es fácil generar vecinos al azar y actualizar el costo. Con estas definiciones se puede usar el esquema básico.