62
Optimizaci Optimizaci ó ó n de n de Modelos Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

  • Upload
    ledang

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

OptimizaciOptimizacióón de n de ModelosModelos

M. En C. Eduardo Bustos Farías

INSTITUTO POLITÉCNICO NACIONALESCUELA SUPERIOR DE CÒMPUTO

Page 2: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

PlanPlan

•• IntroducciIntroduccióónn

•• DefinicionesDefiniciones

•• ClasificaciClasificacióónn

•• TabuTabu y y OtrosOtros

•• RecocidoRecocido SimuladoSimulado

•• AlgoritmosAlgoritmos GenGenééticosticos

•• RedesRedes NeuronalesNeuronales

Page 3: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

IntroducciIntroduccióónn

•• Plan Plan generalgeneral

•• ObjetivoObjetivo::–– ConocerConocer diversosdiversos mméétodostodos para la para la resoluciresolucióónn

de de problemasproblemas de de optimizacioptimizacióónn

Page 4: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

Un modelo de Un modelo de OptimizaciOptimizacióón n MatemMatemááticaticaUn modelo de OptimizaciUn modelo de Optimizacióón Matemn Matemáática tica

consiste en una funciconsiste en una funcióón objetivo y un n objetivo y un conjunto de restricciones en la forma de conjunto de restricciones en la forma de un sistema de ecuaciones o un sistema de ecuaciones o inecuaciones. Los modelos de inecuaciones. Los modelos de optimizacioptimizacióón son usados en casi todas n son usados en casi todas las las ááreas de toma de decisiones, como reas de toma de decisiones, como en ingenieren ingenieríía de disea de diseñño y seleccio y seleccióón de n de carteras financieras de inversicarteras financieras de inversióón . n .

Page 5: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

OptimizaciOptimizacióónn

La humanidad hace tiempo que busca, o profesa buscar, La humanidad hace tiempo que busca, o profesa buscar, mejores maneras de realizar las tareas cotidianas de la vida. mejores maneras de realizar las tareas cotidianas de la vida. A lo largo de la historia de la humanidad, se puede observar A lo largo de la historia de la humanidad, se puede observar la larga bla larga búúsqueda de fuentes msqueda de fuentes máás efectivas de alimentos al s efectivas de alimentos al comienzo y luego de materiales, energcomienzo y luego de materiales, energíía y manejo del entorno a y manejo del entorno ffíísico. Sin embargo, relativamente tarde en la historia de la sico. Sin embargo, relativamente tarde en la historia de la humanidad, comenzaron a formularse ciertas clases de humanidad, comenzaron a formularse ciertas clases de preguntas generales de manera cuantitativa, primero en preguntas generales de manera cuantitativa, primero en palabras y despupalabras y despuéés en notaciones simbs en notaciones simbóólicas. licas.

Un aspecto predominante de estas preguntas generales era la Un aspecto predominante de estas preguntas generales era la bbúúsqueda de lo "mejor" o lo "squeda de lo "mejor" o lo "óóptimo". ptimo". LLos gerentes buscan os gerentes buscan simplemente lograr alguna mejora en el nivel de rendimiento, simplemente lograr alguna mejora en el nivel de rendimiento, es decir, un problema de "bes decir, un problema de "búúsqueda de objetivo". Cabe squeda de objetivo". Cabe destacar que estas palabras normalmente no tienen un destacar que estas palabras normalmente no tienen un significado preciso. significado preciso.

Page 6: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

OptimizaciOptimizacióónnSe han realizado grandes esfuerzos por describir Se han realizado grandes esfuerzos por describir

complejas situaciones humanas y sociales. complejas situaciones humanas y sociales. Para tener significado, esto deberPara tener significado, esto deberíía escribirse a escribirse en una expresien una expresióón matemn matemáática que contenga tica que contenga una o muna o máás variables, cuyos valores deben s variables, cuyos valores deben determinarse. determinarse.

La pregunta que se formula, en tLa pregunta que se formula, en téérminos rminos generales, es qugenerales, es quéé valores debervalores deberíían tener estas an tener estas variables para que la expresivariables para que la expresióón matemn matemáática tica tenga el mayor valor numtenga el mayor valor numéérico posible rico posible (maximizaci(maximizacióón) o el menor valor numn) o el menor valor numéérico rico posible (minimizaciposible (minimizacióón). A este proceso general n). A este proceso general de maximizacide maximizacióón o minimizacin o minimizacióón se lo n se lo denomina optimizacidenomina optimizacióón. n.

Page 7: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

PROGRAMACIPROGRAMACIÓÓNNMATEMMATEMÁÁTICATICALa optimizaciLa optimizacióón, tambin, tambiéén denominada programacin denominada programacióón n

matemmatemáática, sirve para encontrar la respuesta que tica, sirve para encontrar la respuesta que proporciona el mejor resultado, la que logra mayores proporciona el mejor resultado, la que logra mayores ganancias, mayor producciganancias, mayor produccióón o felicidad o la que logra el n o felicidad o la que logra el menor costo, desperdicio o malestar. Con frecuencia, estos menor costo, desperdicio o malestar. Con frecuencia, estos problemas implican utilizar de la manera mproblemas implican utilizar de la manera máás eficiente los s eficiente los recursos, tales como dinero, tiempo, maquinaria, personal, recursos, tales como dinero, tiempo, maquinaria, personal, existencias, etc. existencias, etc.

Los problemas de optimizaciLos problemas de optimizacióón generalmente se clasifican en n generalmente se clasifican en lineales y no lineales, seglineales y no lineales, segúún las relaciones del problema n las relaciones del problema sean lineales con respecto a las variables. Existe una serie sean lineales con respecto a las variables. Existe una serie de paquetes de software para resolver problemas de de paquetes de software para resolver problemas de optimizacioptimizacióón. Por ejemplo, LINDO o n. Por ejemplo, LINDO o WinQSBWinQSB resuelven resuelven modelos de programas lineales y LINGO y modelos de programas lineales y LINGO y What'sBestWhat'sBest! ! resuelven problemas lineales y no lineales. resuelven problemas lineales y no lineales.

Page 8: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

PROGRAMACIPROGRAMACIÓÓNNMATEMMATEMÁÁTICATICA

La ProgramaciLa Programacióón Matemn Matemáática, en general, aborda el tica, en general, aborda el problema de determinar asignaciones problema de determinar asignaciones óóptimas de ptimas de recursos limitados para cumplir un objetivo dado. El recursos limitados para cumplir un objetivo dado. El objetivo debe representar la meta del objetivo debe representar la meta del decisordecisor. Los . Los recursos pueden corresponder, por ejemplo, a recursos pueden corresponder, por ejemplo, a personas, materiales, dinero o terrenos. Entre todas las personas, materiales, dinero o terrenos. Entre todas las asignaciones de recursos admisibles, queremos asignaciones de recursos admisibles, queremos encontrar las que maximizan o minimizan alguna encontrar las que maximizan o minimizan alguna cantidad numcantidad numéérica tal como ganancias o costos. rica tal como ganancias o costos.

El objetivo de la optimizaciEl objetivo de la optimizacióón global es encontrar la mejor n global es encontrar la mejor solucisolucióón de modelos de decisiones difn de modelos de decisiones difííciles, frente a las ciles, frente a las mmúúltiples soluciones locales. ltiples soluciones locales.

Page 9: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

OptimizaciOptimizacióónn

•• ¿¿Que es un Que es un problemaproblema??

•• ¿¿ComoComo resolverresolver problemasproblemas??

•• ¿¿Que es Que es optimizaroptimizar??

•• ¿¿ComoComo podemospodemos optimizaroptimizar??

•• ¿¿OptimosOptimos locales y global?locales y global?

Page 10: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

¿¿Que es un Que es un problemaproblema??

•• DisparidadDisparidad entre entre loslos estadosestados presentepresente y y deseadodeseado

•• Si no se Si no se tienetiene un un propositoproposito, , entoncesentonces no no se se tienetiene problemaproblema

•• ProblemasProblemas detrasdetras deldel capitulocapitulo

Page 11: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

Un Un ejemploejemplo

•• Un Un granjerogranjero tienetiene unauna granjagranja rectangularrectangularcon un con un perimetroperimetro de 110m y un area de de 110m y un area de 700m2. 700m2. CualesCuales son las son las dimensionesdimensiones de la de la granjagranja??

•• 2x + 2y = 1102x + 2y = 110

•• xyxy=700=700

Page 12: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

OtroOtro ejemploejemplo

•• SeaSea un un triangulotriangulo ABC y D un ABC y D un puntopuntointeriorinterior cualquieracualquiera. . PruebePruebe que AD + DB que AD + DB < AC + CB< AC + CB

•• hinthint: la : la sumasuma de 2 de 2 ladoslados de un de un triangulotrianguloes es mayormayor que el 3er que el 3er ladolado

•• AD+DB <= AD +(DE+EB) =AE+EB AD+DB <= AD +(DE+EB) =AE+EB <=(AC+CE)+EB=AC+CB<=(AC+CE)+EB=AC+CB

Page 13: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

¿¿CualCual es la es la edadedad de mis 3 de mis 3 hijoshijos??

•• HoyHoy mis 3 mis 3 hijoshijos celebrancelebran su su cumpleanoscumpleanos

•• El El productoproducto de sus de sus edadesedades es 36es 36

•• La La sumasuma de sus de sus edadesedades es es igualigual al al numeronumero de de ventanasventanas de de aquelaquel edificioedificio

•• Mi Mi hijohijo mayormayor tienetiene loslos ojosojos azulesazules

Page 14: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

¿¿Porque Porque algunosalgunos problemasproblemasson son dificilesdificiles de de resolverresolver??

•• El El numeronumero de de solucionessoluciones posiblesposibles en el en el espacioespacio de de busquedabusqueda es es enormeenorme

•• El El problemaproblema es es muymuy complicadocomplicado, , debendebenhacersehacerse muchas muchas simplificacionessimplificaciones

•• La La funcionfuncion de de evaluacionevaluacion es es ruidosaruidosa

•• Las Las solucionessoluciones posiblesposibles estanestanfuertementefuertemente restringidasrestringidas

Page 15: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

El El tamatamaññoo deldel espacioespacio de de busquedabusqueda

•• El El problemaproblema de de satisfaccionsatisfaccion booleanobooleano(SAT) => 2^100 => 10^30(SAT) => 2^100 => 10^30

•• El El problemaproblema deldel viajeroviajero de de comerciocomercio(TSP) => n!/2n, para n=10 181000 sol(TSP) => n!/2n, para n=10 181000 sol

•• ProblemasProblemas de de ProgramacionProgramacion No No LinealLineal(PNL) => (PNL) => infinitasinfinitas solucionessoluciones

Page 16: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

ModelandoModelando el el ProblemaProblema

•• ProblemaProblema => => ModeloModelo => => SolucionSolucion

•• ProblemaProblema --> > Modelo_aModelo_a --> > Solucion_pSolucion_p

•• ProblemaProblema --> > Modelo_pModelo_p --> > Solucion_aSolucion_a

•• SiempreSiempre debemosdebemos aproximaraproximar, es que las , es que las solucionessoluciones son validas?son validas?

•• TAREATAREA

Page 17: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

ResumenResumen

•• ResolverResolver problemasproblemas es es dificildificil porpor varias varias razonesrazones::–– Los Los problemasproblemas complejoscomplejos frecuentementefrecuentemente

tienentienen un un numeronumero enormeenorme de de solucionessolucionesposiblesposibles

–– Para Para obtenerobtener algunaalguna solucionsolucion debemosdebemosintroducirintroducir simplificacionessimplificaciones

Page 18: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

ResumenResumen (cont.)(cont.)

–– Las Las condicionescondiciones deldel problemaproblema cambiancambian en el en el tiempotiempo y y puedenpueden involucrarinvolucrar gente que gente que quierequiereque que fallesfalles..

–– Los Los problemasproblemas deldel mundomundo real real tienentienenrestriccionesrestricciones que que requierenrequieren operacionesoperacionesespecialesespeciales para para generargenerar solucionessoluciones factiblesfactibles

–– NO OLVIDAR LO QUE SE QUIERE PROBAR. NO OLVIDAR LO QUE SE QUIERE PROBAR. PERMANECER CENTRADO EN EL PERMANECER CENTRADO EN EL RESULTADO FINALRESULTADO FINAL

Page 19: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

ConceptosConceptos BBaasicossicos

•• If If wewe cancan reallyreally understandunderstand the the problemproblem, , the the answeranswer willwill comecome out of out of itit, because , because the the answeranswer isis not not separateseparate fromfrom the the problemproblem.. KrishnamurtiKrishnamurti

•• 1) la 1) la representacionrepresentacion, 2) el , 2) el objetivoobjetivo y 3) la y 3) la funcionfuncion de de evaluacionevaluacion

Page 20: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

La La representacionrepresentacion

•• SAT SAT --> string > string binariobinario de largo nde largo n

•• TSP TSP --> > secuenciasecuencia de de numerosnumeros

•• NLP NLP --> > numerosnumeros realesreales dimension ndimension n

•• La La representacionrepresentacion determinadetermina el el tamanotamanodeldel espacioespacio de de busquedabusqueda

Page 21: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

El El objetivoobjetivo

•• SAT SAT --> > hacerhacer la la respuestarespuesta TRUETRUE

•• TSP TSP --> min > min ∑∑distdist(x,y)(x,y)

•• NLP NLP --> min o max de > min o max de unauna funcionfuncion no no lineallineal

Page 22: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

La La funcionfuncion de de evaluacionevaluacion

•• AsignarAsignar a a cadacada solucionsolucion un un valorvalornumericonumerico que que indicaindica su su calidadcalidad

•• Ordinal o Ordinal o numericanumerica

Page 23: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

¿¿QuQuéé es la es la optimizacioptimizacióónn??

•• Es Es unauna herramientaherramienta esencialesencial de de modeladomodelado..

•• OptimizarOptimizar significasignifica encontrarencontrar el el mmíínimonimo o el o el mmááximoximo de de unauna ciertacierta funcifuncióónn, , definidadefinida en en ciertocierto dominiodominio..

• Optimización global es la tarea de encontrarel MEJOR conjunto de condicionesadmisibles para lograr el objetivo, formuladoen términos matemáticos

Page 24: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

¿¿CualesCuales son son loslos problemasproblemas??

• Los problemas de optimización global son típicamente bastante difíciles de resolverexactamente.

• Se encuentran dentro de una clase muyamplia denominada Programacion No Lineal(NLP)

• Problemas combinatorios, problemasgenerales sin restricciones, problemasgenerales con restricciones.

Page 25: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

ComoComo definirdefinir un un problemaproblema de de optimizacionoptimizacion

•• DadoDado un un espacioespacio de de busquedabusqueda S S juntojuntocon su parte con su parte factiblefactible F F ⊆ S, S, encontrarencontrar x x ∈F F taltal que que evaleval(x)<= (x)<= evaleval(y) para (y) para todotodo y y ∈ FF

•• El El puntopunto x que x que satisfacesatisface estaesta condicioncondicion se se llamallama solucionsolucion globalglobal

Page 26: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

¿¿CCóómomo optimizaroptimizar??Técnicas de búsqueda del óptimo

Enum. Implicitas

Busq. Guiada Redes Neuronal

Sim. Ann. Alg. Evol. Busq. Tabu

Bas. En Calculo

Met. Directos Met. Indirect

Fibonacci Newton

Tec. Enumerativas

Prog. Dinamica

Branch and bound

Page 27: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

OptimosOptimos Locales y GlobalLocales y Global

Page 28: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

RecapitulemosRecapitulemos

•• OptimizarOptimizar es es buscarbuscar un un mmíínimonimo (o (o mmááximoximo) a ) a unauna funcifuncióónn dadadada

•• ExistenExisten muchas muchas ttéécnicascnicas para la para la optimizacioptimizacióónn, , peropero nosotrosnosotros nos nos restringiremosrestringiremos al al estudioestudio de de algunasalgunasttéécnicascnicas enumerativasenumerativas implicitasimplicitas

Page 29: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

MetodosMetodos de de HillHill--climbingclimbing

Begint := 0; inicializar mejor

repetirlocal := FALSEseleccionar un punto vc

repetirseleccionar los nuevos puntos en la vecindad de vcseleccionar el mejor punto vnsi eval(vn) es mejor que eval(vc) entonces vc:=vnsino local:= TRUE

hasta localt:= t+1si vc es mejor que mejor entonces mejor:=vc

hasta t=MAXend

Page 30: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

DebilidadesDebilidades de de hillhill--climbingclimbing

•• NormalmenteNormalmente terminanterminan en en optimosoptimos localeslocales

•• No No hayhay informacioninformacion de de cuantocuanto el el optimooptimolocal local difieredifiere deldel globalglobal

•• El El optimooptimo obtenidoobtenido dependedepende de la de la configuracionconfiguracion inicialinicial

•• No es No es posibleposible dardar un borne un borne deldel tiempotiempo de de computocomputo

Page 31: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

ResumenResumen

•• Para Para implementarimplementar un un algoritmoalgoritmo de de optimizacionoptimizacion se se debedebe considerarconsiderar: la : la representacionrepresentacion, el , el objetivoobjetivo y la y la funcionfuncionde de evaluacionevaluacion

•• CompromisoCompromiso entre entre explotarexplotar la la mejormejorsolucionsolucion y y explorarexplorar el el espacioespacio de de busquedabusqueda

Page 32: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

MetodosMetodos tradicionalestradicionales

•• BusquedaBusqueda exhaustivaexhaustiva–– ComoComo generargenerar unauna secuenciasecuencia de de todastodas las las

solucionessoluciones posiblesposibles? (SAT,TSP,NLP)? (SAT,TSP,NLP)

•• BusquedaBusqueda locallocal–– Tomar Tomar unauna solucionsolucion al al azarazar y y evaluarevaluar su su

meritomerito. . DefinirlaDefinirla comocomo solucionsolucion actualactual

–– AplicarAplicar unauna transformaciontransformacion a la a la solucionsolucionactualactual para para generargenerar unauna nuevanueva solucionsolucion y y evaluarevaluar su su meritomerito

Page 33: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

BusquedaBusqueda locallocal

–– Si la Si la nuevanueva solucionsolucion es es mejormejor, , cambiarlacambiarla, , sino sino desecharladesecharla

–– RepetirRepetir loslos pasos 2 y 3 pasos 2 y 3 hastahasta que no haya que no haya transformaciontransformacion que que mejoremejore la la solucionsolucion actualactual•• Ver el GSATVer el GSAT

•• Ver Ver LinLin--KernighanKernighan

Page 34: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

MetodosMetodos TradicionalesTradicionales

•• AlgoritmosAlgoritmos glotonesglotones

•• Divide y Divide y vencerasvenceras

•• ProgramacionProgramacion dinamicadinamica

•• BranchBranch and and boundbound

•• AlgoritmoAlgoritmo A*A*

Page 35: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

AlgoritmosAlgoritmos glotonesglotones

•• Tomar a Tomar a cadacada paso la paso la mejormejor decisiondecisionposibleposible

•• SATSAT--> por > por cadacada variable de 1 a n, en variable de 1 a n, en cualquiercualquier ordenorden, , asignarasignar el el valorvalor que que resulteresulte en en satisfacersatisfacer el el mayormayor numeronumero de de clausulasclausulas insatisfechasinsatisfechas. Si . Si hayhay dos, dos, escogerescoger unauna al al azarazar

Page 36: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

Divide y Divide y VencerasVenceras

•• CortarCortar el el problemaproblema P en P en subproblemassubproblemasP1,P2,P1,P2,……,PK,PK

•• Para i=1 Para i=1 hastahasta kk–– si el si el tamanotamano de Pi < de Pi < rhorho, , resolverresolver (si)(si)

–– sino sino aplicaraplicar de de nuevonuevo el el algalg a Pia Pi

•• CombinarCombinar si en la si en la solucionsolucion finalfinal

Page 37: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

ProgramacionProgramacion DinamicaDinamica

•• BuenoBueno si:si:–– el el problemaproblema puedepuede serser descompuestodescompuesto en en unauna secuenciasecuencia de de

decisionesdecisiones tomadastomadas en varias en varias etapasetapas

–– cadacada etapaetapa tienetiene un un numeronumero de de estadosestados posiblesposibles

–– unauna decisiondecision te toma de un te toma de un estadoestado en en unauna etapaetapa a a otrootroestadoestado en la en la proximaproxima etapaetapa

–– la la mejormejor secuenciasecuencia de de decisionesdecisiones en en cadacada etapaetapa es es independienteindependiente de las de las decisionesdecisiones anterioresanteriores

–– hayhay un un costocosto bien bien definidodefinido porpor pasarpasar de un de un estadoestado a a otrootro

Page 38: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

ProgramacionProgramacion DinamicaDinamica ((contcont))

•• TSP con 5 TSP con 5 ciudadesciudades

•• Distancias entre las Distancias entre las ciudadesciudades: : 0 7 12 8 11/3 0 10 7 13/ 4 8 0 9 12/6 6 9 0 7 12 8 11/3 0 10 7 13/ 4 8 0 9 12/6 6 9 0 10/7 7 11 10 00 10/7 7 11 10 0

•• g(i,S)=min{L(i,j)+g(j,Sg(i,S)=min{L(i,j)+g(j,S--{j})}{j})}

•• g(1,{2,3,4,5}) (ver g(1,{2,3,4,5}) (ver pizarrapizarra)

Microsoft HTML Document 5.0

)

Page 39: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

BranchBranch and and BoundBound Branch-and-Bound TSP Algorith.htm

inicializarinicializar CCinicializarinicializar f_boundf_boundwhilewhile(no fin){(no fin){

sacarsacar la la mejormejor de C y de C y asignarloasignarlo a Dia Direducirreducir o o subdividirsubdividir Di y Di y asignarloasignarlo a Di'a Di'update update f_boundf_boundC:= C union Di'C:= C union Di'para para todotodo Di en CDi en Csi(si(limlim inf de s(Di)) > inf de s(Di)) > f_boundf_bound entoncesentonces

sacarsacar Di de C}Di de C}

Page 40: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

AlgoritmoAlgoritmo A*A* Microsoft HTML Document 5.01

2 34 5

Page 41: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

TareaTarea: el : el problemaproblema de las de las reinasreinas•Colocar n reinas en un tablero n x n

Page 42: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

HeuristicasHeuristicas

•• Que son las Que son las heuristicasheuristicas??

•• PorPor que las que las necesitamosnecesitamos??

•• CualesCuales son las son las heuristicasheuristicas mas mas popularespopulares??

Page 43: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

¿¿QuQuéé son las son las heurheuríísticassticas??

•• Las Las heurheuríísticassticas son son mméétodostodosaproximativosaproximativos para la para la resoluciresolucióónn de de problemasproblemas de de optimizacioptimizacióónn

•• ProporcionanProporcionan solucionessoluciones subsub--optimales, optimales, peropero que que estanestan generalmentegeneralmente cercacerca deldelóóptimoptimo

Page 44: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

¿¿PorPor ququéé necesitamosnecesitamos las las heurheuríísticassticas??

•• Porque las Porque las solucionessoluciones óóptimasptimas son son demasiadodemasiado difdifíícilesciles de de encontrarencontrar((problemasproblemas NPNP--completoscompletos))

•• Porque a Porque a vecesveces unauna solucisolucióónn subsub--optimal optimal es es mmááss que que suficientesuficiente

Page 45: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

¿¿CualesCuales son las son las heurheuríísticassticasmmááss popularespopulares??

•• SimulatedSimulated AnnealingAnnealing

•• GeneticGenetic AlgoritmsAlgoritms

•• BBúúsquedasqueda TabuTabu

•• RedesRedes NeuronalesNeuronales

Page 46: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

BBúúsquedasqueda TabuTabu

• Es un procedimiento iterativo para resolverproblemas discretos de optimización combinatoria.

• La idea básica del método es la de explorar el espacio de búsqueda de todas las solucionesfactibles por una secuencia de movimientos.

• Para escapar de un optimo local y para prevenir losciclos, algunos movimientos, en una iteración en particular, son clasificados como prohibidos o tabu.

Page 47: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

AlgoritmoAlgoritmo de de TabuTabu• K=1

• While (no fin)

Identificar N(s)⊆S. (Conjunto de vecinos)

Identificar T(s) ⊆ N(s). (Conjunto Tabu)

Identificar A(s) ⊆ T(s). (Conjunto Aspirante)

Escoger s' ∈ (N(sj)-T(sj))U A(sj), para el cual F(s') es maxima.

s=s'. K=K+1.

• END WHILE

Page 48: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

EjemplosEjemplos usandousando TabuTabu

•• SATSAT

•• TSPTSP

•• ParticionamientoParticionamiento de de grafosgrafos (a (a UstedesUstedes))

Page 49: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

El El RecocidoRecocido SimuladoSimulado

•• HistoriaHistoria •• MejorasMejoras

•• BasesBases •• EjemplosEjemplos

•• AlgoritmoAlgoritmo •• ProblemasProblemas

•• ParParáámetrosmetros

•• AplicacionesAplicaciones

Page 50: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

Historia Historia deldel RecocidoRecocidoSimuladoSimulado

• El recocido simulado es una generalizacióndel método de Monte Carlo para examinarlas ecuaciones de estado de un sistema con múltiples ecuaciones

• Fue propuesto en 1983 por Kirkpatrick et al. para la resolución de un problema de localización en VLSI (Very Large ScaleIntegration).

Page 51: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

Bases Bases deldel RecocidoRecocido SimuladoSimulado

• El método se inspira del principio de la termodinámica

• Los desplazamietos en el espacio de búsqueda son basados en la distribuciónde Boltzmann.

• El algoritmo de Kirkpatrick combina losmecanismos de enfriamiento y de recocido.

Page 52: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

AlgoritmoAlgoritmo deldel RecocidoRecocidoSimuladoSimulado (1)(1)•• InicializaciInicializacióónn

•• IterarIterar–– GenerarGenerar unauna nuevanueva configuraciconfiguracióónn

–– EvaluarEvaluar la la energiaenergia

–– RemplazarRemplazar si si hayhay mejoramejora o con o con probabilidadprobabilidadP=P=expexp((--∆∆E/T)E/T)

–– EvaluarEvaluar si se si se llegollego al al equilibrioequilibrio

–– ActualizarActualizar la la temperaturatemperatura

Page 53: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

P=P=expexp((--∆∆E/T)E/T)

Page 54: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

AlgoritmoAlgoritmo deldel RecocidoRecocidoSimuladoSimulado (2)(2)

Inicializar T. Generar una configuración aleatoria Xold

Repita Mientras T>TminRepita Para U=1 hasta Nc

Generar nueva configuracion Xnew

Calcular la nueva energía Enew

Calcular ∆E= Enew - Eold

Si ∆E < 0 o random < prob=e^(∆E/T) entoncesXold := XnewEold := Enew

Fin SIFin Repita Para Reducir T (T=0.9*T)

Fin Repita Mientras

Page 55: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

CondicionesCondiciones de de finalizacifinalizacióónndeldel algoritmoalgoritmo

•• CuandoCuando se se alcanzaalcanza un un valorvalor de de temperaturatemperatura bajobajo

•• CuandoCuando la la energiaenergia no varia a no varia a temperaturastemperaturas sucesivassucesivas

•• CuandoCuando se se aceptanaceptan menosmenosconfiguracionesconfiguraciones que un que un minimominimo dadodado

Page 56: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

ParParáámetrosmetros

•• TemperaturaTemperatura

•• ConfiguraciConfiguracióónn InicialInicial

•• NNúúmeromero de de iteracionesiteraciones a a cadacadatemperaturatemperatura

•• NNúúmeromero minimominimo de de configuracionesconfiguracionesaceptadasaceptadas

Page 57: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

TemperaturaTemperatura

• La temperatura es un parametro de control

• T0 debe ser escogida alta• El decrecimiento de la temperatura

puede ser: lineal, discreto o exponencial(t2=αt1, t2=t1-∆t, t2=t1 exp(-λt1/σ1))

Page 58: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

ConfiguracionConfiguracion InicialInicial

•• Mucha Mucha dependenciadependencia deldel algoritmoalgoritmo a la a la configuraciconfiguracióónn inicialinicial–– SoluciSolucióónn AleatoriaAleatoria

–– SoluciSolucióónn de un de un algoritmoalgoritmo iterativoiterativo

Page 59: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

AplicacionesAplicaciones deldel RecocidoRecocidoSimuladoSimulado

• Simulated annealing ha sido usado en varios problemas de optimizacióncombinatoria

• Ha sido particularmente exitoso en problemas de diseño de circuitos

•• TSPTSP

•• Corte Corte MMááximoximo

Page 60: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

MejorasMejoras al al RecocidoRecocido SimuladoSimulado

•• ParalelizaciParalelizacióónn

•• HHííbridobrido utilizandoutilizando bbúúsquedasqueda local y AGlocal y AG

•• ControlarControlar el el recocidorecocido

•• MejorasMejoras dependientesdependientes de la de la aplicaciaplicacióónn

Page 61: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

EjemploEjemplo (TSP)(TSP)– El Problema del Viajero de Comercio

k = 1;

initialize(best_tour); initilize( L(k) ); // the length of each runinitialize( C(k) ); // the control parameter

repeatfor i= 1 to L(k)

generate(tour_j); if dist(tour_j) < dist(best_tour) then best_tour=tour_jelse if exp( (dist(best_tour) - dist(tour_j))/C(k))> random[0,1) then best_tour=j;

endfor;

k=k+1; adjust(L(k)); adjust(C(k));

until terminating condition

Page 62: optimizacion de modelos - angelfire.com · Optimización de Modelos M. En C. Eduardo Bustos Farías INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÒMPUTO

TSP TSP -- CorridaCorrida

TSP.exe