我正在尝试找到通过 A、B、C 和 D 点的最佳驾驶方式
有一些额外的限制 - 某些点必须在其他点之前达到。说 D 必须在 B 之前到达。换句话说,为某些点排序。
如果没有额外的限制,Google Maps apis 可以帮助解决这个问题。
是否有其他服务可以帮助解决此问题?有没有办法用我错过的谷歌地图 api 来做到这一点?
最佳答案
旅行商问题可以表述为 integer programming problem (此链接给出了一个公式)或 constraint programming problem ,因此您可以使用任何 MIP 或 CP 求解器,例如 CBC或 Gecode使用您要添加的任何额外约束来解决 TSP 问题。但是,如果您需要在 Google Maps 上绘制结果,则必须使用 Google Maps API 手动完成。
如果您更喜欢基于 Web 的解决方案,那么您可以使用 NEOS server for optimization通过 XML-RPC API 提供对各种求解器的访问.作为一个额外的优势,此方法允许使用高级建模语言提交问题,例如 AMPL。而不是直接处理低级求解器 API。
关于google-maps - 有一些限制的旅行推销员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14971951/