Giter Club home page Giter Club logo

agh's Introduction

Airport Ground Handling

This repository contains the implementations of our papers studying Airport Ground Handling (AGH) problems:

  • Learning Large Neighborhood Search for Vehicle Routing in Airport Ground Handling

Jianan Zhou, Yaoxin Wu, Zhiguang Cao, Wen Song, Jie Zhang, Zhenghua Chen

Paper    License    Paper

  • Neural Airport Ground Handling

Yaoxin Wu*, Jianan Zhou*, Yunwen Xia, Xianli Zhang, Zhiguang Cao, Jie Zhang

Paper    License    Paper

Note: These works were done in 2021 and 2022, respectively. Based on our experiments, we recommend building upon the code of the second work for further research.

Overview

Learning Large Neighborhood Search for Vehicle Routing in Airport Ground Handling

We propose a learning-based improvement framework to solve large-scale Airport Ground Handling (AGH) instances. Specifically, we leverage the Large Neighborhood Search (LNS) framework, which consists of a pair of destroy and repair operators, to decompose the global (intractable) optimization problem and re-optimize each sub-problem. The operation scheduling in AGH is formulated as a mixed integer linear programming (MILP) model. To mitigate the need of domain expertise, 1) our proposed framework directly operates on the decision variables of the MILP model; 2) we employ an off-the-shelf solver (e.g., CPLEX) as the repair operator to conduct re-optimization. Our method could efficiently solve large-scale AGH instances with hundreds of flights, while CPLEX would simply stuck, even when searching for a feasible solution.

framework

Neural Airport Ground Handling

We propose a learning-based construction framework to solve Airport Ground Handling (AGH) problems in an end-to-end manner. The studied problem is modeled as a multiple-fleet vehicle routing problem (VRP) with miscellaneous constraints, including precedence, time windows, and capacity. It is much more complicated than the simple VRPs (e.g., TSP/CVRP) studied in the major ML conferences. The proposed method could also serve as a simple learning-based baseline for further research on complicated VRPs (e.g., CVRPTW).

framework

File Structure

./
├── Construction_based               # The implementation of TITS paper
├── Improvement_based                # The implementation of TKDE paper
├── LICENSE
├── README.md
└── imgs

Citation

@article{zhou2023learning,
title       = {Learning Large Neighborhood Search for Vehicle Routing in Airport Ground Handling},
author      = {Jianan Zhou and Yaoxin Wu and Zhiguang Cao and Wen Song and Jie Zhang and Zhenghua Chen},
journal     = {IEEE Transactions on Knowledge and Data Engineering},
year        = {2023},
doi         = {10.1109/TKDE.2023.3249799},
publisher   = {IEEE}
}
@article{wu2023neural,
title       = {Neural Airport Ground Handling},
author      = {Yaoxin Wu and Jianan Zhou and Yunwen Xia and Xianli Zhang and Zhiguang Cao and Jie Zhang},
journal     = {IEEE Transactions on Intelligent Transportation Systems},
year        = {2023},
doi         = {10.1109/TITS.2023.3253552},
publisher   = {IEEE}
}

agh's People

Contributors

royalskye avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

agh's Issues

use SUMO to load a map

First of all ,thank you for your project.I would like to ask how you use SUMO to load a map and calculate the distance between two locations?Can you give some details, thanks.

Input Data Format

Hi, thank you for your excellent work! After reading the article and the code, I am not very clear about the form of the input data?

The article mentioned "We load the map1 into SUMO [40], by which the distances between gates and the depot are calculated automatically. On top of the map, we first generate AGH instances of 20, 50 and 100 flights which are referred as AGH20, AGH50 and AGH100, respectively.”

As I understand it in the code, the json file is loaded, and the json file contains two dataset files: 1. ID_MAP; 2. CVRPTW. The input data is also divided into SHARED_DATA, UNSHARED_DATA and FILE_MAP.

I really don't understand but I'm curious about the form of the input content. If I wanted to use this code to do a theoretical experiment on a problem such as vrp and use self-generated data as input, the shape of the data would be: (x, y, demand), where (x, y) is the 2D coordinate. Could I directly replace the original input in the original code with the data I generate? I did not find input content such as file_map in the folder.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.