2014-03-06 3 views
1

여기지도 기반 웹 응용 프로그램을 구축 중입니다. 주요 기능으로는 스프레드 시트 파일 (.xls, .xlsx)을 서버에 업로드하고 파일의 주소가있는 경로를 최대 500 개의 웨이 포인트로 계획하는 기능이 있습니다.거리 별 경로 최적화

물론 이러한 웨이 포인트는 최적화 된 순서가 아니므로 사용자가 "최적 경로"버튼을 클릭하면 거리별로 최적화 할 수 있습니다.

  • 샌프란시스코
  • 롱 아일랜드
  • 기본적으로 경로가 SF로 NY에서 이동하는 것을

    1. 뉴욕 : 파일이 세 주소가있는 경우 예를 들어

      , 다시 LI로 돌아갑니다.

      의 거리를 확인하고이 같은 방법으로 웨이 포인트의 배열 순서를 바꿀 것입니다 응용 프로그램 :

      NY -> LI - SF를>

      내 질문 : 가 경로 최적화 기능이 내장되어 여기지도에서, 또는 내가 직접 작성해야합니까?

    +0

    에서 다음 웨이 포인트

  • 반복된다. com/search? q = % 5Bhere-api % 5D + optimize), 불행하게도 구글 맵을 사용해야 할 것 같습니다. 솔루션에 요청에 'optimize : true'를 추가하는 것만 큼 간단합니다. 검색어] (https://developers.google. –

  • +1

    ** 업데이트 ** 좋아요, 여기 보이는 것처럼지도는 실제로 우리가 필요로하는 것과 같은 것을 가질 수 있습니다 : [Waypoints for Car] (https://developer.here.)//지도/문서/길 찾기/소개 # OptimizeWaypoints co.kr/api-explorer/rest/routing_waypoints/sequence-waypoints-car-route)를 참조하십시오. 그 부분이 예제 섹션에 깊이 묻혀있는 이유는 확실하지 않습니다. –

    답변

    2

    Matrix Routing API (로그인 필요)을 살펴 봐야합니다. 이것은 각각의 N x M 위치 사이의 "실제"거리를 계산합니다. 이 정보를 사용하여 문제를 Travelling Salesman Problem으로 줄였습니다. 물론 TSP는 NP로 완성되었으므로 무차별 대입 알고리즘을 사용하지 않으면 최적의 답을 얻었음을 확신 할 수 없습니다.

    개인적으로는 가장 가까운 이웃 솔루션을 살펴볼 것입니다. 코드를 작성하는 것이 빠르고 간단하며 최적의 솔루션이 아니라면 보통 "합리적인"값을 반환합니다. 당신은 필요에 따라 더 복잡한 알고리즘을 업데이트 할 수 있습니다 : 아래

    의사 코드 : 지점에서

    1. 시작 남아있는 모든 점에 대한
    2. 매트릭스 라우팅 요청을. // 유래 :
    3. 가까운 찾기이 정말이 여기지도 사용하여 수행 얻을 싶어하고 ([쉬운 솔루션을 찾고] HTTP했다 2 단계
    +0

    다시 한번 감사드립니다. 이것은 제가 발견 한 가장 쉬운 방법입니다. – PeterInvincible

    +0

    여기에 대한 답변을 확인해 주셔서 감사합니다. 하나의지도 문제를 도와주세요. -> http://stackoverflow.com/questions/22249057/how-to-display-loading-icon-while-rendering-markers-on-the-map –

    0

    여행 판매원 문제라고합니다.

    어떤 장소에서 지원하는 다른 장소까지의 거리 테이블이 있어야합니다.

    일단 일반 여행 판매원 알고리즘을 사용할 수 있습니다.

    매우 느리게 진행된다는 경고를받습니다.