这三段代码有问题吗?红字部分

1、function flag=test(params,city_range)

%判断个体是否满足要求

demand=params.demand ;

qvechile=params.load;

cityNumber=params.cityNumber;

v=params.v;

a1=params.a1;

time_window=params.time_window;

dd=params.dd;

k=1;

q=0;

d=dd(city_range(1),8);

A(city_range(1))=d/v;

q=demand(city_range(1),6);

for j=2:cityNumber

d=d+dd(city_range(j),city_range(j-1));

q=q+demand(city_range(j),6);

t(city_range(j),city_range(j-1))= dd(city_range(j),city_range(j-1))/v;

A(city_range(j))=t(city_range(j-1))+ t(city_range(j),city_range(j-1))+a1*demand(city_range(j));

if time_window(city_range(j))>A(city_range(j))

t(city_range(j))=time_window(city_range(j));

else

t(city_range(j))=A(city_range(j));

end

if q>qvechile|| A(city_range(j))>time_window(city_range(j))

k=k+1;

end

iffun(city_range,params,1)>=42

flag=0;

else

flag=1;

end

end

2、function city_range=Code(params)

%该函数用于初始化个体

flag=0;

cityNumber=params.cityNumber;

while flag==0

city_range=randperm(cityNumber);

flag=test(params,city_range);

end

end

3、

%%遗传算法多目标模型主程序

clc

clear

dbstop if error

load data

params.dd=dd; % 距离矩阵

params.time_window=time_window;% 时间窗口

params.load=10;% 载荷

params.cityNumber=7;        % 城市数量

params.v=50;%平均速度

params.a1=2.5;%装卸效率

params.c1=200;% 运输固定成本

params.c2=1;        % 运输变动成本

params.R=R;        % 路阻系数

params.G=G;        % 高原反应系数

params.Wm=Wm;% 物资总量

params.p=500;% 惩罚值

params.demand=demand;

%%初始化遗传算法参数

maxgen=1;%进化代数,即迭代次数

sizepop=100;        %种群规模

pcross=0.8;        %交叉概率选择,0和1之间

pmutation=0.1;        %变异概率选择,0和1之间

individuals=struct('fitness',zeros(sizepop,1),'chrom',[]); %将种群信息定义为一个结构体

%%初始化种群计算适应度值

%初始化种群

for i=1:sizepop

%随机产生一个种群

individuals.chrom(i,:)=Code(params);

%计算适应度

individuals.fitness(i)=fun(individuals.chrom(i,:),params,1); %染色体的适应度

end

%找最好的染色体

[bestfitness, bestindex]=min(individuals.fitness);

bestchrom=individuals.chrom(bestindex,:); % 最好的染色体

avgfitness=sum(individuals.fitness)/sizepop; %染色体的平均适应度

%记录每一代进化中最好的适应度和平均适应度

trace=[avgfitness bestfitness];

%%迭代寻优

%进化开始

for i=1:maxgen %选择

individuals=Select(individuals,sizepop);

%交叉

individuals.chrom=Cross(pcross,individuals.chrom,params);

%变异

individuals.chrom=Mutation(pcross,individuals.chrom,params);

%计算适应度

for j=1:sizepop

x=individuals.chrom(j,:); %解码

individuals.fitness(j)=fun(x,params,1);

end

%找到最小和最大适应度的染色体及它们在种群中的位置

[newbestfitness,newbestindex]=min(individuals.fitness);

[worestfitness,worestindex]=max(individuals.fitness);

%代替上一次进化中最好的染色体

if bestfitness>newbestfitness

bestfitness=newbestfitness;

bestchrom=individuals.chrom(newbestindex,:);

end

individuals.chrom(worestindex,:)=bestchrom;

individuals.fitness(worestindex)=bestfitness;

avgfitness=sum(individuals.fitness)/sizepop;

trace=[trace;avgfitness bestfitness]; %记录每一代进化中最好的适应度和平均适应度

end

%进化结束

%%结果分析

[r, c]=size(trace);

plot(trace(:,2),'r-');

hold on

plot(trace(:,1))

xlim([1 length(trace)])

legend('最优适应度值','平均适应度值')

grid on

title('适应度曲线','fontsize',12);

xlabel('进化代数','fontsize',12);ylabel('适应度','fontsize',12);

disp('适应度变量');

x=bestchrom;

%窗口显示

disp([bestfitness x]);

matlab程序运行不停,MATLAB一直运行是为什么?相关推荐

  1. 艾特肯法方程解matlab程序,牛顿迭代法matlab代码

    牛顿法 迭代公式: x(k1) xk [2 f (x(k) )]1f (x(k) ) Matlab 代码: function [x1,k] =newton(x1,eps) hs=inline('(x ...

  2. 牛顿迭代法解线性方程matlab程序,牛顿迭代法matlab程序(解线性方程组)

    <牛顿迭代法matlab程序(解线性方程组)>由会员分享,可在线阅读,更多相关<牛顿迭代法matlab程序(解线性方程组)(4页珍藏版)>请在金锄头文库上搜索. 1.牛顿迭代法 ...

  3. 微分matlab程序,数值微分及其matlab程序.doc

    数值微分及其matlab程序.doc 第八章数值微分1282一阶导数的数值计算及其MATLAB程序821差商求导及其MATLAB程序例821设215SINXF(1)分别利用前差公式和后差公式计算的 ...

  4. python调用matlab程序_Python调用MATLAB实现fmincon函数

    motivation: 1.要实现"符号几何规划"的功能,使用MATLAB自带的fmincon函数来实现 2.工程的代码是通过Python来完成的,需要Python调用MATLAB ...

  5. 网络matlab程序_【Matlab】官网资源盘点

    相关链接: 一个单身男博士的业余生活:技多不压身,解数独也可撩妹 手把手 | 使用 MATLAB 图像处理与深度学习解算数独 基于Matlab的杨氏双缝干涉实验模拟 基于Matlab的二维正方晶体马德 ...

  6. matlab程序圆形牛栏,Matlab课本计算题.doc

    Matlab课本计算题 Matlab计算题: 农夫老李有一个半径为10m的圆形牛栏,里面长满了草,老李要将家里的一头牛拴在牛栏边的一根栏桩上,要求只让牛吃到圆形牛栏中的一半的草,请问栓牛鼻的绳子应为多 ...

  7. bfgs算法matlab程序,bfgs算法matlab代码

    (对 Large -scale 问题) 对应文件 \\toolbox\\matlab\\funfun\\fminbnd.m \\toolbox\\optim\\sfminbx.m \\toolbox\ ...

  8. dpcm编码 matlab程序,DPCM编码MATLAB实现.docx

    DPCM编码MATLAB实现 %本文是数字图像处理的一个源程序%实现的功能是DPCM编码%DPCM编码,简称差值编码,是对模拟信号幅度抽样的差值进行量化编码的调制方式%本程序实现一阶/二阶/三阶/四阶 ...

  9. matlab程序动画设计,Matlab动画制作(一)——电影动画

    电影动画的好处就是,运行一次可以多次播放,甚至可以直接生成avi文件,直接独立与Matlab环境播放.这是其它三种动画制作方法所不具备的. MATLAB中,创建电影动画的过程分为以下四步: step1 ...

最新文章

  1. 零基础Java学习之多态
  2. unittest框架(三)unittest+yaml数据驱动
  3. 【Python】垃圾分类,调用阿里云API
  4. python2 python3 import,从python2到python3的导入处理/模块的更改?
  5. 转载:pycharm最新版新建工程没导入本地包问题:module 'selenium.webdriver' has no attribute 'Firefox'...
  6. c#位数不够0补充完_Java与C#比较,哪个语言更是适合你?
  7. ASCII、ANSI、UNICODE及UTF-8编码
  8. Linq 三表 left join 的实现
  9. 自带公网IP上阿里云 | 凌云时刻
  10. [工具] Mac下一键APK逆向环境
  11. 小区停车管理系统(SQL,JDBC)
  12. Android studio 解决Gradle下载缓慢的问题
  13. 专利申请之:交底和挖掘的方法
  14. 2015年阿里巴巴实习生面试经验
  15. 解决Shiro 加权限注解失效 或者报错 This subject is anonymous
  16. 盘点微软CEO纳德拉十大有趣事实
  17. Android多媒体之GL-ES战记第一集--勇者集结
  18. pinia 的使用(三)—— actions
  19. 网上购车平台低首付购车噱头的运作模式
  20. 中文医疗NLP榜单-CBLUE介绍

热门文章

  1. python面面观单元测试_第2周 python面面观
  2. 出现make: *** No rule to make target `all'. Stop.解决办法
  3. 一个物体 偏转角度计算
  4. 闪存中的NorFlash、NandFlash及eMMC三者的区别
  5. R语言中is.na()
  6. r软件 linux,分享|Linux 上好用的 R 语言 IDE
  7. Python str(float) 科学计数法
  8. 计算机视觉论文文献综述怎么找,如何有效在知网寻找属于自己课题的文献综述...
  9. kso- netCore 中 Autofac的使用
  10. android 高斯模糊实现