matlab运行程序时不报错,只显示出ans=程序名,这是为什么,以下是详细代码,用pso算法求解tsp问题
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/13 11:22:35
matlab运行程序时不报错,只显示出ans=程序名,这是为什么,以下是详细代码,用pso算法求解tsp问题
clear
clc
tic;
global N D
data1=load('vrpnc1.txt');
n=size(data1,1)-1; %depot+customer
a=data1(2:(n+1),1);
b=data1(2:(n+1),2);
C=[a b]; %城市坐标矩阵
D=zeros(n,n);
for i=1:n
for j=1:n
if =j
D(i,j)=((C(i,1)-C(j,1))^2+(C(i,2)-C(j,2))^2)^0.5;
end
D(j,i)=D(i,j);
end
end
s_size=1000; %种群数目
N=n-1;% 粒子的向量数,顾客数customer
c1=2;
c2=2;
Wmin=0.01;
Wmax=0.9;
w=0.4;
tmax=150;% 迭代次数
xr=zeros(s_size,N);
for i=1:s_size
xr(i,:)=randperm(N);
end
for i=1:s_size
for j=1:N-1
v_cost=v_cost+D(xr(i,j),xr(i,j+1));
j=j+1;
end
best_p(i)=v_cost(i);
best_pv=xr(i,:);
end
k=trace(max(v_cost));
best_g=v_cost(k);
best_gv=xr(k,:);
v_cost1=zeros(s_size,N);
xv=zeros(s_size,N);
for t=1:tmax
for i=1:s_size
w=Wmax-tt*(Wmax-Wmin)/tmax;
xv_temp=w*xv(i,:)+c1*rand()*(best_p(i,:)-xr(i,:))+c2*rand()*(best_g-xr(i,:))
xr(i,:)=xr(i,:)+xv_temp;
xv(i,:)=xv_temp;
for j=1:N-1
v_cost1(i)=v_cost1(i)+D(xr(i,j),xr(i,j+1));
j=j+1;
end
if v_cost1(i)
clear
clc
tic;
global N D
data1=load('vrpnc1.txt');
n=size(data1,1)-1; %depot+customer
a=data1(2:(n+1),1);
b=data1(2:(n+1),2);
C=[a b]; %城市坐标矩阵
D=zeros(n,n);
for i=1:n
for j=1:n
if =j
D(i,j)=((C(i,1)-C(j,1))^2+(C(i,2)-C(j,2))^2)^0.5;
end
D(j,i)=D(i,j);
end
end
s_size=1000; %种群数目
N=n-1;% 粒子的向量数,顾客数customer
c1=2;
c2=2;
Wmin=0.01;
Wmax=0.9;
w=0.4;
tmax=150;% 迭代次数
xr=zeros(s_size,N);
for i=1:s_size
xr(i,:)=randperm(N);
end
for i=1:s_size
for j=1:N-1
v_cost=v_cost+D(xr(i,j),xr(i,j+1));
j=j+1;
end
best_p(i)=v_cost(i);
best_pv=xr(i,:);
end
k=trace(max(v_cost));
best_g=v_cost(k);
best_gv=xr(k,:);
v_cost1=zeros(s_size,N);
xv=zeros(s_size,N);
for t=1:tmax
for i=1:s_size
w=Wmax-tt*(Wmax-Wmin)/tmax;
xv_temp=w*xv(i,:)+c1*rand()*(best_p(i,:)-xr(i,:))+c2*rand()*(best_g-xr(i,:))
xr(i,:)=xr(i,:)+xv_temp;
xv(i,:)=xv_temp;
for j=1:N-1
v_cost1(i)=v_cost1(i)+D(xr(i,j),xr(i,j+1));
j=j+1;
end
if v_cost1(i)
1、v_cost按你写的程序只是一个数不是一个数组
2、最后一行多加了)和,
因为不能运行,所以只看了这么多
2、最后一行多加了)和,
因为不能运行,所以只看了这么多
matlab运行程序时不报错,只显示出ans=程序名,这是为什么,以下是详细代码,用pso算法求解tsp问题
关于matlab程序的问题 这是PSO算法里的一小段程序 有错误 求指导
粒子群优化算法(PSO)的matlab运行程序~
用matlab求解一元二次方程,运行程序后为什么只显示一个解?
这是一个matlab程序,为什么这个程序只运行else后面的语句,
如何用pso算法优化离散数据?(matlab程序)
MATLAB程序问题:运行下面的程序,
一段用MATLAB编制的.m文件,运行时显示该程序出现了一些问题(见下),请分析说明错误,并写出改正后的完整代码
我的MATLAB程序运行这条指令时老是出不了结果 quad('x.*log(1+x)',0,1); 程序根本没有显示结果
遗传算法MATLAB程序问题
这是一个用MATLAB求解的线性规划问题,我是matlab的新手,求教大家帮我看看程序.
数学算法概念问题,急以下几个关于算法的概念哪些是错的,错的话为什么(高二知识)1.条件结构的程序框图中有一个入口和两个出