matlab程序运行不停,MATLAB一直运行是为什么?
这三段代码有问题吗?红字部分
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一直运行是为什么?相关推荐
- 艾特肯法方程解matlab程序,牛顿迭代法matlab代码
牛顿法 迭代公式: x(k1) xk [2 f (x(k) )]1f (x(k) ) Matlab 代码: function [x1,k] =newton(x1,eps) hs=inline('(x ...
- 牛顿迭代法解线性方程matlab程序,牛顿迭代法matlab程序(解线性方程组)
<牛顿迭代法matlab程序(解线性方程组)>由会员分享,可在线阅读,更多相关<牛顿迭代法matlab程序(解线性方程组)(4页珍藏版)>请在金锄头文库上搜索. 1.牛顿迭代法 ...
- 微分matlab程序,数值微分及其matlab程序.doc
数值微分及其matlab程序.doc 第八章数值微分1282一阶导数的数值计算及其MATLAB程序821差商求导及其MATLAB程序例821设215SINXF(1)分别利用前差公式和后差公式计算的 ...
- python调用matlab程序_Python调用MATLAB实现fmincon函数
motivation: 1.要实现"符号几何规划"的功能,使用MATLAB自带的fmincon函数来实现 2.工程的代码是通过Python来完成的,需要Python调用MATLAB ...
- 网络matlab程序_【Matlab】官网资源盘点
相关链接: 一个单身男博士的业余生活:技多不压身,解数独也可撩妹 手把手 | 使用 MATLAB 图像处理与深度学习解算数独 基于Matlab的杨氏双缝干涉实验模拟 基于Matlab的二维正方晶体马德 ...
- matlab程序圆形牛栏,Matlab课本计算题.doc
Matlab课本计算题 Matlab计算题: 农夫老李有一个半径为10m的圆形牛栏,里面长满了草,老李要将家里的一头牛拴在牛栏边的一根栏桩上,要求只让牛吃到圆形牛栏中的一半的草,请问栓牛鼻的绳子应为多 ...
- bfgs算法matlab程序,bfgs算法matlab代码
(对 Large -scale 问题) 对应文件 \\toolbox\\matlab\\funfun\\fminbnd.m \\toolbox\\optim\\sfminbx.m \\toolbox\ ...
- dpcm编码 matlab程序,DPCM编码MATLAB实现.docx
DPCM编码MATLAB实现 %本文是数字图像处理的一个源程序%实现的功能是DPCM编码%DPCM编码,简称差值编码,是对模拟信号幅度抽样的差值进行量化编码的调制方式%本程序实现一阶/二阶/三阶/四阶 ...
- matlab程序动画设计,Matlab动画制作(一)——电影动画
电影动画的好处就是,运行一次可以多次播放,甚至可以直接生成avi文件,直接独立与Matlab环境播放.这是其它三种动画制作方法所不具备的. MATLAB中,创建电影动画的过程分为以下四步: step1 ...
最新文章
- 零基础Java学习之多态
- unittest框架(三)unittest+yaml数据驱动
- 【Python】垃圾分类,调用阿里云API
- python2 python3 import,从python2到python3的导入处理/模块的更改?
- 转载:pycharm最新版新建工程没导入本地包问题:module 'selenium.webdriver' has no attribute 'Firefox'...
- c#位数不够0补充完_Java与C#比较,哪个语言更是适合你?
- ASCII、ANSI、UNICODE及UTF-8编码
- Linq 三表 left join 的实现
- 自带公网IP上阿里云 | 凌云时刻
- [工具] Mac下一键APK逆向环境
- 小区停车管理系统(SQL,JDBC)
- Android studio 解决Gradle下载缓慢的问题
- 专利申请之:交底和挖掘的方法
- 2015年阿里巴巴实习生面试经验
- 解决Shiro 加权限注解失效 或者报错 This subject is anonymous
- 盘点微软CEO纳德拉十大有趣事实
- Android多媒体之GL-ES战记第一集--勇者集结
- pinia 的使用(三)—— actions
- 网上购车平台低首付购车噱头的运作模式
- 中文医疗NLP榜单-CBLUE介绍
热门文章
- python面面观单元测试_第2周 python面面观
- 出现make: *** No rule to make target `all'. Stop.解决办法
- 一个物体 偏转角度计算
- 闪存中的NorFlash、NandFlash及eMMC三者的区别
- R语言中is.na()
- r软件 linux,分享|Linux 上好用的 R 语言 IDE
- Python str(float) 科学计数法
- 计算机视觉论文文献综述怎么找,如何有效在知网寻找属于自己课题的文献综述...
- kso- netCore 中 Autofac的使用
- android 高斯模糊实现