该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
void initGroup() {
Random rand=new Random();
int k;
int cityNum=0;
int i= rand.nextInt(clientNum);//随机产生一个城市作为起点
for (k = 0; k
oldMatrix[k][0]=i+1;
int j;//终点
do
{
cityNum++;
//选出单源最短城市
float minDis=Integer.MAX_VALUE;
int minCity=0;
for(j=0;j
{
if(j!= i)
{
//判是否和已有重复
boolean repeat=false;
for(int n=0;n
{
if(oldMatrix[k][n] == j+1)
{
repeat=true;//重了
break;
}
}
if(repeat == false)//没重
{
//判长度
if(punishmentMatrix[i][j] < minDis)
{
minDis=(float) punishmentMatrix[i][j];
minCity=j;
}
}
}
}
//加入到染色体
oldMatrix[k][cityNum]=minCity+1;
i=minCity;
} while(cityNum < clientNum-1);
}
}