multi-city flight route optimization system using big-data ... · 항공권 책정가는...

10
Journal of the Korean Institute of Industrial Engineers Published Online, pp. 92-101, April 2018. © 2018 KIIE ISSN 1225-0988 | EISSN 2234-6457 <Original Research Paper> 빅데이터를 활용한 다구간 ( 多區間) 항공 경로 최적화 시스템 김예린박성준권예지이승제최원형이충목 한국외국어대학교 산업경영공학과 Multi-City Flight Route Optimization System Using Big-Data Analytics Yerin KimSeongjun ParkYeji KwonSeungje LeeWonhyung ChoiChungmok Lee Department of Industrial and Management Engineering, Hankuk University of Foreign Studies This paper proposes a multi-city flight route optimization system using big-data analytics. When one plans a travel for visiting a set of cities, the sequence of visiting should be determined so the total travel cost is minimized. Such problem is known as the travelling salesman problem (TSP) in the literature. We present a variant of TSP considering the dynamic travel costs between two cities and a total travel duration. We present a mixed integer programming formulation for solving the problem, with developing a flight price trend prediction model. The goal of the flight price trend prediction model is to reduce time and cost that are required to construct the route optimization problem. We employed big-data analytics to build the appropriate price trend prediction model that involves massive web crawling, statistical analysis, and regression. A web-based system was, then, built on the developed models for demonstrating the validity of the proposed approach. Keywords: Travelling Salesman Problem, Route Optimization, Big-data, Mixed Integer Programming 1. 문화체육관광부 자료에 따르면, 해외여행객 수가 2009950 만명에서 20151,931만 명으로 100%를 넘는 성장률을 보이 고 있다(Ministry of Culture, Sports and Tourism, 2015). 해외여 행에 대한 수요가 높아지면서 여행의 형태에도 큰 변화가 일 어나고 있다. 정형화된 일정에 맞추어 여행하는 패키지 상품 에서 직접 구상한 경로로 자유롭게 여행하는 나만의 여행하나의 트렌드로 자리 잡은 것이다. , 자유로운 여행을 지향 하는 여행객들이 증가하면서 여행사에서 정해주던 영국-프랑 -독일유럽여행의 전형적인 틀을 깨고 나에 의한, 나를 위 , 그리고 나만의 여행에 대한 수요가 높아지고 있다. 한 편의 항공권 가격은 날씨, 출발 날짜, 출발 도시, 항공사 등 수없이 많은 요인들이 작용하여 결정된다. 그렇게 정해진 항공권 책정가는 경쟁사와의 끊임없는 가격경쟁, 좌석의 예매 , 때론 천재지변으로 하루가 다르게 변동된다. 또한, 여행을 위해서는 여러 구간의 항공권 가격을 동시에 고려해야한다. 그러므로 효율적인 유럽여행을 계획하는 여행객의 입장에서 최저가를 계산해서 여행 경로를 계획하는 것은 어려울 뿐만 아니라 큰 기회비용이 발생한다. 예를 들어, 4개의 도시(출발 지 포함)15일간 여행한다고 가정하고 각 도시 간에 하루에 하나의 항공편이 운행된다고 가정하자. 여행자는 각 도시를 어떠한 순서로 방문해야 할지를 결정해야 하고, 동시에 각 도 시에 며칠 동안 머무를지를 결정해야한다. 여행자의 목적이 여행에 필요한 총 항공권 가격을 최소화 하는 것이라면 여행 자가 고려해야 할 항공권의 종류는 이동 순서(3×2 = 6)와 이동 날짜(15)를 모두 고려해야 하므로 90건에 이른다. 90건은 특정 날짜에 특정 도시를 이동하는 경우의 수이고 사실은 같은 날에 두 개의 도시 간을 운행하는 항공편의 수가 여러 개의 경우에 는 훨씬 더 많은 항공권의 가격을 알아야 한다. 일단 항공권의 이 연구는 2018학년도 한국외국어대학교 교내학술연구비의 지원에 의하여 이루어진 것임. 연락저자이충목 교수, 17035 경기도 용인시 처인구 모현면 외대로 81 한국외국어대학교 공학관 530, Tel : 031-330-4378, Fax : 031-330-4120, E-mail : [email protected] 20171111일 접수, 201827일 수정본 접수, 201829일 게재 확정.

Upload: others

Post on 15-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Multi-City Flight Route Optimization System Using Big-Data ... · 항공권 책정가는 경쟁사와의 끊임없는 가격경쟁, 좌석의 예매 율, 때론 천재지변으로

Journal of the Korean Institute of Industrial EngineersPublished Online, pp. 92-101, April 2018. © 2018 KIIEISSN 1225-0988 | EISSN 2234-6457 <Original Research Paper>

빅데이터를 활용한 다구간(多區間) 항공 경로 최적화 시스템

김 린․박성 ․권 지․이승제․최원형․이충목†

한국외국어 학교 산업경 공학과

Multi-City Flight Route Optimization System Using Big-Data Analytics

Yerin Kim․Seongjun Park․Yeji Kwon․Seungje Lee․Wonhyung Choi․Chungmok Lee

Department of Industrial and Management Engineering, Hankuk University of Foreign Studies

This paper proposes a multi-city flight route optimization system using big-data analytics. When one plans a travel for visiting a set of cities, the sequence of visiting should be determined so the total travel cost is minimized. Such problem is known as the travelling salesman problem (TSP) in the literature. We present a variant of TSP considering the dynamic travel costs between two cities and a total travel duration. We present a mixed integer programming formulation for solving the problem, with developing a flight price trend prediction model. The goal of the flight price trend prediction model is to reduce time and cost that are required to construct the route optimization problem. We employed big-data analytics to build the appropriate price trend prediction model that involves massive web crawling, statistical analysis, and regression. A web-based system was, then, built on the developed models for demonstrating the validity of the proposed approach.†

Keywords: Travelling Salesman Problem, Route Optimization, Big-data, Mixed Integer Programming

1. 서 론

문화체육관광부 자료에 따르면, 해외여행객 수가 2009년 950만명에서 2015년 1,931만 명으로 100%를 넘는 성장률을 보이

고 있다(Ministry of Culture, Sports and Tourism, 2015). 해외여

행에 대한 수요가 높아지면서 여행의 형태에도 큰 변화가 일

어나고 있다. 정형화된 일정에 맞추어 여행하는 패키지 상품

에서 직접 구상한 경로로 자유롭게 여행하는 ‘나만의 여행’이

하나의 트렌드로 자리 잡은 것이다. 즉, 자유로운 여행을 지향

하는 여행객들이 증가하면서 여행사에서 정해주던 ‘영국-프랑

스-독일’ 유럽여행의 전형적인 틀을 깨고 나에 의한, 나를 위

한, 그리고 나만의 여행에 대한 수요가 높아지고 있다.한 편의 항공권 가격은 날씨, 출발 날짜, 출발 도시, 항공사

등 수없이 많은 요인들이 작용하여 결정된다. 그렇게 정해진

항공권 책정가는 경쟁사와의 끊임없는 가격경쟁, 좌석의 예매

율, 때론 천재지변으로 하루가 다르게 변동된다. 또한, 여행을

위해서는 여러 구간의 항공권 가격을 동시에 고려해야한다. 그러므로 효율적인 유럽여행을 계획하는 여행객의 입장에서

최저가를 계산해서 여행 경로를 계획하는 것은 어려울 뿐만

아니라 큰 기회비용이 발생한다. 예를 들어, 4개의 도시(출발

지 포함)를 15일간 여행한다고 가정하고 각 도시 간에 하루에

하나의 항공편이 운행된다고 가정하자. 여행자는 각 도시를

어떠한 순서로 방문해야 할지를 결정해야 하고, 동시에 각 도

시에 며칠 동안 머무를지를 결정해야한다. 여행자의 목적이

여행에 필요한 총 항공권 가격을 최소화 하는 것이라면 여행

자가 고려해야 할 항공권의 종류는 이동 순서(3×2 = 6)와 이동

날짜(15)를 모두 고려해야 하므로 90건에 이른다. 90건은 특정

날짜에 특정 도시를 이동하는 경우의 수이고 사실은 같은 날에

두 개의 도시 간을 운행하는 항공편의 수가 여러 개의 경우에

는 훨씬 더 많은 항공권의 가격을 알아야 한다. 일단 항공권의

이 연구는 2018학년도 한국외국어대학교 교내학술연구비의 지원에 의하여 이루어진 것임.†연락저자:이충목 교수, 17035 경기도 용인시 처인구 모현면 외대로 81 한국외국어대학교 공학관 530, Tel : 031-330-4378, Fax : 031-330-4120,

E-mail : [email protected]년 11월 11일 접수, 2018년 2월 7일 수정본 접수, 2018년 2월 9일 게재 확정.

Page 2: Multi-City Flight Route Optimization System Using Big-Data ... · 항공권 책정가는 경쟁사와의 끊임없는 가격경쟁, 좌석의 예매 율, 때론 천재지변으로

빅데이터를 활용한 다구간(多區間) 항공 경로 최적화 시스템 93

가격을 다 알았다고 가정하면 다음에 여행자가 풀어야 할 문

제는 주어진 일별 항공권의 가격에 따른 총 항공권 가격을 최

소화하는 방문 순서(경로)와 도시 별 체류 기간을 결정하는 문

제이다. 이 문제는 잘 알려진 외판원 문제(Travelling Salesman Problem, TSP, Applegate et al., 2011)와 비슷하나, 방문하는 도

시에 얼마나 오래 머무르는지에 따라 도시간 이동 비용이 달

라지는 결정적인 차이가 있다. 기존에 서비스 되고있는 항공

권 검색사이트(예 : Google Flights, Sky Scanner, Kayak 등)의

다구간 검색 기능은 사용자가 직접 도시들의 방문 순서를 결

정하고 각 도시 별 출발 날짜를 지정해주어야 하지만 본 연구

에서는 방문하는 도시들의 순서와 날짜를 알고리즘이 결정해

준다는 점에서 다르다. 또한 한 구간에 대해 항공권을 구매 시

기를 추천해주는 서비스인 hopper(https://www.hopper.com)와

검색 빈도 분석을 토대로 사용자가 방문하고자 하는 도시 외의 주변 도시를 추천해주는 서비스인 fltgraph(https://fltgraph.co.kr)의 팔로온(Follow On) 기능과는 다르게 본 연구에서는 검색 일

을 기준으로 여러 도시에 대해 최적의 방문 순서 및 방문 날짜

를 제시한다는 점에서 차이가 있다. TSP는 아마도 경영과학분야에서 가장 잘 알려진 문제일 것

이다. 가장 기본적인 형태의 TSP는 n개의 도시와 모든 도시간의

이동 비용이 주어졌을 때 모든 도시를 방문하는 가장 적은 비용

의 방문 순서를 결정하는 문제이다(Applegate et al., 2011). TSP는 대표적인 NP-hard문제이며(Garey and Johnson, 1979) 다양한

해법이 제시되었다. TSP는 차량경로문제(Vehicle Routing Problem, VRP)등과 관련이 있고 다양한 TSP 변형 문제(TSP variants)가

존재한다(Gutin and Punnen, 2007). TSP with Profits 문제(Feillet et al., 2005)는 모든 도시를 다 방문해야 하는 조건이 없고 각 도

시마다 방문 시 이익이 발생하는 경우를 다룬다. TSP with Profits 문제는 orienteering 문제 또는 Selective TSP라고 불리기

도 한다(Laporte and Martello, 1990). 각 도시를 방문할 때 방문해

야 할 시간대가 정해져 있는 경우는 TSP with Time-Windows 문제라고 한다(Christofides et al., 1981). 방문해야 할 도시를 고객

(customer)으로 생각할 때 고객의 존재 여부가 확정적으로 결정

되어 있지 않은 경우를 Probabilistic TSP(Jaillet, 1985)라고 한다. 일반적인 TSP는 도시간의 이동시간이 고정된 상수로 주어진

다. 도시 간에 이동시간이 출발 시각에 따라 변하는 함수로 주어

질 때 Time-Dependent TSP(TDTSP, Fox et al., 1973)라고 한다. TSP를 푸는 해법에는 크게 두 가지 방법이 존재한다. 첫 번째

는 최적해를 구하는 최적(exact) 알고리즘이고 두 번째 방법은

최적해가 아닌 좋은 해를 상대적으로 빠르게 구하는 휴리스틱

(heuristic) 알고리즘이다. TSP는 일반적으로 정수계획법(Integer Programming, IP)문제로 모형화가 가능하다. TSP를 푸는 여러

가지 IP 모형이 제시되었는데 가장 대표적인 모형은 흐름 균형

제약식과 서브투어(subtour) 제약식을 가지는 것이다(Gutin and Punnen, 2007). 이 모형은 서브투어 제약식을 매우 많이 필요로

하기 때문에 일반적으로 일부의 서브투어 제약식만 가지고 문

제를 풀고 필요한 제약식을 나중에 추가하는 절단 평면(cutting plain) 또는 행 생성(row generation) 방법과 같이 사용된다. 또 다

른 수리모형으로는 소위 MTZ 수리모형이라 불리는 방법이 있다

(Miller et al., 1960). MTZ 수리모형은 상대적으로 제약식의 수가 작은 장점이 있으나 선형 완화(Linear Programming Relaxation)의 성능이 좋지 않은 단점이 있다. 현재 TSP를 푸는 가장 빠른

알고리즘은 Concorde(Applegate et al., 2003)로 알려져 있다. Concorde는 서브투어 제약식 수리모형을 기반으로 하여 행 생

성과 분지평가법(Branch-and-Bound)을 이용하여 최적해를 구

한다. 휴리스틱 기법으로는 주로 지역 탐색(Local search)에 기

반한 알고리즘들이 연구되어 왔다. 차랑경로문제에 관한 발견적 기법 (Yoon and Lee, 2011) 외에도 많은 발견적 기법이 제시되었

는데 가장 잘 알려진 방법에는 Variable Neighborhood Search (VNS, Mladenovic and Hansen)과 Lin-Kernighan 알고리즘(LK method, Lin and Kernighan, 1973) 등이 있다. 이들 발견적 기법은

단독으로 쓰이기도 하지만 많은 경우에 메타-휴리스틱(Meta- Heuristic) 기법들과 같이 사용된다. 예를 들어 Tabu-Search(TS, Fred, 1989), Ant Colony Optimization(ACO, Dorigo et al., 1996), Genetic Algorithm(GA, Whitley, 1994) 등이 가장 많이 사용되는

메타-휴리스틱 알고리즘들이다.본 논문에서 제시하는 다구간 항공권 최적화 문제는 TSP 변

형문제들 중에 TDTSP와 비슷하다. TDTSP는 도시간의 이동시

간(또는 비용)이 변하는 경우이다. 그러나 다구간 항공권 최적

화 문제와 TDTSP는 결정적인 차이가 있는데, 그것은 다구간

항공권 최적화 문제에서는 총 여행 시간이 정해져 있다는 것이

다. 총 여행기간은 각 도시에서 머무는 시간을 제한하기 때문에

다른 도시에서 머무는 기간에 대한 고려가 필요하다. 본 논문에

서는 다구간 항공권 최적화 문제를 풀기 위한 혼합정수계획법

(Mixed Integer Programming) 수리모형을 제시한다. 다구간 항공권 최적화를 위해 고려해야할 것은 시간에 따라

변화하는 항공권의 가격을 반영하는 방법이다. 앞에서 설명한

대로 가능한 모든 날짜별 항공권 가격을 실시간으로 가져오는

것은 시간과 비용면에서 불가능하다. 특히, 항공권 가격은 정해

진 날자의 같은 항공권이라 해도 언제 구매하는지에 따라 가격

의 변동이 매우 심한 특징이 있다. 이는 다구간 항공권 최적화

를 더욱 어렵게 만드는데 이유는 어제 수립한 최적 계획이 오늘

다시 변동된 항공권 가격으로는 최적이 아닐 수도 있기 때문이

다. 따라서 본 논문에서는 도시와 도시간의 출발 일과 항공권

구매 일의 차에 따른 가격을 추세모형으로 제시하였다. 가격추

세모형을 통해 얻은 항공권 가격을 예측하면 다구간 항공권 최

적화에 필요한 많은 수의 항공권 가격을 빠르고 효율적으로 확

보할 수 있는 장점이 있다. 가격추세모형의 수립을 위해 필요한

항공권 데이터는 데이터 크롤링(Data Crawling)을 통해 실제 항

공권 데이터를 하루 단위로 확보하였으며 이에 대한 자세한 내

용은 제 2장에서 설명한다. 제 3장에서는 도시 방문 순서 뿐 아

니라 각 도시 별 머무르는 기간을 결정하는 다구간 항공권 최적

화를 위한 수리모형을 제시하며 휴리스틱 알고리즘과의 성능

실험 결과를 비교한다. 제 4장은 다구간 최적 항공권 검색을 위

한 만들어진 웹 베이스 시스템을 설명한다. 마지막으로 제 5장에서는 본 논문의 결론을 제시한다.

Page 3: Multi-City Flight Route Optimization System Using Big-Data ... · 항공권 책정가는 경쟁사와의 끊임없는 가격경쟁, 좌석의 예매 율, 때론 천재지변으로

94 김예린․박성준․권예지․이승제․최원형․이충목

Table 1. Summary of Data Features Obtained by Data CrawlingData Field

Name Description DataType Example

SCH_COSTR_ORIGINDEP_DAY

DEP_D_WEEKDEP_T

R_DESTARR_DAY

ARR_D_WEEKARR_TF_TIME

AIR_INFOBOOK_DATEDAYS_LEFT

Flight Price($)Departure Airport

Departure DateDeparture DayDeparture TimeArrival Airport

Arrival DateArrival DayArrival Time

Flight Time(min.)Airline NameBooking Date

Days until Departure

NumberStringDate

StringTimeStringDate

StringTime

NumberStringString

Number

140LHR

2017-20-FebMon

19 : 30 : 00CDG

2017-22-FebWed

21 : 45 : 0075

British Airways03-Feb

17

2. 항공권 데이터 분석 및 가격추세모형

본 장에서는 다구간 항공권 최적화 문제의 입력 데이터인 항공

권 가격을 예측하기 위한 가격추세모형을 수립하는 과정을 설명

한다. 가격추세모형 작성에 사용된 데이터의 범위는 세계에서

방문자 수가 많은 상위 100개 도시 중(Euromonitor, 2016), 유럽대

륙에 속해있는 21개 도시로 선정하였으며 해당 도시의 대표 공

항(도시)으로 가장 규모가 큰(IATA 2017) 21개의 공항(도시)을

선정하였으며, 국내에서 출발하는 여행을 가정하여 인천공항을

포함하여 총 22개의 공항을 대상으로 하였다. 다음은 본 연구에

서 대상으로 하는 공항(IATA code)과 해당 도시의 목록이다. BRU(Brussels), SXF(Berlin), FRA(Frankfurt), MUC(Munich),

LHR(London), AMS(Amsterdam), DUB(Dublin), KRK(Krakow), WAW(Warsaw), BOJ(Burgas), SOF(Sofia), MAD(Madrid), NCE (Nice), CDG(Paris), BUD(Budapest), FCO(Rome), PRG(Prague), LIS(Lisbon), OTP(Bucharest), ZRH(Zurich), BCN(Barcelona), ICN(Seoul).

2.1 항공권 가격 데이터 확보 방법

실시간 항공권 가격은 검색할 때마다 계속 바뀌는 동적인 특

징을 갖는다. 가격 추세모형을 수립하기 위해서는 같은 항공편

의 가격을 지속적으로 검색하여 저장하여야 한다. 실시간 항공

권 가격 데이터는 웹상에서 손쉽게 조회 가능하나 웹상에서 조

회하는 가격 정보를 데이터화하기 위해서는 화면에 표시되는

내용 중에 가격 정보만 뽑아내어 데이터베이스에 저장할 필요

가 있다. 웹 페이지에서 원하는 정보만 뽑아내는 과정을 웹 크

롤링(Web Crawling)이라 하며 본 연구에서는 동적 크롤링을 구

현하기 위해 Python의 Scrapy 크롤링 라이브러리(http://doc.-scrapy.org)를 사용하였다. Scrapy 라이브러리를 통해 실시간 항

공권 데이터를 요청한 후 실시간 가격 데이터가 웹에 표시될 때

까지 Selenium 라이브러리(http://www.seleniumhq.org/)를 이용

하여 대기시킨다. 웹 브라우저가 모든 데이터를 받은 후에 웹

페이지의 내용을 파싱(Parsing)한 후 Pandas 라이브러리(http://

pandas.pydata.org)를 통해 데이터를 정제 후 저장하였다. <Table 1>은 웹 크롤링을 통해 가져온 실시간 항공권 가격정보 데이터

의 종류를 나타낸다. 데이터 크롤링은 내부적으로 웹 브라우저로 Chrome를 사용

하였으며 실시간 항공권 검색 엔진은 Google Flights(https:// www.google.com/flights)와 Jetradar(https://www.jetradar.com)를

이용하였다. 2017년 3월 12일부터 8월 31일까지 출발하는 총

462개 구간에 대한 항공편의 데이터를 2017년 2월 10일부터 5월 3일까지 수집하였으며 <Table 1>에 제시된 필드들에 대해

서 총 416만 개의 레코드를 확보하였다.

2.2 가격추세모형

비행 날짜가 정해져 있는 항공권의 가격은 예매일(booking date)에 따라 가격이 변동된다. 가격추세모형은 실제 항공편의

비행 날짜와 예약일 간의 차이(days left)에 따라 가격이 어떻게

변동할지를 예측 하는 것이 목적이다. 이를 위해서 우선 항공

권의 가격을 결정하는 변수를 설정하고 선정된 변수를 이용하

여 가격추세모형을 작성하였다.

(1) 독립변수 별 항공권 가격 추세 악

항공권의 최초 가격(Original Price)은 비행 일로부터 361일

전에 결정된다(대한항공-private communication). 항공권의 가

격은 일반적으로 비행 일로부터 약 2개월 전부터 가격변동이

시작되지만 본 연구에서는 데이터 확보의 시간적인 제한으로

비행 1개월 전을 초기 가격(Initial Price)으로 가정하였다. 또한

항공권의 가격은 성수기 여부, 각 도시의 이벤트(축제, 스포츠

이벤트 등)를 포함한 다양한 요인에 따라 결정되며 이를 정확

하게 예측하는 데에는 큰 어려움이 있으므로 이는 초기 가격에

반영이 되어있다고 가정하였다. 즉, 항공사는 각 지역에 대한

과거 경험과 미래 예측을 통해 적절한 항공권 가격을 설정하는

데 이러한 설정 과정이 출발 1개월 전에 마무리 된다고 가정하

였다. 모든 구간에 대한 직접적인 추세 검증을 실시하는 것이

현실적으로 불가능하기 때문에 본 연구에서는 단거리와 장거

리의 대표 구간을 상정하여 추세를 파악하였다. 또한, 형성된

초기 가격에서 항공권 예약 날짜에 따른 가격 변화의 요인을 파

악하기 위해 각각의 변수(항공사, 시간대, 출발하는 날의 요일)가 가격 추세에 미치는 영향을 런던 히드로공항(LHR)에서 파리 샤를드골공항(CDG)으로 향하는 단거리 노선(a)과 서울 인천

공항(ICN)에서 샤를드골공항(CDG)으로 향하는 장거리 노선

(b)으로 나누어 살펴보았다. 이때, 항공권 초기 가격에서 항공

권 예약 날짜에 따른 상대적 가격(Scale Cost)을 기준으로 평활

화 된 회귀 그래프를 도출하였다. 평활화 된 회귀 그래프는 R의

smooth() 함수(https://www.rdocumentation.org/smooth)를 이용

하였다. smooth() 함수에서는 이동 평균(running average)법을

기반으로 평활화를 시키며 특히 smooth() 함수는 기본적으로

복합평활기법(composite smoothing)을 제공한다. 시점 에 대한

데이터 의 평활 값을 도출하는데 사용한 수식은 다음과 같다.

Page 4: Multi-City Flight Route Optimization System Using Big-Data ... · 항공권 책정가는 경쟁사와의 끊임없는 가격경쟁, 좌석의 예매 율, 때론 천재지변으로

Multi-City Flight Route Optimization System Using Big-Data Analytics 95

Figure 1. Price Trends of Different Airlines

Figure 2. Price Trends of Different Time Slots on the Same Day

Figure 3. Price Trends of Days of Week

<Figure 1>의 (a)는 3월 3일에 런던(LHR)에서 파리(CDG)로 향하는 두 개의 항공편 그리고 (b)는 3월 3일에 인천에서

파리로 향하는 세 개의 항공편에 대해 출발일로부터 30일에

서 1일 전까지 상대적 가격 변화를 나타낸다. 이때 시간대 요

일을 각각 오후시간대와 금요일로 통제하였다. <Figure 2>의

(a)는 3월 3일에 런던(LHR)에서 파리(CDG)로 향하는 두 항

공편 그리고 (b)는 3월 3일에 인천(ICN)에서 파리(CDG)로

향하는 두 항공편에 대해 출발일로부터 30일에서 1일 전까

지 상대적 가격 변화를 나타낸다. 항공사를 (a)는 에어프랑스

그리고 (b)는 대한항공으로 요일을 금요일로 통제한 후 시간

대를 달리 했을 때의 가격 변화 추세 그래프를 나타낸다. <Figure 3>의 (a)는 3월 3일에서 3월 9일까지 런던에서 파리

로 향하는 요일 별 하나의 에어프랑스 항공편 그리고 (b)는 3월 3일에서 3월 9일까지 인천에서 파리로 향하는 요일 별 하

나의 대한항공 항공편에 대해 출발일로부터 30일에서 1일

전까지 상대적 가격 변화를 나타내며, 항공사와 시간대를 대

한항공과 오전시간대로 통제한 후 요일을 달리 했을 때를 그

래프로 표현하였다.

Page 5: Multi-City Flight Route Optimization System Using Big-Data ... · 항공권 책정가는 경쟁사와의 끊임없는 가격경쟁, 좌석의 예매 율, 때론 천재지변으로

96 Yerin Kim․Seongjun Park․Yeji Kwon․Seungje Lee․Wonhyung Choi․Chungmok Lee

위의 결과를 통해 항공사, 시간대 그리고 요일 별 예약 일자

에 따른 가격 추세가 매우 유사함을 알 수 있다. 특히 초기 가

격이 다르더라도 초기 가격에서 변화하는 비율은 매우 비슷하

다. 단거리의 경우 예약 일자가 출발 일자에 가까워질수록 증

가하는 형태를 띄며 가격의 변화가 비교적 크다. 반면에 장거

리는 예약 일자가 출발 일자에 따라 증가 후 20일을 기점으로

주춤 하다가 다시 증가하는 형태를 띄며 가격의 변화가 비교

적 작다. 덧붙여서, 최근 거의 모든 항공사에서는 항공권 가격을 형성하는데 있어 수율 관리 시스템(Yield Management System)을 사용하고 있다(Belobaba, 1987). 수율 관리 시스템은 과거

데이터(historical data)를 통해 항공권 가격을 결정하며 가격 변

동에 가장 큰 영향을 미치는 요소는 항공편의 수요(demand)이다. 같은 노선의 수요는 해당 노선을 운행하는 모든 항공사들

이 공유하기 때문에, 항공사 프로모션과 같은 특별한 상황을

제외한다면 해당 항공편의 가격 변화 추세는 항공사와 상관없

이 비슷한 것은 어떻게 보면 당연하다. 즉, 일반적으로 항공사

별로 초기 가격은 크게 다르지만(예 : 국적기의 항공권은 일반

적으로 비싸다.), 비행 날짜와 예약일 간의 차이(days left)에 따

른 가격 변화 추세는 항공사에 상관없이 비슷하다. 따라서 본

연구에서는 절대적인 가격을 책정하는 것이 아닌 초기 가격에

대한 상대적인 변화를 의미하는 가격추세모형을 제시한다. 단, 출발 1개월 전 가격은 구간과 출발 일에 따라 크게 다르다

는 점을 고려하기 위해 초기 가격은 구간 별 출발 1개월 전에

확보한 데이터 중 최저가로 지정하였다. 그에 따라, 어떤 구간

항공편의 초기 가격이 주어지면 그 항공편의 가격의 변화는

항공사와 관계없이 하나의 모형으로 설명이 가능하므로 본 연

구에서는 각 항공편 구간별로 하나의 가격추세모형을 수립하

였다.

(2) 가격추세모형 수립

가격추세모형을 작성하기 위해 먼저 필요한 데이터 셋을 추

출하였다. 추출한 데이터 중 출발지와 도착지가 같은 데이터

에 대해서 데이터 셋 샘플링을 진행한다. 예를 들어, 인천공항

(ICN)에서 샤를드골공항(CDG)로 향하는 가격추세모형의 작

성 방법은 다음과 같다. 데이터 샘플링을 통해 데이터 셋 4개를 확보하였으며, 하나의 데이터 셋이 의미하는 바는 항공편

명(OZ502)과 출발 날짜(2017-03-07)의 조합이 같은 데이터를

의미한다. 다음과 같은 기준으로 추출된 데이터 셋에 대해 스

케일링을 진행한다. 이때, 스케일링은 [0, 1] 범위에 대해 최소-최대 정규화(min-max normalization)를 진행하였다. 정규화에 따라 도출된 값으로 Kormogorov-Smirnov 정규성

검정을 실시한 결과 유의확률이 0.002로 귀무가설(H0 : 샘플들

이 정규성을 따른다)이 기각되므로 샘플들이 정규성을 따르지

않음을 확인하였다. 비모수 검정 방법인 Kruskal Wallis Test와

Mann Whitney U Test를 실시한 결과 유의 확률이 각각 0.986과

1로 두 검정 방법을 통해 샘플 간의 유의미한 차이가 없다는 결

론을 도출하였다. 즉, 모든 항공편의 가격은 각 구간별로 출발

일로부터 남은 날짜에 따라 동일하게 변화하며 비모수 모형이

유효함을 나타낸다. 위 결과에 따라 모든 구간에 대해 다음과

같이 스케일링 된 가격을 평균 내어 구간 별 하나의 모형을 작

성하였다. 그 후, 작성된 모형으로 출발일로부터 남은 날짜

(Daysleft)에 따라 초기 가격(Initial Price)과의 비율을 도출하였

다. 이로서 경로 에 대해 30일 전의 가격이 1의 값을 가질 때, 출발일로부터 남은 일수 에 따라 가격의 증감 정도를 상대적

수치 로 파악할 수 있다. 즉, 해당 경로 에 날짜

에 출발하는 항공편의 예측 가격 해당 경로 에 날짜 에 출발하는 항공편의 초기 가격

와 남은 날짜에 따라 달라지는 가격인 의 곱으로

표현된다.

∙집합 (Sets) : 공항(도시) 에서 공항(도시) 로 이동하는 항공 경로의

집합

: 공항(도시) 에서 공항(도시) 로 이동하는 항공편의 비

행 일의 집합

: 출발 날짜와 예약 일의 차이(Daysleft)의 집합, = {1, 2, 3, … 28}

∙가격추세모형

= ×

<Table 2>는 런던히드로공항(LHR)에서 샤를드골공항(CDG) 으로 향하는 구간에 대해 2017년 5월 31일에 출발하는 항공권

가격을 작성한 예시이다.

Table 2. An example of Price Trend Model

BookingDate

DaysLeft

Initial Price($)

ScaleCost

Predicted Price($)

2016-05-012016-05-042016-05-072016-05-102016-05-132016-05-16

302724211815

193193193193193193

1.001.010.981.141.181.32

193.00194.93189.14220.02227.74254.76

3. 머무르는 기간을 고려한 다구간 항공권 최적화 수리모형

3.1 혼합 정수 수리모형 수립

본 연구에서 고려하는 문제는 여러 도시들이 있고 한 도시

에서 다른 도시로 이동하는 비용이 모두 주어졌을 때, 모든 도

시들을 단 한 번만 방문하고 원래 시작점으로 돌아오는 최소

비용의 이동 순서를 결정하는 외판원 문제(TSP)와 유사하다. 그러나 본 문제에서는 도시 간 이동하는 날짜에 따라 이동 비

용이 달라진다. 또한 총 여행 기간이 정해져 있기 때문에 이동

Page 6: Multi-City Flight Route Optimization System Using Big-Data ... · 항공권 책정가는 경쟁사와의 끊임없는 가격경쟁, 좌석의 예매 율, 때론 천재지변으로

빅데이터를 활용한 다구간(多區間) 항공 경로 최적화 시스템 97

순서 뿐 아니라 해당 도시에 얼마나 머무르는 지를 동시에 결

정해야 하며 특정 날짜에 해당 도시를 방문하거나 마지막으로

방문해야 하는 도시가 있다면 고려되어야 하는 새로운 문제이

다. 수리모형의 매개 변수와 결정 변수는 다음과 같다.

∙매개 변수(Parameter) : 출발 공항(도시) 1을 포함한 방문 공항(도시)의 집합

: 공항(도시) ∈ 에서 공항(도시) ∈로 이동하는

항공편의 집합

: 항공편 ∈을 이용하여 공항(도시) ∈에서 공항

(도시) ∈로 갈 때의 도착 시각

: 항공편 ∈을 이용하여 공항(도시) ∈에서 공항

(도시) ∈로 갈 때의 출발 시각

: 항공편 ∈을 이용하여 공항(도시) ∈에서 공항

(도시) ∈로 갈 때의 비용

[ ] : 최초 출발 공항(도시)로 모든 여행을 끝내고 도착해야 하는 출발 시간대

[ ] : 최초 출발 공항(도시)에서 출발해야 하는 시간대

: 머물고자 하는 날짜가 지정되어 있는 도시의 집합

[ ] : 머물 날짜가 지정된 도시 ∈에 최소한 머물러야

할 시간대

: 마지막으로 도착하고자 하는 도시 ∈

∙결정 변수(Decision Variable)

: 항공편 ∈를 이용하여 공항(도시) ∈에서

공항(도시) ∈로 가는 경우 1의 값을, 그렇지 않은 경우 0의 값을 갖는 이진 변수

: 공항(도시) ∈에서 출발하는 시간

: 공항(도시) ∈에 도착하는 시간

: 도시 ∈에서 머무는 기간

: 공항(도시) ∈에서 머무르는 이상적인 기간과

실제 머무는 기간의 차이

수리모형은 다음과 같다.

(p) min

(1)

s.t. ≠

∀∈ (2)

∀∈ (3)

∀∈ (4)

∀∈ (5)

≥ (6)

≥ (7)

≥ (8)

≤ (9)

∀∈ ≥ (10)

∀∈ (11)

∀∈ (12)

≤ , ∀∈ (13)

≥ , ∀∈ (14)

≤ , ∀∈ (15)

∈ , ∀∈ ∀ ∈ (16)

≥ ∀∈ (17)

≥ ∀∈ (18)

≥ ∀∈ (19)

≥ ∀∈ (20)

수리모형의 제약식 (2)는 각 도시에서 한 번씩 출발 할 수 있

도록 그리고 제약식 (3)은 각 도시에 한 번씩 도착하도록 한다. 제약식 (4)와 제약식 (5)에서는 채택된 비행 스케줄에 따라 각

도시에서 출발하는 시간과 각 도시에 도착하는 시간을 결정한

다. 특히 첫 번째 도시에서의 출발과 도착시간은 특정 값의 상

한 값과 하한 값에 따라 결정되며, 이는 제약식 (6)~(9)에 표현

되어 있다. 제약식 (10)에서는 각 도시에서 머무르는 기간을

출발 시간과 도착 시간의 차로 도출한다. 제약식 (11)과 제약

식 (12)를 통해 각 도시에서 동등하게(이상적으로) 머무는 기

간과 제약식 (10)에 의해 도출된 머무르는 기간의 편차를 구한

다. 제약식 (13)과 제약식 (14)에서는 도시 ∈에서 특정 날

짜에 머무를 것을 반영한다. 제약식 (15)에서는 첫 번째 도시

로 돌아오기 전 마지막으로 도시 에 도착하도록 한다. 목적함

수는 총 항공 비용과 각 도시에서 실제 머무르는 기간과 이상

적으로 동등하게 머물렀을 때의 기간의 차이로 인한 손해비용

으로 구성된다. 목적함수의 손해비용은 와 곱해져서 고려되

며 는 항공편의 가격과 각 도시에 머무르는 기간간의 상대적

인 중요도를 결정하는 파라메터이다. <Table 3>은 출발지 포

함 도시 4개를 방문할 때 의 변화에 따른 알고리즘 실험 결과

를 나타낸다. 값이 증가함에 따라 총 비용은 증가하지만 각

도시에서 머무는 기간은 균일해짐을 알 수 있었다.

Table 3. Changes of Results for Different Values of

Total Cost($) 2,032 2,782 3,532

(days) 6 4 2

Solving Time(sec) 0.04 0.08 0.08

Page 7: Multi-City Flight Route Optimization System Using Big-Data ... · 항공권 책정가는 경쟁사와의 끊임없는 가격경쟁, 좌석의 예매 율, 때론 천재지변으로

98 김예린․박성준․권예지․이승제․최원형․이충목

Figure 4. Pseudocode for Heuristic Algorithm

파라메터 는 가격과 각 도시에서 머무는 기간에 대한 중요

도를 나타내는 지표로서 적절한 값을 부여할 필요가 있다. 하지

만 가격과 머무르는 기간의 척도가 다르므로 직접적으로 중요

도를 비교할 수 없다. 따라서 비금전(non-financial)속성인 머무

르는 기간에 대한 금전적(financial)가치 부여하기 위해 유럽 여

행에 관심있는 대학생 30명을 대상으로 다속성 효용이론을 활

용한 설문을 실시하였다. 설문 내용은 여행 기간 중 여러가지

상황에 따른 하루의 가치의 환산 가격을 묻는 문항으로 총 4문항으로 구성되어있다. 설문 결과를 토대로 회귀분석을 하였으

며 그 결과 비표준화 계수 값으로 88.225달러($)를 도출하였다. 따라서 본 연구에서는 1일의 가치를 88.225달러($)로 환산하였

다( ). 파라메터 는 사용자의 선호에 따라 환산된 1일의 가치를 기준으로 변동될 수 있다. 예를 들어 사용자가 비

용을 더 중요시 하고 싶다면 의 값을 줄일 수 있다. 극단적으로 일 때는 머무르는 기간을 전혀 고려하지 않고 총 여행 기

간을 만족하는 가장 저렴한 방문 순서와 일정을 제시할 것이다.

3.2 수리모형 성능 실험

제 3.1절에서 제시한 수리모형은 본 연구에서 새롭게 제시하

는 문제이므로 제 3.2절에서는 수리모형의 성능을 비교하기 위

해 최적해를 근사적으로 도출하는 휴리스틱(Heuristic) 알고리

즘을 구현하였다. <Figure 4>는 휴리스틱 알고리즘의 수도코드

(Pseudo-code)를 나타낸다. 휴리스틱 알고리즘은 최소 항공 비

용을 고려하여 모든 공항이 리스트에 모두 담길 때까지

공항을 리스트에 추가하는 과정을 반복하는 알고리즘이다. 휴리스틱 알고리즘에는 크게 공항의 방문 순서를 결정하는 부분

과 공항 간 이동 일을 결정하는 부분으로 나누어져 있다. 우선, 공항의 방문 순서는 각 공항에서 출발하여 평균적으로 가장 적

은 비용의 공항이 선택되며, 이는 리스트에 추가된다. 모든 공항이 리스트에 추가될 때까지 이 과정을 반복한다.

앞서 결정된 에 따라 해당 공항에서 다음 방문 공항으로

언제 출발하는지를 결정하게 된다. 첫 번째 공항의 경우, 기간 1에 출발하며 다시 해당 공항으로 기간 m에 돌아오도록 한다. 그

외 공항에 대해서는 전에 방문했던 공항 방문일 보다는 늦게 방

문해야 하며, 총 기간을 방문 공항의 개수로 나눈 평균 방문기

간( ) 이하로 머문다는 조건을 만족하는 가장 적은 비

용의 날짜가 선택된다. 이때, 이전 공항에서 평균 방문기간보다

덜 머문 기간()은 다음 방문할 공항에 고려된다. 전산 실험은 Intel Core 3.5 GHz PC, 32GB RAM을 가지고 있

는 PC에서 수행하였으며 MIP solver로는 IBM CPLEX 12.6을

사용하였다. 휴리스틱 알고리즘은 Python을 이용하여 구현하

였다. 실험 예제는 2017년 5월 24일에 웹크롤링으로 확보한 실

제 항공편 데이터이며 알고리즘을 실행한 후 실행시간과 최적

값을 출력하여 비교하였다. 이때, 휴리스틱 알고리즘과 같은

조건을 부여하기 위해 목적함수에서는 비용만 고려( )하였으며 동일한 데이터를 이용하여 실험하였다. <Table 4>는

인천공항(ICN)을 포함한 총 4개에서 10개의 도시를 6일에서

27일간 여행할 때에 대한 실험 결과이다. 휴리스틱 알고리즘

의 경우 모든 해를 0.01초 내에 도출하였고 수리모형에서는 실

험한 모든 경우에 대해 1초 이내에 해를 도출하였다. 하지만

최적해 품질 측면에서 수리모형은 실험한 모든 경우에서 최적

해를 도출했지만 휴리스틱 알고리즘은 모든 경우에 대해 최적

해를 출하지 못하였으며 문제의 크기가 커질수록 최적해와의

차이(Difference)가 전반적으로 커지는 양상을 보인다. 이는 방문 순서를 결정한 후 방문 일을 결정하는 휴리스틱 알고리즘은

고려해야 할 공항의 수와 총 기간이 커짐에 따라 탐색 오차가

커지기 때문이다. 즉, 휴리스틱 알고리즘은 방문 순서와 방문

일을 동시에 고려할 수 없으므로 각 공항의 방문 일은 결정된

방문 순서에 영향을 많이 는 것으로 보여진다. 본 결과에 따라

서 이후 제 4장에서 설명할 최적 항공권 검색 시스템에서는 수

리모형을 사용하였다.

Page 8: Multi-City Flight Route Optimization System Using Big-Data ... · 항공권 책정가는 경쟁사와의 끊임없는 가격경쟁, 좌석의 예매 율, 때론 천재지변으로

Multi-City Flight Route Optimization System Using Big-Data Analytics 99

Figure 6. Specifying Options and Preferences for Travel Route

Table 4. Performance Comparison between MIP and Heuristic Algorithm

Instances MIP(P) Heuristic Algorithm

#airport #days TimeSolution

($)Solution

($)Difference

test1test2test3test4test5test6test7test8test9

test10test11test12test13test14test15test16test17test18test19

44455566677788899

1010

69

128

121610152012182414212816241827

0.040.070.130.120.120.080.260.100.190.450.280.290.390.200.300.250.450.630.38

1,1991,1991,2281,2591,2971,2141,4211,2151,1511,3891,2591,2691,3221,1321,1171,3101,2231,2411,193

1,3351,3201,3381,2591,4221,4151,4211,5761,3761,5651,4201,5741,5141,3871,3621,6671,6511,5781,622

11%10%9%0%9%

17%0%

30%20%13%13%24%15%23%22%25%33%27%36%

4. 다구간 최적 항공권 검색을 위한 시스템

본 장은 도출된 결과를 통해 사용자가 유럽 지역의 다구간 항공

권을 예매하려 할 때, 의사결정을 도울 수 있도록 하는 시스템

에 대한 설명이다. 본 시스템은 본 논문에서 제시한 여러 가지

아이디어들의 가능성을 확인하기 위한 가능성확인(proof-of- concept)용 웹사이트이다.

4.1 여행정보 입력

시스템의 유럽 내 취급도시를 Google Map API 지도상에 마

커로 표시하고, 사용자가 지도상의 마커를 클릭하였을 경우

클릭된 도시의 해당하는 창이 팝업된다. 팝업된 창은 <Figure 5>와 같으며 해당 도시의 축제 정보를 포함한 여행정보를 확

인할 수 있다. 이 후, 선택 버튼을 클릭할 경우, 해당 도시가 방

문목록에 추가된다. 지도의 우측, 여행정보에서는 사용자가

여행하고자하는 날짜와 사람 수, 사용자만의 검색조건을 추가

할 수 있다. 구현 화면은 <Figure 6>과 같다. 일반적인 여행정

보 외에, 사용자는 <Figure 5>의 화면에서 머물고 싶은 날짜를

따로 선택 할 수 있으며, 특별히 머물러야 하는 날짜가 있다면

지정해 줄 수 있다. 또한, <Figure 6>의 화면에서 선택된 도시

들 중 마지막으로 방문하고 싶은 도시를 선택할 수 있으며, 사용자만의 가격과 기간에 대한 중요도를 수치로 조정할 수 있

다. 이와 같이 선택된 옵션들은 우측하단의 검색 버튼을 통해

서 시스템의 알고리즘에 적용되어 결과를 도출한다.

Figure 5. Select a City to Visit

Page 9: Multi-City Flight Route Optimization System Using Big-Data ... · 항공권 책정가는 경쟁사와의 끊임없는 가격경쟁, 좌석의 예매 율, 때론 천재지변으로

100 Yerin Kim․Seongjun Park․Yeji Kwon․Seungje Lee․Wonhyung Choi․Chungmok Lee

Figure 7. Result of Optimized Trip Flight routes

4.2 다구간 항공권 최적 결과 확인

여행정보 화면에서 입력한 방문도시와 여행기간에 대한 정

보를 바탕으로 가격추세모형을 통해 도시간/날짜별 항공권 가

격이 정해지고, 정해진 가격과 여러 입력값을 통해서 다구간

항공권 최적화 알고리즘의 결과값이 도출된다. 도출된 결과값

은 <Figure 7>의 화면과 같이 표시된다. 화면의 상단에서 여행

일정의 대략적인 정보가 표시되며, 지도를 통해서 사용자는

방문순서를 보다 한눈에 확인 할 수 있다. 각 여행 구간별로 세

개의 항공권과 한 개의 유럽철도 정보가 제공된다. 유럽철도

정보는 가격추세모형을 통해 추정하지 않고 미리 저장된 해당

날자의 가격정보를 활용한다. 유럽철도의 경우에는 항공편과

비교하여 가격의 변화가 크지 않고 시간이 지남에 따라 가격

이 오르기만 하기 때문에 미리 저장된 가격정보를 제공하여

사용자에게 항공편과 비교/선택 할 수 있도록 구현하였다. 각

항공권과 유럽철도에 마우스 포인터를 올리면 해당 일정의 세

부정보를 확인 할 수 있다. 확인한 세부정보를 통해서 사용자

는구간별 원하는 항공권과 유럽철도를 선택할 수 있다. 또한, 좌측의 검색 옵션을 통해서 간단한 작업으로 검색결과를 재검

색 할 수 있다. 본 화면에서 제공하는 가격정보는 가격추세모형에서 추정

한 가격이 아니라 실제 실시간 가격정보를 웹 크롤링을 통해

얻은 실제 가격이다. 즉, 본 시스템은 많은 데이터가 필요한 다

구간 항공권 최적화 문제에는 가격추세모형을 이용한 항공권

가격 데이터를 사용하고 이렇게 얻은 최적 경로를 대상으로

실시간 항공권 데이터를 가져와서 보여주도록 하였다. 각 항

공편의 정보를 클릭하면 실제로 항공편을 예약할 수 있는 사

이트로 이동하게 된다.

5. 결 론

본 연구에서는 여러 도시의 방문 순서 및 도시 별 체류기간을

결정할 때, 일별 항공권의 가격에 따른 총 항공권 가격을 최소

화하는 문제를 다루었다. 본 연구에서는 먼저 출발 일과 항공

권 구매 일의 차이에 따른 상대적 가격과 출발 30일 전 가격인

초기 가격의 곱으로 가격추세모형을 작성하였다. 가격추세모

형을 작성하기 위해 필요한 데이터는 동적 데이터 웹 크롤링

을 통해 실제 항공권 데이터를 확보 하였다. 다음으로, 특정일

지정 및 마지막 방문 도시를 고려하여 도시 방문 순서와 도시

별 머무르는 기간을 결정하는 수리모형을 제시하였다. 또한

휴리스틱 알고리즘과의 성능 실험을 통해 합리적인 시간 내에

최적의 해를 도출하는 수리모형의 우수성을 입증하였다. 본

연구에서 제안하는 다구간 최적 항공권 검색 시스템은 의사결

정에 필요한 정보를 제공할 뿐만 아니라 다구간 최적 항공권

검색 결과를 제시하여 자유여행을 계획하는 여행자들에게 큰

도움을 줄 것이라 기대된다. 최적의 경로를 제공하기 위해서는 알고리즘에 입력되는

데이터의 정확성이 중요하다. 가격추세모형은 실제 데이터

를 확보하는 것 보다 비교적 빠른 시간 내에 입력 가격을 결

정하고 비용이 들지 않는다는 점에서 큰 장점을 가지고 있지

만 실제 데이터가 아니라는 점에서 신뢰성이 결여된다는 단

Page 10: Multi-City Flight Route Optimization System Using Big-Data ... · 항공권 책정가는 경쟁사와의 끊임없는 가격경쟁, 좌석의 예매 율, 때론 천재지변으로

빅데이터를 활용한 다구간(多區間) 항공 경로 최적화 시스템 101

점이 있다. 이때 변수선택기법 등(Ryu et al., 2016)을 활용하

여 항공권 가격에 요인을 주는 원인에 대한 섬세한 분석이 필

요하다. 또한 지속적인 데이터 확보를 통해 가격추세모형의

초기 가격의 시점을 비행일로부터 30일 전이 아닌 이전의 시

점을 지정하여 알고리즘의 입력 가격의 정확도를 높여야 한

다. 이와 같이 가격추세모형의 정확도를 개선시키는 문제에

대해서 추후 연구과제로 제시하고자 한다. 또한, 본 연구에서

제시한 문제를 빠른 시간 내에 보다 좋은 해를 도출하는 휴리

스틱 기법의 알고리즘 개발을 추후연구과제로 제시하는 바

이다.

참고문헌

Applegate, D., Bixby, R., Chvatal, V., and Cook, W. (2003), Concorde : A code for solving traveling salesman problems, http://www. math. princeton.edu/tsp/concorde. html.

Applegate, D., Bixby, R., Chvatal, V., and Cook, W. (2011), The trave-ling salesman problem : a computational study., Princeton university press.

Belobaba, P. (1987), Survey Paper-Airline Yield Management : An Overview of Seat Inventory Control, Transportation Science, 21(2), 63-73.

Christofides, N., Mingozzi, A., and Toth, P. (1981), State Space Re-laxation Procedures for the Computation of Bounds to Routing Pro-blems, Networks, 11, 145-164 .

Dorigo, M., Maniezzo, V., and Colorni, A. (1996), Ant System : Opti-mization by a colony of cooperating agents, IEEE Transactions on Systems, Man, and Cybernetics – Part B, 26(1), 29-41.

Euromonitor International (2016), Top 100 City Destinations Ranking 2016.

Feillet, D., Dejax, P., and Gendreau, M. (2005), Traveling salesman problems with profits, Transportation Science, 39(2), 188-205.

Fox, I. C. R., Gavish, B., and Graves, S. C. (1980), An n-constraint

formulation of the (time-dependent) traveling salesman problem, Operations Research, 28(4), 1018-1021.

Garey, M. and Johnson, D. (1979), Computers and Intractability, A Guide to the Theory of NP-Completeness, Freeman New York.

Glover, F. (1989), Tabu search, ORSA Journal on Computing, 1(3), 190-206.

Gutin, G. and Punnen, A. P. (2006), The traveling salesman problem and its variations, Springer Science and Business Media.

International Air Transport Association (2017), List of Airports, URL : http://www.iata.org/Pages/default.aspx.

Jaillet, P. (1985), Probabilistic Traveling Salesman Problems, Ph.D. thesis, Massachusetts Institute of Technology.

Korea Ministry of Culture, Sports and Tourism (2015), Statistic for Tourist Exit Passenger Data, URL : http://kto.visitkorea.or.kr/kor/ notice/ data/statis/profit.kto.

Laporte, G. and Martello, S. (1990), The selective travelling salesman problem, Discrete Applied Mathematics, 26(2-3), 193-207.

Lin, S. and Kernighan, B. (1973), An effective heuristic algorithm for the traveling salesman problem, Operations Research, 21, 972-989.

Miller, C. E., Tucker, A. W., and Zemlin, R. A. (1960), Integer pro-gramming formulations and travelling salesman problems, Journal of ACM, 7(4), 326-329.

Mladenovic, N. and Hansen, P. (1997), Variable Neighborhood Search, Computers & Operations Research, 24(11), 1097-1100.

Pandas Documentation [Online], http://pandas.pydata.org/pandas-docs/ version/0.13.1/.

Ryu, N., Kim, H., and Kang, P. (2016), Evaluating Variable Selection Techniques for Linear Regression, Journal of the Korean Institute of Industrial Engineers, 42(5), 314-326.

Scrapy Documentation [Online], http://doc.scrapy.org/en/latest/topics/ architecture.html.

Selenium Documentation [Online], http://www.seleniumhq.org/docs/.Whitley, D. (1994), A genetic algorithm tutorial, Springer, 4(2), 65-85.Yoon, T. and Lee, S. (2011), A Heuristic Algorithm for the Periodic

Heteroaeneous Fleet Vehicle Routing Problem, Journal of the Korean Operations Research and Management Science Society, 26(1), 27-38.