news 2026/4/18 12:47:08

第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛第一赛季优化题--无人机配送

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛第一赛季优化题--无人机配送

前言

“全球校园人工智能算法精英大赛”是江苏省人工智能学会举办的面向全球具有正式学籍的全日制高等院校及以上在校学生举办的算法竞赛。其中的算法巅峰赛属于产业命题赛道,这是第一赛季,对最后一道优化题进行浅浅地解读。

无人机配送

问题描述

低空经济的应用场景不断上新,无人机在快件配送、医疗物资转运等方面发挥了重要作用。每个城市都建有一条竖直的无人机航站楼,航站楼上分布着若干起降点。
作为“巅峰航空"的航司调度员,你接到了一个任务,在每个城市的无人机航站楼上都选取一个起降点,并把这些点连接成一条运输路径,路径顺序由你决定。
路径可以自任意一个城市开始,并最终返回这个起始城市。

无人机飞行时有两种主要消耗:

(1)时间消耗:用两点之间的直线距离(欧氏距离)来表示,距离越短,时间消耗越少,时效性越好

(2)动能消耗:如果后一个点比前一个点的高度更高,就需要额外的能量爬升。用两点间的“斜率”(高度差÷水平差)来表示,如果下降或水平则不计。

不同的无人机航空公司有着不同的经营策略,廉价航空更注重成本控制,精品航空则更注重时效性。“巅峰航空"为你配置了一个权衡系数k,用来平衡“时效“与“能耗”的重要性,

k越大,越重视降低能耗,应尽可能选择平缓路线;k越小,越重视提升时效,应尽可能缩短总距离。

你的目标是通过合理的航线调度,实现更少的综合消耗。综合消耗=(1-k)x 总距离之和÷D+kx 总爬升斜率之和÷S.

你的k值为0.6。

输入格式

第1行:城市数量 M。
接下来每个城市:
1行:城市的起降点数量n和该城市的横坐标x;
下1行:n 个纵坐标y,表示该城市所有起降点的位置。

最后1行:D和S,用于将综合能耗的计算调至相同量级(归一化基准)。

其中,M、n、x、y、D、S均为整数,2≤M≤200,1≤n≤20,0x≤10000,0≤y≤10000。

输出格式

输出1行:以“@“相隔的M个数据对(城市序号,航站楼起降点席号)

其中,城市序号指该城市在输入中的出现次序,航站楼起隆点席号指该起隆点在该城市航站楼的出现次序。无人机在到达最后-个城市后将自动返回起始城市,故无需在未尾再次输出起始城市。

输入样例

3
3 2
1 3 8
4 6
4 8 9 10
4 10
1 3 7 10
7 1

输出样例

(1,3)@(3,3)@(2,2)

该示例仅作为输出的格式示例,并不代表该示例的综合消耗最少。


思路分析

这题是 TSP 的变体。

  1. 重新定义了距离,引入了斜距(不利于可视化),

  2. 重新定义了边,点与点之间变成了特殊的有向边

    如何理解这个“特殊的有向”,简单来说:

    dist(a, b) != dist(b, a)


历来TSP 问题核心操作因子是

交换 交换交换

点交换,边交换,区间交换等等

但这个 tsp 有向边的特殊性,导致只有点交换依旧有效(可以思考下为什么)

另一方面,其数据规模达到百级别,但只有10 秒时限,根本没有给成熟元启发式算法时间去进化。

因此这题最核心的解法

近似算法为主,元启发算法为辅助 ( 可忽略) 近似算法为主,元启发算法为辅助(可忽略)近似算法为主,元启发算法为辅助(可忽略)


高分思路

高分思路,大概分两种策略

  • 先确定好序列(航站点),然后再确定具体序列里的参与点(起降点)
  • 动态调整构造(航站点+起降点)

这题高分思路非常多,挑几个讲讲。


以先确定序列,再确定参与点为列

按x轴排序(航站楼)+环状层序 DP(起降点)

这个思路,比赛的时候,很多人采用了

# 按 x 轴排序 sort(stations, key=lambda s: s.x) # 这边的 dp 有些复杂,大概这个架构(忽略边界,路径跟踪) # dp[i][j], path[i][j] for z in range(len(stations[0].ys): # 确定从第一个站点的第i 起降点出发 dp[0][z] = 0 for i in range(m - 1): for j in range(len(stations[i].ys)): for k in range(len(stations[i+1].ys)): dp[i+1][k] = min(dp[i+1][k], dp[i][j] + dist(stations[i].ys[j], stations[i+1].ys[k])) #处理最后的环,即m-1 到 0 节点 for j in range(len(stations[m - 1].ys)): #取最小的 min dp[m - 1][j] + dist(stations[m - 1].ys[j], stations[0].ys[z]);

不过大概只有 169 分,因为这是确定性算法,所以导致当时比赛的时候,很多人在这个分数点聚集成了一个小区间。

后面几个赛季感觉组委会引入时间耗时,内存消耗作为波动小分,打散了这种确定算法相同分数的情况。


多策略排序(航站楼)+环状层序 DP(起降点)

基于第一种思路,稍微做一些改进

根据多种策略,进行排序

  • 按 x 坐标排序
  • 按 y 坐标中位数,1/3 位数,2/3 位数,随机点排序
  • 按 x 坐标+y 坐标加权排序

注意:这里的排序,可以升序,也可以降序

后续采用同样的 DP 算法。

虽然看起来有些玄学,但是效果真不错,实测接近 400 分。


未完待续


基准测试

未完待续


写在最后

这篇文章是晚于 第二赛季和第三赛季,补上是因为想补齐整个赛季(单纯的完美主义作祟)。

那为啥之前一开始不写呢?

完败于 A I 大模型的深深无奈和绝望 完败于 AI 大模型的深深无奈和绝望完败于AI大模型的深深无奈和绝望

犹记得 2024 年3D 打印机 那道优化题,其实做了很长时间的算法调研对比,还特意构建一整套测试框架,可视化调试工具,最后优化到满分。

有兴趣可以参看下文:

第六届全球校园人工智能算法精英大赛-算法巅峰专项赛

但是短短的一年内,AI 大模型的进化速度之快,令人骇人,它彻底改变了比赛的底层逻辑。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 15:20:01

8 个AI论文工具,继续教育学员快速完成写作!

8 个AI论文工具,继续教育学员快速完成写作! AI 工具如何助力论文写作? 在当前的学术环境中,继续教育学员面临着越来越高的论文写作要求。无论是学位论文、研究课题还是课程作业,都需要高质量的内容支持。而 AI 工具的…

作者头像 李华
网站建设 2026/4/18 9:46:36

比特彗星(BitComet) v2.19解锁全功能豪华版

🔞简介:BitComet(比特彗星)是一款专业的老牌国产BT下载软件,堪称BT资源下载利器!BitComet独有长效种子功能,大幅度增加下载速度,增加种子存活率。这款BT下载客户端支持BT/HTTP/FTP,支持BitTorrent(BT协议)、…

作者头像 李华
网站建设 2026/4/18 9:23:02

CTF比赛必备常用工具(附下载方式)_ctf工具

文中介绍的所有工具,均在压缩包中,结合本文更便于大家下载使用,快速上手。 CTF常用工具下载 CTF比赛必备常用工具 一、什么是CTF二、比赛中工具的重要性三、常用MISC(杂项)工具 1. Audacity (提取莫斯密码辅…

作者头像 李华
网站建设 2026/4/18 7:52:17

面向新手的CTF实战教学

一、初窥门径 首先,我们登录ctf.pediy.com,找到“2019看雪CTF晋级赛Q1”,然后就从第1关开始我们的夺旗之路吧。 第一关“流浪者”,题目要求输入正确的注册码。我们将程序下载下载后双击,会出现一个输入注册码的界面。…

作者头像 李华
网站建设 2026/4/18 9:22:59

从0学习CTF-从ctfhub来了解ctf、HTTP协议、信息泄露

**# 从0学习CTF-从ctfhub来了解ctf、HTTP协议、信息泄露 在众多的ctf平台当中,作者认为ctfhub对于初学者来说,是入门平台的不二之选。ctfhub通过自己独特的技能树模块,可以帮助初学者来快速入门。www.ctfhub.com 0x2 什么是ctf 这里作者截取…

作者头像 李华