30
Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún criterio definido. El criterio puede ser calculado sobre una instanciación completa (hoja de un árbol de búsqueda ). Puede también estimarse sobre un nodo correspondiente a una instanciación parcial. Ejemplos de criterio: Scheduling: minimizar la fecha de término Problema de asignación de recursos: Minimizar el número de recursos utilizados Problema de diseño: Minimizar el costo de la solución. También se puede utilizar esta estrategia para expresar un problema sobre- restringido: Encontrar una solución para las restricciones mas difíciles que satisface al menos las restricciones prioritarias.

Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Embed Size (px)

Citation preview

Page 1: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Optimización Combinatoria usando Algoritmos Evolucionistas

Problemas de Optimización.Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún criterio definido.El criterio puede ser calculado sobre una instanciación completa (hoja de un árbol de búsqueda ). Puede también estimarse sobre un nodo correspondiente a una instanciación parcial.Ejemplos de criterio: Scheduling: minimizar la fecha de términoProblema de asignación de recursos: Minimizar el número de recursos utilizadosProblema de diseño: Minimizar el costo de la solución.También se puede utilizar esta estrategia para expresar un problema sobre-restringido: Encontrar una solución para las restricciones mas difíciles que satisface al menos las restricciones prioritarias.

Page 2: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Algoritmos de optimización con búsqueda de árbol

Criterio a optimizar: Función de costo(ganancia) a minimizar (maximizar)Principio: Una solución es una hoja del árbol de búsqueda con el menor costoCada nodo del árbol tiene un valor. La función es monótona decreciente en una rama.Marco general de aplicación: a diversos problemas de optimizaciónBúsqueda de la ruta más cortaVendedor viajero.Dificultades: Pueden producirse infinitas ramas o redundancias (varios nodosrepresentando el mismo estado). Idea: intentar evitar esta situación.

Page 3: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Ejemplo: Juego Taquin.

Evaluación: f(n) = g(n) + h(n)g(n) : número de movimientos desde el estado inicialh(n) : distancia de entre el estado actual y el estado final

1 2 1 2 3 3 4 5 4 5 6 7 8 6 7 8 1 2 3 4 5 6 7 8

1 2 3 1 2 3 4 5 4 5 6 7 8 6 7 8

1 2 1 4 2 3 1 2 3 1 2 3 4 5 3 5 4 5 6 4 5 6 7 8 6 7 8 6 7 8 7 8

Estado inicial Estado final

Page 4: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Vendedor Viajero

Problema: Encontrar un circuito hamiltoniano (visitar todas las ciudades una sola vez y revenir al punto de inicio) de largo mínimo.Problema NP-dificil.Una relajación a este problema es el problema de asignación. Asignar a cada ciudad otra ciudad que será la siguiente en el tour: Se permiten sub-tours.Se resuelve el problema de asignación, si hay sub-tours se crean sub-ramas queimpiden arcos de ese sub-tour.Valor del nodo: costo del problema relajado del nodo.

Page 5: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Modelos de Optimización Combinatoria

1. Modelos con restricciones para las variables de Todo-o-nada. Sea el problema lineal Max 18 X1 + 3 X2 + 9 X3 s.a. 2 X1 + X2 + 7 X3 <= 150 0 <= X1 <= 60 0 <= X2 <= 30 0 <= X3 <= 20 Nuevo requerimiento: Cada Xi puede ser utilizado ya sea en su cota superior o no ser utilizado.

Page 6: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Modelos de Optimización Combinatoria

1. Modelos con restricciones para las variables: Todo-o-nada. Sea Yj = fracción de la cota superior Uj utilizada. Dominio de Yj : {0,1} : binaria Max 18 (60Y1) + 3 (30Y2) + 9 (20Y3) s.a. 2 (60Y1) + (30Y2) + 7 (20Y3) <= 150 Y1, Y2, Y3 = 0 ó 1 Max 1080Y1 + 90Y2 + 180Y3 s.a. 120Y1 + 30Y2 + 140Y3 <= 150 Y1, Y2, Y3 = 0 ó 1

Problema Lineal

Page 7: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Modelos de Optimización Combinatoria

2. Modelo con costo fijo Función objetivo con costo fijo: min F1(X1) + F2(X2) donde: F1(X1) = 150 + 7 X1 si X1>0 F2(X2) = 110 + 9 X2 si X2>0Conjunto de restricciones: I. X1 + X2 => 8 Min 7X1 + 9X2 + 150Y1 + 110Y2 0 <= X1 <= 3 s.a. X1 + X2 => 8 0 <= X2 <= 8 X1 <= 3Y1 X2 <= 8Y2 X1, X2 =>0 Y1, Y2 = 0 ó 1

Page 8: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Modelos de Optimización Combinatoria

2. Modelo con costo fijo Función objetivo con costo fijo: min F1(X1) + F2(X2) donde: F1(X1) = 150 + 7 X1 si X1>0 F2(X2) = 110 + 9 X2 si X2>0Conjunto de restricciones: II. X1 + X2 => 8 Min 7X1 + 9X2 + 150Y1 + 110Y2 2X1 + X2 <= 10 s.a. X1 + X2 => 8 X1, X2 =>0 2X1+ X2<=10 X1 <= 5 Y1 X2 <= 10Y2 X1, X2 =>0 Y1, Y2 = 0 ó 1

Problema Mixto

Page 9: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Problema de la Mochila

Problema de optimización combinatoria "puro". Variables binarias,Una sola restricción.Max 8X1 + 3 X2 + 15 X3 + 7 X4 + 10 X5 + 12 X6s.a. 10.2 X1 + 6 X2 + 23 X3 + 11.1 X4 + 9.8 X5 + 31.6 X6 <= 35 X1, X2, ..., X6 = 0 ó 1Ejemplo: Dadas las monedas de 1, 5, 10 y 25 centavos, formular un modelo tipo "knapsack"para minimizar el número de monedas necesarias para cambiar q centavos.Min X1 + X5 + X10 + X25 (Total de monedas)s.a. X1 + 5 X2 + 10 X10 + 25 X25 = q (cambio correcto) X1, X5, X10, X25 =>0 y enteras.

Page 10: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Problema de Presupuesto (o de la Mochila Multidimensional)

Restricciones de presupuesto: Limite del total de recursos disponibles consumidos por los proyectos seleccionados, e inversiones en cada periodo de tiempo no exceden la cantidad disponible.Ejemplo de restricciones: 6 X1+ 2X2 + 3 X3+ 1 X7 + 4 X9+ 5 X12 <= 10 (2000-2004)3 X2 + 5 X3 + 5 X5+ 8 X7+ 5 X9+ 8 X10 + 7 X12 + 1 X13+ 4 X14 <= 12 (2005-2009)8 X5 + 1 X6 + 4 X10 + 2 X11+ 4 X13+ 5 X14 <= 14 (2010-2014)8 X6 + 5 X8 + 7 X11 + 1 X13 + 3 X14 <= 14 (2015-2019)10 X4 + 4 X6 + 1 X13 + 3 X14 <= 14 (2020-2024)donde Xi = 1 si la actividad i se realiza, 0 sino.Agregando restricciones de:1. Mutuamente excluyentes: - La actividad 4 no se puede realizar si se realiza la actividad 5 y vice-versa --> restricción adicional: X4 + X5 <= 12. Dependencia: - La actividad 11 requiere que la actividad 2 se realice --> restricción adicional: X11 <= X2

Page 11: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Set Packing, Covering, Partitioning

Idea: Identificar los objetos que son solución y que pertenecen a subconjuntos específicos.Diversos puntos de vista en cuanto a las restricciones.Restricciones Set covering: requieren que al menos un miembro de la subcolección J pertenezca a la solución.Restricciones Set packing: requieren que a lo más un miembro de la subcolección J pertenezca a la soluciónRestricciones Set partitioning: requieren que exactamente un sólo miembro de la subcolección J pertenezca a la solución.

Page 12: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Set Packing, Covering, Partitioning

Ejemplo:Hay 20 comunas y 10 posibles lugares donde instalar equipos deemergencia. Cada lugar puede dar servicio a las comunas adyacentesSubcolección 1 = {2}Subcolección 2 = {1,2} ....Subcolección 12 = {4,5,6}Modelo desde el punto de vista Set Covering min S Xj (j:1..10, número de lugares) s.a. X2 => 1 (comuna 1) X1 + X2 => 1 (comuna 2) ..... X4 + X5 + X6 => 1 (comuna 12) .... Xj = 0 ó 1

Page 13: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Maximizando covertura

Ejemplo:Hay 20 comunas y 10 posibles lugares donde instalar equipos deemergencia. Cada lugar puede dar servicio a las comunas adyacentesSubcolección 1 = {2}Subcolección 2 = {1,2} ....Subcolección 12 = {4,5,6}Consideración adicional: El presupuesto sólo alcanza para 4 lugares.Nueva variable Yi = 1 si la comuna i no será servida, 0 sino.Modificando el Modelo (i: número de comunas,Ci es la importancia de la comuna i) s.a.

Mini1

20

CiYi

X2Y11X1X2Y 21

...X4X5X6Y121

...

j1

4

Xj

Xj0ó 1, j1,..,10Yi0 ó1, i1,..20

Page 14: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Ejemplo: Una universidad esta adquiriendo un software de programación matemática. Se tiene los siguientes cuatro programas disponibles con los respectivos algoritmos de optimización que incluyen:

Algoritmo Codigo, jTipo 1 2 3 4PL X X X XPE - X - X

PNL - - X XObjetivo 3 4 6 14

a) Tomando los coeficientes de la función objetivo como costos, formule un modelo para adquirir un conjunto de programas que provean PL, PE y PNLb) Idem a a) con un presupuesto máximo de 12.c) Tomando los coeficientes de la función objetivo como costos, formular un modelo para adquirir el conjunto de software de mínimo costo con exactamente uno con PL, uno con PE y uno con PNLd) Tomando los coeficientes de la función objetivo como calidad del software, formular un modelo para adquirir el conjunto de software de máxima calidad con a lo más uno con PL, a lo más uno con PE y a lo más uno con PNL ¿A qué tipo de modelo corresponde cada uno?

Page 15: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Modelos con Generación de Columnas

La Generación de columnas se utiliza como una estrategia de dos-partes para enfrentar la resolución de problemas combinatorios altamente complejos.

Consiste en la generación de una secuencia de columnas donde cada columna representa una solución factible y luego resolver el problema como un set partitioning (o covering o packing) para seleccionar un conjunto óptimo de esas alternativas.

Ventaja: flexibilidad.Desventaja: Dificultad para enumerar todas las posibilidades.

Page 16: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Modelos con Generación de Columnas

Ejemplo: AA Crew Scheduling

Problema: Encontrar la secuencia de vuelos para cada tripulación sobre un período mínimo de 2 días a un máximo de 3 días. La secuencia debe comenzar y terminar en la ciudad donde vive la tripulación.El objetivo es de minimizar costos.

Suponga la siguiente secuencia de viajes de American Airlines.

Miami

Chicago

Charlotte

Dallas

101

402 20

3

204

305 40

6

407

308 31

0

109

212

211

Page 17: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Modelos con Generación de Columnas

Ejemplo: AA Crew Scheduling

Posibles secuencias:

j Secuencia vuelos Costo j Secuencia vuelos Costo1 101-203-406-308 2900 9 305-407-109-212 26002 101-203-407 2700 10 308-109-212 20503 101-204-305-407 2600 11 402-204-305 24004 101-204-308 3000 12 402-204-310-211 36005 203-406-310 2600 13 406-308-109-211 25506 203-407-109 3150 14 406-310-211 26507 204-305-407-109 2550 15 407-109-211 23508 204-308-109 2500

Miami

Chicago

Charlotte

Dallas

101

402 203

204

305 406

407

308 310

109

212

211

Page 18: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Modelos con Generación de ColumnasEjemplo: AA Crew Scheduling j Secuencia vuelos Costo j Secuencia vuelos Costo 1 101-203-406-308 2900 9 305-407-109-212 2600 2 101-203-407 2700 10 308-109-212 2050 3 101-204-305-407 2600 11 402-204-305 2400 4 101-204-308 3000 12 402-204-310-211 3600 5 203-406-310 2600 13 406-308-109-211 2550 6 203-407-109 3150 14 406-310-211 2650 7 204-305-407-109 2550 15 407-109-211 2350 8 204-308-109 2500

Xj = 1 si la posibilidad de la columna j se elige, 0 sino

Min 2900 X1 + 2700 X2 + 2600 X3+ 3000 X4+ 2600 X5 + 3150 X6 + 2550 X7 + 2500 X8 + 2600 X9 + 2050 X10 + 2400 X11 + 3600 X12 + 2550 X13 + 2650 X14 + 2350 X15

s.a. X1+ X2+ X3 + X4 = 1 (vuelo 101) X6 + X7 + X8 + X9 + X10+ X13 + X15 = 1 (vuelo 109) X1 + X2 + X5 + X6 = 1 (vuelo 203) ...... X2 + X3 + X6 + X7 + X9 + X15 = 1 (vuelo 407) X1, .... X15 = 0 ó 1

Solución óptima : X1 = X9 = X12 = 1 , los otras Xj = 0, a un costo de 9100.

Page 19: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Problemas de Asignación

Encontrar la mejor asignación máquina-trabajo, personal-cliente,..etc. Para minimizarcostos.

Mas simple: Modelo Lineal

Sea Xij1 si i estáasignado a j, 0e.o.c.

Función Objetivo:

i

j

Cij Xij

s.a.

j

Xij1, i

i

Xij1, j

Xij0 ó1, i,j

Page 20: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Problemas de Asignación

Modelos de asignación cuadrática: Quadratic assignment models

Sea Cijkl = costo de asignar i a j y k a l.

Sea Xij1 si i estáasignado a j, 0e.o.c.

Función Objetivo:

i

j

ki

l j

Cijkl Xij Xkl

s.a.

j

Xij1, i

i

Xij1, j

Xij0 ó1, i,j

Page 21: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Problemas de Asignación

Modelos de asignación cuadrática: Quadratic assignment models

Ejemplo: Mall layout Se tienen 4 posibles ubicaciones para departamentos en un shopping mall. Se conocen las distancias (en ft) entre las ubicaciones y las posibles ubicaciones.Se conoce además el número de clientes a la semana que desearían visitar los diferentes pares de departamentos. Por ejemplo se proyecta 5000 clientes a la semana que visitarían la tienda de ropa (1) y computación (2).

Objetivo: Determinar la ubicación de los departamentos minimizando la "molestia" de los clientes.

1 3

24

Distancia [ft]Ubj \l 1 2 3 4

1 80 150 1702 80 130 1003 150 130 1204 150 100 120

Clientes en ComúnDepartamento, i 1 2 3 4

1: Ropa 5 2 72: Computación 5 3 83: Juegos 2 3 34: Libros 7 8 3

Page 22: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Problemas de Asignación

Modelos de asignación general

La asignación de i a j requiere un espacio de tamaño fijo Si,j y la ubicación j tiene una capacidad máxima de Bj

Clientes en ComúnDepartamento, i 1 2 3 4

1: Ropa 5 2 72: Computación 5 3 83: Juegos 2 3 34: Libros 7 8 3

Sea Xij1 si i estáasignado a j, 0e.o.c.

Función Objetivo:

i

j

Cij Xij

s.a.

j

Xij1, i

i

Sij XijBj, j

Xij0 ó1, i,j

Page 23: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Problema del Vendedor Viajero

Idea: Largo mínimo de la ruta visitando cada punto una sola vez

TSP simétrico: Si la distancia o costo de pasar desde cualquier punto i a otro j es la misma distancia desde j a i. Sino será un TSP asimétrico.

Modelo para un TSP simétrico:

Sea Xi,j = 1 si la ruta incluye la secuencia de i ir a j, 0 e.o.c. Para i<j

Mini

ji

Di,j Xi,j

s.a

ji

Xj,iji

Xi,j2 , i

Page 24: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Problema del Vendedor Viajero

Modelo para un TSP simétrico:

Mini

ji

Di,j Xi,j

s.a

ji

Xj,iji

Xi,j2 , i

iS

j S, ji

Xi,ji S

jS, ji

Xi,j2 , subconjunto S, S 3

Xi,j0 ó1, i; ji

Page 25: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Problema del Vendedor Viajero

10

1

1

1

10

1

1

1

10

Min 10 X1,21 X1,31 X1,51 X2,41 X2,610 X3,41 X3,51 X4,610 X5,6X1,2X1,3X1,52 nodo 1X1,2X2,4X2,62 nodo 2X1,3X3,4X3,52 nodo 3X2,4X3,4X4,62 nodo 4X1,5X3,5X5,62 nodo 5X2,6X4,6X5,62 nodo 6

Page 26: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Problema de asignación de horarios

El problema de crear una tabla de asignación de horarios, fundamentalmenteconsiste en planificar: asignaturas, profesores y salas en un número fijo de períodosen los cuales ningún profesor, asignatura o sala es utilizado en más de una oportunidad.

Page 27: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Problema del Vendedor Viajero

Aspectos Representación.

1. Tour: 5-1-7-8-9-4-6-2-3 Representación: (5 1 7 8 9 4 6 2 3)

Operador: PMX (Partially Mapped Crossover)

P1: (1 2 3 | 4 5 6 7 | 8 9) P2: (4 5 2 | 1 8 7 6 | 9 3)

i. ( X X X | 1 8 7 6 | X X) ( X X X | 4 5 6 7 | X X)

ii. Sin conflictos ( X 2 3 | 1 8 7 6 | X 9) ( X X 2 | 4 5 6 7 | 9 3)

iii. Cambios ( 4 2 3 | 1 8 7 6 | 5 9) ( 1 8 2 | 4 5 6 7 | 9 3)

Page 28: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Problema del Vendedor Viajero

Aspectos Representación.

2. Lista referencia ( 1 2 3 4 5 6 7 8 9) Tour: 1-2-4-3-8-5-9-6-7 Representación: (1 1 2 1 4 1 3 1 1)

P1: (1 1 2 1 | 4 1 3 1 1) P2: (5 1 5 5 | 5 3 3 2 1)

i. Padres (1 2 4 3 8 5 9 6 7) (5 1 7 8 9 4 6 3 2)

ii. Hijos (1 2 4 3 9 7 8 6 5) (5 1 7 8 6 2 9 3 4)

Page 29: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Problema de Transporte Aspectos Representación.1. Matricial

Padre 1 1 0 0 7 0 0 4 0 0 0 2 1 4 0 5 DIV REM 0 0 6 0 0 0 0 2 3 1 1 0 1 1 1 0 4 0 0 0 0 0 0 0 02. Cruzamiento 1 0 4 3 2 0 1 1 1 1 1 0 3 0 1 1 1 0 0 0 Padre 2 0 0 5 0 3 0 4 0 0 0 REM 1 REM 2 0 0 5 7 0 1 0 0 1 0 0 0 1 0 1 3 1 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 Hijo 1 Hijo 21 0 2 4 1 0 0 3 3 20 4 0 0 0 0 4 0 0 01 0 5 3 3 1 1 4 4 21 1 3 0 1 2 0 3 0 1

Page 30: Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún

Problema de Transporte

3. Mutación

Padre 1 1 0 0 7 0 0 4 0 0 0 2 1 2 0 5 1 0 0 7 0 0 0 6 0 0 0 2 0 2 0 2 3 0 0 5 0 0 6 0 0

Hijo 1

Idea: 1. Selección aleatoria de n filas {2,4} Selección aleatoria de m columnas {2,3,5} 2. Preservación de la factibilidad