智能优化上机作业.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
智能优化上机作业

计算智能课程上机备选题目 选做下列其中一题,用算法或模拟退火算法或遗传算法或禁忌搜索算法进行编程求解。 1、求函数的最大值 2、求函数的最大值 3、求函数的最小值 4、求函数的最小值 5、设,物品价值分别为61,59,31,21,15,5,对应的重量为6,5,3,2,1,1。利用算法求解该问题。 6、已知背包的装载量为,现有件物品,它们的重量和价值分别是2,3,5,1,4和2,5,8,3,6。试用模拟退火算法求解该问题。 7、求解4城市TSP问题,任两城市之间的距离矩阵如下 8、求解5城市TSP问题,任两城市之间的距离矩阵如下 . 9、求解10城市TSP问题() 城市序号 X轴 Y轴 1 0.4 0.4439 2 0.2439 0.1463 3 0.1707 0.2293 4 0.2293 0.761 5 0.5171 0.9414 6 0.8732 0.6536 7 0.6878 0.5219 8 0.8488 0.3609 9 0.6683 0.2536 10 0.6195 0.2634 10、求解30城市TSP问题( by D B Fogel) 11、求解4城市非对称TSP问题,任两城市之间的距离矩阵如下 Function Chrom=TSPinitialize(Popsize, Ncities) for i=1: Popsize Chrom(i,1)=1 ;%推销员从城市1出发 for j= 2: Ncities Chrom (i ,j)= round ( rand *(Ncities-j))+1; end end 解码 : Function pop=TSPdecode( Popsize, Ncities,Chrom,W ) For i = 1:Popsize temp W=W ; for j=1: Ncities pop (i ,j) = temp W ( chrom(i,j) ); for k = (Chrom( i, j)) :( Ncities-j) tempW (k ) = tempW( k + 1) end end end ; 计算目标函数:Function rpop=rotatepop( pop) for i = 1 :Popsize rpop = [pop(i,2: Ncitie),pop (i,1)] end Function cost =TSPcost (Popsize,pop,rpop) For i =1 :Popsize cost(i)= Sum(diag (D( pop (i,:)’)(pop(i,:)’))); end ; 遗传操作设计 选择:采用具有排名的转盘式选择算子.Function Chrom=select (Popsize, cost , chrom) B= 2 *( a-1); [fit ,I]= sort (-cost); for i=1 :Popsize P fit(i)= (a-b*i/(Popsinx+1))/ Popsize; en pfit = cum Sum(pfit); rs= rand ( 1,Popsize); for i =1 :Popsize if rs(i)=pfit(i) ,Chrom(i,:)=Chrom( I(i),:); else Chrom( I,:)=Chrom(( round*Popsize)+,:); end end; 若发生交叉操作,在[1, Ncitie-1]区间随机确定一个交叉位置,进行该位后的所有基因对换,否则不做任何处理. Function Chrom=crossover( Chrom ) For i =1 :Popsize/2 If randPc jcross= fix ( rand*(Ncitie-1))+1;%jcorss为交叉位 P1 = Chrom( 2*i-1;:),P2=Chrom( 2*I;:) Chrom ( 2*i -1,;:)=[P1(1:jcross),P1(( jcorss+1): Ncitie)]; Else Chrom( 2*i -1,:)=chrom (2*i-1,:); Chrom(2*i:),=Chrom(2*i:) end end; 变异:Function Chorm=popmut(Chrom, cost) for i =1:Popsize/2 sameidx=[Chrom(i*i-1= =Chrom(2*i,:) ] diffidx =find( sameidx= =0); if length (diffidx)=2 if cost (2*i-1)cost(2*i) for j=2: Ncities Chrom(2*i, j)=round(

文档评论(0)

xvli2 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档