Optimizaci on - stat.rice.edujrojo/PASI/lectures/Costa rica/A_Optimizacion... · I V ease que jSj=...
Transcript of Optimizaci on - stat.rice.edujrojo/PASI/lectures/Costa rica/A_Optimizacion... · I V ease que jSj=...
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Optimizacion
Javier Trejos
Escuela de Matematica – CIMPAUniversidad de Costa Rica
April 3, 2010
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Esquema
Introduccion
Programacion Lineal
Programacion No Lineal
Optimizacion Combinatoria
Busqueda Local
Sobrecalentamiento Simulado
Busqueda Tabu
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
OptimizacionIntroduccion
I Se conoce por optimizacion a una familia de metodosmatematicos que buscan encontrar los optimos(maximos o mınimos) de funciones
I La optimizacion puede ser sobre funciones continuas odiscretas
I En el caso continuo, la funcion a optimizar puede serderivable o no
I La funcion a optimizar puede ser lineal o no
I El espacio donde se define la funcion a optimizar puedetener restricciones o no
I En este curso estudiaremos solamente algunos de estoscasos
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Programacion LinealForma canonica
Maximizar
z =n∑j=1
cjxj
con las restricciones{ ∑nj=1 aijxj ≤ bi i = 1, . . . ,m
xj ≥ 0 j = 1, . . . , n
En forma matricial (forma canonica):
z = ctx −→ max
s.a. Ax ≤ b,x ≥ 0.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Programacion LinealForma estandar
I El conjunto de soluciones realizables de un problema dePL es un poliedro convexo de Rn y siempre existe unvertice del poliedro que coincide con una solucionoptima (si tal solucion existe).
I Forma estandar:
z = ctx −→ max
s.a. Ax = b,x ≥ 0.
I Se puede pasar de forma estandar a canonica, usandovariables de holgura.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Programacion LinealProgramacion Entera
I Es un problema de programacion lineal donde el vectorde estados x debe tener unicamente valores enteros:
z = ctx −→ max
s.a. Ax ≤ b, xj ∈ Z (j = 1, . . . , n).
I Se dice que es un problema de Programacion LinealEntera 0-1 si ademas las xj estan restringidas a losvalores 0-1:
z = ctx −→ max
s.a. Ax ≤ b, xj ∈ {0, 1} (j = 1, . . . , n).
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Programacion LinealForma Dual
I
w = ytb −→ min
s.a. yA ≥ c,y ≥ 0I o bien:
w = bty′ −→ min
s.a. Aty′ ≥ ct,y′ ≥ 0I El dual del dual es el primal.
I Para toda pareja x∗, y∗ de soluciones realizables de (P)y (D) se tiene cx∗ ≤ y∗b.Si se tiene que cx∗ ≥ y∗b, entonces x∗ y y∗ sonsoluciones optimas, de donde se deduce la optimalidadde la solucion grafica.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Programacion No Lineal
I
z = F (x1, x2, . . . , xn) −→ max
s.a. φ1(x1, x2, . . . , xn) ≥ 0φ2(x1, x2, . . . , xn) ≥ 0
...φm(x1, x2, . . . , xn) ≥ 0x1, x2, . . . , xn ≥ 0
.
I No existen procedimientos generales para resolver estetipo de problemas.
I Aplicaciones: cuando los gastos no crecenproporcionalmente a la cantidad de mercancıascompradas o producidas (p.ej. efecto “al por mayor”).
I A menudo, los problemas se “linealizan”.
I Se pueden usar funciones de penalizacion por violar unade las restricciones.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Optimizacion CombinatoriaConceptos Basicos
I Una instancia de un problema de optimizacioncombinatoria es un par (S, f) donde el espacio deestados S es un conjunto finito que contiene todas lasposibles soluciones y F es la funcion objetivo o funcioncosto:
F : S −→ RI Caso de minimizacion: hallar iopt ∈ S tal que
F (iopt) ≤ f(i), para todo i ∈ S
I Caso de maximizacion: hallar iopt ∈ S tal que
F (iopt) ≥ f(i), para todo i ∈ S
I iopt se llama el optimo
I Denotamos Fopt = F (iopt) el costo optimo
I Denotamos Sopt el conjunto de soluciones optimas
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Optimizacion CombinatoriaEl problema del agente viajero
I Dadas n ciudades y una matriz D = [dpq]n×n cuyoselementos denotan la distancia entre un par p, q deciudades.
I Una vuelta es un ciclo cerrado tal que se visita cadaciudad una sola vez.
I Problema: hallar una vuelta de longitud mınima
I Un estado: permutacion π = (π(1), . . . , π(n)), dondeπ(k) es el sucesor de la ciudad k, con πl(k) 6= k,l = 1, . . . , n− 1 y πn(k) = k, para todo k.
I S = {permutaciones cıclicas π de n ciudades}I Funcion objetivo:
F (π) =n∑i=1
di,π(i)
I Vease que |S| = (n− 1)!
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Optimizacion CombinatoriaEl problema Max Cut
I Dado un grafo G = (V,E) con pesos positivos w en lasaristas, se quiere encontrar una particion de V en V0 yV1 tal que:
F (V0, V1) =∑
{u,v}∈δ(V0,V1)
w({u, v}) −→ max
I con (el “cut”):
δ(V0, V1) = {{u, v} ∈ E|u ∈ V0, v ∈ V1}
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Optimizacion CombinatoriaEl problema del conjunto independiente
I Dado un grafo G = (V,E), encontrar el mayor conjuntoindependiente,i.e. hallar el mas grande V ′ ⊂ V tal que para todou, v ∈ V ′ la arista {u, v} 6∈ E
I Se puede usar una funcion de costo con penalizacion:
F (V ′) = |V ′| − λ|E′|
donde E′ es el conjunto de aristas {u, v} ∈ E tales queu, v ∈ V ′, y λ > 1 es un peso.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Optimizacion CombinatoriaColoracion de grafos
Dado un grafo G = (V,E) encontrar una funcion
f : V −→ {1, 2, . . . , k}
tal quef(u) 6= f(v)
para todo u, v ∈ E si {u, v} ∈ E,con k mınimo.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Optimizacion CombinatoriaProblema de Asignacion Cuadratica (QAP)
Dadas dos matrices D = (dij) y T = (tkl) de tamano n× n,se quiere encontrar una permutacion π de las filas ycolumnas de T tales que:
F (π) =n∑i=1
n∑j=1
dijtπ(i)π(j) −→ min
Puede verse como la mejor asignacion de n fuentes a nsitios, donde
I dij es la distancia del sitio i al sitio j
I tkl el monto del trafico que se debe llevar de la fuente ka la fuente l
I π(i) es la fuente asignada al sitio i
Se puede simplificar a la asignacion de n trabajos a npersonas, considerando el costo dik de formar a la persona ipara que realice el trabajo k.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Optimizacion CombinatoriaProblema de Colocacion
Dados n bloques rectangulares y pesos wij , i, j = 1, . . . , n.Se quiere encontrar una colocacion,i.e. asignar los bloques a puntos de una malla rectangular talque los bloques no se solapen y
F = A+ λC −→ min
con A: area que envuelve a los bloquesC: termino de conexion
C =n∑i=1
n∑j=i+1
wijdij
donde dij es la distancia entre los bloques i y j.λ: factor de peso.Aplicaciones:
I diseno de circuitos para computador
I implantacion de plantas de fabricacion
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Optimizacion CombinatoriaProblema de Calendarizacion (1)
I n trabajos llegan a una maquina de capacidad continua.
I ti: tiempo requerido por trabajo i
I pi: penalizacion por retraso de trabajo i
I sij : costo de actualizar trabajo j justo despues de i
I 0, n+ 1: trabajos falsos con t0 = tn+1 = 0 = p0 = pn+1
I s0,j : costo inicial de j
I si,n+1: costo de limpieza despues de i
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Optimizacion CombinatoriaProblema de Calendarizacion (2)
I Calendario:
π = (0, π(1), π(2), . . . , π(n), n+ 1)
con π(i): ındice del trabajo en la posicion iI Objetivo:
F (π) = D(π) + S(π) −→ min
I con
D(π) =n∑i=1
dπ(i)pπ(i)
S(π) = S0,π(1) +n−1∑i=1
Sπ(i),π(i+1) + Sπ(n),n+1
dπ(i) =i−1∑j=1
tπ(j), i = 2, . . . , n; dπ(1) = 0
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Optimizacion CombinatoriaNPP: Particionamiento de Numeros
(NPP: Number Partitioning Problem)Dado un conjunto de n numeros racionalesr1, r2, . . . , rn ∈]0, 1[, se quiere dividirlos en dos subconjuntosV0 y V1 tales que las sumas de los numeros de cadasubconjunto sean lo mas equilibadas posible:∣∣∣∣∣∣
∑i∈V0
ri −∑j∈V1
rj
∣∣∣∣∣∣ −→ min
Aplicaciones:
I Equilibrio de fuerzas entre dos equipos, grupos, etc.
I Equilibrio de presupuesto entre dos oficinas
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Optimizacion CombinatoriaAplicaciones en Estadıstica y Analisis de Datos
I Clasificacion por particiones: agrupamiento deindividuos u objetos tal que los mas parecidos quedenen los mismos grupos
I Clasificacion bimodal: agrupamiento simultaneo de filasy columnas de una matriz
I Escalamiento multidimensional: representacion en dosdimensiones de una tabla de disimilitudes
I Regresion no lineal: busqueda de un modelo explicativono lineal optimo
I Seleccion de variables en regresion lineal multiple:seleccionar las variables mas explicativas en un modeloexplicativo lineal
I Rotaciones varimax oblicuas: rotacion de lascomponentes principales obtenidas en analisis factorial
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda LocalDividir para vencer
I Division de un problema en subproblemas
I Se espera que la solucion de los subproblemas sea massencilla que para el problema general
I Aplicaciones:I metodos de ordenamiento mergesort y quicksort;I determinacion de la envolvente convexa de un conjunto
de puntos;I calculo de la transformada rapida de Fourier.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda LocalDividir para vencer
Existen dos puntos importantes al momento de plantear unalgoritmo del tipo dividir para vencer:
I La forma de dividir el problema en subproblemas, demanera que efectivamente los subproblemas sean massencillos de resolver que el problema principal.
I Una vez obtenidas las soluciones de los subproblemas,mezclarlas de forma apropiada con el fin tener unasolucion factible al problema general.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda LocalDividir para vencer: Problema del Agente Viajero Euclıdeo
I TSP para un conjunto de n puntos en R2
I Los n puntos forman los vertices del grafo y las aristasestan dadas por todos los posibles ligamenes entre lospuntos.
I Aplicaciones: plotting, diseno VLSII El metodo basado en la tecnica de dividir para vencer
consiste en las siguientes tres operaciones:
1. Particionar: se particiona el rectangulo que forman los npuntos en R2(horizontal o verticalmente) en 2 partes tqla direccion de subdivision sea paralela a alguno de losejes de coordenadas, y esta division pase por un punto(el cual pertenecera a ambas partes), tal que ambaspartes tengan el mismo numero de elementos.
2. Recursividad: se resuelve cada subproblema.3. Mezclar: se combinan las soluciones de cada
subproblema en el punto de union, para hacer un solociclo.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda LocalDividir para vencer: TSP Euclıdeo, Operacion de Mezcla
I Suponiendo que el vertice de union de las dos partesesta ligado, en el primer subproblema, a los vertices v1y v2 por medio de las aristas a1 y a2 respectivamente, y,en el segundo subproblema, a los vertices v′1 y v′2 pormedio de los vertices a′1 y a′2.
•
•
•
•
•••••••
I Coordenadas:
x 0 0 1 1 0.25 0.5 0.75 0.25 0.25 0.5 0.75y 0 1 0 1 0.25 0.25 0.25 0.5 0.75 0.75 0.75
I Se divide el cuadrado [0, 1]× [0, 1] en 2 partes, en elpunto (0.25, 0.5)
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda LocalDividir para vencer: TSP Euclıdeo, Solucion
•
•
•
•
• • •• • ••
(a) longitud = 5.12 cm
•
•
•
•
• • •• • ••
(b) longitud = 4.91 cm
•
•
•
•
• • •• • ••��AA ��
HH(a) longitud = 5.12 cm
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoEl Metodo de Annealing
I En fısica:calentar un material a altas tempersturas, y enfriarlolentamente para obtener un “cristal muy puro”, deforma tal que la energıa entre las partıculas sea mınima.
I Metropolis et al. (1953):simulacion computacional del “annealing” para estudiarel proceso fısico (tecnicas de Monte–Carlo)
I “Energıa” = Costoi: estado con energıa Eij: estado siguiente (perturbacion) con energıa Ej
Si Ej −Ei ≤ 0 ⇒ aceptar jSi Ej −Ei > 0 ⇒ aceptar j con probabilidad
exp(Ej−EiκBT
)con T : temperatura
κB: constante de Boltzmann
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoAspectos del metodo
I Propuesto por Kirkpatrick, Gelatt & Vecchi (1982);Cerny (1985); Pincus (1968)
I En un problema de optimizacion combinatoria:mins∈S F (s) con F : funcion de costo, S: conjuntofinito (estados del sistema)
I Introducir un nuevo parametro de control c (∼Temperatura) tal que (Regla de Metropolis):nuevos estados del problema de minimizacion sonaceptados si
I hacen disminuir FI al aumentar F , se aceptan con probabilidad∼ exp(−∆F/c)
I Si: vecindario de i; definir un mecanismo para generarun nuevo estado j en SiHipotesis: j ∈ Si ⇔ i ∈ Sj
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoAlgoritmo de Sobrecalentamiento Simulado
Parametros: c0, cf , γ, Lk
Inicializar: i0, c0, L0
k := 0, i := i0, Lk := L0, ck := c0Repetir:
Para l := 1 hasta Lk hacerGenerar (j de Si)Si [F (j) ≤ F (i) entonces aceptar
sino Si[exp(F (i)−F (j)
ck) > random[0, 1)
]entonces aceptar
fin(si)fin(si)Si aceptar entonces i := j fin(si)
fin(para)k := k + 1Recalcula Lk, ck (p.ej.: ck := γck+1)
hasta (criterio para detenerse ∼ cf )
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoPrograma de Enfriamiento
I Escoger c0: temperatura inicial¿Que significa que el sistema esta suficientemente“caliente”? Debe corresponder con el hecho de aceptarmuchos nuevos estados que empeoran el sistema
I Definir ck+1 a partir de ck: enfriamiento lento paraevitar quedar atrapados en mınimos locales
I Definir cf : temperatura final¿Cuando se considera que el sistema esta frıo?
I Calcular Lk: longitud de cada iteracion, para cadavalor de ck
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoPropuesta de Programa de Enfriamiento de Kirkpatrick et al. (1982)
I c0 suficientemente “grande” para que se acepten casi todaslas generaciones al principio, con una tasa de aceptacioninicial de χ(c0) = χ0 ≈ 1.Procedimiento iterativo:
I dar α > 1, c0(1), n, i := 1I hacer n ensayos “en blanco”I si χ(c0(i)) < χ0 entoncesi := i+ 1, c0(i) := αc0(i− 1)
I repetir los pasos anteriores hasta queχ(c0(i)) ≥ χ0
Nota: ası exp(−∆Fij/c0) ≈ 1I ck+1 = γck con γ ∈ [0.8, 0.99], ası ck+1 = γ kc0 (en la
practica no tiene sentido hacer mas de 150 valores de k)
I Terminar si ck ≈ 0 o si F es constante en las ultimas miteraciones
I Lk = L (constante que depende del tamano del problema)Observacion: si ck −→ 0⇒ Lk −→ +∞
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoPropuesta de Programa de Enfriamiento de Aarts & Korst (1990)
I Para calcular c0, proceso iterativo con:m1: # transiciones propuestas tq F (j) ≤ F (i)m2: # transiciones propuestas tq F (j) > F (i)Entonces
χ0 =m1 +m2 exp(−∆F (+)
/c0)m1 +m2
⇒ c0 = ∆F (+)/ ln
(m2
m2χ0 −m1(1− χ0)
)Al inicio c0 = 0Hacer m0 ensayos (m0 = m1 +m2), → calcular χ0(1)Esto genera una sucesion c0(m) que converge a c0
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoPropuesta de Programa de Enfriamiento de Aarts & Korst (1990)
I Decrecimiento de ck:
‖q(ck)− q(ck+1)‖ < ε⇒
∀i ∈ S :1
1 + δ<
qi(ck)qi(ck+1)
< 1 + δ
para un valor “pequeno” δ, donde q es la distribucionestacionaria.Condicion suf.: ck+1 >≈
ck1 + ck ln(1 + δ)/3σ(ck)
con
σ(ck) la desv. estandar de los valores de F
I cf : cuando para εf pequeno, ck
〈F 〉∞σ2(ck)
2
< εf
I Fijar Lk = Θ (tamano de los vecindarios)
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoOtras Propuestas del Programa de Enfriamiento
I Para c0:
(Johnson) sea ∆f (+)aumento promedio de F en
tirajes en blanco al azar
χ0 = exp(−∆f (+)/c0)⇔ c0 =
−∆f (+)
ln(χ0)
I Para decrecimiento de ck:
(Sechen) ck+1 := γck con γ ∈ [0.5, 0.99](Nahar) Numero fijo dado: c1, c2, . . . , cK
(Skiscim & Golden) dividen [0, c0] en K partes igualesy sea ck = K−k
K (ası ck − ck−1 = k/Kconstantes)
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoOtras Propuestas del Programa de Enfriamiento
I Para cf :
(Johnson) Cuando χ < χf : tasa final de aceptacion
I Para Lk:
(Johnson) L = m|S|, con m const.(Nahar) |Lk| : # rechazos ≥ s
(Bonomi) |Lk| = Θ fijo(Skiscim & Golden) “epoca”: # transiciones tq #
acept. > χ, con “costo epoca”: F (ek) delultimo elemento de la epoca; parar Lk si|F (ek)− F (ek−1)| < ε
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoModelo Matematico
X(k): estado del sistema en el paso kPij(k − 1, k) = P [X(k) = j|X(k − 1) = i]X es una cadena de Markov:
I Homogenea si P no depende de k
I No homogenea si P depende de k
Formulaciones del algoritmo:
I Homogeneo: sucesion de cadenas de Markovhomogeneas (cada cadena con un valor fijo c)
I No homogeneo: una sola cadena de Markov nohomogenea (c decrece en cada transicion)
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoModelo Matematico
Caso homogeneo
Gij(c): probabilidad de generar ja partir de i
Aij(c): probabilidad de aceptar juna vez que fue generado a partir de i
Pij =
Gij(c)Aij(c) si j 6= i
1−|S|∑l=1l 6=i
Gil(c)Ail(c) si j = i
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoDistribuciones Estacionarias
Distribucion estacionaria: q ∈ R|S| tal que
q(i) = qi = limk→∞
P [X(k) = i|X(0) = j]
para j arbitrario, i.e.:
qi = limk→∞
(P k)ji
I X irreducible ssi ∀i, j, ∃n ∈ N : (Pn)ij > 0I X aperiodica ssi∀i ∈ S : MCD{n ∈ N : (Pn)ii > 0} = 1
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoDistribuciones Estacionarias
Observacion: como Aij(c) > 0, por def. de Pij(c) se tieneque X es irreducible si G lo es: ∀i, j, ∃n ∈ N : (Gn)ij > 0 ⇔(conexidad) ∀i, j, ∃n ∈ N, ∃l0 = i, l1, l2, . . . , ln = j conGlklk+1
> 0
Teorema [Feller, p.393; Kerlin & Taylor, p.85]La distribucion estacionaria q de una cadena de Markovfinita y homogenea existe si la cadena es irreducible yaperiodica.Ademas, q esta dada unıvocamente por:
∀i : qi =∑j
qjPji
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoConvergencia en el caso homogeneo, Lema 1
Perıodo de i: d(i) = MCD{n ≥ 1 : (Pn)ii > 0}Obs: i↔ j ⇒ d(i) = d(j)
Lema 1: Si X es irreducible tal que ∀c > 0, ∃ic ∈ S conPicic(c) > 0, entonces X es aperiodica.
demostracion.Como X es irreducible, ∀i, j ∈ S,∃n ∈ N tq (Pn)ij > 0.Sea i ∈ S arbitrario, entonces∃n ∈ N tq (Pn)ici > 0 y∃m ∈ N tq (Pm)iic > 0.Luego, hay un camino de longitud m+ n para i→ i:(Pn+m)ii > 0,pero tambien hay un camino de longitud m+ n+ 1 parai→ i: (Pn+m+1)ii > 0.Como MCD(n+m,n+m+ 1) = 1, entonces d(i) = 1.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoConvergencia en el caso homogeneo, Lema 2
Lema 2. Si ∀c > 0,∃ic, jc ∈ S tq Aicjc(c) < 1 y Gicjc > 0,y si G es irreducible, entonces la cadena X es aperiodica.
demostracion.Como G es irreducible, entonces X lo es. Por el lema 1,basta probar que ∀c > 0 : Picic(c) > 0.
Se tiene Picic(c) = 1−|S|∑l=1l6=ic
Gicl(c)Aicl(c)
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoConvergencia en el caso homogeneo, Lema 2 (cont.)
Ahora,
|S|∑l=1l6=ic
Gicl(c)Aicl(c) =|S|∑l=1
l 6=ic,jc
Gicl(c)Aicl(c) +Gicjc(c)Aicjc(c)
<
|S|∑l=1
l 6=ic,jc
Gicl(c) +Gicjc(c)
=|S|∑l=1l 6=ic
Gicl(c) ≤|S|∑l=1
Gicl(c) = 1
Luego Picic > 1− 1 = 0.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoCondiciones sobre G y A
g1) G no depende de c
g2) ∀i, j ∈ S : Gij = Gji(Aarts & Korst: ∀i, |Si| = Θ y Gij = 1Si(j)/Θ)
a1) ∀i, j, k ∈ S : F (i) ≤ F (j) ≤ F (k)⇒ Aik(c) = Aij(c)Ajk(c)
a2) ∀i, j ∈ S : F (i) ≥ F (j)⇒ Aij(c) = 1a3) ∀i, j ∈ S; c > 0 : F (i) < F (j)⇒ 0 < Aij(c) < 1
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoCondiciones sobre G y A
Obs: si suponemos que A(c) cumple la regla de aceptacionde Metropolis, entonces:
Aij(c) =
1 si F (j) ≤ F (i)
exp(F (i)− F (j)
c
)si F (j) > F (i).
= min{
1, exp(F (i)− F (j)
c
)}y entonces se satisfacen a1, a2, a3.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoTeorema de convergencia; caso homogeneo
[Lundy & Mees (1986); Otten & Van Gineken (1984)]Sea i0 ∈ Sopt y suponer las condiciones g1, g2, a1, a2 y a3.Entonces la distribucion estacionaria, si existe, esta dada por
∀i ∈ S : qi(c) =Ai0i(c)Nc
con Nc =∑j∈S
Ai0j(c)
demostracion.Vease que ∀i ∈ S : qi(c) > 0 y
∑j qj(c) = 1.
mostremos que ∀i : qi(c) =∑
j qj(c)Pji(c).Sea i fijo:
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoTeorema de convergencia; caso homogeneo (cont.)
∑j
qj(c)Pji(c) =∑j
Ai0i(c)Nc
Pji(c)
=∑j 6=i
F (j)≤F (i)
Ai0j(c)Nc
Aji(c)Gji
+∑j 6=i
F (j)>F (i)
Ai0j(c)Nc
Aji(c)Gji + qi(c)Pii(c)
=∑j 6=i
F (j)≤F (i)
Ai0i(c)Nc
Gij +∑j 6=i
F (j)>F (i)
Ai0j(c)Nc
Gij
+qi(c)[1−|S|∑l=1l6=i
GilAil(c)]
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoTeorema de convergencia; caso homogeneo (cont.)
= qi(c)∑j 6=i
F (j)≤F (i)
Gij +∑j 6=i
F (j)>F (i)
qjcG− ij + qi(c)
−qi(c)∑j 6=i
F (j)≤F (i)
GijAij(c)− qi(c)∑j 6=i
F (j)>F (i)
GijAij(c)
=∑j 6=i
F (j)>F (i)
qj(c)Gij + qi(c)−∑j 6=i
F (j)>F (i)
Ai0i(c)Nc
Aij(c)Gij
=∑j 6=i
F (j)>F (i)
qj(c)Gij + qi(c)−∑j 6=i
F (j)>F (i)
Ai0j(c)Nc
Gij
= qi(c).
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoTeorema de convergencia: demostracion (cont.)
Por el teorema de Feller, q es la distribucion estacionaria.
ConsecuenciasCon las hipotesis hechas, Aij(c) satisface la condicion:
para c > 0, ic ∈ Sopt, jc 6∈ Sopt
pues ası
f(ic) < f(jc)⇒ Aicjc(c) = exp(F (ic)− F (jc)
c
)< 1
Supondremos G irreducible (es decir, que hay conexidad).Luego, con las condiciones dadas para P (c), G y A(c), lacadena de Markov X es irreducible y aperiodica, por lotanto, existe la distribucion estacionaria q.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoConvergencia al optimo
Cuando c −→ 0, la distribucion estacionaria tiende al optimoglobal:
limc→0+
qi(c) =1|Sopt|
1Sopt(i)
demostracion. qi(c) = Ai0i(c)
Nc= Ai0i(c)∑
j∈S Ai0j(c)
Obs:
limc→0+
∑j∈S
exp(Fopt − F (j)
c
)=
∑j∈S
limc→0+
exp(Fopt − F (j)
c
)= |Sopt|.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoConvergencia al optimo (cont.)
I Si i ∈ Sopt: qi(c) =1∑
j∈Sexp
(Fopt − F (j)
c
)
Luego limc→0+
qi(c) =1|Sopt|
I Si i 6∈ Sopt: qi(c) =exp
(Fopt−F (j)
c
)∑j∈S exp
(Fopt−F (j)
c
)Como Fopt − F (i) < 0, entonces
limc→0+ exp(Fopt−F (j)
c
)= 0.
Por lo tanto, limc→0+ qi(c) = 0|Sopt|
= 0.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoAlgunas Aplicaciones
I MMP: maximum matching problemI QA: problema de asignacion cuadraticaI MWMP: minimum weighted matching problemI GPP & GCP: particionamiento de grafos y problema de
coloreo de grafosI NLAP: net linear arrangement problemI GLAP: graph linear arrangement problemI Diseno de circuitos con ayuda de computadoraI Procesamiento de imagenesI Diseno de codigosI Redes neuronales (redes de Hopfield y maquinas de
Boltzmann)I Problemas de localizacion y de de ruteoI Minimizacion logicaI Diseno de filtros digitalesI Test pattern generation
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Sobrecalentamiento SimuladoAplicaciones en Analisis de Datos en la UCR
I Rotaciones varimax oblicuas (Trejos 1992, 1994)
I Particionamiento en clasificacion (Piza & Trejos 1994,1996; Piza, Trejos & Murillo 1998, 2000)
I Multidimensional Scaling (Trejos & Villalobos 1998,2000; Gonzalez & Trejos 2000)
I Regresion no lineal (Trejos & Villalobos 1998)
I Clasificacion bimodal (Castillo & Trejos 1999)
I IndScal (Gonzalez, Castillo & Trejos 2000)
I Unidimensional Scaling (Murillo, Heiser & Vera 2004)
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuCaracterısticas
I F. Glover (70’s)
I Es una tecnica iterativa basada en la busqueda deloptimo por medio de vecindarios
I Un estado s define un vecindario N(s)I El vecindario N(s) es el conjunto de estados que
pueden ser generados a partir de s por medio de unmovimiento simple
I Se codifican los movimientos tabu en una lista tabu Tde longitud |T |: es prohibido acceder a esos estadosdurante un numero finito de pasos
I Movimiento de s a s′, se escoge s′ ∈ N(s), tal que:f(s′) = max{f(x)/x ∈ N(s)− T}, se escoge comonuevo estado el mejor vecino que no sea tabu
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuCaracterısticas
I Uso sistematico de la memoria
I Crierio de aspiracion: como regresar a un estado que hasido visiado aunque sea tabu
I Estrategia de ‘olvido’: el tamano de T es limitado
I Diversificacion: cambiar caracterısticas del estado actualpara explorar otros sectores del espacio de busqueda
I Intensificacion: al encontrar un buen estado seintensifica la busqueda a su alrededor afinando laestrategia
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuEjemplos de Aplicaciones en Investigacion de Operaciones
I Teorıa de grafos (De Amorim et al. (1993))
I Problema de calendarizacion (Cobos et al. (1997))
I Diseno en ingenier]1a (Jung & Yum (1996))
I Problema de rutas de vehıculos (Osman (1993))
I Problema del corte (Beausoleil (1999))
I Coloreado de grafos (Jaing (1998))
I Manufactura (Hertz et al. (1994)).
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuVariantes Estrategicas
I Criterios de Aspiracion
I Intensificacion
I Diversificacion
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuAlgoritmo General
Inicializar (s0, |T |, h)k := 0; s := s0; maxitersi := S(I);opt := I; sopt := SI ; {estado optimo}Para L := 1 hasta maxiter hacer
Generar vecindario de ISeleccionar el mejor vecino J que no este en la Lista TabuAplicar criterio de aspiracionI := J ; sI :=J
si sI < Sopt entoncesopt = I; sopt = sI
finsifinpara
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuAplicaciones en Analisis de Datos – UCR
I Clasificacion Numerica
I ClasificacionBimodal
I Escalamiento Multidimensional
I Regresion No Lineal
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuEscalamiento multidimensional
I Metric Multidimensional scaling (MDS)I Dada una matriz de disimilitudes ∆ = (δij)n×n se
quiere encontrar un conjunto de n vectoresX = {x1, . . . ,xn} ∈ Rp (p.ej. p = 2) tal que lasdistancias Euclıdeas dij = ‖xi−xj‖ aproximen a las δij :
δij ≈ dijI criterio a minimizar, el Stress:
σ2(X) =n−1∑i=1
n∑j=i+1
wij [δij − dij(X)]2
I Stress normalizado:
σ2(X)/ηδ =σ2(X)∑ n−1
i=1
n∑j=i+1
wijδ2ij (1)
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuImplementacion de BT para MDS
I Estados:configuraciones de n puntos en Rp
I Malla de Rp: escoger un ancho de malla h
I Vecindario: mover un vector en la configuracion a unvecino en la malla:dado el estado I = xI1, . . . ,x
In, entonces
xIi ∈ (hZ)p
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuTabuScal: Ejemplos de Comparacion
I Ejemplos simples
I Reconstruccion de mapas
I Los refrescos (colas)
I 10 puntos al azar
I Pejibaye
I Datos ficticios
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuEjemplo: Esquinas de un Cuadrado
I Repeticiones: 100
I Iteraciones: 80
I Longitud de la lista tabu: 12
I Ancho de la malla: 0.15× ancho (/3, /10/, /20)
I Mejor stress: 0.504359
I Mejor stress normalizado: 0.000003
I τ : 69%
I Valor promedio del stress: 0.009730
I Tiempo total: 10 min 13 seg
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda Tabu6 puntos
I Repeticiones: 100
I Iteraciones: 120
I Longitud de la lista tabu: 18
I Ancho de la malla: 0.15× ancho (/3, /10/, /20)
I Mejor stress: 1.091859
I Mejor stress normalizado: 0.071457
I τ : 87%
I Valor promedio del stress: 0.072113
I Tiempo total: 21 min 52 seg
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda Tabu9 puntos en una malla de R2
I Repeticiones: 10
I Iteraciones: 180
I Longitud de la lista tabu: 27
I Ancho de la malla: 0.15× ancho (/3, /10/, /20)
I Mejor stress: 10.381407
I Mejor stress normalizado: 0.000010
I τ : 100%
I Valor promedio del stress: 0.000013
I Tiempo total: 53 min 12 seg
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuRefrescos (colas)
I Repeticiones: 100
I Iteraciones: 200
I Longitud de la lista tabu: 30
I Ancho de la malla: 0.15× ancho (/3, /10/, /20)
I Mejor stress: 117487.001440
I Mejor stress normalizado: 0.018394
I Valor promedio del stress: 0.019892
I Tiempo total: 2 h 20 min 42 seg
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda Tabu10 puntos al azar en [−1, 1]5
I Repeticiones: 100
I Iteraciones: 200
I Longitud de la lista tabu: 30
I Ancho de la malla: 0.15× ancho (/3, /10/, /20)
I Mejor stress: 48323.146767
I Mejor stress normalizado: 0.036031
I Valor promedio del stress: 0.039837
I Tiempo total: 2 h 39 min 40 seg
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuFictitious data
I Disimilitud de Jaccard
I 4 clases naturales
I Iteraciones: 400
I Longitud de la lista tabu:
I Ancho de la malla: 0.15× ancho (/3, /10/, /20)
I Stress: 7.382291
I Stress normalizado: 0.028950
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuPejibaye data
I Disimilitud de Jaccard
I 6 clases naturales
I Iteraciones: 870
I Longitud de la lista tabu: 40
I Ancho de la malla: 0.15× ancho (/3, /10/, /20)
I Stress: 224.583751
I Stress normalizado: 0.069526
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuConsideracion de BT probabilıstica
I Crıtica al Sobrecalentamiento Simulado (SS): ausenciade memoria
I Sean Gij las probabilidades de generacion del SS. Sedefine el grafo (orientado) Γ asociado a G por: losvertices son los elementos i ∈ S, se crean aristas siGij > 0
I Si Gij = Gji entonces se dice que Γ es reversible (osimetrica)
I El SS usual converge al optimo si Gij = Gji, si laprobabilidad de aceptacion Aij usa la regla deMetropolis Aij = min{1, exp(−∆F/ct)} y Γ es conexo(⇒ la cadena de Markov asociada es aperiodica eirreducible)
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuConsideracion de BT probabilıstica (cont.)
I Si Gij > 0⇔ Gji > 0 (combinatoriamente simetrica)en lugar de Gij = Gji tambien se puede probarconvergencia del SS (Faigle & Schrader, 1988)
I Se introducen probabilidades tabu (Glover, 1989)I Se modifica el SS ası:
I Se hacen las Gij dependientes del tiempo (temperatura)I Se modifican las Aij
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuConvergencia en BT probabilıstica
Definicion (Hajek): El grafo Γ es debilmente reversible sipara todo f ∈ R, las componentes conexas de la restriccionde Γ al conjunto S(f) = {i ∈ S|F (i) < f} son fuertementeconexas.Es decir, si ∀f ∈ R, ∀i, j ∈ S: se puede ir de i a j a travesde un camino que no exceda el peso f ⇔ se puede ir de j ai a traves de un camino cuyo peso no excede f
Sea una familia de matrices estocasticasG(c) = [Gij(c)], c > 0, tal que:
∃ε > 0,∀c > 0 : Gij(c) > 0⇒ Gij(c) ≥ ε (∗)
Obs.: si Gij(c) := Gij (como en sobr. simulado usual)entonces se tiene (∗)
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuTeorema de convergencia
Sea G(c), c > 0 que satisface (∗) y tal que Γ es debilmentereversible. Entonces q∗ = limc→0+ q(c) es tal que qi(c) > 0solo para soluciones optimas i ∈ Sopt.
demostracion. Se prueba que existe K > 0 tal que∀c > 0, ∀i, j ∈ S con F (i) < F (j):
qj(c)qi(c)
≤ K exp[(F (i)− F (j))/c]
por induccion sobre |S|+ |{F (i)/i ∈ S}|.
Caso 1: Si ∃i, j ∈ Sopt, i 6= j : Gij(c) > 0.
Caso 2: Si ∀i, j ∈ Sopt, i 6= j : Gij(c) = 0.
Consecuencia: se pueden modificar las Gij(c) respecto a cpara que tomen en cuenta conocimiento anterior (memoria),entre ciertas cotas [ε, 1− ε], y ası garantizar la convergencia.
Optimizacion
Javier Trejos
Introduccion
ProgramacionLineal
Programacion NoLineal
OptimizacionCombinatoria
Busqueda Local
SobrecalentamientoSimulado
Busqueda Tabu
Busqueda TabuModificacion de P (c)
En SS se tienePij(c) = Gij(c)Aij(c)
Ahora en BT se pone:
Pij(c) = Gij(c)Aij(c)Tij(c)
donde Tij(c) es una probabilidad tabu
P.ej. en el TSP: registrar el numero de ocurrencias de aristasque aparecen en ciclos (ponderadas por la longitud total delciclo). Una arista que aparezca raramente en buenassoluciones puede ser considerada como tabu parasubsecuentes iteraciones ⇒ tendra menor probabilidad degeneracion