Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INTRODUCCION
Las metaheurísticas se basan en dotar a una heurística de una guía de acuerdo a algún concepto de
la naturaleza, la biología, la inteligencia artificial, las matemáticas o la física. El objetivo es orientar
a la heurística modificando las soluciones que ofrecen las heurísticas para encontrar otra mejor
hasta que no se pueda encontrar ninguna solución que presente mejora en el vecindario de la
solución actual. El vecindario de una solución se define como el conjunto de soluciones obtenidas a
partir de la misma por medio de una operación básica llamada movimiento.
En este trabajo vamos a presentar dos metaheuristicas utilizadas para la distribución en planta
(Algoritmo Genético) y para la distribución en planta (Recocido simulado); con ayuda de teoría y lla
programación en lenguaje C++ de los dos algoritmos pretendemos explicar estas dos
metaheuristicas.
1. Problemas de alta cardinalidad
2. Problemas de complejidad computacional:
PROBLEMAS P:
Se dice que un problema se puede resolver en un tiempo polinómico cuando el tiempo de
ejecución de un algoritmo que lo resuelve se puede relacionar con el tamaño de la entrada
con una formula polinómica. Los problemas para los que existe un algoritmo polinómico
se denominan P. Se considera que los problemas P se pueden resolver en un tiempo de
ejecución razonable para la informática actual.
PROBLEMAS NP:
Hay problemas que, pese a que no se haya encontrado un algoritmo polinómico que los
resuelva, si que se puede saber en tiempo polinómico si un valor corresponde a la solución
del problema. A este tipo de problemas, se les denomina NP.
Los problemas P también son problemas NP, ya que siempre es posible comprobar que un
valor es solución al problema en tiempo polinómico. Si no se encuentra una forma más
sencilla de hacerlo, siempre se puede ejecutar el propio algoritmo polinómico que lo
resuelve y comparar el resultado con el valor obtenido. Por tanto, el conjunto de
problemas P es un subconjunto de los problemas NP.
PROBLEMAS NP-COMPLETOS:
Son problemas que no tienen un algoritmo en tiempo polinómico que los resuelva. No se
ha podido demostrar formalmente que no exista, pero los matemáticos creen que
realmente no existe. Este tipo de problemas es un subconjunto de los problemas NP, es
decir, existe un algoritmo polinómico que puede determinar si un valor es solución al
problema.
PROBLEMAS NP- DUROS:
Son aquellos al menos tan difíciles como los problemas NP − completos, es decir, que los
matemáticos consideran que tampoco existe un algoritmo polinómico que los resuelva.
Se tiene un conjunto de nodos V que representan a los usuarios o clientes (nodos que
generan demanda) que necesitan algún tipo de servicio, y un conjunto de nodos U que
contiene a puntos donde pueden ubicarse las instalaciones; una demanda 𝑤𝑖 i para cada
usuario 𝑖 ∈ 𝑣; una capacidad de instalación 𝑠𝑗 para cada nodo 𝑗 ∈ 𝑢; una distancia 𝑑𝑖𝑗 ;
entre cada par de nodos 𝑖 , 𝑗 ∈ 𝑉 ∪ 𝑈 y número dado p de ubicaciones deseadas. La
capacidad 𝑆𝑗 se refiere a que cada instalación, dependiendo del lugar j donde puede ser
instalada, sólo puede atender un número limitado de la demanda. Se debe decidir dónde
ubicar p instalaciones, y a cuál instalación debe asignarse cada usuario con el fin de
minimizar la mayor distancia entre cualquier usuario y su instalación, sujeto a la restricción
de capacidad de cada instalación. El 𝐶𝑝 𝐶𝑃 es un problema técnicamente clasificado
como NP-duro (Kariv y Hakimi,1979), es decir, sumamente difícil de resolver en el sentido
de que cualquier algoritmo de solución que pretenda encontrar soluciones óptimas al
problema emplea un tiempo de cómputo que crece exponencialmente con el tamaño del
problema en el peor de los casos, a menos que NP= P. Aquí, P es la clase de problemas
resolubles en tiempo polinomial.
La consecuencia directa de este resultado es que para intentar resolver instancias del
problema de mediana a gran escala, es necesario recurrir a métodos heurísticos, los cuales
deben ser capaces de encontrar soluciones de buena calidad en tiempos de cómputo
razonables.
RECOCIDO SIMULADO
Este algoritmo es inspirado en el proceso de recocido del acero para conseguir material
recristalizado con baja energía interna, ha servido como base para el desarrollo de
algoritmos para la resolución de diversos problemas de optimización. La principal
particularidad del algoritmo de recocido simulado es su comportamiento convergente al
óptimo del problema si está correctamente parametrizado, lo que se consigue gracias a la
capacidad de escapar de óptimos locales propia de la heurística.
En esencia, se supone que las partículas que componen el sólido cristalino son distinguibles
y que siguen una distribución de Maxwell-Boltzmann. Matemáticamente esta distribución
de probabilidad viene dada por la siguiente expresión:
5. 𝒏´𝒋 = 𝑪 𝒙 𝒆−𝜷 𝒙 𝜺𝒋 (1)
Donde 𝒏´𝒋 es el número de partículas en el estado de ocupación j; C es una constante de
proporcionalidad; β = 1/kBT, con kB como la constante de Boltzmann y T la temperatura del
sólido; finalmente, 𝜺𝒋 es la energía del estado j.
Clase A Aquellos que poseen un número variable de ciclos internos (tamaño de la cadena
de Markov) y un decremento de temperatura fijo, y
Clase B Aquellos con un número fijo de ciclos internos y un decremento de temperatura
variable. Sin embargo, existe una tercera clase donde tanto el ciclo interno como el
decremento de temperatura son variables (Martinez, 2002).
5. Metaheuristicas de distribución
VENTAJAS Y INCONVENIENTES
CARACTERÍSTICAS
Son algoritmos estocásticos. El número de operaciones y por
Dos ejecuciones distintas tanto el coste computacional
pueden dar dos soluciones puede ser muy alto
distintas. Este tipo de método es
Son algoritmos de búsqueda apropiado cuando se trabaja
múltiple. Tiende a converger a con funciones que no son
medida que se realizan más suaves, no son convexas y que
generaciones. no se deben aplicar a casos
La función objetivo da la sencillos en que son más
información de los individuos rápidos y precisos otros
más aptos métodos.
Las reglas de transición son En el diseño de un algoritmo
probabilísticas, no genético, a la hora de modelar el
determinísticas problema, es muy importante
Se pueden utilizar como método elegir una buena representación
de optimización global o de las soluciones posibles y
semilocal diseñar cuidadosamente la
El espacio de soluciones función de evaluación de dichas
posibles es más amplio soluciones
Soporta optimización multimodal Puede ser difícil identificar la
y multiobjetivo función de fitness
Es fácilmente modificable para La definición de la
ser utilizado en diferentes representación de los
problemas cromosomas puede ser
Puede manejar espacios de compleja
búsqueda grandes, incluso que Puede ocurrir convergencia
no hayan sido debidamente prematura
estudiados El problema de ajustar los
No requieren conocer el parámetros (Tamaño de
gradiente u otra información población, probabilidad de
sobre la función del problema mutación)
Tienen buen rendimiento en No puede usar gradientes
problemas de optimización a No incorporan por defecto
gran escala heurística propia del problema
Pueden ser empleados para una No son buenos para identificar
gran gama de problemas de óptimos locales
optimización Necesitan ser acoplados a
técnicas de búsqueda local
Tienen problemas en encontrar
el óptimo global exacto
Requieren un gran tiempo de
procesamiento para evaluar el
fitness de cada individuo.
En esencia, se supone que las partículas que componen el sólido cristalino son distinguibles
y que siguen una distribución de Maxwell-Boltzmann. Matemáticamente esta distribución
de probabilidad viene dada por la siguiente expresión:
13. 𝒏´𝒋 = 𝑪 𝒙 𝒆−𝜷 𝒙 𝜺𝒋 (1)
Donde 𝒏´𝒋 es el número de partículas en el estado de ocupación j; C es una constante de
proporcionalidad; β = 1/kBT, con kB como la constante de Boltzmann y T la temperatura del
sólido; finalmente, 𝜺𝒋 es la energía del estado j.