24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 2081  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

cq0932

金虫 (初入文坛)

[求助] 请教关于遗传算法的几个问题

1.在选择复制的过程中,适应度值大的个体将有更多的子孙,而相反的会被淘汰。在看书上代码《先进PID控制及其Matlab仿真 刘金琨著》的时候发现选择复制后的种群规模变小了,比如初始种群是30个个体,选择以后,就只剩十几个了。在交叉之前是否需要补全?如果要补全有什么比较好的方法?

2.接下来是交叉,交叉的对象应该如何选择?只从选择复制后产生的优势群体中选择吗?问题1中补全的部分是否参加交叉?未发生交叉的个体是直接保留原样到下一代吗?

3.然后是变异,是否只有交叉产生的个体才有可能发生变异?还是所有个体都会变异?另外,适应度大小对变异概率是否有影响?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cq0932

金虫 (初入文坛)

引用回帖:
5楼: Originally posted by DaleSong at 2012-12-22 00:16:36
第一步中,选择之后种群要保持为30的,具体恢复方法,给你个用matlab写的遗传算法优化PID控制器的简单算法,你看看就明白了吧。
http://good.gd/2364258.htm

您贴的代码和我从书上看到的遗传算子部分是一样的,选择结束以后,种群的个体数是减少的,他是在交叉的时候把选择出来的个体和初始种群中的个体进行交叉,不知道这样处理是否合理?程序的结果是在交叉之后恢复了种群的个体数目。

%****** Step 2 : 选择算子******
   fi_sum=sum(fi);
   fi_Size=(Oderfi/fi_sum)*Size;
   fi_S=floor(fi_Size);                 %按较大的适应度选择个体
   kk=1;
   for i=1:1:Size
      for j=1:1:fi_S(i)               %选择与产生后代个体
       TempE(kk,:)=E(Indexfi(i),:);  
         kk=kk+1;                    %kk用于产生后代用
      end
   end
%************ Step 3 交叉算子************
pc=0.60;                             %交叉概率0.60
n=ceil(20*rand);
for i=1:2:(Size-1)
    temp=rand;               
    if pc>temp                       %若temp落在[0,0.6]区间,则进行交叉操作
    for j=n:1:20
        TempE(i,j)=E(i+1,j);
        TempE(i+1,j)=E(i,j);
    end
    end
end
TempE(Size,:)=BestS;
E=TempE;
6楼2012-12-24 14:58:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

whzwcm

木虫 (著名写手)

劲升

【答案】应助回帖

感谢参与,应助指数 +1
来学习一下!社会很复杂啊
Believe myself!有志者事意成,加油!
2楼2012-12-20 22:53:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wanghg_70

银虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
cq0932: 金币+1, 有帮助, 感谢深夜里还在为虫友排忧解难~~ 2012-12-21 20:00:26
以前研究过GA,在交叉、变异之后,种群规模会增大一倍,之后在扩大的群体中选择复制,形成新的群体,恢复群体规模的大小。十多年没有研究了,尽供参考

[ 发自手机版 http://muchong.com/3g ]
坚持坚持再坚持
3楼2012-12-21 04:54:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dreamrequiem

木虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
cq0932: 金币+1, 有帮助, 感谢回复!能更有针对性的回答一下我的疑问吗? 2012-12-24 15:00:50
1.选择只是进化的第一步,选择出来的个体往往有3种用途,比如直接复制到下一代(elite selection),或者选择出来的个体进行交叉,或者是变异。

2.选择进行交叉的个体可以有多种办法,经典的有rank selection, roulette wheel selection, tournament selection。可以网上随意找到各自的选择办法。

3.变异有两种策略,一种是对交叉后的个体进行变异,另外一种办法是分别使用交叉和变异产生一定数量的下一代个体,两者之间分别产生。具体由问题而定。
4楼2012-12-21 23:54:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 085600,专业课化工原理,320分求调剂 +3 大馋小子 2026-03-29 3/150 2026-03-29 20:55 by wxiongid
[考研] 275求调剂 +15 Micky11223 2026-03-25 20/1000 2026-03-29 20:44 by 唐沐儿
[考研] 各位老师好,我的一志愿为北京科技大学085601材料专硕 +9 Koxui 2026-03-28 9/450 2026-03-29 20:43 by 无际的草原
[考研] 调剂310 +12 温柔的晚安 2026-03-25 13/650 2026-03-29 20:01 by 无际的草原
[考研] 334分 一志愿武理 材料求调剂 +7 李李不服输 2026-03-26 7/350 2026-03-29 16:25 by 学员8dgXkO
[考研] 数一英一271专硕(085401)求调剂,可跨 +7 前行必有光 2026-03-28 8/400 2026-03-28 23:22 by 小木虫tim
[考研] 本科新能源科学与工程,一志愿华理能动285求调剂 +7 AZMK 2026-03-28 11/550 2026-03-28 21:01 by xxxsssccc
[考研] 283求调剂 +3 A child 2026-03-28 3/150 2026-03-28 15:41 by ms629
[考研] 312,生物学求调剂 +3 小译同学abc 2026-03-28 3/150 2026-03-28 15:32 by 落睿可思
[考研] 265求调剂11408 +3 刘小鹿lu 2026-03-27 3/150 2026-03-27 20:53 by nihaoar
[考研] 一志愿上海理工能源动力(085800)310分求调剂 +3 zhangmingc 2026-03-27 4/200 2026-03-27 19:01 by 给你你注意休息
[考博] 26申博 +3 加油冲啊! 2026-03-26 3/150 2026-03-27 15:38 by cls512
[考研] 348求调剂 +4 小懒虫不懒了 2026-03-27 5/250 2026-03-27 12:47 by 果果妈咪
[考研] 一志愿郑大085600,310分求调剂 +5 李潇可 2026-03-26 5/250 2026-03-27 11:14 by 不吃魚的貓
[考研] 一志愿吉大071010,316分求调剂 +3 xgbiknn 2026-03-27 3/150 2026-03-27 10:36 by guoweigw
[考研] 求调剂 一志愿 本科 北科大 化学 343 +6 13831862839 2026-03-24 7/350 2026-03-26 22:57 by 不吃魚的貓
[考研] 325求调剂 +3 Aoyijiang 2026-03-23 3/150 2026-03-26 20:46 by 不吃魚的貓
[考研] 0703化学求调剂 +3 丹青奶盖 2026-03-26 5/250 2026-03-26 20:11 by macy2011
[考研] 302求调剂 +4 锦衣卫藤椒 2026-03-25 4/200 2026-03-25 16:29 by 功夫疯狂
[考研] 求调剂 +6 研研,接电话 2026-03-24 7/350 2026-03-24 17:01 by barlinike
信息提示
请填处理意见