2018年研究生数学建模竞赛B题(数模竞赛第二题思路)

Q1:

根据目标函数建立通信网络(城市对直连)-网络生成问题

目标函数:城市A人口*城市B人口*城市对连边容量

约束:

  • 城市对直连

  • 连边最大距离约束

  • 所有城市连入网络

  • 连边数量约束

A:遗传算法求解:

  • 初始化:随机生成K条连边的染色体(后面会变异,出现异常值)

  • 适应度计算:对每条染色体判断进行连边数量惩罚、城市未连接惩罚、距离惩罚,计算适应度

  • 参数调整:是否精英操作、种群大小、迭代次数、交叉概率、变异概率

PS:

  • 初始化K条连边:染色体长度的数值随机排序,取前K个连边

  • 连边数量惩罚:染色体相加是否为K

  • 城市未连接惩罚:将染色体变为连边,判断AB连边出现的次数,AB至少有一个出现两次及以上

  • 距离惩罚:对所有连边判断

 

Q2:在之前建立的网络上,根据目标函数新增一定数量连边(城市对直连)-网络优化问题

目标函数:城市A人口*城市B人口*城市对连边容量

约束:

  • 城市对直连

  • 连边最大距离约束

  • 所有城市连入网络

  • 连边数量约束

A:遗传算法求解:

  • 初始化:在已有连边基础上生成N条连边

  • 适应度计算:对每条染色体判断进行连边数量惩罚(已有连边是否存在,新增连边是否N条)

PS:

  • 连边数量惩罚:判断总数K+N,判断K条是否存在,判断是否N条

 

Q3:

根据目标函数建立通信网络(可有中间节点)-网络生成问题

目标函数:城市A人口*城市B人口*城市对连边容量

A:遗传算法求解:

  • 适应度计算:对每条染色体判断进行连边数量惩罚、城市未连接惩罚、距离惩罚,生成容量资源矩阵,对每条连边,随机条路径,随机路径,随机权重,消耗容量资源,计算适应度

PS:

  • 随机条路径:随机数值

  • 随机路径:对多有节点随机排序(去掉OD),取前M个节点

  • 随机权重:随机数值(不能超过1)

Q4:

目标函数加入负载均衡和经济指标

A:NSGA-Ⅱ求解:

  • 负载均衡:流量最小的连边最大

  • 经济指标:城市A的GDP*城市B的GDP

PS:

  • 适应度1:人口、容量

  • 适应度2:经济指标

  • 适应度3:流量最小的连边最大

代码链接:  https://github.com/hanyunxuan/2018-Graduate-Mathematical-Modeling-Competition-B

你可能感兴趣的:(算法,竞赛)