用布谷鸟算法求解基站选址

用布谷鸟算法求解基站选址

0 Jupyter & Python代码

在这里

1 问题描述

要求:对于给出的数据集–深圳市楼盘带经纬度—设立基站。每个基站的有效覆盖范围为10Km,欲让基站信号覆盖所有小区,求解最小的基站数目以及其位置。

2 解题思路

2.1 整体思路

  1. 将经纬度换成km为单位的坐标(1°经度=111.1km, 1°纬度=92km)
  2. 算出各小区间的距离,称a小区20km以内的小区为a的邻居。做出一个领居链表:形如{a:[b, c], b: [a], c: [a], d:[]}
  3. 处理有0个邻居的小区:在附近5km内随机地建立基站
  4. 处理有1个邻居的小区:在此小区与其邻居中间建立基站
  5. 处理有多个领居的小区:用布谷鸟寻优。

2.2 在当前问题应用布谷鸟寻优

  1. 设立两个鸟巢(1*m维数组),称为x_nest, y_nest。对应位置的组合即为一个基站位置。m表示当前选用m个基站。
  2. 适应度函数定义为未被包含的小区数量。
  3. 按照布谷鸟算法的方式更新与抛弃解。
  4. 当适应度函数达到0时,m减一进行下类型的布谷鸟迭代。

3 结果

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值