19华为软件精英挑战赛止步复赛

article/2025/3/3 18:10:09

2019年华为软件精英挑战赛,京津东北赛区初赛第13,复赛第18,呦车还没我跑的快。

  历时一个多月的华为软件精英大赛落下帷幕,很遗憾的止步了三十二强,从初赛到复赛更改了大大小小的版本将近50多个,通过改进调度算法、发车策略、路权系数、架构等几方面对自己的算法进行了无数次的改进。终于抽出时间把自己的算法整理一下:

算法大致流程图:
在这里插入图片描述
调度算法:

  调度算法的选择是我们刚开始遇到最大的难题,最开始我们使用时Dijkstra算法进行车辆路径的规划,算法复杂度为O(N^2),调度的过程中对每个时间片未出发车辆的路径根据实时的路况进行重新的调度。所以该算法的复杂度对我们而说在15分钟的时间内是不能完成比赛的,解决的办法是:采用SPFA算法,该算法是对拓扑路径的改进,算法复杂度为O(N+E)。通过改进前后对比,一万车辆的数据从半个小时降低到2分钟左右。(注意是每个时间片重新规划一次,所以时间还是比较长)

其中路权系数的设计:

  其中channel为当前道路的车道数,length为当前车道的长度,v_slow为当前道路上速度最小的车辆,n为当前道路上的总车辆数,β为可调节参数。

发车策略:

  • 将车辆分为优先级车辆和普通车辆,将两种车辆集合分别进行排序,首先将车辆按计划出发时间排序,计划出发时间相同的车辆按照起点均匀分布排序,以保证地图各道路负载均衡。
  • 每个时间片T控制发车的数量为:

    其中a为自适应系数,代表未出发车辆的比例,S为总车辆,同时对每个路口进行循环发车。

回溯解锁:

  死锁状态判定:当前时间片等待状态的车辆在两个循环内保持不变,即认为死锁。
  死锁解锁策略:因为实时更换路径当存在死锁便将所有的状态恢复到上一时刻的状态,并且判断是否可以成功解锁,如果可以就继续,否则找到死锁车辆修改路径信息并且锁死,回溯到0时间片重新调度。
  
  `
总结:

  这次比赛整体上来说,体验还是很不错的,在这里感谢两位队友,各种嗨皮各种玩儿。为什么会取得一个不让自己满意的成绩呢?我总结了以下三点:

  1. 动态实时规划路径,跑一个时间片规划一次,首先时间成本上去了,相对的调整代码的时间就少了。
  2. 动态实时规划路径时,调度算法嵌入到了判题器里面,对判题器作出了大量修改来满足实时调度的要求,增加了出错的概率,其实我们最后死就死在这的,找不到嵌入判题器的bug。
  3. 虽然这次比赛感觉不是很难,但还是对自己的脑逻辑提出了很大的挑战哈哈,讲道理就是费脑子,整体逻辑太繁琐。

  我们的实时调度算法也有很大的优点,一是肯定能跑出结果,二是在嵌入判题器不出bug的条件下,结果就一定是正确的,在复赛我们用我们的算法在练习的时候就跑到了4000+的成绩,奈何一个bug误终身,还是卡在了复赛现场,遗憾呐!!!!!!抛开这些,比赛给我的技术和思维带来了很大的提高,增涨了很多的见识,认识了很多参赛以及华为的大佬,还结识了华为一位非常nice的学长!!!!
  十分珍惜这段时间,期待还有下次,然而马上要毕业了!后悔这么晚才认识这个比赛,早干嘛去了!!!!


http://chatgpt.dhexx.cn/article/lvstBfu1.shtml

相关文章

2021CCPC华为云挑战赛热身赛A题(思维)

题目链接 题意:简单来说必须立足于当前值等于A序列中的一个值才能去增加 【0,ki】范围内的值并且k- -。贪心的想法就是尽可能的让最终自己的数大,我们先从A序列中选一个最大的数且处于【0,m】以内,然后每次转移的时候判断a[i]-a[…

2018华为软件精英挑战赛-复赛赛题

以下描述部分主要是相对初赛赛题的变化点,其他描述和条件均一致: 通用性描述变化点: 物理服务器:为了满足不同虚拟机规格的需求,实际物理服务器规格也有多种,假设云平台共有三种类型的物理服务器&#xff0…

2017华为精英挑战赛总结

大赛官网:http://codecraft.huawei.com/ 赛题解读:http://mp.weixin.qq.com/s/on_l5Rc3Be-DjgUOXftaNw 赛题案例以及编译官方软件包:HUAWEI_Code_Craft_2017_初赛软件包(readme.txt中有详细介绍) 从2017.3.15到2017.4.6,花费三个…

2017华为精英挑战赛64强总结

比赛最后一周的时候每天到凌晨2-3点,最后通宵了一两次,提交大概100多版的版本,使用KWM网络流遗传算法,最终获得了西北赛区49名的成绩。 虽说不是很好,但对我来说是一份难得的经历,这里把比赛心得和体会总结…

华为2019挑战赛

华为软件精英挑战赛总结(初赛) 赛题: 评分标准: 思路:这是一个典型的动态负载均衡算法的设计,对于每一辆车来说,时间最短意味着路程最优,首先想到迪杰斯特拉来求出每一辆车的最优路径…

2017华为软件精英挑战赛总结

1.题目 本次赛题是一个视频服务器的CDN规划问题 赛题包_百度网盘 2.解题思 2.1 思路一 整数规划 主要是要把模型建出来 包含了 0-1变量->是否布置服务器 边变量-> 表示该边所跑的流量 用glpk试过,变量个数太庞大,内存都开不下,解的效果也不好,只能解很小…

2017华为软件精英挑战赛解分析

后经在复赛赛题上测试,效果并不好,只适合部分数据集,并且没有理论支持,放出来只为启发—— 以下方法初中级样例1s以内,高级样例10s内出最优解—— 不随机,无启发式,走优化的方法。采用反馈-迭代…

2021华为软件精英挑战赛(粤港澳赛区复赛第八)

一、序言 总结一下四月份参加的华为软挑赛,距离现在已经结束了四个多月,终于有时间抽空写写总结了(小作文),我们是粤港澳赛区的620&619-F3队,第一次参加这次比赛,本想尝试一下,但…

css 给文字加下划线

css给文字加下划线 直接贴代码 span {cursor: pointer;&:hover {color: #40A9FF;text-decoration: underline;}}

Excel批量设置下划线

Excel批量设置下划线 目录 Excel批量设置下划线 1、框选需要设置的单元格内容,鼠标右键选择“设置单元格格式” 2、点击“自定义”在类型框中输入“ *_ ” 点击“确定”自动生成(注意这个 *_符号需要将输入法切换为英文输入法) 3、完成…

h5下划线怎么设置_怎么给文加下划线?

怎么给文本加下划线?下面本篇文章就给大家介绍一下HTML页面和word文档中给文本加下划线的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 HTML页面中给文本添加下划线 在HTML页面中怎么给文本添加下划线?…

latex输出下划线

第一种: 如果只是在作者的邮箱...输出下划线的话直接使用 \_ 就可以了 ma\_pengsen 输出结果: 第二种: 如果要在下划线上输出东西,那需要 \underline{XXXXXXX} ma\underline{ABCDEFG} 结果:

speedoffice(Word)文字怎么添加下划线

Word里面编辑文字,有时需要添加下划线,那么怎么添加下划线了?以最常用的speedoffice为列。 1、首先,我们用speedoffice打开Word文件,选中需要添加下划线的文字内容; 2、然后,鼠标点击选择“主页…

css里给文字加下划线代码,css给文字加下划线

语法:linear-gradient(direction, color-stop 1, color-stop 2,……) 简单用法:background-image: linear-gradient(red, transparent); 增加角度,linear-gradient(45deg, red, transparent) 加个position:linear-gradient(45deg,…

Word调整文字和下划线的间隔

工作环境(蓝色粗体字为特别注意内容) 1,开发环境:Microsoft word 2007 2,参考文献:https://blog.csdn.net/yiluyangguang1234/article/details/50158381 我们在使用Word编辑文档的时候,遇到有的标题带下划线的&#…

CSS设置下划线与文字间距距离

css的写下划线 text-decoration: underline; 但是这样的样式下划线太靠近文字了 如图 修改方式 border-bottom: 1px solid red;padding-bottom: 8px; 如图

word下划线,间距调大方式

都是下划线,是不是第一个看着更舒服,行间距更大。 下面的就是:我们常用的方式,ctrlu,下划线。 上面的是:连续打一行-,就是------,然后换到下一行,enter时候就出现了一条…

css里给文字加下划线代码,css添加文字下划线样式的方法

css添加文字下划线样式的方法 发布时间:2020-08-31 13:54:27 来源:亿速云 阅读:65 作者:小新 这篇文章将为大家详细讲解有关css添加文字下划线样式的方法,小编觉得挺实用的,因此分享给大家做个参考&#xf…

关于HTML,CSS中某一文字的下划线长度的改变

本人 刚刚入坑前端几个月。对于很多问题看的不是恨透测。前几日,写一个学长交代的小小网页时,遇到了一个问题。前前后后变化了好多次。最后解决了。我想有一些其他的学习者也有可能会遇到这类问题,特分享出来。希望可以帮到大家。 当时中需要…

word下滑线设置

方法一: 选择“文本”——>“选项”——>"高级"——>"为尾部空格添加下划线" step1: step 2: step3: step 4: 方法二: 选中需要添加下划线的部分——>"右键段落“——>"中文版式”——>“…