KR20190093318A - 최단시간 경유경로 정보 제공 시스템, 및 방법 - Google Patents

최단시간 경유경로 정보 제공 시스템, 및 방법 Download PDF

Info

Publication number
KR20190093318A
KR20190093318A KR1020180012800A KR20180012800A KR20190093318A KR 20190093318 A KR20190093318 A KR 20190093318A KR 1020180012800 A KR1020180012800 A KR 1020180012800A KR 20180012800 A KR20180012800 A KR 20180012800A KR 20190093318 A KR20190093318 A KR 20190093318A
Authority
KR
South Korea
Prior art keywords
route
shortest
time
points
unit
Prior art date
Application number
KR1020180012800A
Other languages
English (en)
Other versions
KR102025433B1 (ko
Inventor
원영진
김순연
정영심
안주영
박상훈
조민혜
봉주연
Original Assignee
(주)헤르메시스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)헤르메시스 filed Critical (주)헤르메시스
Priority to KR1020180012800A priority Critical patent/KR102025433B1/ko
Publication of KR20190093318A publication Critical patent/KR20190093318A/ko
Application granted granted Critical
Publication of KR102025433B1 publication Critical patent/KR102025433B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/362Destination input or retrieval received from an external device or application, e.g. PDA, mobile phone or calendar application

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Navigation (AREA)

Abstract

본 발명은 최단시간 경유경로 제공 시스템 및 방법에 관한 것으로, 본 발명에 따른 최단시간 경유경로 제공 방법은 사용자 단말기가 복수의 지점에 관한 정보를 입력받는 단계; 경로제공 서버가 상기 사용자 단말기로부터 수신된 상기 복수의 지점에 관한 정보를 기초로 상기 지점을 일대일로 맵핑하여 복수의 단위 경로를 생성하는 단계; 상기 경로제공 서버가 미리 결정된 API를 기초로 기준 시각에서의 상기 각 단위 경로에 대한 예측 소요시간 정보를 API서비스 서버에 요청하는 단계; 상기 API서비스 서버가 상기 각 단위 경로에 대한 예측 소요시간을 산출하여 상기 경로제공 서버에 제공하는 단계; 상기 경로제공 서버가 상기 각 단위 경로에 대한 예측 소요시간을 기초로 상기 복수의 지점을 최단시간으로 경유하는 최단시간 경유경로를 산출하는 단계; 및 상기 경로제공 서버가 산출된 상기 최단시간 경유경로를 상기 사용자 단말기에 제공하는 단계를 포함한다. 이를 통하여, 복수의 지점을 최단시간에 모두 경유할 수 있는 경로정보를 제공할 수 있다.

Description

최단시간 경유경로 정보 제공 시스템, 및 방법{SYSTEM FOR PROVIDING INFORMATION OF LEAST TIME PATH PASSING PLURAL STOPS AND METHOD THEREOF}
본 발명은 최단시간 경유경로를 제공하는 기술에 관한 것으로, 더욱 상세하게는, 오픈 API(Open Application Programming Interface)를 활용하여 복수의 지점을 최단시간으로 경유할 수 있는 경로를 산출하여 제공하는 시스템, 및 방법에 관한 것이다.
최근 지도 어플리케이션을 통한 길찾기 서비스가 다수 제공되고 있다. 이러한 길찾기 서비스의 기본내용을 살펴보면, 출발지와 도착지를 사용자로부터 입력받고, 출발지에서 도착지까지 거리가 가장 짧은 최단경로 또는 현재 교통상황을 반영한 최단시간 경로를 탐색하여 제공해주고 있다.
이와 같이 길찾기 서비스는 실시간 최단시간 경로 정보를 제공해주기 때문에 초행자 뿐 아니라 지리에 익숙한 사용자들에게도 많이 활용되고 있지만, 그 기능상 다양한 사용자들의 요구를 충족시키는데에는 한계를 보이고 있다.
예를 들어, 특정 지역을 여행하는 여행자들은 한정된 시간에 가능한 많은 곳의 관광지를 방문할 수 있도록 복수의 관광지를 효율적으로 방문하는 여행 스케줄을 수립하는 것이 필요하다. 또한, 여행자 외에도 택배 배송업자나 직접 방문하여 영업을 수행하는 방문 영업자에게도 이와 같이 다수의 지점을 최적의 스케줄로 경유할 수 있는 경유경로 정보가 매우 중요하다.
다만, 종래 길찾기 서비스에 의하면, 출발지와 도착지를 서로 변경할 수 있는 기능은 제공하고 있지만 이는 사용자의 입력 편의를 위한 것이고, 기본적으로는 출발지와 도착지를 미리 입력받는 형태로 출발지와 도착지가 고정된 시·종점 고정 방식을 취하고 있다. 또한, 출발지와 도착지 사이에 경유지를 입력하여 경로를 탐색해주는 서비스도 제공하고 있는데, 이때, 입력 가능한 경유지의 개수가 한정되어 있을 뿐만 아니라 사용자가 경유지를 입력하는 입력 순서에 따라 순차적으로 경유지를 방문하는 경로가 탐색된다.
이와 같이, 종래 길찾기 서비스는 출발지, 도착지를 비롯하여 복수의 경유지 순서까지 모두 사용자가 직접 정하도록 하고 있기 때문에 전술된 여행자, 택배 배송업자, 방문 영업자와 같이 다수의 지점을 어떤 순서로 방문해야 할지에 관한 최적 경유 스케줄 정보가 필요한 사용자들의 요구를 충족시키기에는 어려움이 있다.
따라서, 다수의 지점을 최단시간으로 경유할 수 있는 최적의 경유 스케줄 정보를 제공할 수 있는 서비스가 함께 제공된다면 현재 제공되고 있는 길찾기 서비스의 효용성을 더욱 향상시킬 수 있을 것으로 기대된다.
본 발명은 전술된 종래 기술의 문제점을 해결하기 위하여 안출된 것으로, 복수의 지점을 최단시간에 모두 경유할 수 있는 최적 경유 스케줄 정보를 제공할 수 있는 최단시간 경유경로 정보 제공 시스템, 및 방법을 제공하는 것에 목적이 있다.
상기한 목적은 본 발명의 일 양태에 따른 최단시간 경유경로 정보 제공 방법에 있어서, 사용자 단말기가 복수의 지점에 관한 정보를 입력받는 단계; 경로제공 서버가 상기 사용자 단말기로부터 수신된 상기 복수의 지점에 관한 정보를 기초로 상기 지점을 일대일로 맵핑하여 복수의 단위 경로를 생성하는 단계; 상기 경로제공 서버가 미리 결정된 API를 기초로 기준시각에서의 상기 각 단위 경로에 대한 예측 소요시간 정보를 API서비스 서버에 요청하는 단계; 상기 API서비스 서버가 상기 각 단위 경로에 대한 예측 소요시간을 산출하여 상기 경로제공 서버에 제공하는 단계; 상기 경로제공 서버가 상기 각 단위 경로에 대한 예측 소요시간을 기초로 상기 복수의 지점을 최단시간으로 경유하는 최단시간 경유경로를 산출하는 단계; 및 상기 경로제공 서버가 산출된 상기 최단시간 경유경로를 상기 사용자 단말기에 제공하는 단계를 포함할 수 있다.
여기서, 상기 경로제공 서버가 상기 최단시간 경유경로를 산출하는 단계는, 상기 기준시각에서의 각 단위 경로에 대한 예측 소요시간을 기초로 임시 최단시간 경유경로를 산출하는 단계; 상기 임시 최단시간 경유경로의 시작점으로부터 적어도 한개 지점까지의 부분 경유경로를 채택하는 단계; 채택된 상기 부분 경유경로를 통과하기 위한 예측 소요시간을 기초로 상기 기준시각을 재설정하는 단계; 상기 부분 경유경로의 채택 후 가능한 나머지 단위 경로에 대하여 재설정된 상기 기준시각에서의 예측 소요시간을 상기 API서비스 서버에 재요청하는 단계; 및 상기 가능한 나머지 단위 경로에 대하여 상기 전술된 단계를 반복 수행하는 과정에서 채택된 상기 부분 경유경로를 순차적으로 조합하여 최종적인 최단시간 경유경로를 산출하는 단계를 포함할 수 있다.
한편, 상기 경로제공 서버가 상기 최단시간 경유경로를 산출하는 단계는, 복수의 후보 최단시간 경유경로를 산출하는 단계; 상기 후보 최단시간 경유경로의 경유 순서에 따라 상기 후보 최단시간 경유경로를 구성하는 각 단위 경로별 진입 예정 시각을 산출하는 단계; 및 상기 후보 최단시간 경유경로를 구성하는 상기 단위 경로의 상기 진입 예정 시각에서의 예측 소요시간의 총합을 기초로 상기 복수의 후보 최단시간 경유경로 중 택일하는 단계를 포함할 수 있다.
그리고, 상기 사용자 단말기는 출발위치에 관한 정보를 더 입력받을 수 있으며, 이때, 상기 경로제공 서버가 상기 최단시간 경유경로를 산출하는 단계는, 상기 출발위치로부터 상기 각 지점까지의 거리를 기초로 상기 복수의 지점 중 일부 지점을 선택하는 단계; 상기 기준시각에서의 상기 일부 지점으로 구성된 단위 경로의 예측 소요시간을 기초로 부분 최단시간 경유경로를 산출하는 단계; 상기 부분 최단시간 경유경로의 마지막 지점과 상기 마지막 지점에 도달하는 도달 예정시간을 기초로 상기 출발위치와 상기 기준시각을 재설정하는 단계; 상기 복수의 지점 중 선택되지 않은 나머지 지점이 존재하지 않을 때까지 전술된 단계를 반복 수행하는 단계; 및 상기 반복 수행하는 과정에서 산출된 상기 부분 최단시간 경유경로를 순차적으로 조합하여 최종적인 최단시간 경유경로를 산출하는 단계를 포함할 수 있다.
상기한 목적은 본 발명의 또 다른 양태에 따른 복수의 지점에 관한 정보를 입력받는 사용자 단말기; 수신된 상기 복수의 지점에 관한 정보를 기초로 상기 복수의 지점을 일대일로 맵핑하여 복수의 단위 경로를 생성하고, 미리 결정된 API를 기초로 기준시각에서의 상기 각 단위 경로에 대한 예측 소요시간 정보를 요청하는 경로제공 서버; 및 상기 각 단위 경로에 대한 예측 소요시간을 산출하여 상기 경로제공 서버에 제공하는 API서비스 서버를 포함하며, 상기 경로제공 서버는, 상기 각 단위 경로에 대한 예측 소요시간을 기초로 상기 복수의 지점을 최단시간으로 경유하는 최단시간 경유경로를 산출하여 상기 사용자 단말기에 제공하는 것을 특징으로 하는 최단시간 경유경로 정보 제공 시스템에 의해서도 달성될 수 있다.
여기서, 상기 경로제공 서버는, TSP 알고리즘을 기초로 상기 최단시간 경유경로를 산출할 수 있다.
한편, 상기 경로제공 서버가 상기 TSP 알고리즘 적용을 위한 입력 파일의 생성시 상기 지점에 대응하는 노드의 위치는 임의의 가상 좌표계상에서 정의되며, 상기 노드를 연결하는 각 링크에는 상기 링크에 해당되는 상기 단위 경로에 대한 예측 소요시간이 할당되어 생성될 수 있다.
또한, 상기 사용자 단말기는 사용자의 현재 위치와 사용자가 기경유한 지점에 관한 정보를 더 입력받고, 상기 경로제공 서버는, 상기 사용자 단말기로부터 수신된 상기 사용자의 현재 위치와 상기 기경유한 지점에 관한 정보를 기초로 상기 복수의 지점 중 상기 기경유한 지점을 제외한 지점에 대응하는 최단시간 경유경로를 재산출하여 상기 사용자 단말기에 제공할 수 있다.
이상에서 설명된 바와 같이, 본 발명에 따르면, 복수의 지점을 최단시간에 모두 경유할 수 있는 경로정보를 제공할 수 있다.
또한, 본 발명에 따르면, 시간에 따라 변경되는 정보를 반영하여 더욱 정확한 최단시간 경유경로 정보를 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 최단시간 경유경로 정보 제공 시스템의 구성을 나타낸 구성도;
도 2는 본 발명의 실시예에 따른 경로제공 서버의 구성을 나타낸 블록도;
도 3은 본 발명의 실시예에 따른 최단시간 경유경로 정보 제공 방법을 나타낸 흐름도;
도 4는 본 발명의 실시예에 따른 경로제공 서버가 최단시간 경유경로를 산출하는 제1 실시예에 따른 방법을 나타낸 흐름도;
도 5는 도 4에 도시된 최단시간 경유경로를 산출하는 제1 실시예를 설명하기 위한 참고도;
도 6은 본 발명의 실시예에 따른 경로제공 서버가 최단시간 경유경로를 산출하는 제2 실시예에 따른 방법을 나타낸 흐름도;
도 7은 도 6에 도시된 최단시간 경유경로를 산출하는 제2 실시예를 설명하기 위한 참고도;
도 8은 본 발명의 실시예에 따른 경로제공 서버가 최단시간 경유경로를 산출하는 제3 실시예에 따른 방법을 나타낸 흐름도; 및
도 9는 도 8에 도시된 최단시간 경유경로를 산출하는 제3 실시예를 설명하기 위한 참고도이다.
이하, 도면을 참조하여 본 발명의 구체적인 실시예들에 대해 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 최단시간 경유경로 정보 제공 시스템의 개략적인 구성을 나타낸 구성도이다. 도 1을 참조하면, 본 발명의 실시예에 따른 최단시간 경유경로 정보 제공 시스템(100)은 사용자 단말기(10), 경로제공 서버(20), 및 API서비스 서버(30)를 포함한다.
사용자 단말기(10)는 사용자가 경유할 복수의 지점에 관한 정보, 사용자의 현재 위치, 출발시각 등 최단시간 경유경로 정보를 산출하는데 필요한 각종 정보를 입력받아 후술되는 경로제공 서버(20)에 전송한다. 이와 같이, 사용자 단말기(10)는 사용자로부터 필요한 정보를 입력 받고 각종 정보를 디스플레이하기 위한 UI(User Interface)와 정보 송수신을 위한 통신기능을 제공하는 단말기로서, 스마트폰, 태블릿 PC 등을 비롯한 각종 모바일 기기가 적용될 수 있다.
경로제공 서버(20)는 후술되는 API서비스 서버(30)로부터 수신한 임의의 두 지점 간 예측 소요시간 정보를 기초로 사용자로부터 입력된 복수의 모든 지점을 최단시간으로 경유하는 최단시간 경유경로 정보를 산출하여 사용자 단말기(10)에 제공한다. 이를 위하여, 경로제공 서버(20)는 사용자 단말기(10)로부터 입력된 사용자가 경유할 복수의 지점에 관한 정보를 기초로 복수의 지점을 일대일로 맵핑(Mapping)하여 복수의 단위 경로를 생성하고, API서비스 서버(30)에 각 단위 경로에 대한 예측 소요시간 정보를 요청한다.
API서비스 서버(30)는 오픈 지도 API 서비스를 제공하는 서버로서, 경로제공 서버(20)가 특정 API 형식에 따라 기준시각에서의 각 단위 경로의 예측 소요시간 정보를 요청하면 이에 대응하여 각 단위 경로를 통과하는데 소요되는 예측 소요시간에 관한 정보를 생성하여 경로제공 서버(20)에 제공한다. 이때, 경로제공 서버(20)로부터 출발시각이 지정되면 API서비스 서버(30)는 해당 출발시각에서의 예측 소요시간을 산출하고, 특별히 출발시각이 지정되지 않으면 현재 시각에서의 예측 소요시간을 산출할 수 있다.
참고로, API(Application Programming Interface)는 프로그램 또는 어플리케이션이 어떤 처리를 위해서 운영 체제에 호출할 수 있는 서브루틴 또는 함수의 집합을 의미한다.
현재, T map API, 네이버 지도 API, 구글 map API 등과 같이 어플리케이션 개발자들이 응용 프로그램과 서비스를 개발할 수 있도록 지도 제공, 좌표 변환, 경유지별 거리, 길 안내 정보 등을 제공하는 다양한 지도 API 서비스가 공지되어 있다. 이와 같이, API서비스 서버(30)는 지도 API 서비스를 제공하는 서버로서 현재 다양한 지도 API 서비스가 제공되고 있는바, API서비스 서버(30)의 구체적인 구성에 관해서는 설명의 간략화를 위하여 생략하기로 한다.
한편, API서비스 서버(30)가 각 단위 경로별 예측 소요시간을 산출할 때에는 출발시간, 지점별 거리, 교통상황 등을 반영하여 임의의 두 지점을 통과하기 위한 예측 소요시간을 산출하는 다양한 산출 알고리즘이 활용될 수 있으며, 특정 방법에 한정되는 것은 아니다. 이때, API서비스 서버(30)는 특정 시각에 단위 경로를 구성하는 2개의 지점을 지나는데 소요되는 최단시간, 또는 2개의 지점간 가장 짧은 거리를 통과하는데 소요되는 시간 등을 산출할 수 있고, 이 중 어떤 시간을 산출하는지 여부는 경로제공 서버(20)의 요청에 따라 결정될 수 있으며, 특별한 요청이 없는 경우에는 임의의 시간을 산출하되, 각 단위 경로에 대하여 동일한 기준을 적용하여 산출하는 것이 바람직하다.
이와 같이, 본 발명에 따른 최단시간 경유경로 정보 제공 시스템(100)은 API서비스 서버(30)로부터 단위 경로별 예측 소요시간을 수신하고 경로제공 서버(20)가 이를 기초로 단위 경로를 적절히 조합하여 복수의 지점을 최단시간으로 경유하는 최단시간 경유경로 정보를 산출하여 사용자 단말기(10)에 제공하는 구조를 취하고 있다.
도 2는 본 발명의 실시예에 따른 경로제공 서버(20)의 구성을 나타낸 블록도이다. 이하에서는, 도 2를 참조하여 경로제공 서버(20)의 구성을 구체적으로 설명하기로 한다.
도 2를 참조하면, 본 발명의 실시예에 따른 경로제공 서버(20)는 통신부(21), 단위경로 생성부(23), 시간정보 요청부(25), 및 경로 산출부(27)를 포함한다.
통신부(21)는 사용자 단말기(10) 및 API서비스 서버(30)와 각종 정보의 송수신을 위하여 통신을 수행하는 것으로 다양한 유무선 통신수단을 통하여 구현될 수 있다.
단위경로 생성부(23)는 사용자 단말기(10)로부터 수신한 복수의 지점을 일대일로 맵핑하여 복수의 단위 경로를 생성한다. 여기서, 단위 경로란, 2개의 지점으로 형성되는 경로를 의미한다. 예컨대, 사용자 단말기(10)를 통하여 a, b, c, d로 4개의 지점이 입력되었을 때 생성되는 생성되는 단위 경로는 a->b, a->c, a->d, b->a, b->c, b->d, c->a, c->b, c->d, d->a, d->b, d->c 로서 총 12개의 단위 경로가 생성될 수 있다. a->b, b->a와 같이 동일한 2개의 지점으로 형성되는 경로라 하더라도 시작점과 종점이 바뀌어 진행 방향이 서로 다른 경우에는 별도의 단위 경로로 취급한다. 즉, 단위 경로는 n개의 복수의 지점 중 2개의 지점을 선택하여 일렬로 세운 순열(permutation)의 의미를 갖는다.
단위경로 생성부(23)는 사용자 단말기(10)로부터 수신된 복수의 지점으로 도출 가능한 모든 경우의 수에 따른 단위 경로를 생성한다.
다만, 전술된 바와 같이 사용자 단말기(10)를 통하여 정보를 입력할 때 사용자는 출발지점과 종료지점에 관한 정보 없이 오로지 경유할 복수의 지점 정보만 입력할 수도 있지만, 복수의 지점 중 출발지점 또는 종료지점을 지정할 수도 있다.
이와 같이, 출발지점 또는 종료지점이 직접 지정된 경우에는 지정된 지점을 출발지점 또는 종료지점으로 적용한 후 가능한 단위 경로만 생성하면 된다. 예를 들어, a가 처음 출발하는 출발지점으로 지정된 때에는 b->a와 같이 a 지점을 도착지점으로 하는 단위 경로는 생성시 제외될 수 있다. 또한, b가 마지막 지점인 종료지점으로 지정된 때에는 b->a와 같이 b 지점을 시작점으로 하는 단위 경로는 생성시 제외될 수 있다. 이처럼, 단위경로 생성부(23)는 사용자 단말기(10)로부터 수신된 정보를 기초로 실제로 도출 가능한 경우에 따른 단위 경로를 선택적으로 생성할 수 있다.
시간정보 요청부(25)는 생성된 각 단위 경로에 대한 예측 소요시간 정보를 API서비스 서버(30)에 요청하기 위한 메시지를 생성한다. 메시지 형식은 해당 API서비스 서버(30)가 요구하는 미리 결정된 API 형식에 따른다. 여기서, 단위 경로에 대한 예측 소요시간은 단위 경로를 구성하는 두 지점을 통행하는데 소요될 것으로 예측되는 시간을 의미한다.
한편, 시각에 따라 교통 상황이 계속 변화하기 때문에 이에 따라 예측되는 구체적인 소요시간도 달라질 수 있다. 따라서, 사용자 단말기(10)로부터 출발시각에 관한 정보가 별도로 수신된 때에는 이를 반영하여 해당 출발시각에서의 예측 소요시간을 요청하기 위한 메시지를 생성한다. 반면에, 출발시각에 관한 정보가 수신되지 않았을 때에는 현재 시각에서 예측되는 소요시간을 요청하는 메시지를 생성할 수 있다.
경로 산출부(27)는 API서비스 서버(30)로부터 수신된 각 단위 경로에 대한 예측 소요시간 정보를 기초로 사용자 단말기(10)를 통하여 입력된 복수의 지점을 최단시간으로 경유하는 최단시간 경유경로를 산출한다. 한편, 경로 산출부(27)는 각 단위 경로를 조합하여 구성될 수 있는 모든 경우의 경유 경로에 대한 전체 소요시간을 산출하는 과정에서 이미 연산이 종료된 경유 경로의 전체 소요시간을 초과하는 경우 해당 경유 경로에 대해서는 더 이상의 연산을 중단하고 다른 경유 경로에 대한 연산을 개시함으로써 연산 시간을 단축할 수 있다.
경로 산출부(27)는 다양한 최단 경로 산출 알고리즘을 이용하여 최단시간 경유경로를 산출할 수 있다. 그 일 예로서, 경로 산출부(27)는 TSP(Traveling Salesman Problem) 알고리즘을 기초로 최단시간 경유경로를 산출할 수 있다. 참고로, TSP 알고리즘은 최소비용으로 모든 노드를 순회하는 경로를 탐색하기 위한 알고리즘이다. 여기서, 노드는 경유해야 하는 지점에 해당하며, 노드를 서로 연결하는 링크(Link)는 단위 경로, 비용은 예측 소요시간이 될 것이다. 참고로, TSP 알고리즘을 통한 최단시간 경유경로 산출시 입력 파일 형식은 SHP 또는 MIF 형식을 취할 수 있다.
이와 같이 TSP 알고리즘 적용을 위한 입력 파일의 생성시 단위 경로, 즉 각 노드를 연결하는 링크마다 할당되는 비용은 물리적 직선 거리 또는 도로상의 거리가 아닌 각 단위 경로에 대한 예측 소요시간으로 설정된다. 한편, 노드 및 링크의 위치는 실제 도로망에 따른 물리적 위치 좌표를 고려할 필요 없이 임의의 위치에 배치하여 개념적인 좌표로서 지정되어도 무방하며, 그 밖에 평면 좌표계, 경위도 좌표계, 무차원 가상 좌표계 등 다양한 좌표계가 활용될 수도 있다.
경로 산출부(27)는 이와 같이 생성된 입력 파일을 기초로 TSP 알고리즘을 적용하여 최단시간 경유경로를 산출한다.
경로 산출부(27)를 통하여 산출된 최단시간 경유경로는 사용자 단말기(10)에 제공되며, 이때, 복수의 지점을 최단시간으로 경유하는 순서에 관한 정보만 제공할 수도 있으나, 최단시간 경유경로를 구성하는 각 단위 경로의 예측 소요시간 및 총 예측 소요시간 정보도 함께 제공할 수 있다.
한편, 경로제공 서버(20)는 최단시간 경유경로를 산출하여 사용자 단말기(10)에 제공한 이후에도 사용자 단말기(10)로부터 사용자의 현재 위치와 사용자가 기경유한 지점에 관한 정보를 수신하여 현재 시각 기준으로 사용자가 아직 경유하지 않은 지점에 대하여 최단시간 경유경로를 재산출하여 다시 제공할 수도 있다. 이때, 사용자가 기경유한 지점을 입력하지 않은 때에는 기제공된 최단시간 경유경로와 사용자 단말기(10)의 현재 위치로부터 사용자가 이미 경유한 지점을 유추하여 이를 배제한 나머지 지점에 대한 최단시간 경유경로를 재산출해 줄 수 있을 것이다.
도 3은 본 발명의 실시예에 따른 최단시간 경유경로 정보 제공 방법의 과정을 나타낸 흐름도이다. 이하, 도 3을 참조하여, 전술된 최단시간 경유경로 정보 제공 시스템(100)의 각 구성의 유기적인 동작을 설명하기로 한다.
도 3을 참조하면, 사용자 단말기(10)는 사용자로부터 경유 예정인 복수의 지점을 입력받아 경로제공 서버(20)에 전송한다(S10, S20). 이때, 복수의 지점 뿐 아니라 사용자가 출발할 시작점인 출발지점, 마지막으로 경유할 도착지점, 출발시각 등 최단시간 경유경로를 산출하는데 필요한 조건을 함께 입력할 수도 있다.
경로제공 서버(20)는 사용자 단말기(10)로부터 수신된 복수의 지점을 일대일로 맵핑하여 복수의 단위 경로를 생성하고, API서비스 서버(30)에 각 단위 경로에 대한 예측 소요시간 정보를 요청한다(S30, S40). 이때, 사용자 단말기(10)로부터 복수의 지점과 출발시각에 관한 정보가 함께 입력된 때에는 경로제공 서버(20)는 출발시각에 단위 경로를 지나는데 소요되는 예측 소요시간 정보를 요청하고, 출발시각에 관한 정보가 없을 때에는 현재 시각에 단위 경로를 지나는데 소요되는 예측 소요시간 정보를 요청할 수 있다.
API서비스 서버(30)가 경로제공 서버(20)의 요청에 따라 특정 시각에서의 단위 경로별 예측 소요시간을 산출하여 제공하면, 경로제공 서버(20)는 이를 기초로 복수의 지점을 최단시간으로 경유하는 최단시간 경유경로를 산출한다(S50, S60, S70).
다만, 경로제공 서버(20)는 복수의 단위 경로에 대해서 모두 동일한 특정 시간에 단위 경로를 통과하는데 걸리는 예측 소요시간을 API서비스 서버(30)로부터 수신하지만, 실제로는 복수의 지점을 경유할 때 해당 단위 경로를 통과하는 시간이 상이하고 시간에 따라 교통상황이 변하는 것을 고려하면 최단시간 경유경로는 변경될 수 있다. 예를 들어, 특정 두 지점인 A, B 지점이 물리적인 거리는 가깝지만 출퇴근 시간에는 교통량이 몰리는 상황을 가정하면, A->B 경로는 출퇴근 시간에는 소요시간이 길기 때문에 출퇴근 시간에는 위 두 지점을 통과하는 것보다 거리가 조금 멀지만 교통량이 적은 다른 곳을 경유하는 것이 바람직하고 출퇴근 시간이 아닌때에는 거리상 짧은 A, B 지점을 통과하는 것이 바람직할 것이다. 이처럼, 최단시간 경유경로를 산출할 때에는 시간에 따라 변화되는 예측 소요시간을 고려할 필요가 있다.
이에, 경로제공 서버(20)는 최단시간 경유경로 산출시 이와 같은 시간에 따른 예측 소요시간의 변화를 고려함으로써 더욱 정확한 경로를 산출할 수 있다.
이하에서는 도 4 내지 도 9를 참조하여 경로제공 서버(20)가 최단시간 경유경로를 산출하는 실시예들을 설명하기로 한다.
먼저, 도 4는 경로제공 서버(20)가 최단시간 경유경로를 산출하는 제1 실시예에 따른 방법을 나타낸 흐름도이고, 도 5는 제1 실시예를 설명하기 위한 참고도이다.
도 4를 참조하면, 경로제공 서버(20)는 도 3의 S60 단계에서 API서비스 서버(30)로부터 수신한 기준시각에서의 단위 경로별 예측 소요시간을 기초로 임시 최단시간 경유경로를 산출한다(S200). 이때, TSP 알고리즘을 활용하여 임시 최단시간 경유경로를 산출할 수 있다. 한편, 기준시각으로는 사용자 단말기(10)로부터 출발시각이 입력된 때에는 출발시각이 적용될 수 있으며, 출발시각에 관한 정보가 없을 때에는 API서비스 서버(30)에 예측 소요시간 정보를 요청하는 현재 시각이 적용될 수도 있다.
경로제공 서버(20)는 임시 최단시간 경유경로의 시작점으로부터 적어도 한개 지점까지의 부분 경유경로를 채택한다(S210).
채택된 부분 경유경로에서 이미 경유된 지점을 제외하고 도출 가능한 나머지 단위 경로가 존재하면, 채택된 부분 경유경로를 통과하는데 소요되는 예측 소요시간을 기준시각에 더하여 기준시각을 재설정하고, 부분 경유경로의 채택 후 가능한 나머지 단위 경로에 대하여 재설정된 기준시각에서의 예측 소요시간을 API서비스 서버(300)에 재요청한다(S220, S230, S240).
이미 채택된 부분 경유경로에서 경유된 지점들은 제외하고 도출 가능한 단위 경로에 대하여 임시 최단시간 경유경로를 산출하는 S200 단계, 부분 경유경로를 채택하는 S210 단계, 기준시각을 재설정하여 API서비스 서버(300)에 예측 소요시간 정보를 재요청하는 S230 단계와 S240 단계를 반복 수행한다.
가능한 단위 경로가 더이상 존재하지 않으면, 반복 수행하는 과정에서 채택된 부분 경유경로들을 순차적으로 조합하여 최종적으로 최단시간 경유경로를 산출한다(S250).
도 5는 A, B, C, D, E 5개의 지점이 입력되었을 때 전술된 제1 실시예에 따라 최단시간 경유경로를 산출하는 과정을 도식화한 것이다.
도 5를 참조하면, 제1 기준시각(T)에서의 예측 소요시간 정보를 기초로 제1 임시 최단시간 경유경로가 A->B->C->D->E로 산출되었고, 제1 부분 경유경로로서 A->B가 채택되면, 이후 가능한 나머지 단위 경로는 B->C, B->D, B->E, C->D, C->E, D->C, E->C, D->E, E->D가 된다. 즉, A는 이미 경유된 지점으로서 제외되고, B가 새로운 출발지점이 되는 것과 같기 때문에 C->B, D->B 등과 같이 B를 도착지점으로 하는 단위 경로는 제외된다.
제1 기준시각(T)에 A->B를 지나는데 소요되는 예측시간인 T1을 더한 제2 기준시각(T+T1)에서의 나머지 단위 경로별 예측 소요시간 정보를 API서비스 서버(30)로부터 수신하여 산출된 제2 임시 최단시간 경유경로가 B->D->E->C이고, 제2 부분 경유경로로서 B->D->E가 선택되면, 제3 부분 경유경로는 나머지 단위 경로인 E->C가 될 것이다. 이때, 제2 부분 경유경로 선택 후 나머지 단위 경로는 E->C 한 개이므로 최단시간 경유경로 산출을 위한 알고리즘을 적용하지 않고, API서비스 서버(30)로부터 재설정된 기준시각(T+T1+T2)에서의 E->C에 대한 예측 소요시간만 수신해도 무방하다.
결과적으로 제1 부분 경유경로인 A->B, 제2 부분 경유경로인 B->D->E와 제3 부분 경유경로인 E->C를 순차적으로 조합한 A->B->D->E->C가 최종적인 최단시간 경유경로로 산출되며, 총 소요시간은 각 부분 경유경로의 예측 소요시간을 더한 T1+T2+T3가 된다.
한편, 도 5에서는 제1 부분 경유경로는 A->B로서 시작점인 A를 제외하고 B 1개의 지점을 포함하고, 제2 부분 경유경로는 시작점인 B를 제외하고 D, E 2개의 지점을 포함하는 것으로 그 길이가 서로 다르게 설정되었음을 파악할 수 있다. 이처럼, 부분 경유경로에 포함되는 지점의 개수는 사용자 단말기(10)로부터 입력된 복수의 지점의 총 개수나 부분 경유경로를 통과하는데 소요되는 예측 소요시간에 따라 달리 결정될 수 있다.
예컨대, 입력된 복수의 지점의 총 개수가 많으면 임시 최단시간 경유경로의 시작점으로부터 상대적으로 많은 지점이 포함되도록, 즉 부분 경유경로가 길게 설정될 수도 있고, 복수의 지점의 개수가 적으면 부분 경유경로를 짧게 설정할 수도 있다. 이는 복수의 지점의 개수가 많으면 임시 최단시간 경유경로를 산출하는 과정의 반복횟수가 많아지는 것을 고려한 것이다. 또한, 부분 경유경로를 통과하는데 소요되는 예측 소요시간이 짧으면 많은 지점이 포함되도록 부분 경유경로가 설정될 수 있으며, 반대로, 예측 소요시간이 길면 상대적으로 적은 지점이 포함되도록 부분 경유경로를 설정할 수 있다. 이는 해당 부분 경유경로를 통과하는데 소요되는 시간이 짧으면 그 시간동안 교통량 등의 상황변경 가능성이 적기 때문에 변경된 예측 소요시간을 반영하여 다시 임시 최단시간 경유경로를 산출할 필요성이 적다는 것을 고려한 것이다.
한편, 전술된 예에서는 기준시각을 재설정할 때 이전 기준시각에 부분 경유경로를 통과하는데 소요되는 예측 소요시간만을 더하여 재설정하였으나, 예측 소요시간 뿐 아니라 부분 경유경로의 경유지에서 머무르는 시간을 추가로 더하여 재설정할 수도 있을 것이다. 예를 들어, 도 5에서 제2 임시 최단시간 경유경로 산출시 T+T1에 경유지점 B에 머무르는 시간 t1이 더해진 T+T1+t1을 기준시각으로 설정할 수 있다. 이는, 여행이나 배송시에 통상적으로 경유지점에서 소정 시간 머무르고 다음 지점으로 출발하는 경향을 반영한 것이다. 이때, 경유지점에서 머무르는 시간은 사용자 단말기(10)로부터 입력받은 시간정보가 활용될 수도 있고 또는 미리 설정된 시간이 자동으로 적용될 수 있다.
이처럼, 경로제공 서버(20)는 적어도 하나의 지점을 경유할 때마다 최단시간 경유경로를 산출하기 위한 알고리즘을 반복적으로 적용함으로써 시간에 따라 변화되는 예측 소요시간을 반영하여 최단시간 경유경로를 산출할 수 있게 된다.
이어서, 도 6은 경로제공 서버(20)가 최단시간 경유경로를 산출하는 제2 실시예에 따른 방법을 나타낸 흐름도이고, 도 7은 제2 실시예를 설명하기 위한 참고도이다.
도 6을 참조하면, 도 3의 S60 단계에서 API서비스 서버(30)로부터 수신한 기준시각에서의 단위 경로별 예측 소요시간 정보를 기초로 복수의 후보 최단시간 경유경로를 산출한다(S300). 후보 최단시간 경유경로는 TSP 알고리즘 등을 적용하여 복수의 지점을 모두 경유하는 다수 경유 경로의 소요시간을 서로 비교하여 소요시간이 짧은 순서대로 결정될 수 있다.
여기서, 산출된 후보 최단시간 경유경로는 모든 단위 경로에 대해서 기준시각 T에서의 예측 소요시간을 기초로 산출된 것이다. 도 7의 표에서 제1 영역(701)을 참조하면, A->C->B->D가 후보 최단시간 경유경로 중 하나로 산출되었다고 가정할 때, API서비스 서버(30)로부터 기준시각 T에 A->C를 통과하는데 30분, C->B를 통과하는데 20분, B->D를 통과하는데 10분이 걸리는 것으로 예측 소요시간 정보가 수신된 예를 보여준다.
다만, 각 경유지를 지나는 실제 시간은 이전 경유지를 지나는 시간이 누적된 시간인데 반하여, 후보 최단시간 경유경로의 산출시 예측 소요시간은 모든 단위 경로를 동일한 시각 T에 통과하는 것을 가정하여 산출된 것이므로 실제와는 차이가 존재한다. 예컨대, C->B를 지나는 실질적인 시간은 A->C를 지나고 난 후이다.
이에, 경로제공 서버(20)는 제2 영역(703)에 도시된 바와 같이 후보 최단시간 경유경로의 경유 순서에 따라 이전 단위 경로의 예측 소요시간을 더하여 해당 단위 경로에 진입하는 진입 예정 시각을 산출하고, 산출된 진입 예정 시각에 대응하여 API서비스 서버(30)에 해당 단위 경로의 예측 소요시간 정보를 재요청한다(S310, S320).
예컨대, C->B를 지나는 시간은 T에 A->C를 통과하는데 소요되는 30분을 더한 T+30분이 되므로, API서비스 서버(30)에 T+30분에 C->B를 지나는데 소요되는 예측 소요시간을 재요청한다. 이때, 재수신한 예측 소요시간이 25분이라고 가정할 때, B->D를 지나는 시간은 T+30분에 C->B를 지나는 25분을 더한 T+55분이 되므로 API서비스 서버(30)에 T+55분에 B->D를 지나는데 소요되는 예측 소요시간을 재요청한다.
이와 같이, 후보 최단시간 경유경로의 경유 순서에 따라 후보 최단시간 경유경로를 구성하는 단위 경로를 차례로 시프트(Shift)하면서 이전 단위 경로의 예측 소요시간을 더하여 해당 단위 경로에 실제 진입하는 예정 시각을 산출하고, 이에 대응하는 예측 소요시간 정보를 재요청하는 과정을 각 후보 최단시간 경유경로에 대하여 반복 수행한다(S330, S340).
이어서, 각 후보 최단시간 경유경로를 구성하는 단위 경로의 진입 예정 시각에 대응한 예측 소요시간의 총합을 기초로 복수의 후보 최단시간 경유경로 중 택일하여 최종적으로 최단시간 경유경로를 산출한다(S350). 이때, 진입 예정 시각 보정 후의 총 소요시간이 가장 작은 후보 최단시간 경유경로를 선택하게 된다.
도 7을 참조하면, 모든 단위 경로를 동일한 T에 진입한다고 가정했을 때에는 후보 최단시간 경유경로의 총 소요시간이 1시간 50분이었으나, 진입 예정 시각을 보정한 후의 총 소요시간은 1시간 45분이 되었음을 파악할 수 있다. 이처럼 경로제공 서버(20)는 단위 경로에 실제 진입하는 예정 시각을 보정함으로써 실제에 부합하는 최단시간 경유경로를 산출할 수 있다.
한편, 이때에도 제1 실시예에서와 유사하게 진입 예정 시각을 산출할 때, 이전 단위 경로의 예측 소요시간 뿐 아니라 경유지점에 머무르는 시간을 추가로 더하여 산출할 수도 있을 것이다. 예컨대, 경유지점 C에 머무르는 시간을 10분이라고 가정할 때, 단위 경로 C->B에 진입하는 진입 예정 시각은 T+30분에 10분을 더한 T+40분이 될 것이다.
이어서, 도 8은 경로제공 서버(20)가 최단시간 경유경로를 산출하는 제3 실시예에 따른 방법을 나타낸 흐름도이고, 도 9는 제3 실시예를 설명하기 위한 참고도이다.
참고로, 제3 실시예에서는 사용자 단말기(10)로부터 출발위치에 관한 정보가 입력된 것을 전제로 한다.
입력된 출발위치로부터 각 지점까지의 거리를 기초로 복수의 지점 중 일부 지점을 선택한다(S400). 이때, 출발위치와 가까운 거리 순으로 일부 지점이 선택될 수 있으며, 이때, 선택되는 지점의 개수는 미리 설정된 특정 개수에 의할 수도 있고, 또는 출발위치로부터 기설정된 거리보다 가까이 있는 지점이 모두 선택되도록 함으로써 거리에 따라 선택되는 지점의 개수를 달리할 수도 있다.
도 9에서는 총 10개의 지점 중 최초 출발위치 A를 포함하여 5개의 지점이 우선적으로 선택된 예를 보여준다.
이어서, 선택된 일부 지점으로 구성되는 단위 경로에 대하여 기준시각에서의 예측 소요시간을 기초로 부분 최단시간 경유경로를 산출한다(S410). 기준시각은 제1 실시예에서와 동일하게 사용자 단말기(10)로부터 출발시각이 입력된 때에는 출발시각이 적용될 수 있으며, 출발시각에 관한 정보가 없을 때에는 API서비스 서버(30)에 예측 소요시간 정보를 요청하는 현재 시각이 적용될 수도 있다.
여기서, 부분 최단시간 경유경로는 선택된 일부 지점으로 구성되는 단위 경로에 대한 예측 소요시간만을 기초로 산출된 최단시간 경유경로를 의미하는 것으로, 도 9에서와 같이 A, B, C, D, E 지점이 선택된 때에는 A->B, A->C, A->D, A->E, B->C, B->D, B->E, C->B, C->D, C->E, D->B, D->C, D->E, E->B, E->C, E->D의 단위 경로에 대한 예측 소요시간을 TSP 알고리즘 등에 적용하여 산출할 수 있다. 참고로, A지점이 출발위치로 지정되었기 때문에 B->A와 같이 A를 도착지점으로 하는 단위 경로는 제외될 수 있다.
부분 최단시간 경유경로가 산출되면, 부분 최단시간 경유경로의 마지막 지점과 마지막 지점에 도달하는 도달 예정시간을 기초로 출발위치와 기준시각을 재설정한다(S420). 여기서, 부분 최단시간 경유경로의 마지막 지점에 도달하는 도달 예정시간은 부분 최단시간 경유경로를 구성하는 단위 경로의 예측 소요시간을 기준시각에 모두 더하여 산출될 수 있다.
한편, 도달 예정시간은 단위 경로의 예측 소요시간 뿐 아니라 각 경유지에 머무르는 시간을 추가로 더하여 산출할 수 있을 것이다. 다만, 이때에는 부분 최단시간 경유경로에 포함되는 경유 지점이 복수 개이기 때문에 각 경유 지점별 머무르는 시간을 모두 더해주어야 한다.
이어서, 복수의 지점 중 선택되지 않은 나머지 지점이 더 이상 존재하지 않을 때까지 전술된 일부 지점을 선택하는 S400 단계, 부분 최단시간 경유경로를 산출하는 S410 단계, 및 출발위치와 기준시각을 재설정하는 S420 단계를 반복 수행한다(S430). 한편, 도 8에는 도시되지 않았으나, 재설정된 기준시각에서의 선택된 지점의 예측 소요시간을 재요청, 수신하는 과정이 수반된다.
도 9를 참조하면, 예컨대, 제1 부분 최단시간 경유경로로서 A->C->D->E->B가 산출되면, 제1 부분 최단시간 경유경로의 마지막 지점인 B를 새로운 출발위치로, B에 도달하는 시각인 T2를 기준시각으로 재설정한다.
이후, B로부터 나머지 지점까지의 거리를 기초로 일부 지점인 F, G, H를 선택하고 선택된 일부 지점인 B, F, G, H를 구성하는 단위 경로에 대하여 기준시각인 T2에서의 예측 소요시간을 API서비스 서버(30)에 다시 요청 및 수신하여 이를 기초로 제2 부분 최단시간 경유경로로서 B->G->F->H를 산출할 수 있다.
그리고 새로운 출발위치로서 제2 부분 최단시간 경유경로의 마지막 지점인 H와 나머지 지점인 I와 J지점에 대해서 H에 도달하는 시각인 T3를 기준시각으로 하여 전술된 과정을 수행함으로써 제3 부분 최단시간 경유경로인 H->J->I를 산출할 수 있다.
이어서, 경유할 지점이 존재하지 않을 때까지 전술된 과정을 반복 수행하는 과정에서 산출된 일련의 부분 최단시간 경유경로를 순차적으로 조합하여 최종적인 최단시간 경유경로를 산출한다(S440). 도 9에서는 제1 내지 제3 부분 최단시간 경유경로를 조합하여 최종적으로 A->C->D->E->B->G->F->H->J->I가 최단시간 경유경로로서 산출된 예를 보여준다.
이와 같이, 경로제공 서버(20)는 복수의 지점을 거리에 따라 그룹핑하고, 그룹별로 산출된 부분 최단시간 경유경로를 조합함으로써 시간에 따른 교통상황 등이 반영된 최단시간 경유경로를 산출할 수 있다.
이상에서 설명된 바와 같이, 본 발명의 실시예에 따른 경로제공 서버(20)는 단위 경로의 예측 소요시간을 기초로 최단시간 경유경로를 산출하면서 교통량, 교통상황 등에 의하여 시간에 따라 변화되는 예측 소요시간을 고려함으로써 실제에 더욱 부합하는 최단시간 경유경로를 산출할 수 있게 된다.
다시 도 3을 참조하면, 경로제공 서버(20)를 통하여 산출된 최단시간 경유경로는 사용자 단말기(10)로 전송되어 사용자에게 제공된다(S70).
한편, 이상에서 설명된 최단시간 경유경로 제공 방법은 상황에 따라 수정되거나 새로운 단계가 더 추가될 수도 있다.
예컨대, 사용자 단말기(10)에 최단시간 경유경로가 제공된 이후에도 경로제공 서버(20)는 사용자 단말기(10)로부터 현재 위치와 기경유한 지점에 관한 정보를 수신하여 복수의 지점 중 기경유한 지점을 제외한 지점에 대응하는 최단시간 경유경로를 재산출하여 사용자 단말기(10)에 다시 제공하는 단계가 더 포함될 수 있을 것이다.
지금까지 본 발명의 실시예를 간략히 설명하였으나, 본 기술분야의 통상의 지식을 가진 기술자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 안에서 본 발명을 변형하고 치환하는 것이 용이한 것을 이해할 수 있을 것이다.
그러므로 전술한 본 발명의 실시예는 예시적인 것으로 이해되어야 하며 본 발명의 보호범위는 특허청구범위에 기재된 발명의 균등범위에 미치는 것으로 해석되어야 한다.
10: 사용자 단말기 20: 경로제공 서버
21: 통신부 23: 단위경로 생성부
25: 시간정보 요청부 27: 경로 산출부
30: API서비스 서버

Claims (8)

  1. (a) 사용자 단말기가 복수의 지점에 관한 정보를 입력받는 단계;
    (b) 경로제공 서버가 상기 사용자 단말기로부터 수신된 상기 복수의 지점에 관한 정보를 기초로 상기 지점을 일대일로 맵핑하여 복수의 단위 경로를 생성하는 단계;
    (c) 상기 경로제공 서버가 미리 결정된 API를 기초로 기준시각에서의 상기 각 단위 경로에 대한 예측 소요시간 정보를 API서비스 서버에 요청하는 단계;
    (d) 상기 API서비스 서버가 상기 각 단위 경로에 대한 예측 소요시간을 산출하여 상기 경로제공 서버에 제공하는 단계;
    (e) 상기 경로제공 서버가 상기 각 단위 경로에 대한 예측 소요시간을 기초로 상기 복수의 지점을 최단시간으로 경유하는 최단시간 경유경로를 산출하는 단계; 및
    (f) 상기 경로제공 서버가 산출된 상기 최단시간 경유경로를 상기 사용자 단말기에 제공하는 단계를 포함하는 것을 특징으로 하는 최단시간 경유경로 제공 방법.
  2. 제1항에 있어서, 상기 (e)단계는,
    (e-1) 상기 기준시각에서의 각 단위 경로에 대한 예측 소요시간을 기초로 임시 최단시간 경유경로를 산출하는 단계;
    (e-2) 상기 임시 최단시간 경유경로의 시작점으로부터 적어도 한개 지점까지의 부분 경유경로를 채택하는 단계;
    (e-3) 채택된 상기 부분 경유경로를 통과하기 위한 예측 소요시간을 기초로 상기 기준시각을 재설정하는 단계;
    (e-4) 상기 부분 경유경로의 채택 후 가능한 나머지 단위 경로에 대하여 재설정된 상기 기준시각에서의 예측 소요시간을 상기 API서비스 서버에 재요청하는 단계; 및
    (e-5) 상기 가능한 나머지 단위 경로에 대하여 상기 (e-1) 단계 내지 상기 (e-4) 단계를 반복 수행하는 과정에서 채택된 상기 부분 경유경로를 순차적으로 조합하여 최종적인 최단시간 경유경로를 산출하는 단계를 포함하는 것을 특징으로 하는 최단시간 경유경로 제공 방법.
  3. 제1항에 있어서, 상기 (e) 단계는,
    (e-1) 복수의 후보 최단시간 경유경로를 산출하는 단계;
    (e-2) 상기 후보 최단시간 경유경로의 경유 순서에 따라 상기 후보 최단시간 경유경로를 구성하는 각 단위 경로별 진입 예정 시각을 산출하는 단계; 및
    (e-3) 상기 후보 최단시간 경유경로를 구성하는 상기 단위 경로의 상기 진입 예정 시각에서의 예측 소요시간의 총합을 기초로 상기 복수의 후보 최단시간 경유경로 중 택일하는 단계를 포함하는 것을 특징으로 하는 최단시간 경유경로 제공 방법.
  4. 제1항에 있어서,
    상기 (a) 단계에서 출발위치에 관한 정보를 더 입력받고,
    상기 (e) 단계는,
    (e-1) 상기 출발위치로부터 상기 각 지점까지의 거리를 기초로 상기 복수의 지점 중 일부 지점을 선택하는 단계;
    (e-2) 상기 기준시각에서의 상기 일부 지점으로 구성된 단위 경로의 예측 소요시간을 기초로 부분 최단시간 경유경로를 산출하는 단계;
    (e-3) 상기 부분 최단시간 경유경로의 마지막 지점과 상기 마지막 지점에 도달하는 도달 예정시간을 기초로 상기 출발위치와 상기 기준시각을 재설정하는 단계;
    (e-4) 상기 복수의 지점 중 선택되지 않은 나머지 지점이 존재하지 않을 때까지 상기 (e-1) 단계 내지 상기 (e-3) 단계를 반복 수행하는 단계; 및
    (e-5) 상기 반복 수행하는 과정에서 산출된 상기 부분 최단시간 경유경로를 순차적으로 조합하여 최종적인 최단시간 경유경로를 산출하는 단계를 포함하는 것을 특징으로 하는 최단시간 경유경로 제공 방법.
  5. 복수의 지점에 관한 정보를 입력받는 사용자 단말기;
    수신된 상기 복수의 지점에 관한 정보를 기초로 상기 복수의 지점을 일대일로 맵핑하여 복수의 단위 경로를 생성하고, 미리 결정된 API를 기초로 기준시각에서의 상기 각 단위 경로에 대한 예측 소요시간 정보를 요청하는 경로제공 서버; 및
    상기 각 단위 경로에 대한 예측 소요시간을 산출하여 상기 경로제공 서버에 제공하는 API서비스 서버를 포함하며,
    상기 경로제공 서버는, 상기 각 단위 경로에 대한 예측 소요시간을 기초로 상기 복수의 지점을 최단시간으로 경유하는 최단시간 경유경로를 산출하여 상기 사용자 단말기에 제공하는 것을 특징으로 하는 최단시간 경유경로 정보 제공 시스템.
  6. 제5항에 있어서,
    상기 경로제공 서버는,
    TSP(Traveling Salesman Problem) 알고리즘을 기초로 상기 최단시간 경유경로를 산출하는 것을 특징으로 하는 최단시간 경유경로 정보 제공 시스템.
  7. 제6항에 있어서,
    상기 경로제공 서버가 상기 TSP 알고리즘 적용을 위한 입력 파일의 생성시 상기 지점에 대응하는 노드의 위치는 임의의 가상 좌표계상에서 정의되며, 상기 노드를 연결하는 각 링크에는 상기 링크에 해당되는 상기 단위 경로에 대한 예측 소요시간이 할당되어 생성되는 것을 특징으로 하는 최단시간 경유경로 정보 제공 시스템.
  8. 제5항에 있어서,
    상기 사용자 단말기는 사용자의 현재 위치와 사용자가 기경유한 지점에 관한 정보를 더 입력받고,
    상기 경로제공 서버는, 상기 사용자 단말기로부터 수신된 상기 사용자의 현재 위치와 상기 기경유한 지점에 관한 정보를 기초로 상기 복수의 지점 중 상기 기경유한 지점을 제외한 지점에 대응하는 최단시간 경유경로를 재산출하여 상기 사용자 단말기에 제공하는 것을 특징으로 하는 최단시간 경유경로 정보 제공 시스템.
KR1020180012800A 2018-02-01 2018-02-01 최단시간 경유경로 정보 제공 시스템, 및 방법 KR102025433B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180012800A KR102025433B1 (ko) 2018-02-01 2018-02-01 최단시간 경유경로 정보 제공 시스템, 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180012800A KR102025433B1 (ko) 2018-02-01 2018-02-01 최단시간 경유경로 정보 제공 시스템, 및 방법

Publications (2)

Publication Number Publication Date
KR20190093318A true KR20190093318A (ko) 2019-08-09
KR102025433B1 KR102025433B1 (ko) 2019-09-26

Family

ID=67613899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180012800A KR102025433B1 (ko) 2018-02-01 2018-02-01 최단시간 경유경로 정보 제공 시스템, 및 방법

Country Status (1)

Country Link
KR (1) KR102025433B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110954119A (zh) * 2019-11-11 2020-04-03 广东振业优控科技股份有限公司 一种基于大数据的城市道路机动车最优线路诱导方法
KR102354580B1 (ko) * 2020-12-16 2022-01-24 충북대학교 산학협력단 복수의 목적지들에 대한 최적 경로를 탐색하기 위한 방법 및 이를 위한 장치
KR102377055B1 (ko) * 2020-12-11 2022-03-22 포티투닷 주식회사 주행 경로를 생성하기 위한 방법 및 장치
WO2022131716A1 (ko) * 2020-12-15 2022-06-23 포티투닷 주식회사 다중 경로 탐색을 수행하기 위한 방법 및 장치
KR102593517B1 (ko) * 2022-12-14 2023-10-23 배재대학교 산학협력단 맵 api를 이용한 최단 거리 알고리즘 기반 보행자 경로 탐색 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183877A (ja) * 2000-12-11 2002-06-28 Hitachi Ltd 経路及び周辺情報案内システム
JP2005164384A (ja) * 2003-12-02 2005-06-23 Nara Institute Of Science & Technology 経路探索システム、サーバ、携帯端末、経路探索装置、経路探索プログラム
JP2005316983A (ja) * 2004-03-31 2005-11-10 Hiromasa Chiba 複数地点を経由して乗降・集配等を行う車両運行管理システム
KR100839157B1 (ko) * 2007-04-16 2008-06-19 에스케이 텔레콤주식회사 경로 최적화 시스템 및 방법과 이를 위한 이동통신 단말기
KR101510623B1 (ko) * 2013-11-04 2015-04-09 남서울대학교 산학협력단 박람회 및 전시장에서의 전시 안내 시스템 및 그 안내 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183877A (ja) * 2000-12-11 2002-06-28 Hitachi Ltd 経路及び周辺情報案内システム
JP2005164384A (ja) * 2003-12-02 2005-06-23 Nara Institute Of Science & Technology 経路探索システム、サーバ、携帯端末、経路探索装置、経路探索プログラム
JP2005316983A (ja) * 2004-03-31 2005-11-10 Hiromasa Chiba 複数地点を経由して乗降・集配等を行う車両運行管理システム
KR100839157B1 (ko) * 2007-04-16 2008-06-19 에스케이 텔레콤주식회사 경로 최적화 시스템 및 방법과 이를 위한 이동통신 단말기
KR101510623B1 (ko) * 2013-11-04 2015-04-09 남서울대학교 산학협력단 박람회 및 전시장에서의 전시 안내 시스템 및 그 안내 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110954119A (zh) * 2019-11-11 2020-04-03 广东振业优控科技股份有限公司 一种基于大数据的城市道路机动车最优线路诱导方法
CN110954119B (zh) * 2019-11-11 2022-02-18 广东振业优控科技股份有限公司 一种基于大数据的城市道路机动车最优线路诱导方法
KR102377055B1 (ko) * 2020-12-11 2022-03-22 포티투닷 주식회사 주행 경로를 생성하기 위한 방법 및 장치
WO2022124779A1 (ko) * 2020-12-11 2022-06-16 포티투닷 주식회사 주행 경로를 생성하기 위한 방법 및 장치
KR20220083640A (ko) * 2020-12-11 2022-06-20 포티투닷 주식회사 주행 경로를 생성하기 위한 방법 및 장치
WO2022131716A1 (ko) * 2020-12-15 2022-06-23 포티투닷 주식회사 다중 경로 탐색을 수행하기 위한 방법 및 장치
KR102354580B1 (ko) * 2020-12-16 2022-01-24 충북대학교 산학협력단 복수의 목적지들에 대한 최적 경로를 탐색하기 위한 방법 및 이를 위한 장치
KR102593517B1 (ko) * 2022-12-14 2023-10-23 배재대학교 산학협력단 맵 api를 이용한 최단 거리 알고리즘 기반 보행자 경로 탐색 방법 및 장치

Also Published As

Publication number Publication date
KR102025433B1 (ko) 2019-09-26

Similar Documents

Publication Publication Date Title
KR102025433B1 (ko) 최단시간 경유경로 정보 제공 시스템, 및 방법
US9175972B2 (en) Route planning
US20150185022A1 (en) Stereoscopic indoor route providing apparatus, system and method
JP6140312B2 (ja) 複数の経由地を含む最適経路伝達方法及びこのための装置
US20160187138A1 (en) Crowd-Assisted Micro-Navigation
US9166906B2 (en) Routing method in asymmetric networks
Xie et al. Combined traffic control and route choice optimization for traffic networks with disruptive changes
JP2009002896A (ja) 経路算出装置、経路算出システム、および経路算出方法
JP7397870B2 (ja) 通信サーバ装置、交通関連サービスのためのリクエストを管理するための方法及び通信システム
JP2000046576A (ja) 移動体誘導装置及びその方法並びにプログラムを記録した機械読み取り可能な記録媒体
JP5132694B2 (ja) データ生成装置、データ生成方法及び経路探索装置
TWI637148B (zh) 規劃會面點與路徑的方法、電子裝置與電腦可讀紀錄媒體
KR101676847B1 (ko) 여행경로 추천에 의한 여행일정 제작 방법 및 그 시스템
JP2016211900A (ja) 情報処理装置、経路探索方法、交通情報データ、およびコンピュータプログラム
JP2020027348A (ja) 情報処理装置及び情報処理方法、プログラム
JP2007218742A (ja) 経路探索装置および経路探索システム
Kitayama et al. A route recommender system based on the user’s visit duration at sightseeing locations
JP2021197570A (ja) コンピューティングサービス管理装置、方法、およびプログラム
JP6658748B2 (ja) 経路管理システム、経路管理方法及びコンピュータ読み取り可能記録媒体
KR101912590B1 (ko) 고객 방문 경로 최적화 방법 및 시스템
Shirabe A path that buys time to decide where to go
JP2020046652A (ja) サーバ装置、システム、方法およびプログラム
JP2015194438A (ja) 地図データ構造、経路探索装置、および経路探索方法
JP6293016B2 (ja) 経路探索装置及び経路探索プログラム
Kulkarni et al. Departure Time Planner for Multimodal Public Transport Network Using Dynamic Programming

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right