Вы находитесь на странице: 1из 53

1

Metaheursticas
Seminario 1. Ejemplos de resolucin de
problemas con metaheursticas: problemas
clsicos y reales. Software de metaheursticas
1. Introduccin: Optimizacin
2. Problemas de Optimizacin Combinatoria
Clsicos
3. Algunos Ejemplos de Problemas de
Optimizacin Reales
4. Software de Metaheursticas
1. Introduccin: Optimizacin
Lenguaje coloquial, optimizar significa ms o menos mejorar
Contexto cientfico: la optimizacin es el proceso de tratar de
encontrar la mejor solucin posible para un determinado problema
Problema de optimizacin:
Diferentes soluciones, un criterio para discriminar entre
ellas y el objetivo es encontrar la mejor
Encontrar el valor de unas variables de decisin (sujeto a
restricciones) para los que una determinada funcin
objetivo alcanza su valor mximo o mnimo
2
1. Introduccin: Optimizacin
Problema de optimizacin (maximizacin):
Dado un dominio X y una funcin objetivo
f(x): x X R
El objetivo es encontrar x* que verifique
x* X: f(x*) f(x), x X
Optimizacin combinatoria Variable discreta
Un Problema de Optimizacin Combinatoria consiste en
encontrar un objeto entre un conjunto finito (o al menos
contable) de posibilidades
3
1. Introduccin: Optimizacin
Tipos de problemas de optimizacin (representacin
de una solucin):
Permutaciones (Problemas de ordenacin)
Binarios (Problemas de pertenencia)
Enteros (Problemas de cardinalidad, asignacin, seleccin)
De optimizacin numrica (Optimizacin de funciones no
lineales)
4
1. Introduccin: Optimizacin
Problemas de optimizacin fciles de resolver:
Lineales: funcin objetivo y restricciones lineales (mtodo
Simplex)
Problemas de optimizacin difciles de resolver (NP-
duros):
No se puede garantizar el encontrar la mejor solucin posible
en un tiempo razonable
Mayora de los problemas con aplicacin prctica, cientfica o
industrial
Desarrollo de procedimientos eficientes para encontrar
buenas soluciones aunque sean no ptimas
5
2. Problemas de Optimizacin
Combinatoria Clsicos
Viajante
Mochila
Coloreado de Grafos
Particin de Conjuntos
Asignacin Cuadrtica
Asignacin Generalizada
Ordenacin Lineal
Diversidad
Enrutamiento de vehculos

6
Viajante de Comercio
Problema del Viajante de comercio, TSP:
Un viajante de comercio ha de visitar n ciudades, comenzando y
finalizando en su propia ciudad. Conociendo el coste de ir de
cada ciudad a otra, determinar el recorrido de coste mnimo
7
G
c
69
c
89
c
68
c
29
c
28
c
18
c
12
c
23
c
13
c
34
c
37
c
47
c
57
c
45
c
46
c
41
c
51
c
58
c
56
v
2
v
4
v
6
v
8
v
9
v
1
v
3
v
5
v
7
Problema de la Mochila
Problema de la mochila, Knapsack Problem:
Dados n objetos, cada un con un peso wj y un valor vj, se debe
seleccionar el conjunto de objetos cuyo valor total sea mximo,
sin exceder un peso mximo W
8
Problema de la Asignacin Cuadrtica
Problema de la asignacin cuadrtica, QAP:
Dadas n unidades y n localizaciones posibles, el problema
consiste en determinar la asignacin ptima de las unidades en
las localizaciones conociendo el flujo existente entre las
primeras y la distancia entre las segundas
9

= =
n
i
n
j
j S i S ij
N
d f
S
QAP
1 1
) ( ) (
min
Problema del Corte Mximo
Problema del corte mximo, Max-Cut Problem:
Dado un grafo ponderado y no dirigido y un conjunto de pesos
asociados a cada arista, encontrar una particin del conjunto de
vrtices en dos subconjuntos disjuntos, tal que maximice la
suma de los pesos en aristas cuyos extremos se encuentran en
subconjuntos distintos
10
Problema de la Diversidad Mxima
Problema de la diversidad mxima, MDP:
Seleccionar un conjunto de elementos m de una coleccin ms
grande n de tal forma que los elementos seleccionados tengan
las caractersticas ms variadas entre s
11
Enrutamiento de Vehculos
Problema del enrutamiento de vehculos, VRP:
Obtener el conjunto de rutas ms cortas posibles utilizando
un conjunto de vehculos (con capacidad limitada) lo ms
pequeo posible tal que, partiendo de un almacn y
regresando sucesivamente a l, abastecen a una serie de
clientes (con demanda diferente) distribuidos
geogrficamente
12
Ordenacin Lineal
Problema de la ordenacin lineal, LOP:
Dada una matriz de pesos de tamao nn, encontrar una
permutacin de las columnas y filas (simultneamente) que
maximice la suma de los pesos en el tringulo superior
13
Empaquetado en Cinta
Problema del empaquetado en cinta, SPP:
Dado un conjunto de rectngulos de diferentes dimensiones
se colocan sobre una cinta de anchura fija y altura indefinida
de tal forma que se minimice la altura alcanzada por dicha
colocacin
14
Otros problemas
Problema del cliqu mximo: Encontrar la mayor
componente conexa de un grafo dado
Problema del coloreado de grafos: Encontrar la
mnima cantidad de colores tal que dos vrtices
adyacentes no pueden tener el mismo color
Problema del rbol de Steiner: Encontrar un rbol de
coste mnimo que conecte un conjunto de vrtices dado
Problemas de asignacin: Dada una tabla de tareas y
personas que pueden realizarlas (coste distinto),
encontrar la asignacin de coste mnimo
15
3. Algunos Ejemplos de Problemas de
Optimizacin Reales
Diseo Aeronutico
Planificacin de Rutas para Transporte de Mercancas
Equilibrado de Lneas de Montaje en Nissan
Identificacin Forense de Personas Desaparecidas
16
Diseo Aeronutico
En los ltimos aos, se ha avanzado mucho en el diseo
ptimo aerodinmico
Esta rea abarca desde elementos pequeos del campo
del deporte, como los cascos de los ciclistas o los monos
de los motoristas, a otros de un tamao mucho mayor
como automviles, aviones o barcos
En todos los casos no se trata slo de una cuestin
esttica, sino de aerodinmica, con objeto de optimizar
el rendimiento de los vehculos o los deportistas
Hoy en da, casi todo el proceso de optimizacin se
realiza mediante el empleo del ordenador
17
Diseo Aeronutico
En diseo aeronutico, la optimizacin o diseo ptimo se
refiere a la investigacin para determinar la forma externa de la
aeronave que resulte aerodinmicamente ms eficiente, dentro
de unas determinadas restricciones estructurales
18
Diseo Aeronutico
La disminucin de la resistencia al avance de un
avin en el aire es el factor clave
Se calcula resolviendo unas ecuaciones que simulan el
comportamiento de un objeto slido (el avin) en
interaccin con un fluido (el aire), segn la Dinmica
Computacional de Fluidos
Despus se usan mtodos de optimizacin para
obtener la forma ptima del avin que minimiza la
resistencia verificando los requisitos geomtricos y fsicos
Los diseos prometedores mediante la simulacin
computacional son validados en el tnel de viento
19
Diseo Aeronutico
El problema de los algoritmos de optimizacin numrica
clsicos es su lentitud
En casos reales, cada ejecucin puede requerir meses de
cmputo en mquinas de alto rendimiento al tener que
realizar una gran cantidad de simulaciones
Por ello, se han empleado los algoritmos evolutivos para
esta tarea, que son capaces de proporcionar diseos de
buena calidad en un tiempo mucho ms reducido
Adems, como optimizadores multiobjetivo, pueden
optimizar varios criterios a la vez (velocidad, estabilidad o
gasto de combustible, por ejemplo)
20
Planificacin de Rutas para
Transporte de Mercancas
Hoy en da es difcil encontrar empresas que gestionen las
operaciones de logstica sin la ayuda del ordenador
El problema tpico es disear las rutas ms adecuadas de
transporte/recogida de productos entre un almacn central
y unos destinos dispersos geogrficamente
Su resolucin de forma adecuada puede suponer ahorros muy
significativos para la empresa
21
Planificacin de Rutas para
Transporte de Mercancas
Hoy en da es difcil encontrar empresas que gestionen las
operaciones de logstica sin la ayuda del ordenador
El problema tpico es disear las rutas ms adecuadas de
transporte/recogida de productos entre un almacn central
y unos destinos dispersos geogrficamente
Su resolucin de forma adecuada puede suponer ahorros muy
significativos para la empresa
22
Planificacin de Rutas para
Transporte de Mercancas
Esta tarea se lleva a cabo empleando una flota de vehculos
pertenecientes o no a la empresa
Un sistema de planificacin de vehculos debe proporcionar
un conjunto de rutas de reparto a los conductores
Las mercancas deben ser entregadas cundo y donde se
requieran, con el mnimo coste posible y verificando todas las
restricciones legales y polticas de la empresa
Los algoritmos de hormigas (AntRoute) son una
herramienta muy potente para la planificacin de rutas
23
Planificacin de Rutas para
Transporte de Mercancas
AntRoute planifica diariamente las rutas de reparto desde el
almacn central de Migros, una gran cadena suiza con 600
supermercados, localizado en Suhr (AG), a toda Suiza
Migros dispone de una flota de entre 150 y 200 vehculos
con tres tamaos: camiones (capacidad de 17 pals), trailers
(35 pals) y unidades tractoras (33 pals)
Esto provoca restricciones de acceso a los almacenes de los
supermercados, restricciones de uso de ciertas carreteras,
Los repartos tienen de realizarse a horas especficas, todos ellos
en un solo da (productos perecederos) y el ltimo tiene que
hacerse lo ms lejos posible del almacn (servicios extra)
24
Planificacin de Rutas para
Transporte de Mercancas
Por ejemplo, en un reparto de 52000 pals a 6800 clientes en
un periodo de 20 das, AntRoute obtuvo el diseo diario de
rutas en menos de 5 minutos en un PC estndar
Los expertos de la empresa necesitaron tres horas
Las soluciones de AntRoute fueron de mucha mejor calidad en
cuanto al nmero de rutas necesario, la distancia total recorrida
y al aprovechamiento de los vehculos:
25
Equilibrado de Lneas de Montaje en Nissan
La mayora de los sistemas productivos actuales se basan en lneas de
montaje
La produccin de un tem se divide en un conjunto de tareas que
tienen que llevarse a cabo segn un orden concreto y respetando una
serie de precedencias
Cada tarea necesita un tiempo dado (ms un rea de trabajo) y tiene
asociada un conjunto de predecesores directos
El diseo (equilibrado) de la lnea requiere agrupar de forma
eficiente las tareas necesarias en estaciones de trabajo para
maximizar la produccin y reducir tiempos muertos
26
Equilibrado de Lneas de Montaje en Nissan
El parmetro clave es el tiempo de ciclo que indica el mximo tiempo
permitido para que una estacin procese sus tareas. A menor tiempo
de ciclo, mayor capacidad productiva de la lnea
Los objetivos del equilibrado son:
agrupar las tareas en el menor nmero posible de estaciones de trabajo
satisfaciendo un tiempo de ciclo, u
obtener la agrupacin que minimiza el tiempo de ciclo
27
Equilibrado de Lneas de Montaje en Nissan
Los algoritmos de OCH se han aplicado con gran xito al equilibrado de
lneas de montaje, resolviendo problemas cada vez ms complejos y
realistas
Trabajamos con la Ctedra Nissan de la UPC para resolver el
problema multiobjetivo de minimizar el nmero de estaciones y su
rea para un tiempo de ciclo dado en la lnea de montaje del motor
del Nissan Pathfinder:
28
Equilibrado de Lneas de Montaje en Nissan
Es un problema multiobjetivo con muchas restricciones fuertes y
un espacio de bsqueda de gran dimensin: oportunidad para
metaheursticas como los algoritmos de OCH
El objetivo es proporcionar al ingeniero de planta con diversas
opciones de diseo optimales con distinto equilibrio entre ambos
objetivos en una sola ejecucin del algoritmo
29
Equilibrado de Lneas de Montaje en Nissan
Una solucin a este problema (TSALBP) es una asociacin de tareas a
las distintas estaciones que cumpla las restricciones
Hemos diseado un algoritmo de Optimizacin de Colonias de
Hormigas multiobjetivo que proporciona varias soluciones con un
equilibrio distinto entre el rea y el nmero de estaciones al ingeniero
de la planta
El rastro de feromona se asocia al par (tarea, estacin)
30
tarea a tarea c tarea e tarea d tarea b tarea f tarea g tarea h
estacin 1 estacin 2 estacin 3
A = 20 C = 12 A = 16 C = 11 A = 24 C = 12
Equilibrado de Lneas de Montaje en Nissan
Introducimos una filosofa multicolonia para obtener un mayor abanico
de soluciones posibles: cada hormiga utiliza distintos umbrales de
llenado de estacin
Nuestra propuesta obtiene muy buenos resultados. El algoritmo de
hormigas mejora a otras tcnicas de bsqueda
31
estacin 3
A
m
estacin 1
m
A
estacin 2
m A
0.2
0.75
0.9
Equilibrado de Lneas de Montaje en Nissan
Motor del Nissan Pathfinder:
747 piezas y 330 referencias en 6 versiones del motor diesel
378 operaciones de montaje (prueba rpida incluida) agrupadas en 140
79 operarios para un turno de 301 motores
32
Equilibrado de Lneas de Montaje en Nissan
Recientemente, hemos diseado un algoritmo gentico multiobjetivo especfico
para el TSALBP que mejora los resultados del algoritmo de OCH:
33
Identificacin Forense de Personas Desaparecidas
34
Identificacin Forense de Personas Desaparecidas
La superposicin craniofacial es una tcnica de identificacin
forense basada en la comparacin de un modelo del crneo
encontrado y una foto de una persona desaparecida
35
Proyectando uno sobre otro (solapamiento
crneo-cara), el antroplogo forense puede
determinar si pertenecen a la misma persona
Identificacin Forense de Personas Desaparecidas
36
Correlacin entre los puntos craneomtricos y cefalomtricos
Identificacin Forense de Personas Desaparecidas
Diseo de un procedimiento automtico basado en el ordenador
para automatizar el proceso de identificacin forense por
superposicin craneofacial:
Diseo de mtodos automticos de registrado de imgenes de
rango para obtener modelos 3D de crneos en cualquier condicin
(mediante algoritmos evolutivos, AEs)
Diseo de mtodos de registrado 3D/2D automticos para el
solapamiento crneo-cara (mediante AEs y conjuntos fuzzy)
Proyectos Plan Nacional I+D+I (2006-09, 2009-12, 2013-15) y
Excelencia Junta de Andaluca (2007-10, 2013-17). Patente
internacional Febrero 11. Proyecto Europeo FP7-Security
MEPROCS (2012-14). Premios Internacionales
37
Identificacin Forense de Personas Desaparecidas
38
?
?
?
2. Solapamiento
crneo-cara
3. Toma de decisiones
Identificacin {Positiva/negativa/
probable positiva/probable negativa/
indeterminada}
1. Modelado del
crneo
y mejora facial
Procesado de imagen y
localizacin de landmarks
RI 3D-2D: traslacin,
rotacin, escalado, y
proyeccin 2D
Reconstruccin
del modelo 3D
Identificacin Forense de Personas Desaparecidas
39
Escner de rango
Identificacin Forense de Personas Desaparecidas
Algoritmos Memticos con codificacin real para el modelado 3D
de crneos. Representacin de una solucin a este problema:
40
Eje
x
Eje
y
Eje
z
t
x
t
y
t
z
Eje (Eje
x
, Eje
y
,Eje
z
)

Rotacin
Traslacin
Reconstruccin
parcial
Identificacin Forense de Personas Desaparecidas
41
Reconstruccin Entrada: vistas 3D
Identificacin Forense de Personas Desaparecidas
42
Error global del modelo 3D: menor de 1 milmetro
Tiempo de reconstruccin 3D: 2 minutos
Robustez del mtodo: baja desviacin tpica en 30
ejecuciones distintas
Identificacin Forense de Personas Desaparecidas
43
Rotacin = {60,(0,1,0)}
Traslacin = {2, 0, 1}
f
f f *
Evaluacin f
Medir la distancia
entre cada par de
puntos de referencia
Bsqueda de la mejor superposicin 3D-2D
(Algoritmo Evolutivo con Codificacin Real)
Error de Registrado
Identificacin Forense de Personas Desaparecidas
Landmarks imprecisos. Cada punto cefalomtrico es un rea
(elptica o circular). Mayor incertidumbre asociada al landmark
mayor rea
Cada landmark cefalomtrico es un punto fuzzy definido por un
conjunto fuzzy bidimensional. A mayor incertidumbre sobre la
posicin del landmark mayor ser la regin fuzzy
44
4. Software de Metaheursticas
45
4. Software de Metaheursticas
46
4. Software de Metaheursticas
47
Todos estn implementados en Java o C++, con cdigo documentado,
permiten la generacin de cdigo ejecutable fuera del framework e
incluyen al menos dos tipos de metaheursticas distintas
4. Software de Metaheursticas
48
4. Software de Metaheursticas
49
4. Software de Metaheursticas
LOCAL++ (en C++) compuesta por una jerarqua de clases
conteniendo templates de metaheursticas de bsqueda, y que permiten
especializacin para abordar problemas especficos, combinaciones entre
ellas o tambin la creacin de nuevas estrategias
EasyLocal++ (http://tabu.diegm.uniud.it/EasyLocal++/) es una
herramienta orientada a objetos (sucesora de LOCAL++) para desarrollar
metaheursticas de bsqueda local compuesta de clases, que implementa
partes invariantes de las estrategias que se especializan mediante clases
concretas con la parte dependiente del problema especfico
ParadisEO (http://paradiseo.gforge.inria.fr/) es otro framework
orientado a objetos (C++) que genera cdigo portable a Windows, Linux,
Unix y MacOSX. Incorpora tcnicas muy diversas como bsquedas
locales, algoritmos evolutivos, particle swarm optimization, metaheu-
rsticas paralelas, etc. Separa claramente los mtodos de los problemas,
lo que proporciona una gran potencia de reutilizacin de cdigo y diseo
50
4. Software de Metaheursticas
HeuristicLab (http://dev.heuristiclab.com) es una herramienta de
cdigo abierto para el desarrollo de metaheursticas realizada en Microsoft
.NET y C#. Presenta un interfaz grfico que permite ajustar y extender
los algoritmos para un problema completo sin necesidad de escribir
cdigo. Incorpora las bsquedas por trayectorias ms conocidas as como
particle swarm optimization y distintos algoritmos evolutivos
FOM (Framework for Optimization using Metaheuristics,
http://www.isa.us.es/fom) es un entorno dirigido a objetos (Java)
desarrollado por los autores del artculo comparativo. Incorpora los
mtodos habituales de trayectorias simples, GRASP y VNS, algoritmos
evolutivos y de optimizacin mediante colonias de hormigas.
51
4. Software de Metaheursticas
Otros:
HotFrame (Heuristic Optimization Framework, http://www1.uni-
hamburg.de/IWI/hotframe/hotframe.html) proporciona componentes
adaptables en C++, incluyendo diversas metaheursticas y una
arquitectura de colaboracin entre las distintas componentes y clases
especficas de aplicaciones y permitiendo la hibridacin y la incorporacin
de nuevas metaheursticas. Sin versiones nuevas en los ltimos 5 aos!!
CPLEX es una biblioteca comercial estndar de resolucin de
problemas de optimizacin desarrollada por IBM ILOG. Gan el primer
concurso internacional de la Sociedad de Investigacin Operativa
estadounidenses INFORMS en 2004. Incorpora tcnicas clsicas
(Simplex). Incluye interfaces para C++, C#, Java, Python, Excel y Matlab.
GPLK (http://www.gnu.org/software/glpk/) es un software libre en
ANSI C que implementa el mtodo de Simplex revisado
52
4. Software de Metaheursticas
Para desarrollar las prcticas de la asignatura
se podr emplear el software que se desee, bien
sea cualquier framework existente o bien cdigo
desarrollado por el propio alumno o bajado de Internet
El profesor de prcticas proporcionar distintos
cdigos bsicos de metaheursticas desarrollados en C
El alumno deber indicar el software considerado en
su documentacin de prcticas y proporcionar las
fuentes y los ejecutables realizados
53

Вам также может понравиться