Traveling Salesman Problem
--计算一组点上的最短路线——但要收费。在苹果的世界里,Polyline和MKRoute似乎很有前途,但我在文档中找不到任何东西表明它们支持两个以上的点——start和dest。使用MapKit和/或Core Location解决TSP问题是否有人运气好?似乎可以使用以下方法计算节点之间所有边的时间距离:
request.source = startLocation
request.destination = destLocation
request.requestsAlternateRoutes = true
request.transportType = .automobile
let directions = MKDirections(request: request)
directions.calculate { (directions, error) in
if var routeResponse = directions?.routes {
routeResponse.sort(by: {$0.expectedTravelTime <
$1.expectedTravelTime})
let quickestRouteForSegment: MKRoute = routeResponse[0]
completion(quickestRouteForSegment.expectedTravelTime)
}
}
}