+ All Categories
Home > Documents > Optimizaci on - stat.rice.edujrojo/PASI/lectures/Costa rica/A_Optimizacion... · I V ease que jSj=...

Optimizaci on - stat.rice.edujrojo/PASI/lectures/Costa rica/A_Optimizacion... · I V ease que jSj=...

Date post: 19-Oct-2018
Category:
Upload: lamkiet
View: 217 times
Download: 0 times
Share this document with a friend
71
Optimizaci´on Javier Trejos Introducci´on Programaci´ on Lineal Programaci´ on No Lineal Optimizaci´on Combinatoria usqueda Local Sobrecalentamiento Simulado usqueda Tab´ u Optimizaci´ on Javier Trejos Escuela de Matem´ atica – CIMPA Universidad de Costa Rica April 3, 2010
Transcript

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


Recommended