The first step for millions of passengers that travel through Copenhagen Airport (CPH) every year is to visit a check-in counter. With only 100 check-in counters available, and over 150 airlines sharing these counters, the problem of deciding which counter to use for each outbound flight is both complex
and critical to the functioning of the airport. After the airport experienced a period of rapid growth, which strained the ability of the counters to meet the needs of the airlines, the CEO of the airport challenged the airport operations team to find a better way to utilize their existing counters.
Building the Model
The OR team identified the problem as an optimization problem and created an optimization model. Their next step was to find a solver that could solve this model quickly. After comparing alternatives, they chose Gurobi for their initial prototype, implementing the model using the Gurobi C++ API. Despite
some concerns about the difficulty of the model, they found that Gurobi was able to solve it quite quickly, which allowed them to add additional detail. For example, they introduced a goal of trying to keep each airline at the same set of nearby counters over time. This additional detail actually reduced the difficulty of solving the model, while at the same time making the resulting counter assignments better for the airlines, the staff that handles the check-ins, and the passengers.
Due to notably better utilization of the existing check-in counters, CPH was able to handle continued growth with the existing counters. This made it possible to postpone over 90 million DDK (>USD$16M) in investments in check-in facilities.
Over time, as people have seen the benefits of optimization, the team has been able to experiment with the trade-off between cost factors (e.g., building more counters) and convenience factors (e.g., keeping airlines at similar counters over time). This has further improved the optimization solutions being provided, allowing the airport to grow passenger volume significantly with only a modest investment in new counters.
Role of Gurobi
Gurobi has played several key roles: Gurobi’s easy to use C++ API and interactive shell helps us quickly prototype ideas and see if our gut is right. We do it all ourselves and use Gurobi in the process. When ready, we send out the results, people see the work, and then we work to improve the model. With Gurobi we don’t have to worry about the algorithms. We get the data, build the model, give it to Gurobi, and get the results. As would be expected, we have run into a few challenges on our end with some of the modeling, but every time Gurobi was extremely helpful and very fast at answering our questions and helping out. With Gurobi we know we can scale when we need to. Over time we’ve enhanced the models by adding more complexity and expanding the solution space to continue to deliver improved results and meet changing business needs. We have yet to run into a model we wanted to build that Gurobi couldn’t solve.
- The world’s first private airport (1925)
- Busiest airport in Scandinavia
- Serves over 150 airlines and 23 million passengers a year
- Moved from Government control to public-private partnership in 2005
The OR group started in 2009 when analysts from the operational departments were consolidated into a single team. In 2013 the team includes 7 people, of which 5 have a M.SC. in Operations Research. Outside of the purchase of Gurobi, everything else is done in-house. After we see good results, we start looking for providers that can deliver systems to replace our prototypes.