网易首页 > 网易号 > 正文 申请入驻

供应链路径优化实战:用 Folium 可视路径优化模型结果

0
分享至

3 年前的真实案例:Folium可视路径优化模型结果 在上一篇文章 《Folium 终极参数手册:完整 GIS 可视化指南》 ,是基于我 3 年前的一个路径优化项目总结而来——这个项目也是我从业务转向 IT、是我首次接触路径优化,并且首次用python独立 落地路径优化项目。

起初我用Folium构建了一个物流路径优化 Demo,用来和业务沟通模型效果并对模型进行优化,以今天的眼光看这可视化效果略显粗糙,但它帮助我快速实现了配送路径优化的原型,并赢得了宝贵的学习时间, 后续我给公司独立开发的智能路由优化系统便是基于该Demo 逐步升级而成。

一个不完美的开始,远比完美的等待更重要!
真实业务场景:路径优化的痛点与解决方案
挑战 1:配送路径规划难,业务如何验证优化方案?

痛点

  • 供应链优化模型提供的最优路径可能与业务经验不符,导致一线运营团队难以信任新方案。

  • 业务希望能直观对比优化前后的路径差异,判断方案是否合理。

Folium 解决方案

  • 使用PolyLine叠加优化前后路径,让业务团队直接对比新旧配送方案,理解路径调整的意义。

  • 结合高德 API 获取真实导航路径,避免纸上谈兵,让路径优化更符合实际运输情况。

技术实现:folium.PolyLine(locations=real_navigation_path, color="blue", weight=5, popup="优化后路径")
挑战 2:路径优化的收益难以量化,管理层难以感知价值

痛点

  • 业务和管理层难以直观看到路径优化后运输成本降低、行驶时间缩短等收益。

  • 传统表格数据不够直观,难以快速展现优化带来的价值。

Folium 解决方案

  • 在地图上叠加订单数据统计表,展示各条线路的订单数、载重利用率、运输成本,让管理层一目了然。

  • 利用DualMap左右对比优化前后方案,业务可以动态查看路径调整带来的运输距离变化,直观评估优化收益。

技术实现: branca.element.Template() 用于在地图上显示 订单数据统计表 plugins.DualMap() 创建 左右对比优化前后的地图
挑战 3:配送数据零散,业务缺乏整体感知

痛点

  • 业务需要综合考虑多个维度(工厂 → 配送中心 → 终端门店),但数据过于分散,缺乏整体感知能力。

  • 需要一种方式将供应链网络的核心节点、路径、订单数据直观呈现。

Folium 解决方案

  • 在地图上标记工厂、配送中心、终端门店,形成完整的供应链配送网络可视化。

  • 使用FeatureGroup对配送线路进行分层管理,业务团队可以按区域或配送模式筛选特定路线,清晰查看特定区域的配送情况。

技术实现: folium.Marker(location=[32.03, 116.13], icon=folium.Icon(color="red", icon="bank")) folium.FeatureGroup("线路 A").add_to(m)
挑战 4:业务如何确认路径优化后的合理性?

痛点

  • 业务团队担心优化后的路径调整会影响既有的配送习惯,导致执行困难。

  • 需要一种方式直观呈现配送的先后顺序,确保调整后路径仍符合实际业务需求。

Folium 解决方案

  • 使用BeautifyIcon在地图上标记配送顺序,让业务团队清晰看到优化后站点访问的先后顺序

  • 结合LayerControl图层管理,让业务可以自由切换不同路径,逐步适应优化方案的调整。

技术实现: plugins.BeautifyIcon(number=1, text_color="#00ABDC") 标记配送站点编号 folium.LayerControl(collapsed=False).add_to(m) 实现动态线路切换

Folium使用高德地图作为底图,更符合用户习惯

Folium 默认使用国外地图,但在国内,我们可以替换为高德地图,保证更真实的导航路线,这样就是我们熟悉的地图,更接地气。

folium.raster_layers.TileLayer(     tiles='http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}',     attr="AutoNavi",     name="高德地图",     max_zoom=20,     overlay=False,     control=True, ).add_to(m)

应用场景

✅ 让地图更符合国内使用习惯

✅ 搭配高德 API获取真实导航路径

地图上标记配送网络,标记工厂、配送中心、终端门店

folium.Marker(     location=[32.2, 116.1],       icon=folium.Icon(color="red", icon="bank", prefix="fa"),       popup=folium.Popup("工厂") ).add_to(m)

应用场景: ✅工厂 → 配送中心 → 门店都可以用folium.Marker()标记,点击后弹出信息框,信息框可以承载业务很多细节信息。

地图上获取真实高德导航路线

供应链优化必须考虑真实路况,我们可以用高德 API 获取导航路径,然后用PolyLine()绘制。

folium.PolyLine(     locations=real_navigation_path,  # 真实导航路径     color="blue",     weight=5,     opacity=0.8,     popup="配送路线" ).add_to(m)

应用场景

确保配送路径符合实际导航

评估优化后的行驶距离 & 运输时间

标记配送顺序,根据顺序判断线路合理性

业务人员关心配送的先后顺序,我们用plugins.BeautifyIcon()添加编号:

icon_number = plugins.BeautifyIcon(     border_color="green",     text_color="#00ABDC",     number=1,  # 第 1 个配送点     inner_icon_style="margin-top:0;" ) folium.Marker(location=[31.5, 116.0], icon=icon_number).add_to(m)

应用场景

标记配送路线的顺序,减少混乱

快速识别不同门店的配送先后

分组管理配送线路,通过颜色等属性快速分辨不同类型

如果有不同的分组类型,我们可以使用FeatureGroup()分组管理:

line_A = folium.FeatureGroup("线路 A") m.add_child(line_A) line_B = folium.FeatureGroup("线路 B") m.add_child(line_B)

应用场景

支持按线路筛选 & 显示/隐藏特定线路

清晰管理不同区域的配送路线

在地图上加载表格统计信息,结果一目了然

如何让数据更直观?在地图上加载订单统计表!我们用HTML + CSS在地图上显示配送数据统计

from branca.element import MacroElement, Template table_html = """ position: fixed; bottom: 20px; left: 20px; background: white; padding: 10px;              border-radius: 8px; opacity: 0.9; z-index:9999; font-size:12px; ">     配送线路统计     ">                             1 线路 订单数 载重利用率 运输成本 线路 A 25 80% ¥5000 线路 B 30 85% ¥6000 """ macro = MacroElement() macro._template = Template(table_html) m.get_root().add_child(macro)

应用场景

在地图上实时查看订单数据

展示各线路的订单数量 & 运输成本

方案对比:优化前 vs. 优化后

在供应链优化中,我们需要对比优化前后的方案,看是否降低了配送成本。我们用plugins.DualMap()显示优化前后的路径

m = plugins.DualMap(location=[35.5427, 116.2317], zoom_start=5, tiles=None)

应用场景

左侧:显示优化前方案

右侧:显示优化后方案

添加图层控制,精细控制线路展示

多条配送线路时,我们需要“筛选开关”来控制显示/隐藏特定路线。

folium.LayerControl(collapsed=False).add_to(m)

应用场景

手动切换不同的配送线路

更清晰地分析每条线路的优化效果

保存地图

最终,我们可以将地图保存成 HTML,方便随时查阅:

m.save("配送网络优化.html")
路径优化 Folium 组件总结
功能Folium 组件应用场景创建地图folium.Map()

供应链网络可视化

使用高德地图folium.raster_layers.TileLayer()

国内地图兼容性更好

标记配送点folium.Marker()

显示工厂/仓库/门店

绘制运输路线folium.PolyLine()

展示真实导航路径

配送顺序编号plugins.BeautifyIcon()

标记配送顺序

对比优化前后方案plugins.DualMap()

评估优化效果

在地图上加载表格m.get_root().add_child(macro)

显示配送数据

如果你只需要一个离线可视化工具,Folium 版本完全够用。 如果你想打造更智能的优化系统,那就得关注我了,后续我除了分享供应链建模的知识外,还将分享我是怎么能够从业务成功转型背后的因素。 在后续的路径优化课程学习时,我们可以来复现这个案例。

THE END

近期活动

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
华为新机突然官宣:7月14日,正式发布

华为新机突然官宣:7月14日,正式发布

科技堡垒
2026-07-07 08:50:07
小蜘蛛:真的已经没有多少辞藻可以描述梅西本届赛事的表现了

小蜘蛛:真的已经没有多少辞藻可以描述梅西本届赛事的表现了

懂球帝
2026-07-08 03:09:06
“打扮成这样,你还挺自信?”开家长会发8条视频,旁观者忍不了

“打扮成这样,你还挺自信?”开家长会发8条视频,旁观者忍不了

世界圈
2026-07-07 09:08:51
从4700万顶流暴跌至20万!唐艺断崖式陨落,给全体网红一个警告?

从4700万顶流暴跌至20万!唐艺断崖式陨落,给全体网红一个警告?

TVB的四小花
2026-07-06 12:26:08
丢人丢到全亚洲,马来西亚媒体都来嘲讽新加坡:反应这么大干嘛?

丢人丢到全亚洲,马来西亚媒体都来嘲讽新加坡:反应这么大干嘛?

圆梦的小老头
2026-06-23 00:05:01
3比2!阿根廷逆转埃及晋级,看完整场比赛,不得不承认4个事实

3比2!阿根廷逆转埃及晋级,看完整场比赛,不得不承认4个事实

王大发不懂球
2026-07-08 06:42:46
高善文因病去世,年仅55岁,生前曾任北大金融校友联合会会长,前工作人员:他是一个有情怀的人,曾捐资设立奖学金资助学子

高善文因病去世,年仅55岁,生前曾任北大金融校友联合会会长,前工作人员:他是一个有情怀的人,曾捐资设立奖学金资助学子

极目新闻
2026-07-07 21:59:36
状态欠佳?数据揭示尴尬纪录:大马丁5场世界杯比赛场场评分倒数

状态欠佳?数据揭示尴尬纪录:大马丁5场世界杯比赛场场评分倒数

伟少说球
2026-07-08 02:25:46
“D级危楼,存在较大安全隐患”,甘肃省天水市政府机关办公楼发布搬迁公告

“D级危楼,存在较大安全隐患”,甘肃省天水市政府机关办公楼发布搬迁公告

大象新闻
2026-07-06 22:50:12
伊朗革命卫队在霍尔木兹海峡阿曼一侧水域对一油轮采取行动

伊朗革命卫队在霍尔木兹海峡阿曼一侧水域对一油轮采取行动

澎湃新闻
2026-07-07 19:45:09
全国各大寺院陷入倒闭潮,并非缺顾客,而是自己把自己搞垮了!

全国各大寺院陷入倒闭潮,并非缺顾客,而是自己把自己搞垮了!

糖逗在娱乐
2026-07-05 21:30:04
凌晨,局势突变!美军发动袭击!美股全线大跌,油价飙涨

凌晨,局势突变!美军发动袭击!美股全线大跌,油价飙涨

数据宝
2026-07-08 07:51:50
18级超强台风?官方声明!“巴威”对浙江影响这一天最明显!务必当心!

18级超强台风?官方声明!“巴威”对浙江影响这一天最明显!务必当心!

新浪财经
2026-07-07 15:55:07
发现一个扎心的真相:穷人的富养是带孩子吃喝玩乐,喂大了孩子的胃口;富人的富养是教孩子看清世界的真相和规则,掌握两条解决问题的方法

发现一个扎心的真相:穷人的富养是带孩子吃喝玩乐,喂大了孩子的胃口;富人的富养是教孩子看清世界的真相和规则,掌握两条解决问题的方法

心理观察局
2026-07-05 07:00:10
美国终止对伊朗石油制裁豁免

美国终止对伊朗石油制裁豁免

澎湃新闻
2026-07-08 04:46:53
广西洪水致养蛇场蛇逃出,约900条,画面太可怕,有人受伤抢救

广西洪水致养蛇场蛇逃出,约900条,画面太可怕,有人受伤抢救

180视角
2026-07-07 15:53:00
印度首富之女惊艳巴黎秀场,1300万钻石爱马仕惹眼,却也引发争议

印度首富之女惊艳巴黎秀场,1300万钻石爱马仕惹眼,却也引发争议

译言
2026-07-07 09:22:03
巴拉圭议员回应姆巴佩:收回你的话,否则我将以性别暴力为由采取法律行动

巴拉圭议员回应姆巴佩:收回你的话,否则我将以性别暴力为由采取法律行动

懂球帝
2026-07-07 10:13:19
美国队主教练:国际足联裁定巴洛贡可以上场,那这就不是问题

美国队主教练:国际足联裁定巴洛贡可以上场,那这就不是问题

澎湃新闻
2026-07-07 13:02:27
没有这种食物,你的肌肉将消失!医生:55岁后恢复肌力的8种食物

没有这种食物,你的肌肉将消失!医生:55岁后恢复肌力的8种食物

健康之光
2026-07-01 17:48:26
2026-07-08 08:28:49
犀象会展
犀象会展
ACE供应链创新
869文章数 108关注度
往期回顾 全部

科技要闻

全球下载量第一,可阿里AI还没学会赚钱

头条要闻

男子拧开煤气欲迷奸少女却引发爆炸 少女90%皮肤烧伤

头条要闻

男子拧开煤气欲迷奸少女却引发爆炸 少女90%皮肤烧伤

体育要闻

比利时干掉美国:正义必胜大喜剧!

娱乐要闻

私密照流出!曝关晓彤曾两次原谅鹿晗

财经要闻

桔子数科暴雷启示录:合规定生死

汽车要闻

试驾全新坦克300 Hi4-Z/激光雷达/全场景NOA

态度原创

家居
健康
亲子
教育
军事航空

家居要闻

2026建博会(广州) 公装联探展交流活动

粘食吃多了腹胀腹痛的居家缓解妙招

亲子要闻

法国神药会让胎儿男变女?网红一句话,全网男人都去问妈妈了

教育要闻

还在用点餐神技the same?别人该笑你没文化了!

军事要闻

伊朗外长:若威胁继续 不会启动最终谈判

无障碍浏览 进入关怀版