Estrategias de búsqueda local en problemas de optimización.
Estrategias de búsqueda local en problemas de optimización con Python.
What you will learn
Implementar estrategias de búsqueda local para resolver problemas combinatorios y no convexos, implementando con Python distintos códigos de solución.
Entender las estrategias de búsqueda puramente aleatorias, las heurísticas y meta-heurística como alternativas de solución.
Mejorar algoritmos con técnicas de aleatoriedad, diversificación, intensificación y reinicio.
Bases teóricas (cadenas discretas de Markov) sobre las que se apoyan las búsquedas aleatorias.
Why take this course?
Este es un curso monográfico sobre algoritmos de búsqueda local en problemas de optimización no convexos y combinatorios. En estos problemas de optimización de complejidad NP donde los algoritmos convencionales (basados en estrategias de tipo Newton, programadores lineales..etc.) no proporcionan soluciones adecuadas, las estrategias de búsqueda local cobran cierta relevancia y son usados con frecuencia.
En este curso, las estrategias de búsqueda local son explicadas desde un punto de vista teórico-práctico. Así, en cada sección se empiezan explicando las bases de teóricas de un determinado algoritmo de búsqueda local, luego se presenta un problema de optimización particular donde poder aplicar dicho algoritmo y por último se implementa y codifica en el entorno de programación Python (Jupyter Notebook).
Los algoritmos se agrupan y clasifican en tres grupos principales, siendo estos:
Algoritmos puramente aleatorios.
Algoritmos basados en funciones heurísticas.
Algoritmos basados en funciones meta-heurísticas.
Hay tres bloques didácticos donde se estudian en profundidad dichos algoritmos. Al final del curso el alumno será capaz con muy pocas lineas de código (20-50) resolver estos problemas de optimización complejos. Este curso, sólo requiere conocimientos básicos de programación en Python , cálculo y estadística; por tanto es un curso genérico abierto a una amplia gama de profesionales que tengan enfrentarse a problemas NP para desarrollo de sus productos, procesos y diseños.