Flight search engine CPU consumption prediction

University essay from KTH/Skolan för elektroteknik och datavetenskap (EECS)

Abstract: The flight search engine is a technology used in the air travel industry. It allows the traveler to search and book for the best flight options, such as the combination of flights while keeping the best services, options, and price. The computation for a flight search query can be very intensive given its parameters and complexity. The project goal is to predict the flight search queries computation cost for a new flight search engine product when dealing with parameters change and optimizations. The problem of flight search cost prediction is a regression problem. We propose to solve the problem by delimiting the problem based on its business logic and meaning. Our problem has data defined as a graph, which is why we have chosen Graph Neural Network. We have investigated multiple pretraining strategies for the evaluation of node embedding concerning a realworld regression task, including using a line graph for the training. The embeddings are used for downstream regression tasks. Our work is based on some stateoftheart Machine Learning, Deep Learning, and Graph Neural Network methods. We conclude that for some business use cases, the predictions are suitable for production use. In addition, the prediction of tree ensemble boosting methods produces negatives predictions which further degrade the R2 score by 4% because of the business meaning. The Deep Neural Network outperformed the most performing Machine Learning methods by 8% to 12% of R2 score. The Deep Neural Network also outperformed Deep Neural Network with pretrained node embedding from the Graph Neural Network methods by 11% to 17% R2 score. The Deep Neural Network achieved 93%, 81%, and 63% R2 score for each task with increasing difficulty. The training time range from 1 hour for Machine Learning models, 2 to 10 hours for Deep Learning models, and 8 to 24 hours for Deep Learning model for tabular data trained end to end with Graph Neural Network layers. The inference time is around 15 minutes. Finally, we found that using Graph Neural Network for the node regression task does not outperform Deep Neural Network. 

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)