“A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano,...

11
“A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, 2006. Problema: Como distribuir los escaños (cantidad de parlamentarios) por país en forma proporcional a los habitantes de cada país (en este caso de la Unión Europea). La distribución de la población se puede considerar fraccionaria, pero la cantidad de escaños es discreta. Entonces no se puede lograr una proporcionalidad perfecta. Hay varias metodologías para resolver esto aproximadamente en diversos ámbitos y países. También se toman en cuenta consideraciones políticas, como por ejemplo que haya un número mínimo de representantes por país.

Transcript of “A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano,...

Page 1: “A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, 2006. Problema: Como distribuir.

“A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, 2006.

Problema:

• Como distribuir los escaños (cantidad de parlamentarios) por país en forma proporcional a los habitantes de cada país (en este caso de la Unión Europea).

• La distribución de la población se puede considerar fraccionaria, pero la cantidad de escaños es discreta. Entonces no se puede lograr una proporcionalidad perfecta.

• Hay varias metodologías para resolver esto aproximadamente en diversos ámbitos y países. También se toman en cuenta consideraciones políticas, como por ejemplo que haya un número mínimo de representantes por país.

Page 2: “A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, 2006. Problema: Como distribuir.

Modelo de programación lineal entera mixta

Min r (r + + r

- )

Sujeto a

sr smin

Nr sr = S

Nr pr = P

r + - r

- = (sr / S/ pr/ P) -1 r

r + , r

- 0, sr enteroDonde: • N es el nro de países• pr la población del país r• smin mínimo número de escaños por paíss r

+, r – , desviación positiva y negativa respecto de la relación entre escaños

y población.• P población total, S, número total de escaños.

Page 3: “A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, 2006. Problema: Como distribuir.

Se corrió el modelo para valores de smin de 0 a 5, y en todos los casos después de 5 horas con el CPLEX 7.0 no se obtuvo el óptimo. Si se encontraron soluciones factibles, mejores que las que se usan en la actualidad en la práctica.

Se propuso una heurística basada en VNS y Tabu Search

• Solución inicial: la situación actual (s01, s0

2, s03,…… s0

N)

• Varias estructuras de vecindarios simples que mantienen la factibilidad, es decir el total de escaños repartidos.

Page 4: “A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, 2006. Problema: Como distribuir.

Seudocódigo

InicializaciónRepetir mientras no se cumpla criterio de parada:i) k=1ii) mientras k≠ kmax a) Aplicar Tabú Search dentro de la vecindad k de la

solución actual b) Si la solución obtenida x´ es mejor que la mejor hasta el

momento poner x = x´ y poner k =1. Sino cambiar de vecindario o sea poner k = k+1

Parar

Como lista Tabu se usa que por un cierto número de iteraciones la cantidad de escaños para los países afectados por el cambio no puede cambiarse.

Page 5: “A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, 2006. Problema: Como distribuir.

Se obtuvieron soluciones mejores que la actual, y un poco mejores que las de CPLEX pero en este caso fue en pocos

segundos y no en las 5 hrs. que demoró el CPLEX.

Page 6: “A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, 2006. Problema: Como distribuir.
Page 7: “A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, 2006. Problema: Como distribuir.

Además de todos los ejemplos que vimos hay aplicaciones de metaheurísticas a muchos problemas diferentes…..y todos los días aparecen nuevos problemas. Algunos trabajos que tengo a mano:

• VLSI• Planificación de horarios de enfermeras• Gran variedad de problemas de planificación

industrial• Diseño de códigos• Diseño de portfolios• Otros problemas de Bioinformática

Page 8: “A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, 2006. Problema: Como distribuir.

OTRAS METAHEURISTICAS

• Swarm optimization• Artificial Inmune Systems

Page 9: “A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, 2006. Problema: Como distribuir.

Comentarios y Conclusiones

Cuándo usar metaheuristicas?.

• Problemas difíciles (NP-hard)• Problemas difíciles de modelar• Problemas reales donde se quiere tener una “buena” solución urgentemente.

Ventajas

• Relativamente fáciles de programar, transportables.• Modificación del problema de los datos,flexibilidad, interacción con el usuario.• Paralelización

Page 10: “A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, 2006. Problema: Como distribuir.

• Falta “teoría”• Nomenclatura• PROGRAMACION• Híbridos

Relación con: • Heurísticas tradicionales• Métodos exactos (cotas, branch and cut,generación de

columnas, etc.)

Page 11: “A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, 2006. Problema: Como distribuir.

• Qué metaheurística elegir?.

• Cuál es mejor?. Cómo comparar?.

• Cómo saber si los resultados son buenos?.

• Cómo se hace para implementar una metaheurística exitosa?.

• Paralelización.• Software