免疫算法实例

上传人:桔**** 文档编号:558306036 上传时间:2022-11-10 格式:DOCX 页数:8 大小:130.46KB
返回 下载 相关 举报
免疫算法实例_第1页
第1页 / 共8页
免疫算法实例_第2页
第2页 / 共8页
免疫算法实例_第3页
第3页 / 共8页
免疫算法实例_第4页
第4页 / 共8页
免疫算法实例_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《免疫算法实例》由会员分享,可在线阅读,更多相关《免疫算法实例(8页珍藏版)》请在金锄头文库上搜索。

1、智能控制课程综合报告学 院 自动化学院专 业控制科学与工程学号学生姓名指导教师2016 年 6 月 7 日基于免疫优化算法的物流中心选址1、建立模型在物流配送中心选址模型中做如下假设1) .配送中心的规模容量总可以满足需求点需求,并由其配送辐射范围内的需求 量确定。2) .一个需求点仅由一个配送中心供应。3) .不考虑工厂到配送中心的运输费用。然后要从n个需求点中找出配送中心,并向需求点配送物品。目标函数是各 配送中心到需求点的需求量和距离的乘积之和最小。目标函数如下:F = W w d Zi ij ij2、问题的求解2.1 算法的实现步骤:1) .产生初始种群。2) .对上述群体中各个抗体进

2、行评价。3) .形成父代群体。4) .判断是否满足条件,是则结束,反之,则继续下一步操作。5) .新种群的产生。6) .转去执行步骤 2。2.2流程图如图 1-1:图 1-1 算法流程图2.3 初始群体的产生如果记忆库非空,则初始抗体群从记忆库中生成。 否则,在可行解空间随 机产生初始抗体群。此处 采用简单的编码方式。每个选址方案可形成一个长度 为P的抗体(P表示配送中心的数量),每个抗体代表被选为配送中心的需求点 的序列。如:考虑包含 31个需求点的问题,从中选取 6个作为配送中心。抗体 2,7,15,21,29,11代表一个可行解。2.4、解的多样性评价1) .抗体与抗原之间的亲和力1 1

3、Z 1.0)v i ij ij ijF 乞乞wd Z - C工min(艺Fw d Zi ij ijF 表示新的目标函数,分母的第二项表示对违反距离约束的解给予惩罚 C v取比较大的正数。2) .抗体与抗体之间的亲和力其反映抗体之间的相似程度,此处借鉴Forrest等人提出的R位连续方法计算抗体之间的亲和力,两个个体有至少R位编码相同则两种抗体近似相同。kS = v ,sL其中k表示抗体v和抗体s之间相同的位数,L为抗体的总长。例如,两个抗体2,7,15,21,5,11、15,8,14,26,5,2经比较有3个相同则亲和度为 0.5。3) .抗体浓度C =丄工Sv N v,sieN(1 S TS

4、 =v,sv,s o 其他4) .期望繁殖概率在种群中,每个个体的期望繁殖概率与抗体与抗原之间的亲和力A和抗体浓 度共同决定。ACP = v + d-v乙A乙Cvva是常数,可见个体的适应度越高,则期望繁殖率越大,个体的浓度越大, 则期望繁殖率越大。这样就鼓励了高适应度个体,抑制了高浓度个体。2.5 免疫操作1) .选择:按照轮盘赌机制进行选择操作,个体被选择的概率即为期望繁殖概率。2) .交叉:采用单点交叉法进行交叉操作。3) .变异:采用随机变异位进行变异操作。3. 模型的求解为证明算法的有效性和可行性,采集了 31个城市的坐标,每个用户的位置 以及物资需求进行仿真。根据配送中心选址模型,

5、按照免疫算法流程对该例求解。参数设置:种群规模:50;记忆库容量:10;迭代次数:100;交叉率:0.5;变异概率:0.4; 多样性评价参数:0.95迭代次数5 77.4. matlab仿真结果最后,图4-1适应度曲线物郝能中心选址方案4Q(W|1|3500 i:8300025002000 -1600 -1000 -D10001500200025003000350040004500图4-2选址方案结果选址方案是5,25,18,9,12,27,如图中所标,可以看出免疫算法较好的收敛性。5. 算法应用展望免疫算法能够增强系统的鲁棒性,从选址的模型上看,免疫算法就是解决了 最优花费的一个聚类,因此,

6、希望在后期的研究中能应用在多模式分类问题上。 附录:Matlab求解的主程序:% 算法基本参数sizepop=50;overbest=l0;MAXGEN=l00;pcross=0.5;pmutation=0.4;ps=0.95;length=6;M=sizepop+overbest;%种群规模%记忆库容量%迭代次数%交叉概率%变异概率%多样性评价参数%配送中心数% st epl识别抗原,将种群信息定义为一个结构体individuals = struct(fitness,zeros(1,M), concentration,zeros(l,M),excellence,zeros(l,M),chro

7、m,);% step2产生初始抗体群individuals.chrom = popinit(M,length);trace=; %记录每代最个体优适应度和平均适应度% 迭代寻优for iii=l:MAXGEN% step3抗体群多样性评价for i=l:Mindividuals.fitness(i)=fitness(individuals.chrom(i,:); %抗体与抗原 亲和度(适应度值)计算individuals.concentration(i)=concentration(i,M,individuals);% 抗体浓 度计算end%综合亲和度和浓度评价抗体优秀程度,得出繁殖概率ind

8、ividuals.excellence = excellence(individuals,M,ps);%记录当代最佳个体和种群平均适应度best,index = min(individuals.fitness); %找出最优适应度 bestchrom = individuals.chrom(index,:); %找出最优个体 average = mean(individuals.fitness);%计算平均适应度trace = trace;best,average;%记录% step4根据excellence,形成父代群,更新记忆库(加入精英保留策略,可由s 控制)bestindividual

9、s = bestselect(individuals,M,overbest); %更新记忆库 individuals = bestselect(individuals,M,sizepop); %形成父代群% step5选择,交叉,变异操作,再加入记忆库中抗体,产生新种群 individuals =Select(individuals,sizepop);%选择individuals.chrom =Cross(pcross,individuals.chrom,sizepop,length);%交叉individuals.chrom=Mutation(pmutation,individuals.ch

10、rom,sizepop,length); %变异individuals = incorporate(individuals,sizepop,bestindividuals,overbest);% 加入记忆库中抗体end% 画出免疫算法收敛曲线figure(1)plot(trace(:,1),r,linewidth,2);hold onplot(trace(:,2),-,linewidth,2);legend(最优适应度值,平均适应度值)grid ontitle(免疫算法收敛曲线,fontsize,12)xlabel(迭代次数,fon tsize,12)ylabel(适应度值,fon tsize

11、,12)% 画出配送中心选址图%城市坐标 city_coordinate=1304,2312;3639,1315;4177,2244;3712,1399;3488,1535;3326,1556;32 38,1229;4196,1044;4312,790;4386,570;3007,1970;2562,1756;2788,1491;2381,1676;1332,695;3715,1678;3918,2179;4061,2370; 3780,2212;3676,2578;4029,2838;4263,2931;3429,1908;3507,2376;3394,2643;3439,3201;2935

12、,3240;3140,3550 ;2545,2357;2778,2826;2370,2975;carge=20,90,90,60,70,70,40,90,90,70,60,40,40,40,20,80,90,70,100,50,50,50,80,70 ,80,40,40,60,70,50,30;%找出最近配送点for i=1:31 distance(i,:)=dist(city_coordinate(i,:),city_coordinate(bestchrom,:);enda,b=min(distance);index=cell(1,length); for i=1:length%计算各个派送

13、点的地址indexi=find(b=i);endfigure(2)title(最优规划派送路线)cargox=city_coordinate(bestchrom,1);cargoy=city_coordinate(bestchrom,2);plot(cargox,cargoy,rs,LineWidth,2,.MarkerEdgeColor,r,.MarkerFaceColor,b,.MarkerSize,20)hold onplot(city_coordinate(:,1),city_coordinate(:,2),o,LineWidth,2,. MarkerEdgeColor,k,.MarkerFaceColor,g,.MarkerSize,10)grid onfor i=1:31x=city_coordinate(i,1),city_coordinate(bestchrom(b(i),1); y=city_coordinate(i,2),city_coordinate(bestchrom(b(i),2); plot(x,y,c,LineWidth,2);hold onendtitle(物流配送中心选址方案)(注:文档可能无法思考全面,请浏览后下载,供参考。可复制、编制,期待 你的好评与关注!)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号