免疫算法实例.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 免疫 算法 实例
- 资源描述:
-
免疫算法实例 智能控制课程综合报告 学 院 自动化学院 专 业 控制科学与工程 学 号 学生姓名 指导教师 2016年6月7日 基于免疫优化算法的物流中心选址 1、建立模型 在物流配送中心选址模型中做如下假设 1).配送中心的规模容量总可以满足需求点需求,并由其配送辐射范围内的需求量确定。 2).一个需求点仅由一个配送中心供应。 3).不考虑工厂到配送中心的运输费用。 然后要从n个需求点中找出配送中心,并向需求点配送物品。目标函数是各配送中心到需求点的需求量和距离的乘积之和最小。 jNjQXXN。T2hUFBl。 目标函数如下: 2、问题的求解 2.1算法的实现步骤: 1).产生初始种群。 2).对上述群体中各个抗体进行评价。 3).形成父代群体。 4).判断是否满足条件,是则结束,反之,则继续下一步操作。 5).新种群的产生。 6).转去执行步骤2。 2.2流程图如图1-1: 图1-1 算法流程图 2.3初始群体的产生 如果记忆库非空,则初始抗体群从记忆库中生成。 否则,在可行解空间随机产生初始抗体群。此处 采用简单的编码方式。每个选址方案可形成一个长度为P的抗体(P表示配送中心的数量),每个抗体代表被选为配送中心的需求点的序列。如:考虑包含31个需求点的问题,从中选取6个作为配送中心。抗体[2,7,15,21,29,11]代表一个可行解。hOw7ruH。O9ukf0I。 2.4、解的多样性评价 1).抗体与抗原之间的亲和力 表示新的目标函数,分母的第二项表示对违反距离约束的解给予惩罚C取比较大的正数。 2).抗体与抗体之间的亲和力 其反映抗体之间的相似程度,此处借鉴Forrest等人提出的R位连续方法计算抗体之间的亲和力,两个个体有至少R位编码相同则两种抗体近似相同。 lsbw82O。k2ybZdq。 其中k表示抗体v和抗体s之间相同的位数,L为抗体的总长。例如,两个抗体[2,7,15,21,5,11]、[15,8,14,26,5,2]经比较有3个相同则亲和度为0.5。iI7pGqu。Kc6BpYb。 3).抗体浓度 4).期望繁殖概率 在种群中,每个个体的期望繁殖概率与抗体与抗原之间的亲和力A和抗体浓度共同决定。 α是常数,可见个体的适应度越高,则期望繁殖率越大,个体的浓度越大,则期望繁殖率越大。这样就鼓励了高适应度个体,抑制了高浓度个体。xzjPGR9。oO0c6N1。 2.5免疫操作 1).选择:按照轮盘赌机制进行选择操作,个体被选择的概率即为期望繁殖概率。 2).交叉:采用单点交叉法进行交叉操作。 3).变异:采用随机变异位进行变异操作。 3.模型的求解 为证明算法的有效性和可行性,采集了31个城市的坐标,每个用户的位置以及物资需求进行仿真。 根据配送中心选址模型,按照免疫算法流程对该例求解。 参数设置: 种群规模:50; 记忆库容量:10; 迭代次数:100; 交叉率:0.5; 变异概率:0.4; 多样性评价参数:0.95; 4. matlab仿真结果 图4-1 适应度曲线 图4-2 选址方案 最后,结果选址方案是[5,25,18,9,12,27],如图中所标,可以看出免疫算法有 较好的收敛性。 5.算法应用展望 免疫算法能够增强系统的鲁棒性,从选址的模型上看,免疫算法就是解决了最优花费的一个聚类,因此,希望在后期的研究中能应用在多模式分类问题上。qjinMuP。BEuZlBP。 附录: 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',[]);ED4kG5L。P3tcsqb。 %% step2 产生初始抗体群 individuals.chrom = popinit(M,length); trace=[]; %记录每代最个体优适应度和平均适应度 %% 迭代寻优 for iii=1:MAXGEN %% step3 抗体群多样性评价 for i=1:M individuals.fitness(i) = fitness(individuals.chrom(i,:)); % 抗体与抗原亲和度(适应度值)计算LRNCIir。TSFzJNo。 individuals.concentration(i) = concentration(i,M,individuals); % 抗体浓度计算WmIoI28。ELavSDF。 end % 综合亲和度和浓度评价抗体优秀程度,得出繁殖概率 individuals.excellence = excellence(individuals,M,ps);EQYgJSz。zxGAXmP。 % 记录当代最佳个体和种群平均适应度 [best,index] = min(individuals.fitness); % 找出最优适应度 OSdLWAA。KAj08Iw。 bestchrom = individuals.chrom(index,:); % 找出最优个体7CUQsfh。I2CV2mI。 average = mean(individuals.fitness); % 计算平均适应度pTWufy5。l91yQEF。 trace = [trace;best,average]; % 记录 %% step4 根据excellence,形成父代群,更新记忆库(加入精英保留策略,可由s控制) bestindividuals = bestselect(individuals,M,overbest); % 更新记忆库aXSJZnf。YEMIOwC。 individuals = bestselect(individuals,M,sizepop); % 形成父代群WEL8A2L。XOqeysI。 %% step5 选择,交叉,变异操作,再加入记忆库中抗体,产生新种群 individuals = Select(individuals,sizepop); % 选择oQGk4fz。Nk3XU1Y。 individuals.chrom = Cross(pcross,individuals.chrom,sizepop,length); % 交叉DxXkvrV。6Nq7CAp。 individuals.chrom = Mutation(pmutation,individuals.chrom,sizepop,length); % 变异388pDPa。W8bS4KD。 individuals = incorporate(individuals,sizepop,bestindividuals,overbest); nmdMiOB。j3SIC4Y。 % 加入记忆库中抗体 end %% 画出免疫算法收敛曲线 figure(1) plot(trace(:,1),'r','linewidth',2); hold on plot(trace(:,2),'--','linewidth',2); legend('最优适应度值','平均适应度值') grid on title('免疫算法收敛曲线','fontsize',12) xlabel('迭代次数','fontsize',12) ylabel('适应度值','fontsize',12) %% 画出配送中心选址图 %城市坐标 city_coordinate=[1304,2312;3639,1315;4177,2244;3712,1399;3488,1535;3326,1556;3238,1229;4196,1044;4312,790;4386,570;ylcEcrU。d0wJvDx。 3007,1970;2562,1756;2788,1491;2381,1676;1332,695;3715,1678;3918,2179;4061,2370;3780,2212;3676,2578;RZyBphN。raLslle。 4029,2838;4263,2931;3429,1908;3507,2376;3394,2643;3439,3201;2935,3240;3140,3550;2545,2357;2778,2826;2370,2975];LoHj94a。5LSxwlC。 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];kjZXOh2。L9sacCm。 %找出最近配送点 for i=1:31 distance(i,:)=dist(city_coordinate(i,:),city_coordinate(bestchrom,:)');5HuVnzA。hhdiKIs。 end [a,b]=min(distance'); index=cell(1,length); for i=1:length %计算各个派送点的地址 index{i}=find(b==i); end figure(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 on plot(city_coordinate(:,1),city_coordinate(:,2),'o','LineWidth',2,...xHeW2sM。QpxSx0i。 'MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',10) grid on for i=1:31 x=[city_coordinate(i,1),city_coordinate(bestchrom(b(i)),1)];gq7tUva。8TfWTR3。 y=[city_coordinate(i,2),city_coordinate(bestchrom(b(i)),2)];T7KG52Y。qgqEmEQ。 plot(x,y,'c','LineWidth',2);hold on end title('物流配送中心选址方案')展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




免疫算法实例.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4375258.html