​%% 采用君主方案进行选择交叉操作  % 君主方案是父方染色体全部是本代最占优的一条,母方是按一定顺序(升序)排列的一群染色体。Emper = Sortf(:,1);     % 君主染色体---本代最占优的一条NoPoint = round(D*Pc);   % 每次交叉点的个数PoPoint = randi([1 D],NoPoint, NP/2);   % 交叉基因的位置nf = Sortf;for i=1:NP/2nf(:,2*i-1) = Emper;     nf(:,2*i) = Sortf(:,2*i);[Emper,Sortf(:,2*i)]for k = 1:NoPointnf(PoPoint(k,i),2*i-1) = nf(PoPoint(k,i),2*i);nf(PoPoint(k,i),2*i) = Emper(PoPoint(k,i));endend​

​​​​​​​

例如,当i=1

(1)PoPoint(1,1)=4, Emper与Sortf(:,2*1)的第4个基因进行交换

交换前: 图一:PoPoint    图二:Emper   图三:Sortf(:,2)

             

交换后,图为:nf(:,1:2)

    %% 变异操作for m=1:NPfor n =1:Dr = rand(1,1);[m,n,r]nf1= nf;if r<Pm    % Pm=0.1;  如果r<免疫概率nf(n,m) = rand(1,1)*(Xs - Xx)+Xx;endendend

[m,n,r]        r=0.0414 <Pm=0.1

​​​​​​​

​​​​​​​

遗传算法——君主方案代码实现相关推荐

  1. 基于君主方案的遗传算法程序(带注释)

    1.目标函数介绍 2.遗传算法与程序 3.仿真 1.目标函数介绍 该函数有10个变量,变量的取值范围为[-20,20],这个函数只有一个极小值点,其坐标为x=(0,0,-,0),极小值为0,具体函数形 ...

  2. 遗传算法c语言程序,遗传算法c语言代码.doc

    遗传算法c语言代码 遗传算法代码 #include #include #include #include #include struct group //染色体的结构 { int city[citie ...

  3. Python-遗传算法君主交叉代码实现

    前言 之前用标准遗传算法实现了函数寻找最大值的功能: https://blog.csdn.net/weixin_43210097/article/details/119537408?spm=1001. ...

  4. 使用Python实现的遗传算法 附完整代码

    遗传算法是模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,它借鉴了达尔文的进化论和孟德尔的遗传学说.其本质是一种高效.并行.全局搜索的方法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并 ...

  5. 遗传算法 c语言代码

    遗传算法是一种在计算机科学中使用的优化算法.它是通过仿照生物进化的过程来解决计算问题的.遗传算法的基本思路是从一组初始解决方案(叫做"种群")开始,然后通过不断重复自然选择的过程来 ...

  6. Android APK加壳技术方案----代码实现

    本文章由Jack_Jia编写,转载请注明出处. 文章链接:http://blog.csdn.net/jiazhijun/article/details/8746917 作者:Jack_Jia    邮 ...

  7. 【竞赛】智能算法赛:智慧海洋建设Top1方案代码

    海上安全治理是海洋发展中至关重要的环节,了解各个区域船只的工作情况以及具体位置,可以对于防止因为船只的碰撞等事故而造成的巨大损失,而要提升海上安全治理能力,首要任务是"看得清",即 ...

  8. GA遗传算法及相关代码

    GA遗传算法解决TSP问题 Matlab函数 随机数生成函数: rand(n,1):返回n个0到1随机数排列的列向量. randn(n,1):类似,服从标准正态分布. randperm(n):返回n以 ...

  9. 【 2021 MathorCup杯大数据挑战赛 A题 二手车估价】初赛复赛总结、方案代码及论文

    目录 相关链接 1 题目 1.1 初赛题目 1.2 复赛题目 2 思路总结 2.1 初赛 2.2 复赛 3 结束语 6 论文展示 相关链接 [初赛40页完整paper和代码] [复赛42页完整pape ...

最新文章

  1. 深入学习Heritrix---解析CrawlController
  2. 集群scan_扫描k8s集群中的漏洞
  3. Node.js html-webpack-plugin的使用
  4. linux单线程处理多个请求,redis是单线程的,如何处理并发请求?
  5. java集群插件_别说,Cerebro还真好用!老板再也不用担心ES集群了
  6. Maven系列(一):maven基础入门
  7. 赛门铁克linux安装教程,Symantec赛门铁克14.2版本服务端安装教程及配置教程(三)...
  8. views 多个文件夹 netcore_优化 .net core 应用的 dockerfile
  9. 如何评估 Serverless 服务能力?这份报告给出了 40 条标准
  10. android.os.NetworkOnMainThreadException 异常处理
  11. 类继承和接口继承的差别
  12. 茶几上 清明上河图 诗句
  13. 全面设防 让广播风暴远离局域网
  14. NPM => npm登录-发包-删包-整体流程
  15. vue项目- v-lazy懒加载 图片没有出来之前 loding的图标占位
  16. Android 9 功能和 API
  17. GTOP@全球CEO发展大会 燃焕全球科创力场
  18. 老九C++零基础学习(二)变量声明和使用
  19. 日期选择器:jquery datepicker的使用
  20. CMD目录操作——del【删除普通文件】和rd命令【删除非空文件夹】

热门文章

  1. 七律:冬奥:2022年北京冬奥赞/文:铁哥
  2. Flask-admin Model View字段介绍
  3. 【离散数学】 SDUT OJ 偏序关系
  4. [源代码]基于D-S证据理论的雷达探测信息融合
  5. ognl表达式的研究
  6. CSS 浮动(float)
  7. 584分学计算机报什么大学,高考成绩584分可以上哪些大学,2021年584分怎么填报志愿上什么大学...
  8. linux中文名字文件读不到问题
  9. 基于HANA数据库的BW4HANA
  10. Anaconda搭建TensorFlow2.x(win环境)