主题:求助:这样的矩阵如何产生???(急啊!!!高手请帮忙,谢谢了!)
有一个配送中心和n个客户点,第i个客户需要运输的货物质量为gi(i=1,2,…,n),由配送中心派出载重量为q的货车来承运,假设gi<q,求满足货运需求的最低成本车辆运输行程路线
1、首先产生一个随机排列的矩阵:
m=5;
c=8;
popm=zeros(m,c);
for i=1:m
popm(i,:)=randperm(c);
end
2、如何将0插入刚产生的矩阵popm中,成为这样的矩阵
[0,1,2,3,4,5,6,7,8,0
0,........................,0
0,........................,0
0,........................,0
0,........................,0]
3、将客户点按自然码编码方式表示为1-n的序列,随机产生c个1-n的全排列,将第一位和最后一位设置为0,随后计算货物总量,若客户点s-1的货物总量<=q 且客户点s处的货物总量>q ,则将s至n的基因依次向后移动一位,将s位空出,并设置为0,如此重复,直到将m-1个0全部插入染色体为止。然后再将各子回路按时间先后进行排序(要求:与不做子回路排序的程序进行比较)。这样就构成一条初始染色体。依次反复,直到满足群体数。(假设9个城市:[0352017089460
05601240....0
0...0....0..0
.............]
1、首先产生一个随机排列的矩阵:
m=5;
c=8;
popm=zeros(m,c);
for i=1:m
popm(i,:)=randperm(c);
end
2、如何将0插入刚产生的矩阵popm中,成为这样的矩阵
[0,1,2,3,4,5,6,7,8,0
0,........................,0
0,........................,0
0,........................,0
0,........................,0]
3、将客户点按自然码编码方式表示为1-n的序列,随机产生c个1-n的全排列,将第一位和最后一位设置为0,随后计算货物总量,若客户点s-1的货物总量<=q 且客户点s处的货物总量>q ,则将s至n的基因依次向后移动一位,将s位空出,并设置为0,如此重复,直到将m-1个0全部插入染色体为止。然后再将各子回路按时间先后进行排序(要求:与不做子回路排序的程序进行比较)。这样就构成一条初始染色体。依次反复,直到满足群体数。(假设9个城市:[0352017089460
05601240....0
0...0....0..0
.............]