Optimización de precios de una aerolínea basada en programación dinámica y Machine Learning
En este trabajo se ha resuelto y optimizado el desafío de las aerolíneas a la hora de establecer el precio de los billetes de avión en función de la demanda diaria, a través de técnicas de programación dinámica y machine learning. Para ello, se ha creado un ejercicio donde una aerolínea tiene 100 dí...
| Autor: | |
|---|---|
| Tipo de recurso: | tesis de maestría |
| Fecha de publicación: | 2024 |
| País: | España |
| Institución: | Universitat Politècnica de Catalunya (UPC) |
| Repositorio: | UPCommons. Portal del coneixement obert de la UPC |
| Idioma: | español |
| OAI Identifier: | oai:upcommons.upc.edu:2117/418286 |
| Acceso en línea: | https://hdl.handle.net/2117/418286 |
| Access Level: | acceso abierto |
| Palabra clave: | Aeronautics--Flights Prices Machine learning Aviació--Vols Preus Aprenentatge automàtic Àrees temàtiques de la UPC::Aeronàutica i espai |
| Sumario: | En este trabajo se ha resuelto y optimizado el desafío de las aerolíneas a la hora de establecer el precio de los billetes de avión en función de la demanda diaria, a través de técnicas de programación dinámica y machine learning. Para ello, se ha creado un ejercicio donde una aerolínea tiene 100 días para vender 100 billetes, y la decisión diaria que se debe tomar es a qué precio se venden los billetes, y como consecuencia de esto, cuántos se venden. El precio de venta depende de la demanda diaria, cuanto mayor es la demanda, más caros se pueden vender los billetes. Este ejercicio es aparentemente sencillo porque el problema no tiene muchas variables, sin embargo, debido a que solo se conoce la demanda del día en el que te encuentras, la decisión diaria de la aerolínea de a qué precio vender el billete y cuántos vender no es trivial, ya que vender hoy puede suponer perder dinero mañana, y el objetivo es lograr el máximo beneficio posible. Lo primero que se ha hecho es un estudio de diferentes algoritmos, para acabar escogiendo la Programación Dinámica como el mejor método para maximizar el beneficio de la aerolínea. Después de algunos análisis, se ha llegado a la conclusión de que, a pesar de que la solución era buena, no era la mejor. Así que se ha procedido a buscar la forma de mejorar el programa. Una vez agotadas todas las mejoras se ha implementado la siguiente variante al problema. Inicialmente la demanda diaria era un valor aleatorio entre 100 y 200, así que, con el objetivo de acercar el problema a la realidad se ha decidido añadir tendencia a la demanda. Debido a este cambio, han surgido nuevas problemáticas, pero también nuevas oportunidades de mejorar el resultado. Finalmente, se ha hecho una última consideración. Además de que la demanda siga una tendencia, se ha determinado que la aerolínea conozca las demandas de los 10 últimos períodos. Gracias a esta información adicional, y después de estudiar varios algoritmos de machine learning, se ha diseñado un modelo con la técnica Random Forest Regressor que, a través de las 10 últimas demandas, ha sido capaz de predecir la demanda completa del siguiente período. Gracias a predecir la demanda, con la ayuda de la programación dinámica y las diferentes mejoras, se ha logrado maximizar aún más el beneficio total. Por último, se ha hecho una comparativa del algoritmo con y sin las mejoras para evaluar la efectividad y se han propuestos nuevos pasos a seguir a partir de aquí. |
|---|