用遗传算法解决无线传感器轮值问题。随机生成监测目标的坐标

pop_num=40;
sensor_num=80;
MAXGEN=50;
D=10;   %最长工作寿命10轮
sensor_location=zeros(2,100);
target_num=10;
target_location=zeros(2,100);
sensor_radius=200;
% zuidajiance=4;
bianyilv=0.1;
area=400;  %正方形
for i=1:sensor_numsensor_location(1,i)= rand*400; %横坐标sensor_location(2,i)= rand*400; %纵坐标%     plot(sensor_location(1,i),sensor_location(2,i),'o');%     hold on
end
for i=1:target_numtarget_location(1,i)= rand*400; %横坐标target_location(2,i)= rand*400; %纵坐标%     plot(target_location(1,i),target_location(2,i),'*');%     hold on
end
R=zeros(sensor_num,target_num);
for i=1:sensor_numfor j=1:target_numif sqrt((sensor_location(1,i)-target_location(1,j))^2+(sensor_location(2,i)-target_location(2,j))^2)<sensor_radiusR(i,j)=1;endend
end
%覆盖关系矩阵完成
% L=zeros(sensor_num*D,sensor_num);
%
% for i=1:sensor_num
%     tem=randperm(1.5*D);
%     tem2=tem(1:D);
%     for j=1:D
%         L(tem2(j),i)=1;
%     end
% end
pop=zeros(sensor_num*D,sensor_num,pop_num);
for p=1:pop_numfor i=1:sensor_numtem=randperm(3*D);tem2=tem(1:D);for j=1:Dpop(tem2(j),i,p)=1;endend
end
fit_pop=zeros(pop_num,1);
clc
%计算适应度
for p=1:pop_numL=pop(:,:,p);LR=L*R;flag=0;fit=0;for i=1:sensor_num*Dfor j=1:target_numif LR(i,j)==0fit=i-1;flag=1;breakendendif flag==1breakendendfit_pop(p)=fit;
end
clc
trace2=zeros(MAXGEN,1);
for gen=1:MAXGENgen%选择fit_pop2=fit_pop-min(fit_pop);gailv=zeros(pop_num,1);for i=1:pop_numgailv(i)=fit_pop2(i)/sum(fit_pop2);endxuhao=zeros(pop_num,1);for j=1:pop_numtem=rand;for i=1:pop_numtem=tem-gailv(i);if tem<0breakendendxuhao(j)=i;endpop2=pop;for i=1:pop_numpop2(:,:,i)=pop(:,:,xuhao(i));end%交叉pop3=pop2;for i=1:(pop_num/2)jiaochadian=ceil(rand*(sensor_num-1));pop3(:,1:jiaochadian,2*i-1)=pop2(:,1:jiaochadian,2*i);pop3(:,1:jiaochadian,2*i)=pop2(:,1:jiaochadian,2*i-1);end%变异for p=1:pop_numfor i=1:sensor_numif rand<bianyilvpop3(:,i,p)=0;tem=randperm(3*D+gen*10);tem2=tem(1:D);for j=1:Dpop3(tem2(j),i,p)=1;endendendendpop=pop3;if gen>=2pop(:,:,pop_num)=zuida;end%计算适应度for p=1:pop_numL=pop(:,:,p);LR=L*R;flag=0;fit=0;for i=1:sensor_num*Dfor j=1:target_numif LR(i,j)==0fit=i-1;flag=1;breakendendif flag==1breakendendfit_pop(p)=fit;endfit_pop[aaa xuhao]=max(fit_pop);zuida=pop(:,:,xuhao);%%%%%%%%%%%%%%%%%%%%克隆算法kelongpop=zeros(sensor_num*D,sensor_num,pop_num);for i=1:pop_numkelongpop(:,:,i)=zuida;endfor p=2:pop_numfor i=1:sensor_numif rand<bianyilv*3kelongpop(:,i,p)=0;tem=randperm(7*D+gen*10);tem2=tem(1:D);for j=1:Dkelongpop(tem2(j),i,p)=1;endendendendfit_pop1=zeros(pop_num,1);%克隆个体计算适应度for p=1:pop_numL=kelongpop(:,:,p);LR=L*R;flag=0;fit=0;for i=1:sensor_num*Dfor j=1:target_numif LR(i,j)==0fit=i-1;flag=1;breakendendif flag==1breakendendfit_pop1(p)=fit;end[trace2(gen) xuhao]=max(fit_pop1);zuida=kelongpop(:,:,xuhao);
end
plot(1:MAXGEN,trace2);
hold on

用遗传算法解决无线传感器轮值问题(Duty Cycle)相关推荐

  1. 遗传算法解决八皇后问题(java源码)

    本文源码下载链接:https://download.csdn.net/download/goulvjiang3176/11221063 另有贪心算法解决八皇后问题的源码下载链接:https://dow ...

  2. 遗传算法解决排序问题

    遗传算法解决排序问题 参考文章: (1)遗传算法解决排序问题 (2)https://www.cnblogs.com/oldBook/p/9866734.html 备忘一下.

  3. 遗传算法解决旅行商问题(TSP)

    遗传算法解决旅行商问题(TSP) 参考文章: (1)遗传算法解决旅行商问题(TSP) (2)https://www.cnblogs.com/studylyn/p/5097238.html 备忘一下.

  4. MATLAB实战系列(十九)-遗传算法解决TSP(旅行商)问题-应用及解析(文末附MATLAB源码)

    接上篇MATLAB实战系列(十八)-遗传算法解决TSP(旅行商)问题-算法原理 https://wenyusuran.blog.csdn.net/article/details/114060030 感 ...

  5. matlab 遗传优化算法_转载 | 遗传算法解决TSP问题的MATLAB实现

    问题定义: 巡回旅行商问题 给定一组n个城市和俩俩之间的直达距离,寻找一条闭合的旅程,使得每个城市刚好经过一次且总的旅行距离最短. TSP问题也称为货郎担问题,是一个古老的问题.最早可以追溯到1759 ...

  6. 使用遗传算法解决图着色问题

    使用遗传算法解决图着色问题 图着色 问题描述 应用 解的表示形式 图着色问题中的约束条件 利用python实现问题创建 遗传算法解决图着色问题 常量及遗传算子定义 使用精英主义策略 遗传流程 结果 使 ...

  7. 使用遗传算法解决N皇后问题

    使用遗传算法解决N皇后问题 N皇后问题 解的表示 问题的表示 遗传算法解决N皇后问题 常量及遗传算子定义 使用精英主义策略 遗传流程 结果 N皇后问题 经典的N皇后问题最初被称为八皇后拼图,起源于国际 ...

  8. tsp问题——遗传算法解决

    TSP问题最简单的求解方法是枚举法. 它的解是多维的.多局部极值的.趋于无穷大的复杂解的空间.搜索空间是n个点的全部排列的集合.大小为(n-1)! .能够形象地把解空间看成是一个无穷大的丘陵地带,各山 ...

  9. 基于遗传算法解决城市TSP问题

    基于遗传算法解决城市TSP问题 算法原理: TSP是一个组合优化方面的问题,已经成为测试组合优化新算法的标准问题.应用遗传算法解决 TSP 问题,首先对访问城市序列进行排列组合的方法编码,这保证了每个 ...

  10. 遗传算法解决tsp问题(基于python)

    目录 1.遗传算法简要介绍 2.tsp问题简要介绍 3.遗传算法解决tsp问题的几个特殊点 4.源码 1.遗传算法简要介绍 简单来说,遗传算法是用于解决最优化问题的一种搜索算法.其核心基于自然界种群进 ...

最新文章

  1. 为什么我会重回到Windows的怀抱?
  2. 1.9 实例:截取新闻标题
  3. 软件层面可以做到重启本地串口吗_手机关机还是重启好?get这几招,手机更流畅...
  4. pip install scikit-image on windows 失败 解决方案
  5. mysql门派年龄最大的人_目前活着年龄最大的人
  6. java后端模拟http请求_Http请求后端
  7. python实现根据文件名找出(拷贝/剪切)同名文件的不同类型文件
  8. ie的window.open 未指明的错误_快递问题公告中错误使用“黑恶势力”等言辞 青岛工学院致歉...
  9. 删除Word文档中的全部汉字
  10. 边框回归的损失函数_CVPR 2019:精确目标检测的不确定边界框回归
  11. 飞秋命令行发送消息和文件
  12. avc水平什么意思_avc是什么意思(pvc是什么材质)
  13. R语言-上海二手房数据分析
  14. Mac 系统 Arduino IDE 找不到开发板端口的解决方法
  15. enumerate的用法:
  16. 安装 android 模拟器
  17. CSS文本溢出隐藏,显示省略号
  18. 8 9区别 endnote7_带鱼5-7和8-9的区别
  19. 数据结构与算法(刺猬书)读书笔记(1)----数组
  20. STM32F405驱动WS2812E灯珠灯带代码

热门文章

  1. 霜降后养生,做好“三防”
  2. HR面试问题-你的缺点是什么?
  3. win7右下角显示此windows副本不是正版
  4. 乌克兰警方逮捕出售高达10亿被盗记录的黑客,或面临长达8年监禁
  5. caffe 训练笔记总结
  6. java中的0x00代表什么
  7. oracle 百分比换算问题
  8. 给我“空降”一个弟兄
  9. Codeforces - Mother of Dragons
  10. Iocomp控件官网下载地址破解功能介绍手册