Programación Lineal
Programación Lineal
1. Algoritmo genético
2. Método de CLARKE AND WRIGHT
3. Recorrido simulado
4. Algoritmo colina de hormiga
5. Búsqueda tabú
6. Método húngaro
7. Partícula de swarm
8. Procedimiento de búsqueda adaptativa aleatorizada avariciosa (grasp)
9. Búsqueda intensiva (búsqueda local,…)
10. Métodos metaheurísticos
Algoritmo genético
Un algoritmo es una serie de pasos que describen el proceso de búsqueda de una
solución a un problema concreto. Y un algoritmo genético es cuando se usan
mecanismos que simulan los de la evolución de las especies de la biología para
formular esos pasos. Es una técnica de inteligencia artificial inspirada en la idea de
que el que sobrevive es el que está mejor adaptado al medio, es decir la misma
que subyace a la teoría de la evolución que formuló Charles Darwin y que combina
esa idea de la evolución con la genética. Pero claro, ¿cómo se implementa esto
con fórmulas matemáticas? Pues lo que haces es transformar la resolución de
cualquier problema en un conjunto de soluciones en el que cada una de ellas
funciona como si fuera un individuo. Abordas los problemas de manera que
puedas decir, este conjunto de soluciones es como una población, una población
de soluciones. Imagina que tu problema a resolver es que quieres saber cuál es el
camino más corto para ir de Madrid a San Petersburgo y tienes miles de
soluciones. Cada camino que encuentres podría ser una opción, si le aplicas un
algoritmo genético, cada camino que encuentres sería un individuo. Para
poder aplicar algoritmos genéticos debes ser capaz de convertir las soluciones a
tu problema en vectores matemáticos, entonces, un vector para ir de aquí a San
Petersburgo puede ser uno que enumere las ciudades por las que vas pasando.
Puede haber muchos recorridos: unos más largos y otros más cortos, unos
tendrán más tráfico, otros tendrán menos tráfico…
Algoritmo de ahorros de Clark & Wright
El Algoritmo de ahorros de Clark & Wright, es una de las técnicas más populares
para resolver VRP (Problema de enrutamiento de vehículos) a través de
heurísticas, consiste en el principio de combinar una solución de dos rutas
diferentes para formar una nueva ruta donde se validen los ahorros. El ahorro en
la combinación de soluciones es obtenido con la siguiente fórmula (Benito
Quintanilla, 2015):
𝑠𝑖𝑗 = 𝑑𝑖0 + 𝑑0𝑗 − 𝑑𝑖𝑗 (1)
Los procedimientos propuestos en este PFC consisten, básicamente, en asignar
clientes a días y, para cada día, generar una ruta de visitas. Una vez llegados a
este punto, el programa se encuentra delante del problema del viajante de
comercio (TSP). Para resolver los TSP’s, en este proyecto se ha optado por el
algoritmo de ahorros de Clarke and Wright, en su versión en serie, que se
introduce a continuación. El algoritmo se basa en el concepto de ahorro de una
cadena de arcos respecto a la residencia del comercial(X). En la figura 2 se puede
apreciar la representación del concepto ahorro entre dos clientes. Este concepto
se entiende como la distancia o el tiempo ganado al evitar tener que volver a la
residencia del comercial para llegar de un cliente a otro.
El algoritmo de recocido simulado
El algoritmo de recocido simulado (SA) es un método iterativo que inicia con un
cierto estado s. Mediante un proceso particular genera un estado vecino s ′ al
estado actual. Si la energía, o evaluación, del estado s ′ es menor que la del
estado s, se cambia el estado s por s ′ . Si la evaluación de s ′ es mayor que la de
s entonces se puede empeorar eligiendo s ′ en lugar de s con una cierta
probabilidad que depende de las diferencias de las evaluaciones ∆f = f(s) − f(s ′ ) y
de temperatura actual del sistema T. La posibilidad de elegir un estado peor al
actual es lo que le permite a SA salir de óptimos locales para poder llegar a los
óptimos globales. La probabilidad de aceptar elegir un peor estado normalmente
se calcula por la fórmula
P(∆f, T) = e ∆f/T
Colonia de hormigas
En la disciplina de la Investigación Operativa, el algoritmo de optimización por
colonia de hormigas (Ant Colony Optimisation – ACO) es una técnica para resolver
problemas combinatorios complejos inspirada por el comportamiento que
muestran las hormigas en la naturaleza, la inteligencia de enjambre. Este
algoritmo fue propuesto por Marco Dorigo en 1992.
Una colonia de hormigas es capaz de encontrar la ruta más corta desde su
hormiguero a una fuente de comida gracias a las feromonas que desprenden.
Cuando una hormiga encuentra comida, regresa a su hormiguero mientras secreta
feromonas muy atractivas para las otras hormigas. Estas feromonas funcionan a
todos los efectos como un rastro de señales que el resto de la colonia tenderá a
seguir.Esta técnica se aplica para encontrar soluciones alternativas a problemas
clásicos como el Travelling Salesman y presenta la ventaja de adaptarse
dinámicamente a cambios en las condiciones del problema. ACO puede ser
utilizado en problemas reales relacionados con enrutamiento, muy útil por ejemplo
para empresas de paquetería
La búsqueda Tabú
Métodos metaheurísticos
Los algoritmos metaheurísticos son algoritmos aproximados de optimización y
búsqueda de propósito general. Son procedimientos iterativos que guían una
heurística subordinada combinando de forma inteligente distintos conceptos para
explorar y explotar adecuadamente el espacio de búsqueda.