Documente Academic
Documente Profesional
Documente Cultură
1. Introduccion
En este captulo y los que restan consideraremos mtodos aplicados a
problemas de optimizacion NP-hard, es decir, aquellos para los cuales no
se conocen algoritmos eficientes ( de tiempo polinomial) que hallen la
solucin exacta. En lugar de eso intentaremos el uso de mtodos
eficientes pero que solo pretenden una solucin aproximada. A diferencia
del capitulo anterior, estas soluciones carecen de una cota de la
aproximacion. Simplemente nos conformaremos con la esperanza de que
la solucion que resulte sea "buena". Es en es sentido que llamamos
heuristicos a estos mtodos.
El objetivo es encontrar un f0F tal que c(f0 )c(f) para todo fF.
La base del metodo consiste en asignar a cada tF un entorno de t, es
decir, un subconjunto N(t) F que contiene a t y a cuyos elementos los
consideramos "cercanos o vecinos" a t.
2. Ejemplos de entornos
1) TSP
Consideremos el siguiente entorno en el problema TSP.
F= {f: circuitos hamiltonianos en el grafo completo G}
Optimizacion Capitulo 6 Bsqueda Local 2
2) MST
Consideremos el siguiente entorno en el problema MST (minimum
spanning tree)
F= {f: spanning trees de G}
N(f)= { g: g se obtiene agregando una rama en f y suprimiendo una rama
en el circuito resultante}
(este es solo un ejemplo ya que existe un algoritmo de tiempo
polinomial)
Definicion
Cuando el minimo en cualquier entorno es tambien un minimo global
decimos que la funcion N(t) es exacta.
3) Bubble sort
Sea una sucesin de nmeros a1,a2,...,an. El problema consiste en
ordenarla de menor a mayor. F={f: f es una permutacin de la sucesion}.
Podemos definir la funcion costo como c(f)=j f(j). Nk (f)={g:
permutacin que resulta de intercambiar en f k pares distintos}. Para k=1
se tiene bubble sort. Observemos que el entorno definido es exacto.
Operaciones
a b c
A 1 3 5
B 2 6
C 4 7
1 3 5 1 3 5
2 6 2 6
4 7
4 7
Tiempo
A 1 5 3
B 6 2
C 4 7
6) Bsqueda en profundidad
En los ejemplos anteriores hemos buscado una solucion vecina a la dada
por k intercambios de elementos en la estructura de la solucin. El
siguiente enfoque para definir el vecino es distinto de los anteriores y lo
llamamos bsqueda en profundidad. Ejemplificamos la idea con el
problema 4) de la particin uniforme de un grafo.
Sean A y B partes de V con el mismo cardinal n. Sea r(a ,b ) la reduccion
de costo si intercambiamos a A con b B. Llamemos g1 al mximo
r(a,b) sobre todos los posibles n2 pares (a,b). Si repetimos esta operacion
k veces tendremos un total de ganancia:
G(k)= i 1 g i
k
PRACTICA
Definir un algoritmo heuristico para el problema 4) particin uniforme de
un grafo y hacer un programa para ejecutarlo (Kreher, p.165)
Optimizacion Capitulo 6 Bsqueda Local 5