1.初赛

题目是网络流量均衡。再带宽限制的图中求不同请求带宽的各条业务的最短路径使总成本最小。
解题思路:

  1. 对业务进行排序,优先级高的业务去走热点链路,优先级低的业务发现热点链路已经达到带宽上限就绕路而行。尝试过按请求带宽大小降序排序业务,效果并不理想。后来按在不限制带宽的图中求得的最短路径跳数升序排序提升效果明显,这样做是原因为跳数越少的业务放在前面跑可以防止其在后面跑遇到热点链路而去绕很远的路到达终点,跳数大的业务本来的路径已经很长了,再绕路付出的额外代价不多。这种思想就是防止短路退化为长路。
  2. 加大热点链路的权重,把热点链路上的流量分流到其它链路。这么做的目的是让那些一开始走热点链路的业务退而求其次去走比原路径稍长的路径,从而缓解热点链路的压力。问题变为给各条热点链路加上多少权重,会得到能使总成本最小的热点链路分配方案,让每条业务去选择绕开哪条热点链路而走哪条热点链路。尝试过用遗传算法去搜索最优解,可是收敛速度太慢,只能放弃。最后采取的方法是先加大一点热点链路的权重,利用率越高的链路加的权重越多,然后让业务在更新过热点链路权重的图中再跑一次,重新检测出热点链路,继续加大这些热点链路权重。重复多次。寻找最佳迭代次数。

初赛最终获得了第六名的成绩,还是比较满意的。

2.决赛选拔

决赛从前32名里面经过视频面试选拔出16位参加决赛。

面试大概十五分钟,问了以下几个问题:

  1. Q:自我介绍,介绍自己做过的最满意一个项目
    A:介绍了研电赛的项目。
  2. Q:在这个项目中最大的收获
    A:这是第一次多人合作的比较大的一个项目,再与组员进行对接、沟通过程中与锻炼了与他们合作的能力。项目中用到的技术之前没接触过,也是边学边开发。在短时间内的自学能力得到了提升。
  3. Q:大赛解题思路
    A:见上
  4. Q:怎么了解这个比赛的,参加这个比赛的初衷
    A:通过中兴来学校的宣讲了解到的。参加这个比赛是想对自己学习的成功进行一个检验,同时锻炼自己的机会。、
  5. Q:了解其他优化算法吗?遗传算法、模拟退火算法等系统学过吗?floyd算法等路径优化算法吗?
    A:只学习过一些经典的基础算法,比赛用到的遗传算法是现学的,非科班生算法方面较差。
  6. Q:有什么想问的问题?
    A:企业校招看重项目经历还是基础知识,现在学习的方向和校招应聘的方向关系不大影响吗?
    答:主要看重的是学习能力,思维能力,在学校写几年代码可能不如公司写几个月代码提升大。

3.决赛

决赛在南京举办,举办方的工作人员真是用心了,服务细致入微,让人都有些不好意思了,很多活动很感人,很吸引人加入他们。决赛从发布题目到提交大概40个小时。
赛题较初赛有很大变化,链路属性变复杂了,一条链路由几节车厢组成,为每条业务选路时同时要分配车厢号,相邻链路上的车厢号相同的车厢承载的业务不同需要增加调度员。总成本改为总共需要调度员的数量。
从读懂题目到实现总成本的计算方式,跑出最初结果用了大部分时间,留给优化的时间只有一上午和一下午。思路大致如下:

  1. 对起始点相同的货物请求进行合并,结果可以看做一个大的货物请求。这些货物将共享同一批调度员进行调度,故节省了调度成本。对4000多个请求进行合并,结果为700多个“大货物”请求。怎么对这些货物进行合并涉及装箱问题,即合理安排哪些货物合并在一起以使总合并结果数量最少。目前采取的做法是对货物进行排序,让重量小的货物优先装箱。由于时间关系,还未尝试其他一维经典装箱算法,如BFT,FFT。相信会有更好的结果。
  2. 路径求解:采取迪杰斯特拉算法,所有边的权重取为1,即最短路径为跳数最少的路径。这样可以让一个货物尽早离开链路,以免产生调度需要,增加调度员的数量。
    车厢的选择:采取的做法是BF最佳适应算法,对每一条业务,在规划其路径的同时,给其选择一个这条链路上的车厢。选择的依据是这条链路上剩余容量最小且能容纳该业务的车厢,这样是为了减少链路上的承载业务车厢数,即尽可能使链路上的空车厢多。
  3. 未及尝试的思路:
    所有货物路径规划完成后,遍历所有边上的车厢承载情况,对能继续优化减少占用车厢数的链路,可以结合启发式算法,重新分配货物分布;
    有的请求文件计算出的结果会出现个别靠后的货物无法找到路径,从而给总成本增加了一个很大的值。原因可能是路径车厢同时分配的方式会使个别链路堵死。所以考虑改为采取先规划路径后分配车厢的方式。

最后的结果并不理想。了解到前几名的同学的做法大致类似:在为一条货物选路时,将车厢也看做局部的几条链路,在确定一条链路后,进行局部探囊,寻找最优的车厢分配给它。目标是对这个货物选的路径使其对图中增加的调度员的数量最少。一条货物的成本就是其为图增加的调度员数量。
这种想法起先我也想到过,但感觉实现起来会过于复杂,恐怕难于在短时间内实现,而且计算量会很大。看来自己的编程能力还是较弱。不能在短时间内验证一些思路。
虽然只拿到决赛优胜奖,不过也是收获满满。大开了眼界,与很多大佬交流讨论,感觉自己进步很大,而且会让自己有进步的方向感,迷茫感少了很多。

非常感谢中兴提供的这个机会和平台!

2019中兴捧月算法大赛历程相关推荐

  1. 2020中兴捧月算法大赛-阿尔法(MOT)赛道--赛后总结

    比赛结束了,很荣幸拿到了中兴捧月算法大赛 MOT赛道 全国总决赛第二名的亚军奖杯,这估计也是我找到工作前最后一个比赛了,收获满满,下面算是自己给自己写的一个简单的赛后总结,做的比较粗糙,细节也就不多赘 ...

  2. 2020年中兴捧月算法大赛---埃德加考特派赛题解析及代码

    写在前面 三月份疫情期间在家闲来无事, 各大公司举办了很多的算法比赛, 但是大多是人工智能相关, 而我这个菜鸡又不会这方面的, 这时发现了中兴捧月的埃德加考特派赛道, 也就是数据库相关本科课设, 恰好 ...

  3. 2020中兴捧月算法大赛阿尔法赛道决赛总结(多目标检测与跟踪)

    赛题:多目标检测与跟踪 代码地址 初赛:排名第1 初赛思路:第一次做跟踪任务.简单的认为是检测+reid问题. 初赛: 1.首先明确题意:多目标跟踪:指标MOTA和MOTP, 后期的大量实验证明检测算 ...

  4. 第一届中兴捧月算法大赛迪杰斯特拉派解决方案

    迪杰斯特拉派初赛赛题 最强大脑中的收官蜂巢迷宫变态级挑战,相信大家都叹为观止!最强大脑收官战打响后,收视率节节攀升,就连蚁后也不时出题难为一下她的子民们.在动物世界中,称得上活地图的,除了蜜蜂,蚂蚁当 ...

  5. 2020中兴捧月算法赛道傅里叶派赛题菜鸡回顾

    最近抱着试水的心理参加了2020中兴捧月算法大赛傅里叶派赛题.从4.19号由旁观者转变为参赛者,到5.8号提交完成最后的文档和代码,前后算起来也有20天了.虽然自己比较菜,但毕竟是第一次参加这种比较正 ...

  6. 2020中兴捧月算法精英挑战赛-迪杰斯特拉派初赛(未来城市物流系统)总结

    疫情关系,导致科研一直没法开展,老板着急,自己也无所事事.在清明过后看到了中兴的算法精英挑战赛,然后就开始了算法之旅,这里自己做一点总结,为自己以后争取点教训吧. 数据分析的重要性 这次比赛真的让我体 ...

  7. 第三届中兴捧月程序设计大赛 西大ATeam作品 望大家投票支持

    投票地址将会再8月2号公布,希望大家多多投票 程序拿C++写的,Bug还比较多..对转义字符的处理不是很好 程序完成了类似一个专业版QQ,说的复杂点就是一个数据加密解密调试传输器,现在对大型文件的加密 ...

  8. 谈谈中兴捧月大赛决赛以及总结

    前言 四月份,在师兄的推荐下,报名参加了中兴捧月大赛.一开始只是为了混一个面笔试的资格(因为提交有效成绩即可免笔试),然后为了找一个简单的赛道,注册了几个号看了两三个赛道的题目.发现自己每个都不熟悉, ...

  9. 中兴捧月大赛之方案探讨

    昨天参加完中兴捧月的决赛,感觉特别的糟糕.说实话,感觉中兴这次比赛搞得真的很奇葩!一是比赛搞得让我觉得公司对整个比赛的态度有点随意,有点不正式.二是比赛的赛题要求每天都在变,感觉不天天关注活动交流区, ...

最新文章

  1. 【深度学习】9 大主题卷积神经网络(CNN)的 PyTorch 实现
  2. leetcode336. 回文对(字典树)
  3. JSON数组分配输出每个li
  4. 入选 SIGMOD2021 的时间序列多周期检测通用框架 RobustPeriod 如何支撑阿里业务场景?
  5. 如何对一个变量数据进行正则判定_生存分析数据中的BuckleyJamesMultipleRegression Model...
  6. axios从入门到源码分析 -http-xhr
  7. Android 资源(resource)学习小结
  8. 步进电机驱动器电压是多少?
  9. 英伟达发布3款RTX 20系列游戏显卡,性能提升6倍让游戏更像电影
  10. 计算机控制中的时序,时序控制
  11. cgcs2000大地坐标系地图_我国大地坐标系_地图与地图制图
  12. shader拖尾_【OpenGL编程】拖尾、刀光、剑光、尾焰效果的开发
  13. 5.4 创建 WBS
  14. 系统cpu主频查看设置
  15. 2023-03-06
  16. 如何在ios app 局域网内搜索到设备
  17. 笔记:计算机公共基础知识学习内容(总)——全国计算机二级考试
  18. unity声音文件播放
  19. 从 PC 解锁 Android 手机的 6 种有效方法
  20. 基于VB环境下的语音识别程序开发方法

热门文章

  1. 网页设计与制作教程 项目1
  2. PHP 端口扫描工具
  3. msm android机型适配,小米系统MIUI10适配全机型了,高通机型通用适配,高通通刷包...
  4. seata-server
  5. Codeforces 456 A. Laptops
  6. 计算机保密管理使用情况表,涉密计算机保密管理情况检查表
  7. uniapp中tabbar设置报错文件查找失败,at mian.js:5
  8. Socket并发配置之一config的配置
  9. 使用addr2line分析crash问题
  10. 腾讯云COS创建Bucket报错