使用遗传算法优化驾驶路线丨数析学院-DAT文件

该 notebook 提供了这篇 blog 用到的方法和代码 Computing the optimal road trip across the U.S.

需要的 Python 库

如果你的电脑上没有 Python,你可以使用 Anaconda Python distribution 来安装大部分你需要的 Python package。Anaconda 提供了一个简单方便的安装程序。

除了 googlemaps 和 pandas package 之外,这些代码的使用基于 Python 基础库。在命令行中,你可以使用 pip安装这些库:

pip install pandas

pip install googlemaps

如果你使用 Mac、 Linux 或者 Unix machine,你可能需要在命令之前键入 sudo,使用管理员权限安装 package。

建立公路旅游路线的列表

第一步是决定在公路旅行时,你想在哪里停。

确保您首先查看 Google Maps 上的所有位置,以便你具有正确的地址、城市、州等。如果用于查看位置的名字在 Google Maps 上无法起效,则它在这里也无法起效。

将所有路标添加到下面的列表中,确保它们的格式与下面的示例相同。

技术说明:由于Google Maps API的日常使用限制,您最多只能有70个路标。如果您想添加更多的路标,您将不得不为了增加的API限制值,向Google支付费用

使用遗传算法优化驾驶路线丨数析学院

使用遗传算法优化驾驶路线丨数析学院

接下来,你必须使用 Google Maps API 注册此脚本,以便他们知道谁在用数百个 Google Maps 路由请求冲击他们的服务器。 1) 用你的 Google 账户使用 Google Maps Distance Matrix API。 Google 说明 here. 2) 复制和粘贴它们生成的 API key 到下面的代码中。

使用遗传算法优化驾驶路线丨数析学院

现在,我们将查询 Google Maps API,寻找所有路标之间的最短路线。

这相当于在 Google 地图网站上进行 Google 地图路线查询,除了现在我们正在使用代码自动执行数百次查询。

如果您在此部分遇到错误,那么很有可能意味着在 Google Maps 上找不到你输入的路标。另一个可能的错误的原因是,如果在这些点之间不可能开车,例如,寻找夏威夷和佛罗里达之间的行车路线将会返回错误,直到我们发明飞行汽车。

推荐阅读