大三小学弟,这学期课业压力比较小,本来报名了网络技术大赛,搜东西的时候看到了这个,然后就顺便参加了,貌似四月上旬就已经报名了,但是一直在想算法,然后看着排名上的分各种高,离比赛还有一周多的时候开始做。

搞懂cmake+mac的压缩方式会导致编译失败问题的解决用了一天,两天把算法编了个大概。

预测方面开始采用了指数平滑,但是此时背包问题解决的不是很好,分数在70分以下,所以后来弃用了,看了网上的评论,以及画了一遍提供的数据的整体走势图,决定直接用一次/二次函数拟合。初赛阶段及复赛阶段都采用了一/二次函数拟合方法,由于个人比较懒,拟合函数的求解过程直接用的遗传算法,求最优参数。

背包问题一直采用的是遗传算法的方法,在初赛阶段,遗传算法采用了最简单的架构,所有的心思主要放在了最优函数的设计上。然后二次函数+遗传算法成绩83左右。后来采用强行装满的策略,成绩提高到了86,虽然西北赛区人才济济,但是连着肝了三天,估摸着进复赛应该没问题,随放弃继续调整。比赛用例分数248。

初赛算法用c语言写的,各种函数,看着初赛的代码已经写得自己都看不懂了,随重写一遍,提交,各种bug,时间紧任务重,为了更好地看懂自己的代码,随用c++重写一遍。这里的c和c++的区别主要是后期程序面向对象。用例跑的速度还是比较快的,内存开销也比较小,1000个背包的开销大约在70M左右,分配2000台的时间大概在3-5秒,平均利用率在93%左右(大型虚拟较多时,利用率会减小),听说py的速度比较慢,但是没有用py写,不知道py的运行时间在多少。完成了整体预测和装包后成绩大概在80左右。采用的预测方法存在欠拟合现象,随对其进行调整,成绩在83分左右。看着西北赛区90分的大神,感觉可望不可即。但是还有其他事情要做,随放弃继续调参,最终成绩在85分左右。

针对本道赛题,从看到运行数据开始,已经觉得这数据简直没有规律,本地测试了svm,效果简直没有。本人专业与预测也是有些许相关,但是从历史数据进行预测的实例不多,除非系统已经接近稳定。虽然个人角度采用了一/二次函数拟合,但是感觉用多周期分解会有更好地效果。lstm可能效果也会不错,但是由于用例对参赛选手是不可见的,而且提供的用例可用样本量确实不多(开始几个月那么多0),所以本地测试可能会耗费一些精力。

从个人理解上,感觉这道题确实存在很多的bug,时间的预测和背包的存放存在联动作用。如果预测的数据的最大装包率不大,会引起最终成绩的降低。即预测准了,反而成绩下降。也是因为这个原因,在调整算法的时候可能无法获悉到底是两个部分中的哪个部分引起了变化。因此,可以预见,很多同学应该都采用了预测,装包,填满的方法。从工程上讲,这样的做法会使得这个问题变得不那么有意义,但是从这道题上来讲,这可能是最好的做法。当然,填满势必会影响到预测的结果,想要获得较好的结果,那就应当使装满的策略尽可能的对原数据做最小的改变,装包的结果应该尽可能的优。

2018华为软件精英大赛相关推荐

  1. 2018华为软件精英挑战赛

    今天12点,历时一个多月的2018华为软件精英挑战赛训练赛结束了,最后分数215.597(总分300),很遗憾,前64都没能进,不过还算尽力坚持到最后. 3月初,华为软赛开始一周后,看到师兄他们在弄, ...

  2. 2018华为软件精英挑战赛-模拟退火算法

    2018年的华为软件精英挑战赛题目简介:给出华为云虚拟机过去的租借数量历史数据,用以训练模型并预测下一个时间段里的虚拟机租借数量,然后把这些预测得到的虚拟机装填进一定规格的物理机中,即分为预测和装填两 ...

  3. 2018华为软件精英挑战赛总结及代码

    //   我是分割线君 2019复赛结束,成渝季军,深圳决赛见 交流加wei: lidian1993 //   我是分割线君 先贴上我们的名次,我们是成渝赛区的[OB观光团]队,在下是队长[无力吐槽的 ...

  4. 2018华为软件精英挑战赛总结

    早在被淘汰的时候,就想写一波总结了,还是忍到了比赛结束. 1.初赛赛题 整个赛题主要分为两部分,"利用稀疏的少量数据预测接下来一段时间的销量"+"二维装箱问题" ...

  5. 2018华为软件精英挑战赛经验(一)

    初赛.复赛.比赛耗时50天.忙忙碌碌.紧紧张张. 西北赛区真的很强,最终成绩初赛6/64 复赛6/36.真是666!!! 简单说一下赛题: 赛题围绕两个点展开:销量预测问题.放置优化问题. 请求 预测 ...

  6. 2023华为软件精英挑战赛,探寻软件人才与科技创新的最优解

    作者 | 曾响铃 文 | 响铃说 今天,软件行业正呈现出江河入海一般的大汇流趋势. 一方面是技术的汇流,诸如人工智能等前沿技术与软件行业的深度融合,正全面颠覆软件产品的开发模式和服务逻辑. 另一方面则 ...

  7. 2016华为软件精英挑战赛:赛题及其答疑汇总

    注:本文文字均摘自官方指定网站和论坛,权威且可信,答疑见中间部分,非常全,众玩家可放心阅读. 同时文末给出了包括自己在内的诸多玩家的解法. 前言 赛题源自"未来网络"业务发放中的路 ...

  8. 2021华为软件精英挑战赛总结分享

    2021华为软件精英挑战赛总结分享 随着大赛的结束,自己的2021软挑也落下了帷幕,很幸运在自己学业生涯的最后几个月能够再参加一次华为软挑,虽然成绩不是特别好,但已经满足了.这是自己第二次参加华为的比 ...

  9. 【2023华为软件精英挑战赛暨HCSD校园沙龙】首场告捷!

    摘要:近日,[2023华为软件精英挑战赛暨HCSD校园沙龙]活动在杭州电子科技大学首场告捷. 近日,[2023华为软件精英挑战赛暨HCSD校园沙龙]活动在杭州电子科技大学首场告捷.本次活动由华为技术有 ...

  10. 2021华为软件精英挑战赛初赛代码及思路

    2021华为软件精英挑战赛训练赛.正式赛思路分享     有幸再次参加了华为软件精英挑战赛(去年由于不知道数据集有坑,导致没能进入复赛,今年决定再来一次弥补去年的遗憾)     今年的赛题相比去年个人 ...

最新文章

  1. 雷林鹏分享:PHP 魔术常量
  2. ubuntu中文wiki
  3. python php 通信,Python和php通信乱码问题解决方法
  4. CodeFx: 微软一站式开发技术框架解决方案 2009-7-30 新增sample code简介
  5. (LINQ 学习系列)(8)Linq教程实例: 事务处理
  6. python查找输出文字_Python基础练习,查询文本内容并输出;
  7. RTX5 | 内存池03 - 共享内存用于线程之间的通讯(轮询方式)
  8. 3-4:一个简单的HTTP服务器
  9. Atitit 音频资料与音乐库管理系统功能 目录 1. 通用功能区 2 1.1. 批量处理功能文件夹遍历 2 1.2. Zip文件遍历与读取 2 1.3. Rar文件遍历与读取 2 1.4. She
  10. 任意类型变量转换成char类型——sprintf函数使用方法
  11. 软件开发中需求分析的过程、层次、阶段、重点都在这里
  12. Android 安卓腾讯云互动直播开发新手入坑几点建议
  13. Android 请求Root权限代码
  14. 学计算机的买HP合适吗,大学生买笔记本电脑,这样选就对了。
  15. 基于自适应参数及小生境的改进鲸鱼优化算法
  16. python get pip.py_get-pip.py 安装
  17. Java 设计模式总结及六大设计原则
  18. Android客户端连接服务器- OKHttp的简单实用方法
  19. nslookup 查看DNS域名解析
  20. Android 开源图片裁剪工具、图片显示工具分享

热门文章

  1. idea配置svn地址
  2. 321影音 多功能播放器
  3. 助学贷款系统导入预申请时问题解决办法汇总
  4. html屏幕共享,屏幕共享
  5. 文本在线查重(Online Copy Detection)的实现
  6. 中国队拿下口罩人脸识别世界第一!还将推全球最大公开人脸数据集
  7. 服务式GIS实践与发展——REST 服务
  8. webservice的wsdl文件怎么生成
  9. 安卓手机管理_时间管理大师手机版下载-时间管理大师app下载v1.0.0 安卓最新版...
  10. 【python使用】使用python读取mid/mif文件,高精地图解析