免疫算法实例

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

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

1、本*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) .抗体与抗原之间的

3、亲和力F 乞乞wd Z - C工min(艺1 1Z 1.0)v i ij ij ijFw 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,sie

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

5、根据配送中心选址模型,按照免疫算法流程对该例求解。参数设置:种群规模:50;记忆库容量:10;迭代次数:100;交叉率:0.5;变异概率:0.4;多样性评价参数:0.954. matlab 仿真结果w-起畠9 6 88.10免疫算往收敛曲线最切這直度垃平卡垢蕊匡芒10203040506070809000迭代次数图 4-1 适应度曲线图 4-2 选址方案 最后,结果选址方案是5,25,18,9,12,27,如图中所标,可以看出免疫算法有 较好的收敛性。5.算法应用展望免疫算法能够增强系统的鲁棒性,从选址的模型上看,免疫算法就是解决了 最优花费的一个聚类,因此,希望在后期的研究中能应用在多模式分类

6、问题上。附录:Matlab 求解的主程序 % 算法基本参数 sizepop=50;overbest=10;MAXGEN=100; pcross=0.5;pmutation=0.4; ps=0.95;length=6;M=sizepop+overbest;% 种群规模% 记忆库容量% 迭代次数% 交叉概率% 变异概率% 多样性评价参数% 配送中心数% step1 识别抗原,将种群信息定义为一个结构体 individuals = struct(fitness,zeros(1,M), concentration,zeros(1,M),excellence,zeros(1,M),chrom,); %

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

8、概率individuals.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控 制)besti

9、ndividuals = 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(pmutati

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

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

12、43;3439,3201;2935,3240;3140,3550;2545,2 357;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,7 0,50,30;%找出最近配送点for i=1:31distance(i,:)=dist(city_coordinate(i,:),city_coordinate(bestchrom,:);enda,b=min(distance);index=cell(1,length);for i=

13、1:length%计算各个派送点的地址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号