1、 问题分析

题目要求在给定的网络节点中选择一些网络节点布置为服务器节点,使整个网络流能够满足消费节点带宽需求。这种选址问题可以用遗传算法来确定服务器位置,用最大流最小费用网络流来确定是否满足消费节点要求。

2、遗传算法几个名词

染色体:1条染色体代表一组服务器节点,染色体上一个点代表1个服务器的位置。针对一条长度为6的染色体,1,3,5处值为1;2,4,6处值为0。代表一共有6个网络节点,其中1、3、5处布置了服务器节点。
种群: 种群是由多条染色体组成的。每次迭代是一个种群在迭代。多样的染色体代表覆盖解空间面积大。
交叉率:在迭代的初期,交叉率一般要比较高。高意味着能覆盖尽可能广的解空间。在迭代后期,交叉率要调低来稳定住最优解。
突变率:突变率一般不能高,1%~2%。突变率一个重要作用是跳出局部最优解。在迭代后期,突变率适当加大,可以使算法有一定可能跳出局部最优。但如果突变率太大,则会出现震荡不收敛的情况。

3、流程

迭代流程一般按 评估->选择->交叉->变异 。

1、评估:对种群中每条染色体,计算适应度值。保存最佳适应度值和对应的染色体。
2、选择:随机两两选择染色体,根据适应度值,保留好的染色体,淘汰差的染色体。
3、交叉:根据交叉率,任意选择两条染色体,可以局部交叉,也可以全部交叉。
4、变异:根据突变率。对每条染色体可以每个点随机突变,也可以只突变一个点。

4、细节

网上有很多遗传算法的论文。一般就是算法内部动态调参,加入移民策略保证种群中染色体的多样性,在一定迭代次数后重置参数重新计算等等。但是具体好不好用,也不好说。

5、总结

遗传算法的实质就是随机选择。要想调的好,很重要的一点就是尽可能的在全局选择。要保证全局选择就要尽可能的随机,尽可能覆盖解空间。参数调的好就是好算法。参数没调好就是瞎比跳。而且遗传算法的参数选择没有一个统一的方法,只能具体问题具体分析。辛辛苦苦调参数,开开心心跳大神。
靠谱的办法还是把一个问题转化成一个凸优化问题。

2017华为比赛遗传算法总结相关推荐

  1. 2017华为软件精英挑战赛小结

    // 2017华为软件精英挑战赛小结 // 不说废话,直接上货!希望对目前的参赛者,或日后学习的人,提供一些参考和思路. #include <赛题说明.pdf>    //  见附录文件 ...

  2. 华为比赛总结303-426

    自从本科参加了数学建模比赛之后,我觉得我研究生阶段应该不会再参加任何比赛,就想平平淡淡的读完研究生,踏踏实实的找个工作就行了,很早就听说了华为的软件精英挑战赛,但是并没有什么参加的欲望,但到了正式比赛 ...

  3. 2017华为软件挑战赛总结

    2017华为软件挑战赛总结 这次比赛是去年做的, 自己之前没有总结,现在才开始总结,很多东西快想不起来了,真是惭愧 赛题主要内容和目的 初赛题目和内容 给你一个流网络(边有容量和单位流量费用),已知有 ...

  4. 2017华为codecraft 《大视频时代布局》

    2017华为codecraft <大视频时代布局> 标签(空格分隔): 学习笔记 一名渣渣的参赛经历,这篇博文,我会把自己试探过的所有想法,写过的所有可行的代码贴上来(然而在竞争激烈的西北 ...

  5. 2017华为软件精英挑战赛参赛过程回顾与心得

    参赛队名:武长区 枪林弹雨 2017年4月26日,一波三折的复赛终于结束了,我们队最终没能进入决赛.虽然在意料之中,不过还是有些小失望.已经为这个比赛忙了一个月,突然之间不知道干什么好了,干脆写一写自 ...

  6. 2017华为软件精英挑战赛决赛思路分享

    大家好,我是月光. 历时一个多月的软挑终于落下了帷幕,收获了一个还不错的名次.这个不错是对我们自己而言的,可能对于观众来说,记住的永远只会是第一名,而其他角色终会随比赛过去而被遗忘.其实本身我希望过的 ...

  7. 2017华为武长区优招面经—网络技术工程师(服务岗)

    前言 华为优招和去年一样早,都是6月投递简历,7月开始面试 看招聘安排上,好像武长区是华为全国招聘第一站,所以这里的面试安排在七月初. 时间:2017/07/04 地点:武汉 岗位:网络技术工程师(服 ...

  8. 亚信安全“双引擎”AI技术 亮相2017华为全联接大会

    9月5日,作为全球ICT的行业盛会,HUAWEI CONNECT 2017(华为全联接大会)在上海新国际博览中心召开.来自全球150多个国家和地区的商业领袖.生态伙伴.行业前驱在全联接大会上碰撞思想. ...

  9. 最小费用流算法不完全指南-2017华为软件精英挑战赛

    1.前言 整个比赛历时70多天,是一场持久战,期间看了不少资料,实现了一些算法,现总结如下. 初赛的思路是启发式+费用流,启发式实现了遗传算法.模拟退火,费用流实现了连续最短路(spfa),zkw/p ...

最新文章

  1. 完成个人中心—导航标签
  2. JavaScript初学者编程题(7)
  3. 独家 | 自动编码器是什么?教你如何使用自动编码器增强模糊图像
  4. 活动目录之用户配置文件(转载)
  5. 动态链接库dll,静态链接库lib, 导入库lib
  6. JavaScript实现完整的ComplexNumber复数类(附完整源码)
  7. ceph架构/IO原理分析(齐全)
  8. final关键字的深入理解
  9. java连接kvstore_Tendermint ABCI 应用 KVStore 源码详解
  10. java类中各成员初始化的顺序
  11. 轻量级的实现复制文本到剪贴板功能的 js
  12. 通信原理最佳接收-匹配滤波器
  13. 基于WebRTC搭建直播系统源码
  14. vue实现搜索框记录搜索历史_vue项目搜索历史功能的实现
  15. flutter 轮播组件 Swiper
  16. RV-LINK:输出非预期响应向 GDB 报告错误
  17. 睡眠伤害计算机硬件吗,电脑长时间睡眠、不关机对电脑有伤害吗?
  18. 计算机主板电池没电什么情况,主板电池没电会怎么样-电脑主板坏了会出现什么样的情况?...
  19. 第三课--渐变(Gradients)
  20. UploadFile图片上传案例

热门文章

  1. 数据滚动大屏:Stimulsoft Dashboards.WIN 2023.1.2
  2. 逗B少年搞程序番外篇 人山人海,我自独白
  3. php 货币 2位,php中数字转换成货币格式实现代码
  4. xilinx PL测 DP 点屏 /接收(三)--TX
  5. android 图片大小判断,Android列表查看图片大小
  6. python 复数补充
  7. POJ 1584 计算几何 凸包
  8. 计算机窗口显示不完整,win10软件窗口显示不全不完整怎么办
  9. linux 社交软件_Linux和创客空间如何增强我们的社交结构
  10. WORD中如何添加某几页的页眉和页脚