Modelado e optimizació José María Ferrer Caa Uiversidad Potificia Comillas
Optimizació Ecotrar el valor que debe tomar las variables del problema para hacer óptima la fució obetivo, y de forma que se satisfaga las restriccioes Modelado e optimizació-
Compoetes de u problema de optimizació Fució obetivo Medida cuatitativa del fucioamieto del sistema que se desea optimizar (maimizar o miimizar) Variables Represeta las decisioes que se puede adoptar y de las que depede el valor de la fució obetivo Variables de cotrol y de estado Restriccioes Relacioes que las variables debe satisfacer Igualdades y desigualdades Modelado e optimizació- 2
Clasificació de modelos Fució obetivo Lieal, cuadrática, o lieal, o difereciable, multiobetivo, estocástica, si fució obetivo Restriccioes Si restriccioes, lieales, o lieales, o difereciables, acotadas, disyutivas, probabilísticas Variables Cotiuas, eteras, biarias Modelado e optimizació- 3
Modelo Represetació simplificada de la realidad, geeralmete de forma matemática, que facilita su compresió y el estudio de su comportamieto U bue modelo debe mateer u equilibrio etre secillez y capacidad de represetació Se requiere ua iteracció costate etre el modelador (creador del modelo) y el eperto (coocedor del problema real) Es a la vez ua ciecia y u arte Modelado e optimizació- 4
Etapas e el desarrollo de u modelo Idetificació del problema Especificació matemática y formulació Resolució Verificació, validació y refiamieto Iterpretació y aálisis de resultados Implatació, documetació y mateimieto El tiempo empleado e realizar correctamete ua etapa facilitará de forma otable las etapas sucesivas Modelado e optimizació- 5
Idetificació del problema Recolecció de iformació relevate Plateamieto geeral del problema Qué se quiere optimizar De qué alterativas se dispoe Qué limitacioes se tiee Iterpretació y traducció a térmios precisos de los datos y elemetos del problema Fase fudametal para que las futuras decisioes sea útiles Modelado e optimizació- 6
Especificació matemática y formulació Defiició e térmios matemáticos adecuados de los elemetos del problema Fució obetivo Variables Restriccioes Parámetros Idetificació del tipo(s) de modelo geeral que se puede aplicar Formulació clara y elegate Aálisis del tamaño y estructura del problema formulado Modelado e optimizació- 7
Resolució Elecció del tipo de método de solució y de algoritmos adecuados Implemetació (e u leguae iformático adecuado) de los algoritmos elegidos Obteció de la solució óptima o de solucioes suficietemete satisfactorias El tiempo de resolució depederá de la formulació propuesta Modelado e optimizació- 8
Verificació, validació y refiamieto Comprobació de coherecia co la realidad Detecció y correcció de errores de codificació Meora y ampliació por uevas ecesidades E la defiició E la formulació E la implemetació Modelado e optimizació- 9
Iterpretació y aálisis de resultados Aálisis de sesibilidad de la solució obteida, frete a cambios e los parámetros Detecció de solucioes robustas Modelado e optimizació- 0
Implatació, documetació y mateimieto Documetació clara, precisa y completa El código debe estar escrito de forma ordeada y debe icluir cometarios que facilite las operacioes de mateimieto Elaboració de u maual de usuario co especificacioes matemáticas e iformáticas Formació de usuarios Modelado e optimizació-
Eemplo de la dieta: Plateamieto La alimetació diaria de ua terera debe coteer al meos: 700 g de proteías 28 g de calcio 50 mg de vitamias Se dispoe de pieso y forrae co coste por kg de 30 y 35 cétimos de euro La composició utritiva por kg de alimeto es: Proteías (g) Calcio (g) Vitamias (mg) Pieso 30 2 0 Forrae 45 5 Se trata de determiar la catidad diaria de cada alimeto para miimizar el coste total de la alimetació Modelado e optimizació- 2
Eemplo de la dieta: Formulació geérica Ídices: i tipo de alimeto (pieso y forrae) tipo de utriete (proteías, calcio y vitamias) Parámetros: b catidad míima diaria requerida del utriete a i catidad de utriete por kg de alimeto i c i coste por kg del alimeto i Variables: i catidad diaria de alimeto i por terera Fució obetivo: Restriccioes: mic De satisfacció de la catidad de utrietes De o egatividad 0 i i i i i i i a b i i Modelado e optimizació- 3
Eemplo de la dieta: Formulació umérica mi 30 + 35, 2 2 2 2 30 + 45 700 2 + 28 0 + 5 50 2 2 0 0 (proteías) (calcio) (vitamias) Modelado e optimizació- 4
Modelos geerales de optimizació: Programació lieal (LP) T mic A= b 0 R, c R, A R, b R m m mi sa. z c c 2 2 = + + + c a + a + + a = b 2 2 a + a + + a = b m m2 2 m m = vector de variables a a A= a a m m c matriz de restriccioes c = c,,, 0 2 vector de coeficietes de coste b b vector de = demadas b m Modelado e optimizació- 5
Modelos geerales de optimizació: Programació etera (IP) T T mic + d y A+ By= b y, 0 Z, y R, c R, d R l l A R, B R, b R m m l m Si l = 0 Programació etera pura (PIP) Si l > 0 Programació etera mita (MIP) Modelado e optimizació- 6
Modelos geerales de optimizació: Programació biaria (BIP) T mic A= b 0 { } 0,, c R, A R, b R m m Modelado e optimizació- 7
Modelos geerales de optimizació: Programació cuadrática (QP) T T mic+ Q 2 A= b 0 R, c R, A R Q R m, b R m Modelado e optimizació- 8
Modelos geerales de optimizació: Programació o lieal (NLP) mi f( ) g ( ) = 0 h ( ) 0 l u f g h : : : R R m R R k R R Modelado e optimizació- 9
Modelos geerales de optimizació: Programació multiobetivo mi( f ( ),..., f ( )) 0 A= b k R, c R, A R, b R m m f i( ): R R Modelado e optimizació- 20
Modelos geerales de optimizació: Especiales Optimizació o lieal si restriccioes mi f ( ) f : R R Auste o lieal míimo cuadrático Problema mito complemetario (MCP) F ( ) = 0 R F : R R Modelado e optimizació- 2
Modelos específicos de programació lieal y etera Problema del trasporte Problema del trasbordo Problema de asigació Problema de la mochila (kapsack) Problema del recubrimieto (set-coverig) Problema del empaquetado (set-packig) Problema de la partició (set-partitioig) Problema del viaate (TSP) Modelado e optimizació- 22
Problema del trasporte: Defiició Miimizar el coste total de trasporte de u producto desde los orígees a los destios, satisfaciedo la demada de cada destio si superar la oferta dispoible e cada orige a i Oferta e el orige i a a 2 2 2 b b 2 b Demada e el destio a m m b c i Coste uitario de trasporte del orige i al destio Se supoe que la oferta es igual a la demada: m a = b i i= = Modelado e optimizació- 23
Problema del trasporte: Formulació Variables de decisió i = uidades trasportadas desde el orige i al destio mi sa. m i i= = m i= = c i i = b =,..., i = a i=,..., m i i 0 i=,..., m, =,..., i Modelado e optimizació- 24
Problema del trasporte: Propiedades m a > b Si se añade u sumidero uiversal co coste ulo i i= = m Si a < b se añade ua fuete uiversal co coste elevado i i= = La matriz de restriccioes es totalmete uimodular: todos los determiates de las submatrices vale 0, ó - Por lo tato, si los coeficietes de oferta a i y demada b so eteros la solució óptima es u vector etero Z i, i Modelado e optimizació- 25
Problema del trasbordo: Defiició Trasportar u producto e ua red satisfaciedo la demada, co el míimo coste posible b i Catidad de producto dispoible e el odo i oferta: b i > 0 demada: b i < 0 trasbordo: b i = 0 c i Coste uitario de trasporte del odo i al odo Se supoe que la oferta es igual a la demada: m i= b i = 0 Modelado e optimizació- 26
Problema del trasbordo: Formulació Variables de decisió i = uidades trasportadas desde el odo i al odo coservació del fluo mi i i= = c i i = b i=,, i ki i = k= i k i 0 i, =,..., i, i Matriz totalmete uimodular: b i Z Z i, i i El problema del trasbordo geeraliza al problema del trasporte Modelado e optimizació- 27
Problema de asigació Asigar tareas a máquias de forma que el coste total sea míimo c i Coste de asigar la tarea i a la máquia si se asiga la tarea i a la máquia i = 0 si o Variables Formulació Cada tarea ha de ser realizada por ua máquia Cada máquia ha de realizar ua tarea mi i = i= i c i= = { } i i = i=,, i = =,, i 0, i, Caso particular del problema del trasporte { } La restricció 0, puede sustituirse por 0 i i Modelado e optimizació- 28
Problema de la mochila Elegir obetos de los dispoibles de forma que el valor total sea máimo, si sobrepasar el volume dispoible c Volume que ocupa el obeto v Valor del obeto b Volume total dispoible Variables si se elige el obeto = 0 si o Formulació ma = = v { 0,} c b Modelado e optimizació- 29
Problema del recubrimieto Se dispoe de u couto de m elemetos y ua colecció de subcoutos Se desea elegir subcoutos que cubra todos los elemetos al meos ua vez, y co el míimo coste c Coste del subcouto a i Idica si el elemeto i perteece al subcouto ( sí, 0 o) Variables si se elige el subcouto = 0 si o Formulació Cada elemeto seleccioado al meos ua vez mi = = a i=,, m i { } 0, =,, c Modelado e optimizació- 30
Problema del recubrimieto: Eemplo Ua compañía aérea co base e Sa Fracisco quiere cubrir todos sus vuelos asigado tres tripulacioes a alguas de las 2 secuecias factibles de vuelos que se idica e la siguiete tabla. El obetivo es miimizar el coste de la asigació. Los costes de las diferetes secuecias aparece e la última fila: Secuecias factibles 2 3 4 5 6 7 8 9 0 2 SF LA SF Dever SF Seattle LA Chicago 2 2 3 2 3 LA SF 2 3 5 5 Chicago Dever 3 3 4 Chicago Seattle 3 3 3 3 4 Dever SF 2 4 4 5 Dever Chicago 2 2 2 Seattle SF 2 4 4 5 Seattle LA 2 2 4 4 2 Coste (M ) 2 3 4 6 7 5 7 8 9 9 8 9 Modelado e optimizació- 3
Problema del recubrimieto: Eemplo Variables: si se asiga la secuecia = 0 e cualquier otro caso Formulació: mi 2 + 3 + 4 + 6 + 7 + 5 + 7 + 8 + 9 + 9 + 8 + 9 2 3 4 5 6 7 8 9 0 2 + + + 4 7 0 + + + 2 5 8 + + + 3 6 9 2 2 = 3 = { } 0, =,...,2 (SF-LA) (SF-Dever) (SF-Seattle) (Dispoe de tres tripulacioes) 3= 4= = = = = 5 2 Modelado e optimizació- 32
Problema del empaquetado Se dispoe de u couto de m elemetos y ua colecció de subcoutos Se desea elegir los subcoutos que de el máimo beeficio total, si que igú elemeto aparezca más de ua vez c Beeficio del subcouto a i Idica si el elemeto i perteece al subcouto ( sí, 0 o) Variables si se elige el subcouto = 0 si o Formulació Cada elemeto seleccioado como mucho ua vez ma = = a i=,, m i { } 0, =,, c Modelado e optimizació- 33
Problema de la partició Aálogo al problema del empaquetado, pero seleccioado eactamete ua vez cada elemeto Cada elemeto seleccioado ua vez ma = = a = i=,, m i c { } 0, =,, Modelado e optimizació- 34
Recubrimieto, partició, empaquetado RECUBRIMIENTO PARTICIÓN EMPAQUETADO Modelado e optimizació- 35
Problema del viaate: Formulació Realizar u circuito que pase por ciudades si repetir igua (volviedo a la ciudad de partida) de maera que la distacia (o tiempo o coste) total sea míima c i Distacia de la ciudad i a la ciudad Variables: i si se va de la ciudad i a la ciudad = 0 e otro caso Formulació: A cada ciudad se llega ua vez De cada ciudad se sale ua vez No se permite subciclos mi i i iu, i, i i = =,..., i = i=,..., i { } { } card( U) U,,,2 card( U) 2 i 0, i, =,..., i c Modelado e optimizació- 36
Problema del viaate: Formulació 2 Variables: ik Formulació: De cada ciudad se sale ua vez A cada ciudad se llega ua vez E cada etapa se recorre u tramo E cada etapa se sale de la ciudad a la que se ha llegado e la etapa aterior si se va de la ciudad i a la ciudad e la etapa k del circuito = 0 e otro caso mic i ik ik ik,, ik k, ik ik, ik i, ik i r { } = i=,..., = =,..., = k=,..., = k, =,..., rk+ 0, i, k, =,..., ik Modelado e optimizació- 37
Modelado co variables biarias Coversió de etera a biarias Disyucioes Disyucioes por bloques Cumplimieto de u úmero de ecuacioes Selecció etre varios valores Implicacioes etre variables biarias y restriccioes Implicacioes Relacioes secillas etre variables biarias Productos Modelado e optimizació- 38
Coversió de etera a biarias Se quiere descompoer la variable etera e variables biarias y, y 2, Se busca ua cota superior u 0 u Se determia N tal que N 2 u 2 La descomposició es N+ N = i= 0 i 2y i Se ha de sustituir e el modelo por dicha epresió, añadiedo yi { 0,} i Modelado e optimizació- 39
Tabla de equivalecias lógicas P Q o P ó Q P Q (P Q) y (Q P) P (Q y R) (P Q) y (P R) P (Q ó R) (P Q) ó (P R) (P y Q) R (P R) ó (Q R) (P ó Q) R (P R) y (Q R) o (P ó Q) o (P y Q) o P y o Q o P ó o Q Modelado e optimizació- 40
Disyucioes ó g se modela mediate f ( ) 0 ( ) 0 f ( ) Mδ δ { 0,} g ( ) M( δ) M es suficietemete grade. Lo ideal es que la M de cada restricció sea la cota más austada para cada restricció La implicació f ( ) > 0 g ( ) 0 es equivalete a Eemplo: ó f ( ) 0 g ( ) 0 3+ 2y z< 3 4y+ z 3 2y+ z+ 3> 0 + 4y z+ 0 3 2y+ z+ 3 0 ó + 4y z+ 0 3 2y+ z+ 3 Mδ + 4y z+ M( δ) δ { 0,} Modelado e optimizació- 4
Disyucioes por bloques f ( ) 0 f ( ) 0 2 f ( ) 0 k g ( ) 0 g ( ) 0 g ( ) 0 l ó 2 se modela mediate f ( ) Mδ f ( ) Mδ k δ g ( ) M( δ) g ( ) M( δ) l { 0,} Este método es apropiado para regioes factibles o coveas Modelado e optimizació- 42
Cumplimieto de u úmero de ecuacioes Se debe cumplir al meos k de las N ecuacioes: 2 La formulació sería f (,, ) 0 f (,, ) 0 f (,, ) 0 N f (,, ) Mδ El caso N = 2, k = equivale a ua disyució f (,, ) Mδ 2 2 f (,, ) Mδ N N Se procede de forma aáloga para bloques de ecuacioes N i= δ i = N k { } δ 0, i=,, N i Modelado e optimizació- 43
Selecció etre varios valores La fució f ha de tomar uo de los valores de la siguiete lista: La formulació sería d d f (,, ) = f (,, ) = N i= δ i δ i = { } d 2 N i= 0, i=,, N N d δ i i Modelado e optimizació- 44
Implicacioes etre variables biarias y restriccioes δ= a b a b δ= a ( ) b+ ε+ m εδ δ= a b a b δ= a b ε+ ( M+ εδ ) δ= a = b a = b δ= a b+ M( δ) a b+ m( δ) a b+ M( δ) a b+ m( δ) a b+ ε+ ( m εδ ) a b ε+ ( M+ εδ ) δ + δ δ Dode m a b M y ε > 0, ε 0 Modelado e optimizació- 45
Implicacioes La implicació f ( ) 0 g ( ) 0 se puede descompoer como y aplicar las ( f ( ) 0 δ= ) y ( δ= g ( ) 0) relacioes de la trasparecia aterior La doble implicació f ( ) 0 g ( ) 0 se puede descompoer como ( f ( ) 0 δ = ) y ( δ = g ( ) 0) y aplicar las relacioes de la trasparecia aterior Modelado e optimizació- 46
Relacioes secillas etre variables biarias δ = ó δ = 2 δ + δ 2 δ = δ = 2 δ δ 2 δ = δ = 2 δ = δ 2 ' ' =,..., = = ó...ó = k l δ δ δ δ δ +... + δ δ +... + δ + ' ' l k k { δ = } Al meos k de = { δ = } Como mucho k de N N = δ +... + δ k N δ +... + δ k N δ= δ= 0 Si e vez de se tiee e la epresió equivalete se sustituye por δ δ Modelado e optimizació- 47
Eemplo de fabricació: Formulació Si se fabrica alguo de los productos A o B etoces debe fabricarse tambié al meos uo de los productos C, D o E δ si se fabrica el producto = ABCDE,,,, 0 si o δ = ó δ = δ = ó δ = ó δ = A B C D E { } δ = δ = ó δ = ó δ = A C D E δ = δ = ó δ = ó δ = B C D E δ + δ + δ δ δ + δ + δ δ C D E A C D E B Modelado e optimizació- 48
Eemplo de fabricació: Formulació 2 δ = ó δ = δ = ó δ = ó δ = A B C D E δ + δ δ + δ + δ A B C D E δ + δ δ= A B δ= δ + δ + δ C D E 2δ δ + δ A B δ + δ + δ δ C D E Hay que añadir las restriccioes 0- a las variables biarias Si es la catidad de producto que se fabrica habría que añadir (e cualquiera de las formulacioes) M δ Modelado e optimizació- 49
Eemplo de balocesto: Plateamieto U etreador de balocesto tiee 9 ugadores, a los que ha evaluado de a 3 de acuerdo co su maeo de pelota, tiro, rebote y defesa, segú se idica e la tabla aduta: Jugador Posicioes Maeo de pelota Tiro Rebote Defesa Pívot 2 3 3 2 Base 3 3 2 3 Pívot, Alero 2 3 2 2 4 Alero, Base 3 3 5 Pívot, Alero 3 2 6 Alero, Base 3 2 3 7 Pívot, Alero 3 2 2 8 Pívot 2 3 2 9 Alero 3 3 3 Modelado e optimizació- 50
Eemplo de balocesto: Plateamieto El equipo titular de 5 ugadores debe teer la máima capacidad defesiva y satisfacer las siguietes codicioes: Al meos dos ugadores debe estar e disposició de actuar de pívot, dos de alero y uo de base Su ivel medio e el maeo de pelota e tiro y e rebote debe ser por lo meos 2 Si uega el ugador 3, etoces el ugador 6 o puede ugar Si uega el ugador, tambié deberá ugar el 4 ó el 5, pero o los dos a la vez El ugador 8 ó el 9, pero o los dos a la vez, debe ugar Formular u programa lieal que facilite la selecció del equipo titular Modelado e optimizació- 5
Eemplo de balocesto: Formulació Variables: si se icluye el ugador e el equipo = 0 e otro caso =,,9 Fució obetivo: k si se icluye el ugador e posició = 0 e otro caso = 3, 4,5,6,7 ma 3 + 2 + 2 + + 2 + 3 + + 2 + 3 2 3 4 5 6 7 8 9 k= pab,, (sólo los ecesarios) k Restriccioes: + 2+ 3+ 4+ 5+ 6+ 7+ 8+ 9= 5 5 ugadores e el equipo + + + + 3p 5p 7p 8 + + + + + 2 3a 4a 5a 6a 7a 9 + + 2 4b 6b 2 Al meos 2 pívots Al meos 2 aleros Al meos base Modelado e optimizació- 52
Eemplo de balocesto: Formulació 2 + 3 + 2 + + + 3 + 3 + 2 + 3 0 2 3 4 5 6 7 8 9 + 3 + 3 + 3 + 3 + + 2 + + 3 0 2 3 4 5 6 7 8 9 3 + + 2 + 3 + + 2 + 2 + 3 + 0 2 3 4 5 6 7 8 9 3+ 6 Equivale a = = 0 3 6 4+ 5 2 + 4 5 + = 8 9 + = 0 3p 3a 3 + = 0 4a 4b 4 + = 0 5p 5a 5 + = 0 6a 6b 6 + = 0 7p 7a 7 { }, 0, k, k Equivale a = + = 4 5 Debe ugar 8 ó 9, pero o ambos Coherecia etre puestos para los ugadores polivaletes Nivel medio al meos 2 e maeo, tiro y rebote Modelado e optimizació- 53
Productos δδ 2= 0 δi { 0,} δ = δ 2= 0 0 ó δ δ δ + 2 i { 0,} 3 δδ 2 Reemplazar δδ 2 porδ 3 δ δ 3 2 i δ = δ = y δ = δ δ + δ 3 2 3 2 δ { 0,} δ δ δi { 0,} δ δ 0 { 0,} Reemplazar δ por δ= 0 y= 0 δ= y= y y 0 y Mδ y y + Mδ M (dode M) Modelado e optimizació- 54
Modelado de fucioes obetivo o lieales Problemas co coste fio (fied-charge) Problemas co costes variables por tramos Fució obetivo miima o maimi Modelado e optimizació- 55
Problemas co coste fio Cada variable lleva asociado u coste fio k y u coste uitario c : f ( ) 0 = 0 = k + c > 0 Se itroduce ua variable biaria y por cada que cumpla 0 y > = 0 = 0 Para ello se añade restriccioes de la forma M y y { 0,} 0 (M grade ) La fució obetivo queda, y ( ky c) mi f ( ) = + = = Modelado e optimizació- 56
Problemas co costes variables por tramos La variable lleva asociados costes c, c 2,, c N e los tramos (p 0, p ], (p, p 2 ],, (p N-, p N ] Se itroduce N variables cotiuas y N variables biarias de la siguiete forma ( k k k si p, p k si > 0 k = δ = k 0 si o 0 = 0 E la fució obetivo se itroduce el sumado c N = k= Se añade las restriccioes N c k k k k =, δ = N k= k= k ( + k k k k ) =,..., p εδ pδ k N { } k δ 0, k=,..., N Modelado e optimizació- 57
Fució obetivo miima o maimi mi f ( ) A= b 0 R, A R, b R m m siedo El problema se puede reformular como miz z c+ d T T 2 2 z c+ d z c+ d T T T { c d c d c d 2 2 p p} f ( ) = ma +, +,..., + c, c,..., c R, d, d,..., d 2 p 2 0 Aálogo para fució obetivo maimi T p A= b p p R Modelado e optimizació- 58