Repository for the code developed for the course AIAD at FEUP.
- Date : 4th year, 1st Semester, 2020/2021
- Course : Agentes e Inteligência Artificial Distribuída | Agents and Distributed Artificial Intelligence
- Contributors : Bernardo Moreira, Bernardo Santos, João Matos
- 1st Project : Agent based Airport Traffic Control
- Resources
A simple simulation of an airport's infrastructure, focused on the control tower's job. Takes into account the capacity of the airport and the condition of the runways.
This agent is responsible for scheduling take offs and landing of the planes, always trying to maximize one of the optimization criteria, while keeping the each runway’s restrictions and not going above the airport’s capacity. The control tower receives requests to land or depart and updates from the runway’s conditions in real time, and, because of that, the scheduling is done dynamically.
During normal operation, especially if takeoffs and landings take place, there is a probability of debris appearing on a runway. At that time, that strip’s maintenance team will decide to close it for an interval of time, informing the air controller, who must reallocate the affected operations.
When getting near the airport, an airplane, which has a maximum waiting time, requests a landing authorization from air control. If it gets a positive response, it will wait around until that time slot and then perform the landing. If the waiting time is out, if it gets a negative response or if it decides to cancel the request, it will ‘disappear’ (looking for another airport).
After deciding that it is ready for takeoff, the airplane requests from air control a slot for takeoff (time and runway). If the response is positive, it will prepare for it and execute it. If not, it will try again later.
- Number of runways
- Number of planes
- Time spent by planes on the runway
- Airport capacity
- Number of arrivals
- Number of departures
- Number of redirected planes
- Wait time for landings
- Wait time for takeoffs
- Maximize the number of arrivals and departures
- Minimize the wait times, minimizing the cost of operation
- Minimize the number of redirected planes
This strategy aims to achieve the mentioned objectives by making the best possible choice at each moment without taking into consideration the later effects of that decision. For example, if the control tower receives a request from a departing plane and right after one from an arriving plane that is running low on fuel and only one runway is ready for use, it will authorize the first plane to takeoff and redirect the second one to another airport.
- JADE
- FIPA Protocol Specifications