struct Chrom // creating the chrom structure { int Num_Chrom; unsigned int Gen[Chrom_Size]; int Fit; }; // now we have a chrom type that we can use void Initial_Pop(Chrom[], int);
void Initial_Pop(Chrom PopInitial[], int Pop_Size){ int i=0,j=0; unsigned int Random; unsigned int temp1[Num_VehicleKind-1]; unsigned int temp2[Num_Depot-1]; for(j=0;j<Pop_Size;j++){ // loop of j to choose chromes from [0] to [pop_size] for(i=0;i<(Num_VehicleKind-1);i++){ // loop of i to generate (Num_VehicleKind-1) random integer temp1[i]=1+rand()%Num_Depot; // make the random integer value between 1 and (Num_Depot) }//end of for(i) for(i=0;i<(Num_Depot-1);i++){ // loop of i to generate (Num_Depot-1) random integer temp2[i]=1+rand()%Num_VehicleKind; // make the random integer value between 1 and (Num_VehicleKind) }//end of for(i) int k1=(Num_VehicleKind-1); int k2=(Num_Depot-1); int p=(Num_VehicleKind+Num_Depot-2); while(k1==-1 || k2==-1){ // loop of i to generate (Num_Depot-1) random integer //Random=rand(); // creating random value Random=(rand()%2); if (Random==0){ // make the random integer value between 1 and (Num_VehicleKind) PopInitial[j].Gen[p]=temp1[k1]; k1--; p--; }//end of if else{ PopInitial[j].Gen[p]=temp2[k2]; k2--; p--; }//end of else }//end of while
PopInitial[j].Gen[p]=temp1[k1];
while(k1==-1 || k2==-1){ // loop of i to generate (Num_Depot-1)
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)