해결_알고리즘을_활용한_택시거리_최적화

Download Report

Transcript 해결_알고리즘을_활용한_택시거리_최적화

TSP(Traveling Salesman Problem) 해결
알고리즘을 활용한 택시거리 최적화 경로 설정
강원과학고등학교
김동현, 윤정인, 이우종, 이효진, 임수환
지도교사 박영호
자문교수 민숙
목차

주제 소개

탐구 동기

이론적 배경

연구 계획

진행 상황

문제점

앞으로의 계획
주제 소개
TSP(Traveling Salesman Problem)의 택시 기하학 상에서
해결 방안을 찾아 이를 실제 택배 배달에 이용할 수 있는
형태인 어플리케이션으로 제작하고자 한다.
탐구 동기
보통 차를 타고 여러 장소를 돌아 볼 때 우리는 미리 갈 곳의 순서를 지정해 놓
고 그 순서에 따라서 움직이게 된다. 따라서 그 경로의 총 거리를 최소화하는
방법을 찾게 되었고, TSP를 알게 되었다.
또한 실제의 거리는 유클리드 기하학에서의 TSP와는 다른 경로로 이동해야하
기에 그에 대한 생각을 하게 되었고, 학교에서 택시 거리에 대해 배움으로써 현
실의 문제를 더 적합하게 해결할 수 있다는 생각이 들어서 TG와 TSP를 연관지
어 생각하게 되었다.
TSP란?

Traveling Salesman Problem의 약자. 외판원 문제라고도 함

각 변에 가중치가 주어진 완전 그래프(weighted complete graph)에서 가장 작은 가
중치를 가지는 해밀턴 회로(Hamiltonian cycle)을 구하는 것

한 도시에서 다른 도시로 이동하는 비용이 모두 주어졌을 때, 모든 도시들을 단 한 번만
방문하고 원래 시작점으로 돌아오는 최소 비용의 이동 순서는 무엇인가를 구하는 문제

NP난제로서 해결 방안이 없다는 것이 증명됨

시작점으로 돌아와야 한다는 제약 조건을 없애도 계산 복잡도는 변하지 않음
TG란?

Taxi cap Geometry의 약자. 택시기하학이라고도 함

.
유클리드 기하학과 택시 기하학에서의 원과 타원
라우팅 알고리즘
- 라우팅 알고리즘은 네트워크를 통해 정보 이동 시, 최적의 경로를 결정하기 위한
방식.
- 정보를 목적지까지 전송하기 위해서 인접한 라우터들의 네트워크 정보와 매트릭
값을 받아 최적의 경로를 설정.
- 라우터는 인접한 라우터로부터 전달받은 경로정보로 비용을 계산하여 최적의 경
로를 결정.
- 비용이란 통신에서 발생되는 홉수, 신뢰도(Reliability), 부하(Load)등이 됨.
- 라우팅 알고리즘은 크게 정보교환 방법에 따라 Distance-vector 프로토콜과 Link-
State 프로토콜로 나뉨.
Distance vector algorism
- Distance-vector 프로토콜은 각 Network에 대해서 거리가 얼마나 떨어져 있고,
어느 방향으로 보내면 되는지를 알고 있는 라우팅 프로토콜이다.
- 이 알고리즘에 있어 출발지로부터 거치는 Hop수가 중요하다. Hop수는 해당 출발지
로부터 목적지까지 가는데 거치는 라우터의 개수를 말한다. Distance-vector 프로
토콜은 목적지까지 거치는 Hop수가 최소인 길을 선택한다.
Link state algorism
- 링크 상태 라우팅 프로토콜은 다양한 변수를 고려하여 링크 상태가 변할
때마다 모든 정보를 고려하여 최적의 경로 계산.
- 거리 벡터 방식의 단점을 극복하기 위해 개발된 프로토콜이다.
- Link-State 알고리즘은 현재 자신의 네트워크에 있는 라우팅 정보등을
멀티캐스트로 전체 네트워크에 알리고 Link State 을 수신한 라우터는
네트워크 토폴로지 데이터베이스를 작성하고 라우팅 테이블을 구성하여
최적의 경로를 선택해서 찾아가게 하는 방법.
Link state algorism
․ S: 최소 비용 경로를 알고 있는 노드들의 집합
․ 초기, S = {u} u는 자기 자신 노드
․ 각 반복에 한 노드를 S에 추가
STEP 3
S = {0, 1, 2, 4}
T = {3, 5, 6}
STEP 0 (초기상태)
S = {0}
T = {1, 2, 3, 4, 5, 6}
Distance
11
9
∞
3
∞
∞
Node
1
2
3
4
5
6
STEP 1
S = {0, 4}
T = {1, 2, 3, 5, 6}
Distance
11
7
19
3
19
41
Node
1
2
3
4
5
6
STEP 4
S = {0, 1, 2, 3, 4}
T = {5, 6}
Distance
11
7
19
3
24
47
Distance
11
7
19
3
19
40
Node
1
2
3
4
5
6
Node
1
2
3
4
5
6
STEP 5
S = {0, 1, 2, 3, 4, 5}
T = {6}
STEP 2
S = {0, 2, 4}
T = {1, 3, 5, 6}
Distance
11
7
19
3
19
47
Distance
11
7
19
3
19
37
Node
1
2
3
4
5
6
Node
1
2
3
4
5
6
연구 계획
1.
주제 선정
2.
관련된 이론에 대한 공부 및 자료 조사
3.
택배 회사가 가장 중요시하는 가치 탐색
4.
적절한 알고리즘 탐색
5.
다양한 좌표축 설정 방안 고안
6.
연구할 지역 선택
7.
엑셀로 매크로 제작
8.
지오지브라를 통한 시각화
9.
가장 효율적인 알고리즘 설정
10.
어플리케이션 개발
진행 상황
2014.4.30
영문 위키피디아의 TSP문서 번역.
2014.7.8
교수님께 자문을 구함
실용성을 기반으로 한 탐구 주제의 설정 시작
2014.6.17
2014.7.15
연구계획 수립.
택배 회사가 우선시하는 가치가 무엇인지 탐색
TSP에 대한 해결 알고리즘 탐색
원주 지역 택배회사의 전화번호 조사
2014.7.18
2014.7.7
유명 택배 회사들에게 e메일로 연구 협조를 요청
구체적인 연구계획 수립
블로그 개설
수학적인 이론과 실용적인 것 중 어느 것을 중요시해야 하는가
에 대한 토의
진행 상황
2014.8.1
전화로 택배 회사에서 추구하는 가치 조사
2014.8.7
데이터베이스 구축.
각 거점 간 최단거리를 네이버 지도를 사용해 구함.
빠른 배송을 가장 중시한다고 함.
어플리케이션 요청.
2014.8.15
엑셀 매크로 제작.
2014.8.2
탐구 주제 설정 완료.
속도가 일정하다고 했을 때 걸린 시간은 이동 거리
에 비례하므로 이동 거리를 비용으로 설정.
원주 무실동의 길이 이후 택시기하학에서 다루기
2014.8.27
새로운 알고리즘 고안
2014.9.4
지오지브라를 통한 시각화
편할 것 같아 지도 출력
2014.8.6
택배를 받는 거점 선정
2014.9.7
엑셀 매크로에 버전 추가
사용한 알고리즘
1.링크 상태 라우팅 알고리즘(OSPF)
2.각도를 사용한 알고리즘(자체 제작)
3.단위사각형을 사용한 알고리즘(자체 제작, 실패)
매크로(엑셀 파일)
선택지에 따라 두 알고리즘 중 더 짧은 것이 무엇인지는 달라진다.
알고리즘1
알고리즘2
알고리즘3
좌표축 설정

택시 기하에서 다루기 위해 좌표축 설정 방안을 고안해 보았다
출발점을 포함하는 가장 긴 도로를 한 축으로 설정
전체 도로 중 가장 긴 도로를 한 축으로 설정
문제점

사용한 두 알고리즘 모두에서 경유지가 늘었는데 최종 비
용은 감소하는 현상 관찰
12번을 경유하자
비용(거리)이 오
히려 줄어들었다.
문제점

데이터베이스 구축이 힘들다. 네이버에 일일이 두 장소를
입력하여 최단거리를 찾아야 한다

택시 기하상에서 다루기 힘들다. 만든 알고리즘들을 택시
기하에서 어떻게 사용할 지 생각해 보아야 한다.
앞으로의 계획

택시 기하학 상에서 알고리즘을 만들어 볼 것이다.

어플리케이션을 제작해 볼 것이다.