TECH 으로 돌아가기
TECH HACKER NEWS 오늘 7분 읽기 27 READS

오픈소스로 항로를 최적화하다: Scikit-decide와 OpenAP로 연료 아끼기

오픈소스로 항로를 최적화하다: Scikit-decide와 OpenAP로 연료 아끼기
SOURCE IMAGE · HACKER NEWS

뉴어크(EWR)에서 로마 피우미치노(FCO)까지 논스톱으로 비행하는 보잉 787-9 드림라이너는 8.5시간 동안 약 6만 8천 달러어치의 제트 연료를 태울 수 있다. 그런데 바람 조건에 맞춰 항로를 조정하면 연료 소비를 줄여 수천 달러를 절약할 여지가 생긴다. 이 영역에는 이미 Jeppesen 같은 상용 솔루션이 있지만, 최근 한 엔지니어가 공개한 실험은 전혀 다른 접근을 보여준다. 오픈소스 계획·최적화 프레임워크인 Scikit-decide, 델프트 공과대학(TU Delft)에서 만든 협동체·광동체 항공기 연료 소비 모델, 그리고 미국 해양대기청(NOAA)의 바람 데이터만으로 항로 최적화 파이프라인을 구성한 것이다.

무엇으로 만들어졌나

Scikit-decide는 6년째 개발되어 온 프레임워크로, 강화학습과 자동 계획·스케줄링을 다룬다. 항로 최적화뿐 아니라 항공사 인력 스케줄 재편성, 드론 군집 경로 계산 같은 문제에도 쓸 수 있는 범용 도구다. 여기에 결합된 OpenAP는 TU Delft의 종신 조교수이자 항공교통관리(ATM) 박사인 Junzi Sun 박사가 개발한 항공기 성능 모델이자 툴킷이다. OpenAP의 강점은 방대한 동봉 데이터셋에 있다. 다양한 제조사의 기체 제원, 427종에 이르는 엔진 목록과 터보팬·혼합류 터보팬·터보프롭·피스톤 같은 엔진 유형 분류, 236개국에 걸친 약 1만 4천 개 공항 코드와 위치, 항행 웨이포인트까지 포함한다. 단위 테스트와 유틸리티 스크립트를 제외해도 3,369줄에 불과한 파이썬 코드가 이 모든 것을 엮는다.

Scikit-decide의 최적 항로 솔버는 서로 다른 연료 소비 모델을 끼워 넣을 수 있도록 설계되어 있어, 사용자는 OpenAP 모델을 지정해 특정 기종의 연료 사용을 추정할 수 있다. 솔버는 A* 탐색을 기반으로 하며, 휴리스틱 파라미터로 시간, 거리, lazy_fuel, lazy_time 중 하나를 지정하거나 아무것도 넘기지 않으면 다익스트라 방식의 탐색으로 동작한다. 실행 시 비행 날짜가 최근 6개월 이내이고 아직 기상 데이터를 받지 않았다면, NOAA의 GRB2 파일을 내려받는다. 각 파일은 지구 전체를 덮는 격자 데이터를 담고 있어, 실제로는 전 지구 바람장 위에서 특정 구간의 항로를 푸는 셈이다.

바람이 바꾸는 항로

실험에서 가장 흥미로운 대목은 두 항로의 비교다. 툴루즈-블라냐크(TLS)에서 베를린 브란덴부르크(BER)로 향하는 경로와, 같은 툴루즈에서 바르샤바 쇼팽(WAW)으로 향하는 경로를 A320 기종으로 각각 최적화했다. 바르샤바는 베를린보다 툴루즈에서 500km 더 멀다. 상식적으로는 연료가 더 들어야 하지만 결과는 반대였다. 바르샤바 경로에서는 초기 목표 고도를 훨씬 높게 잡아 빠르게 순항 고도까지 상승했고, 주어진 바람 조건에서 그 편이 훨씬 직선에 가까운 항로를 가능하게 했다. 그 결과 바르샤바 비행은 45분가량 더 빨리 도착했고, 베를린 비행이 쓴 연료의 76%만으로 목적지에 닿았다. 거리라는 직관적 변수보다 상승 프로파일과 바람의 상호작용이 실제 연비를 좌우한다는 점을 잘 보여준다.

여기에 더해, 같은 저자가 만든 궤적 툴킷 OpenTop을 OpenAP와 짝지으면 두 공항 사이의 비행 궤적을 계산할 수 있다. 다만 OpenTop의 최적화기는 격자 비용 파일을 요구한다. 예제로 제공되는 142MB NetCDF 파일을 받아 문서의 예시를 따르면 246KB짜리 Casadi 파일이 생성되는데, 비용 파일은 Casadi 또는 Parquet 형식을 쓸 수 있다. 저자는 이 파일 내용이 반복적이라 압축이 잘 된다는 점도 관찰했다. 이 조합으로 암스테르담 스히폴(AMS)에서 프랑크푸르트(FRA)까지의 최적 비행 지표를 A320과 보잉 737 두 기종에 대해 각각 뽑아볼 수 있다.

실무자에게 남는 것

한국의 데이터·항공 관련 실무자에게 이 실험이 주는 의미는 두 가지다. 첫째, 상용 항로 계획 솔루션의 핵심 기능 상당 부분을 완전한 오픈소스 스택으로 재현할 수 있다는 점이다. 데이터 처리에는 DuckDB와 H3·JSON·Parquet·Spatial 확장이, 시각화에는 QGIS와 Natural Earth·Marine Regions의 경계 데이터가 쓰였고, 전체 설치에는 약 8GB의 저장 공간이면 충분하다. 특정 벤더에 묶이지 않고 연료 모델을 교체하거나 자체 데이터를 붙일 수 있다는 유연성은 연구·검증 목적에서 특히 매력적이다.

둘째, 결과를 해석할 때는 한계도 분명히 인식해야 한다. 이 실험은 개인 워크스테이션에서 몇몇 유럽 공항 쌍을 대상으로 돌린 개념 검증에 가깝다. NOAA 기상 데이터가 최근 6개월 이내로 제한되고, 비용 파일 준비나 GRB2 다운로드 같은 준비 과정이 적지 않다. 무엇보다 실제 운항에서는 항공 규제, 관제 승인, 항공로 제약, 안전 여유 연료 같은 요소가 개입하기 때문에, 솔버가 내놓는 이론적 최적 항로가 곧바로 비행 계획서가 되지는 않는다. 그럼에도 거리 대신 바람과 상승 전략이 연비를 지배한다는 직관적 결과를 손쉽게 재현하고 시각화할 수 있다는 점만으로도, 항로 최적화를 학습하거나 사내 도구의 기준선을 세우려는 팀에게는 충분히 검토할 가치가 있는 접근이다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://tech.marksblogg.com/scikit-decide-openap-optimal-fli...
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...