这是一段MATLAB遗传算法代码,用于求解带时间窗的VRP问题的
有没有大神指教一下数组具体含义啊
clc;clf;clear all;
tic;
D=0;Q=0;T=0;dz=0;uz=0;sumz=inf;average=0;
m=input(‘请输入初始群数:’);
MAXGEN=input(‘最大遗传代数:’);
b=zeros(m,10);
z=zeros(1,21);
for i=1:m
b(i,:)=[randperm(10)+1];
end
b ;
sumd=zeros(m,1);u=ones(m,1);sumd2=zeros(m,1);u2=ones(m,1);o=zeros(m,10);oo=zeros(m,1);
load(‘d.mat’);
load(‘t.mat’);
q=[0,10,15,21,16,25,22,15,12,20,25];
s=[0,0.2,0.3,0.35,0.3,0.4,0.35,0.3,0.2,0.35,0.4];
ae=[0,0;0,5;0,0;0,5;0,0;0,3;1,0;0,5;1,0;1,4;0,0];
al=[inf,0;2,7;7,0;4,6;8,0;2,8;7,0;3,8;8,0;3,8;6,0];
A=zeros(m,21);
for i=1:m
a=ones(1,21);
for j=1:10
index1=a(j+u(i)-1);index2=b(i,j);
D=D+d(index1,index2)+d(index2,1);
Q=Q+q(index2);
if (D<=200) &&( Q<=90 )&&…
( ( ( ae(index2,1)<=T+t(index1,index2) )&&( (T+t(index1,index2)+s(index2))<=al(index2,1) ) )||(( ae(index2,2)<=T+t(index1,index2) )&&( (T+t(index1,index2)+s(index2))<=al(index2,2) ) ));
D=D-d(index2,1);sumd(i)=sumd(i)+d(index1,index2);
a(j+u(i))=b(i,j);T=T+t(index1,index2)+s(index2);
else D=0;Q=0;T=0;u(i)=u(i)+1;a(j+u(i))=b(i,j);sumd(i)=sumd(i)+d(a(j+u(i)-2),1)+d(1,b(i,j));D=d(1,b(i,j));Q=Q+q(b(i,j));T=T+t(1,b(i,j))+s(