Algoritmos de Optimización y el Problema del Viajero
Resumen
¿Qué son los algoritmos de optimización?
La optimización es un tema trascendental en el mundo de la computación. Permite resolver una vasta cantidad de problemas globales reduciéndolos a algoritmos específicos cuya función principal es maximizar o minimizar resultados. Estos algoritmos buscan encontrar el dato de entrada que proporciona el valor de salida más alto o más bajo en una función específica. Este tipo de algoritmos son fundamentales, puesto que facilitan la creación de soluciones a problemas complejos que pueden traducirse en empresas exitosas.
¿Cuáles son las limitantes en los problemas de optimización?
La mayoría de los problemas de optimización tienen restricciones o limitantes que deben respetarse durante el proceso de búsqueda de soluciones. Un ejemplo claro de esto es la búsqueda de vuelos: se quiere encontrar el vuelo más barato pero dentro de determinadas fechas, sin escalas, y con ciertos requisitos de asientos. Empresas como Despegar y Skyscanner han resuelto este tipo de problemas, creando enormes oportunidades comerciales.
¿Cómo se aplica la optimización en problemas reales?
Problemas tan cotidianos como el tráfico pueden ser abordados con algoritmos de optimización. La empresa Waze, por ejemplo, logró desarrollar un software que ofrece rutas más rápidas, vendiéndose posteriormente por miles de millones de dólares. Estos algoritmos transforman situaciones desafiantes en soluciones eficientes que se pueden aplicar en diversas áreas, desde logística hasta el desarrollo de software.
¿Por qué es importante el problema del vendedor viajero?
Uno de los grandes retos en el mundo de la optimización es el problema del "vendedor viajero", que busca la ruta más eficiente para visitar una serie de ciudades. Aunque parece sencillo, es extremadamente complicado de resolver eficientemente, incluso con los algoritmos más avanzados. La dificultad radica en que, a medida que aumenta el número de ciudades, la complejidad para encontrar la solución óptima también crece exponencialmente.
defcalcular_ruta_optima(ciudades):# Pseudocódigo para demostrar la complejidad del problema mejores_camino =Nonefor ruta in permutaciones(ciudades):if es_mejor_ruta(ruta, mejores_camino): mejores_camino = ruta
return mejores_camino
Resolver este problema eficientemente sería revolucionario. Sin embargo, en la actualidad, resolverlo para un gran número de ciudades sigue siendo computacionalmente inviable.
¿Qué implicaciones tienen los problemas no resueltos en optimización?
Existen problemas que, según los algoritmos actuales, no se pueden resolver de manera eficiente. Estos se categorizan dentro de una rama del conocimiento donde se analiza si un algoritmo puede ser solucionado de manera eficiente por una computadora. Discusiones como "P vs NP" exploran si ciertos problemas tienen soluciones polinomiales o no, con lo cual resolverlos o entender sus limitaciones ofrece recompensas significativas, como el prestigioso Turing Award o el Millennium Prize de un millón de dólares.
¿Por qué investigar más sobre los algoritmos de optimización?
Los algoritmos de optimización son cruciales para resolver problemas complejos y desarrollar tecnologías que pueden cambiar el mundo. Si bien este tema no puede ser abordado exhaustivamente en un solo curso, se anima a los estudiantes a investigar más sobre áreas específicas como el problema del vendedor viajero, ya que es un campo lleno de desafíos y grandes recompensas.
Seria muy interesante curso en platzi de este tema!!!
le entro
Yees!
Me pase 4 dias viendo videos y problemas de n - np // mala idea profundirzar :)
Jejeje, entendido
Jajajá ya llevo 2 días
El problema del vendedor viajero, problema del vendedor ambulante, problema del agente viajero o problema del viajante (TSP por sus siglas en inglés (Travelling Salesman Problem)), responde a la siguiente pregunta: dada una lista de ciudades y las distancias entre cada par de ellas, ¿cuál es la ruta más corta posible que visita cada ciudad exactamente una vez y al finalizar regresa a la ciudad origen? Este es un problema NP-Hard dentro en la optimización combinatoria, muy importante en la investigación de operaciones y en la ciencia de la computación.
Lo que me imagino en este momento es un machine learning donde ponga a competir diversas IA ante cual llega primero, planteándole las reglas que acabas de mencionar; seria realmente interesante
Buen resumen del problema.
Revisen este video del canal derivando ;) es buenisimo y explica bien.
si quieren indagar mas en optimizacion pueden buscar programacion lineal o no lineal, donde encontraran cosas como el metodo simplex. Recomiendo el libro taha o hillier son de "investigacion de operaciones". Aqui encontraran muchos otros algoritmos para resolver problemas de minimos y maximos.
Gracias
Gracias :)
Existe la Metaheuristica, que da soluciones aproximadas:
En múltiples problemas de IA nos encontramos modelos asociados a problemas de optimización y búsqueda. 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 subordinada combinando de forma inteligente distintos conceptos para explorar y explotar adecuadamente el espacio de búsqueda.
Casualmente, hay un librería dePython llamada Gurobi que está optimizada para Programaci'no Lineal Entera que es una forma de programación que se utiliza para resolver Problemas como el del Travel Salesman
El concepto de optimización permite resolver muchos problemas de manera computacional. Cuando pensamos en un algoritmo de optimización debemos definir una función objetivo que debemos maximizar o minimizar, respetando una serie de limitantes que definamos.
Un solución no tan eficiente pero si un poco optima que lei al problema del travelling salesman es hacer conjuntos pequeño, es decir con 12 ciudades hacer 4 conjuntos de 3 ciudades, probar la ruta mas pequeña entre esas 3 ciudades y asi con cada conjunto, luego repetir esto con los conjutos, espero se haya entendido mi explicación
Consiste en un comerciante que quiere visitar n ciudades, empezando y terminando en la misma ciudad y debe determinar el recorrido a seguir para que la distancia sea minima.
Se engloba dentro de los denominados ++problemas de rutas++.
Un problema de rutas es todo aquel problema de optimización donde se debe encontrar una ruta óptima para satisfacer las demandas de un conjunto de clientes.
Ganó mayor popularidad entre los años 50 y 60, el cual dio lugar a trabajos como el problema de asignación y el de transporte.
La cantidad de rutas posibles en una red está determinada por la ecuación:
(n-1)!
"P versus NP" es algo más que un rompecabezas matemático abstracto. Su objetivo es determinar—de una vez por todas—qué tipo de problemas se pueden resolver con ordenadores, y cuáles no. Los problemas de clase "P" son "fáciles" de resolver para los ordenadores; es decir, las soluciones a estos problemas pueden ser calculadas en una cantidad razonable de tiempo, en comparación con la complejidad del problema.
La solución de este tipo de problemas es toda una rama de la inteligencia artificial conocida como Constraint Satisfaction Problems (CSP), aquí un ejemplo: https://www.youtube.com/watch?v=lCrHYT_EhDs
Super! gracias por el aporte!
Súper bien el aporte :D
Si alguien esta interesado en saber mas sobre los tipos de optimización, les recomiendo el libro Introducción a la investigación de operaciones de Frederick S Hillier, Gerald J. Lieberman.
Para iniciar en mundo de la optimización es el método simplex.
Hola a todos, les comparto mi grafica, es el historico semanal de la cotización de bitcoin de yahoo finance. lo pueden obtener descargando yfinance o yahoo-finance en sus terminales. Gracias!
!