Jiyounni commited on
Commit
f355a12
·
verified ·
1 Parent(s): 8fecf3c

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +68 -105
README.md CHANGED
@@ -15,160 +15,123 @@ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-
15
  ✈️ Europe Travel Route Optimizer
16
  현실적인 항공 노선 기반 유럽 여행 최적 경로 추천 시스템
17
 
18
- 📌 프로젝트 소개
19
 
 
20
  유럽 여행을 계획할 때 가장 어려운 점은
21
  “지도상 가까운 도시들을 실제로는 어떻게 이동해야 가장 효율적인가?” 입니다.
22
 
23
- 도시 간 거리는 짧아 보이지만,
24
-
25
- 직항 항공편이 없거나
26
-
27
- 불필요한 환승이 필요하거나
28
-
29
- 오히려 비행보다 기차·차량 이동이 더 합리적인 경우
30
-
31
- 가 자주 발생합니다.
32
 
33
  본 프로젝트는 실제 항공 노선 데이터(OpenFlights) 를 기반으로
34
- 👉 현실적인 이동 가능성,
35
- 👉 환승 편의성,
36
- 👉 동선 효율성
37
  을 함께 고려하여 도시 단위 여행 경로를 최적화하는 알고리즘 기반 서비스입니다.
38
 
39
- 🎯 핵심 기능
40
 
41
- 도시 단위 여행 경로 최적화
42
-
43
- 사용자는 “도시 → 도시”만 인식
44
 
45
- 도시 공항 이동(예: 런던 내 공항 변)은 경에서 자동 배제
 
46
 
47
  ✅ 항공 노선 그래프 기반 계산
48
-
49
- 공항 = 노드, 항공 노선 = 간선
50
-
51
- 실제 존재하는 유럽 항공 노선만 사용
52
 
53
  ✅ 환승 & 거리 동시 고려
54
-
55
- 거리 + 환승 페널티를 함께 최소화
56
-
57
- 환승 중요도를 슬라이더로 조절 가능
58
 
59
  ✅ 지상 이동 자동 전환
60
-
61
- 가까운 거리에서 항공 이동이 비효율적이면
62
-
63
- 기차/차량 이동(지상 이동)으로 자동 안내
64
 
65
  ✅ 직관적인 지도 시각화
66
-
67
- ✈️ 직항 비행: 파란
68
-
69
- 🔁 환승 비행: 파란 점선
70
-
71
- 🚆 지상 이동: 초록 실선
72
 
73
  ✅ 추가 추천 도시 제공
 
74
 
75
- 선택한 도시들과 이동이 편한 도시를 자동 추천
76
-
77
- 그래프 기반 추천 + 거리 페널티 적용
78
 
79
  🧠 사용 알고리즘 요약
80
- 목적 알고리즘
81
- 공항 간 거리 계산 Haversine Formula
82
- 구간 최단 경로 Dijkstra (거리 + 환승 페널티)
83
- 도시 방문 순서 TSP 근사 (Nearest Neighbor + 2-opt)
84
- 도시별 공항 선택 Dynamic Programming (DP)
85
- 추가 도시 추천 Random Walk with Restart (Personalized PageRank)
86
- 🚆 지상 이동 판단 규칙
87
-
88
- 항공 경로만 사용할 경우,
89
- “가까운데 직항이 없어 먼 도시로 환승하는 비현실적인 경로”가 발생할 수 있습니다.
90
-
91
- 이를 해결하기 위해 국가 조건 없이 거리 기반 규칙을 적용했습니다.
92
 
93
- ≤ 350km → 무조건 지상 이동
94
 
95
- 350~600km → 환승 필요 or 우회가 심하면 지상 이동
96
 
97
- 항공 경로 자체가 없 600km 지상 이동 허용
 
98
 
99
- 항공 이동 유지
 
 
 
100
 
101
  👉 사용자에게는 현실적인 선택지만 노출됩니다.
102
 
103
- 🖥️ 사용 방법
104
-
105
- IN/OUT 도시 선택 여부 설정
106
-
107
- 출발 도시(IN) 선택
108
-
109
- 방문할 도시들 선택 (복수 선택 가능)
110
-
111
- (선택) 출국 도시(OUT) 선택
112
-
113
- 환승 중요도 슬라이더 조절
114
 
115
- 구간별 최대 환승 횟수 설정
 
 
 
 
 
 
 
116
 
117
- [최적 경로 계산] 버튼 클릭
118
 
119
  📊 출력 결과
 
 
 
 
 
 
 
120
 
121
- 🧭 추천 도시 방문 순서
122
-
123
- 🔁 구간별 이동 정보
124
-
125
- 직항 / 환승 / 지상 이동
126
-
127
- 거리 및 예상 소요 시간
128
-
129
- 환승 공항 상세 표시
130
-
131
- 🗺️ 지도 시각화 결과
132
-
133
- 🧩 추가 추천 도시 리스트
134
 
135
  📂 사용 데이터
 
 
136
 
137
- OpenFlights Airports (extended)
138
-
139
- OpenFlights Routes
140
 
141
  📌 Data Source
142
-
143
  https://github.com/jpatokal/openflights
144
 
145
- 🔧 기술 스택
146
-
147
- Python
148
-
149
- pandas, numpy
150
 
151
- heapq (Dijkstra)
152
-
153
- folium (지도 시각화)
 
 
 
154
 
155
- gradio (웹 UI)
156
 
157
  🚀 향후 개선 방향
 
 
 
 
158
 
159
- 실제 항공 운항 빈도 / 시간표 / 가격 데이터 반영
160
-
161
- 철도/버스 API 연동으로 지상 이동 정확도 향상
162
-
163
- TSP 고도화 (Simulated Annealing, Genetic Algorithm)
164
-
165
- 관광 선호(문화/휴양/쇼핑) 기반 개인화 추천
166
 
167
  🙌 마무리
168
-
169
- 이 프로젝트는
170
- 단순한 최단거리 계산을 넘어,
171
- 실제 여행자가 체감할 수 있는 “현실적인 이동 경로”를 만드는 것을 목표로 합니다.
172
 
173
  알고리즘 설계와 사용자 경험(UX)을 함께 고려한
174
  문제 해결형 데이터/알고리즘 프로젝트입니다.
 
15
  ✈️ Europe Travel Route Optimizer
16
  현실적인 항공 노선 기반 유럽 여행 최적 경로 추천 시스템
17
 
18
+ --------------------------
19
 
20
+ 📌 프로젝트 소개
21
  유럽 여행을 계획할 때 가장 어려운 점은
22
  “지도상 가까운 도시들을 실제로는 어떻게 이동해야 가장 효율적인가?” 입니다.
23
 
24
+ 도시 간 거리는 짧아 보이지만, 직항 항공편이 없거나 불필요한 환승이 필요하거나
25
+ 오히려 비행보다 기차·차량 이동이 더 합리적인 경우가 자주 발생합니다.
 
 
 
 
 
 
 
26
 
27
  본 프로젝트는 실제 항공 노선 데이터(OpenFlights) 를 기반으로
28
+ - 현실적인 이동 가능성,
29
+ - 환승 편의성,
30
+ - 동선 효율성
31
  을 함께 고려하여 도시 단위 여행 경로를 최적화하는 알고리즘 기반 서비스입니다.
32
 
33
+ --------------------------
34
 
35
+ 🎯 핵심 기능
 
 
36
 
37
+ 도시 단위 여행 경로 최적화
38
+ 사용자는 “도시 → 도시”만 인식 시 내 공항 이동(예: 런던 내 공항 변경)은 경로에서 자동 배제
39
 
40
  ✅ 항공 노선 그래프 기반 계산
41
+ 공항 = 노드, 항공 노선 = 간선, 실제 존재하는 유럽 항공 노선만 사용
 
 
 
42
 
43
  ✅ 환승 & 거리 동시 고려
44
+ 거리 + 환승 페널티를 함께 최소화 환승 중요도를 슬라이더로 조절 가능
 
 
 
45
 
46
  ✅ 지상 이동 자동 전환
47
+ 가까운 거리에서 항공 이동이 비효율적이면 기차/차량 이동(지상 이동)으로 자동 안내
 
 
 
48
 
49
  ✅ 직관적인 지도 시각화
50
+ - ✈️ 직항 비행: 파란 실선
51
+ - 🔁 환승 비행: 파란
52
+ - 🚆 지상 이동: 초록 실선
 
 
 
53
 
54
  ✅ 추가 추천 도시 제공
55
+ 선택한 도시들과 이동이 편한 도시를 자동 추천 그래프 기반 추천 + 거리 페널티 적용
56
 
57
+ --------------------------
 
 
58
 
59
  🧠 사용 알고리즘 요약
60
+ - 목적 알고리즘
61
+ - 공항 간 거리 계산 Haversine Formula
62
+ - 구간 최단 경로 Dijkstra (거리 + 환승 페널티)
63
+ - 도시 방문 순서 TSP 근사 (Nearest Neighbor + 2-opt)
64
+ - 도시별 공항 선택 Dynamic Programming (DP)
65
+ - 추가 도시 추천 Random Walk with Restart (Personalized PageRank)
 
 
 
 
 
 
66
 
67
+ --------------------------
68
 
69
+ 🚆 지상 이동 판단 규칙
70
 
71
+ 항공 경로 사용할 경우, “까운데 직항이 도시로 환승하는 비현실적인 경로”가 발생할 수 있습니다.
72
+ 이를 해결하기 위해 국가 조건 없이 거리 기반 규칙을 적용했습니다.
73
 
74
+ - 350km 무조건 지상 이동
75
+ - 350~600km → 환승 필요 or 우회가 심하면 지상 이동
76
+ - 항공 경로 자체가 없고 ≤ 600km → 지상 이동 허용
77
+ - 그 외 → 항공 이동 유지
78
 
79
  👉 사용자에게는 현실적인 선택지만 노출됩니다.
80
 
81
+ --------------------------
 
 
 
 
 
 
 
 
 
 
82
 
83
+ 🖥️ 사용 방법
84
+ 1. IN/OUT 도시 선택 여부 설정
85
+ 2. 출발 도시(IN) 선택
86
+ 3. 방문할 도시들 선택 (복수 선택 가능)
87
+ 4. (선택) 출국 도시(OUT) 선택
88
+ 5. 환승 중요도 슬라이더 조절
89
+ 6. 구간별 최대 환승 횟수 설정
90
+ 7. [최적 경로 계산] 버튼 클릭
91
 
92
+ --------------------------
93
 
94
  📊 출력 결과
95
+ - 🧭 추천 도시 방문 순서
96
+ - 🔁 구간별 이동 정보
97
+ - 직항 / 환승 / 지상 이동
98
+ - 거리 및 예상 소요 시간
99
+ - 환승 공항 상세 표시
100
+ - 🗺️ 지도 시각화 결과
101
+ - 🧩 추가 추천 도시 리스트
102
 
103
+ --------------------------
 
 
 
 
 
 
 
 
 
 
 
 
104
 
105
  📂 사용 데이터
106
+ - OpenFlights Airports (extended)
107
+ - OpenFlights Routes
108
 
109
+ --------------------------
 
 
110
 
111
  📌 Data Source
 
112
  https://github.com/jpatokal/openflights
113
 
114
+ --------------------------
 
 
 
 
115
 
116
+ 🔧 기술 스택
117
+ - Python
118
+ - pandas, numpy
119
+ - heapq (Dijkstra)
120
+ - folium (지도 시각화)
121
+ - gradio (웹 UI)
122
 
123
+ --------------------------
124
 
125
  🚀 향후 개선 방향
126
+ - 실제 항공 운항 빈도 / 시간표 / 가격 데이터 반영
127
+ - 철도/버스 API 연동으로 지상 이동 정확도 향상
128
+ - TSP 고도화 (Simulated Annealing, Genetic Algorithm)
129
+ - 관광 선호(문화/휴양/쇼핑) 기반 개인화 추천
130
 
131
+ --------------------------
 
 
 
 
 
 
132
 
133
  🙌 마무리
134
+ 이 프로젝트는 단순한 최단거리 계산을 넘어, 실제 여행자가 체감할 수 있는 “현실적인 이동 경로”를 만드는 것을 목표로 합니다.
 
 
 
135
 
136
  알고리즘 설계와 사용자 경험(UX)을 함께 고려한
137
  문제 해결형 데이터/알고리즘 프로젝트입니다.