亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? arpso.c

?? 一個遺傳粒子群算法原代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
	double size = maxlimit - minlimit;      	swarm[a].pos[i] = fusionPoint[i] + randval(-0.1,0.1);      }      break;    case 1:      swarm[a].pos[i] = fusionPoint[i] + randval(-fac,fac);//minlimit*fac2,maxlimit*fac2);      break;    case 2:      swarm[a].pos[i] = fusionPoint[i] + randval(-fac2,fac2);//minlimit*fac2,maxlimit*fac2);      break;    case 3:      swarm[a].pos[i] = fusionPoint[i] + randval(-fac3,fac3);//minlimit*fac2,maxlimit*fac2);      break;    }    swarm[a].vel[i] = randval(-vmax,vmax);  }}void setPosAndVel2(int A, int a) {  int i;  double fac3 = getDiversity();  double fac2 = 1/(t+1);  double fac = (double)1-(double)evaluations/(double)tMax;  for(i=0;i<dim;i++) {    swarm[a].pos[i] = swarm[A].pos[i] + randval(-fac3,fac3);//minlimit*fac2,maxlimit*fac2);    swarm[a].vel[i] = randval(-vmax,vmax);  }}/*void fusion(int a, int b){  int i;	if (a < 0 || b < 0 || a >= swarmsize || b >= swarmsize) {//wrong index		printf("One of the particles, %d and %d, has an illegal index\n",a,b);		return;	}	if (a == b) { // may not be equal		printf("A particle cannot fuse with itselves\n");		return;	}	if (!mainParticle(a) || !mainParticle(b)) {// not a main particle		printf("One of the particles, %d and %d, is not a main particle and cannot fuse\n",a,b);		return;	}	// Now:	// 0 <= a,b < swarmsize, a != b and a and b are both main particles	// DO the fusion!!	for(i=0;i<dim;i++)	  fusionPoint[i] = swarm[a].pos[i];	if ((int)randval(0,2)) { // a < b  --  a fuses together with b, BUT a becomes the main particle: it eats b and all its paticles		int i;		if (swarm[b].bestfit < swarm[a].bestfit) {		  swarm[a].bestfit =swarm[b].bestfit;		  for(i=0;i<dim;i++) {		    swarm[a].best[i] = swarm[b].best[i];		    swarm[a].bestvel[i] = swarm[b].bestvel[i];		  }		}		// add the size of b to the size of a; then set the size of b to 0		swarm[a].parSize += swarm[b].parSize;		swarm[b].parSize = 0;		for(i=0;i<swarmsize;i++)			// let all particles previously fused with b now fuse with a			if (swarm[i].fusedWith == b)				swarm[i].fusedWith = a;	} else {// b fuses together with a, BUT b becomes the main particle: it eats a and all its paticles		int i;		if (swarm[a].bestfit < swarm[b].bestfit) {		  swarm[b].bestfit =swarm[a].bestfit;		  for(i=0;i<dim;i++) {		    swarm[b].best[i] = swarm[a].best[i];		    swarm[b].bestvel[i] = swarm[a].bestvel[i];		  }		}		// add the size of a to the size of b; then set the size of a to 0		swarm[b].parSize += swarm[a].parSize;		swarm[a].parSize = 0;		for(i=0;i<swarmsize;i++)			// let all particles previously fused with b now fuse with a			if (swarm[i].fusedWith == a)				swarm[i].fusedWith = b;	}	nParticles--;}void fission(int a){	int i,size1,size2,index2,nFused;	if (a < 0 || a >= swarmsize) {//wrong index		printf("The particle, %d, has an illegal index\n",a);		return;	}	if (!mainParticle(a)) { // not a main particle		printf("The particle, %d, is not a main particle and cannot do fission\n",a);		return;	}	if (swarm[a].parSize < 2) {// fission not possible		printf("Particle is too small to do fission\n");		return;	}	// Now:	// 0 <= a < swarmsize and a is a main particle	// DO the fission!!	size1 = swarm[a].parSize / 2;	size2 = swarm[a].parSize - size1;		// find a particle that previously was fused with a (and which is not a!!)	i = 0;	while ((swarm[i].fusedWith != a || i == a) && i < swarmsize) // checking for inf. loop		i++;	if (i == swarmsize) {		printf("Error:\tEven though particle %d had a size of %d\n\tno other particle could be found that had fused with it.\n\tTherefor no fission\n",a,swarm[a].parSize);		return;	}	index2 = i;	//printf("%d,%d",a,index2);	// changing (size2)-1 particles to belong to particle index2 instead of a	// setting sizes to 0	for(i=0,nFused=0;i<swarmsize && nFused < size2-1;i++) {		if (swarm[i].fusedWith == a && i != index2 && i!= a) {			swarm[i].fusedWith = index2;			swarm[i].parSize = 0;			nFused++;		}	}	if (nFused != size2-1) {		printf("Big error (can't undo!): Not %d particles performed fission (as calculated) but only %d\n",size2,nFused);		return;	}	// setting new sizes	swarm[a].parSize = size1;	swarm[a].fusedWith = a;	swarm[index2].parSize = size2;	swarm[index2].fusedWith = index2;	nParticles++;		setPosAndVel2(a,index2);}void explosion() {  int i,j;  meanPoint(fusionPoint);    //printf("FusionPoint: ");  //for(j=0;j<dim;j++) {  //  printf("%lf, ",fusionPoint[j]);  //}  //  nParticles = swarmsize;  for(i=0;i<swarmsize;i++) {    swarm[i].parSize = 1;    swarm[i].fusedWith = i;    swarm[i].fitness = DBL_MAX;    swarm[i].bestfit = DBL_MAX;    swarm[i].gbestfit = DBL_MAX;    setPosAndVel(i,0);    for(j=0;j<dim;j++) {      // swarm[i].pos[j] = randval(mininitlimit,maxinitlimit);      swarm[i].vel[j] = randval(-vmax,vmax);    }  }  // assignfitn();  //  for(i=0;i<swarmsize;i++) {  //  for(j=0;j<dim;j++)  //    swarm[i].gbest[j] = swarm[i].pos[j];  //  swarm[i].gbestfit = swarm[i].fitness;  //}}void collcontrol() {  int modelNr = 3;  int i1,i2,j,fisP;  updColllist();  switch (modelNr) {  case 1:    // both particles must be main particles and overlap    for(i1=0;i1<swarmsize;i1++) {      for(i2=i1+1;i2<swarmsize;i2++) {	if (mainParticle(i1) && mainParticle(i2) && overlap(i1,i2)) {	  printf("(%d,%d,%d,",100*evaluations/tMax,i1,i2);	  //printf("Fusion(%d,%d): %2d and %2d\n",t,evaluations,i1,i2);	  	  //****** fusion model 1: *******	  // Konstant antal partikler (20 stk.)	  fusion(i1,i2);	  //find fission-particle:	  //  1: partikel med st鴕st afstand til 	  //  swarm-snit-punkt 	  //  2: partikel med ringeste fitness	  //  3: partikel som har klaret sig 	  //  "d錼ligst"	  fisP = findFissionParticle(1);	  fission(fisP);	  printf(")\n");	  for(j=0;j<swarmsize;j++) {	    if (mainParticle(j)) printf("Partikel %d, size %d\n",j,swarm[j].parSize); 	  }		}      }    }    break;  case 2:    //****** fusion model 2: ********    // i mode 1:    // fusion n錼 paritkler st鴇er sammen    // skift til mode 2 n錼 under lowerbound partikler    // i mode 2:        //    if (modeFusion) {      int count = 0,count2,val=(int)randval(0,swarmsize);      //printf("(%d)",val);      for(i1=val;count<swarmsize;i1 = (i1+1)%swarmsize,count++) {	for(i2=(i1+1)%swarmsize,count2=1;count2<swarmsize;i2 = (i2+1)%swarmsize,count2++) {	  //printf("%d %d %d\n",i1,i2,count2);	  //printf("D(%d(%d),%d(%d)) %lf\n",i1,mainParticle(i1),i2,mainParticle(i2),dist(i1,i2));	  if (mainParticle(i1) && mainParticle(i2) && overlap(i1,i2)) {	    //printf("(%d,%d,%d,",100*evaluations/tMax,i1,i2);	    fusion(i1,i2);	    printf("%d ",nParticles);	    //printf(")\n");	    	    //for(j=0;j<swarmsize;j++) {	    //  if (mainParticle(j)) printf("Partikel %d, size %d fusedWith %d\n",j,swarm[j].parSize,swarm[j].fusedWith); 	    //}            	    if (nParticles < particleLowerBound) {	      modeFusion = 0; // i.e.: mode is fission now 	      printf("\nStarting fission ... (%d)\n",100*evaluations/tMax);	    }	  }	}      }    } else {      if (evaluations - tLastFission > 500) {	tLastFission = evaluations; 	fisP = findFissionParticle(2);	fission(fisP);	printf("%d ",nParticles);	//for(j=0;j<swarmsize;j++) {	// if (mainParticle(j)) printf("Partikel %d, size %d fusedWith %d\n",j,swarm[j].parSize,swarm[j].fusedWith); 	//}	if (nParticles == swarmsize) {	  modeFusion = 1;	  printf("\nStarting fusion ... (%d)\n",100*evaluations/tMax);	}      }    }  	    break;  case 3: {    // model 3    int count = 0,count2,val=(int)randval(0,swarmsize);    double *nul = malloc(dim * sizeof(double));    for(j=0;j<dim;j++) nul[j] = 0;    for(i1=val;count<swarmsize;i1 = (i1+1)%swarmsize,count++) {      for(i2=(i1+1)%swarmsize,count2=1;count2<swarmsize;i2 = (i2+1)%swarmsize,count2++) {	if (mainParticle(i1) && mainParticle(i2) && overlap(i1,i2)) {	  if (nParticles > particleLowerBound) {	    fusion(i1,i2);	    printf("(%d)",nParticles);	    if (nParticles == particleLowerBound) {	      printf("Evals gegangen: %d\n", evaluations);	      evalImproved = evaluations;	      printf("Bei der letzte fusion:\n");	      printpositions();	    }	  }	  //  if (nParticles < particleLowerBound) {	    // explode!!!!!!!	    //printpositions();	    //printbestfitness();	  //  explosion();	  //  printf("(explo:%d)",nParticles);	    //for(j=0;j<swarmsize;j++)	    //printf("%d %lf\n",j,dist2(swarm[j].pos,nul));	  //	  }	}      }    }  }  break;  }}int findFissionParticle(int ModelNr){   int index=-1,i;  double distance = 0;  double tempdist = 0;  double tempfit = 0;  int tempImp = 0;  switch(ModelNr) {  case 1: // model med fission ved partikel med st鴕st afstand til swarm-snit-punkt     for(i=0;i<swarmsize;i++) {       if(mainParticle(i) && swarm[i].parSize > 1)	{	  tempdist = distanceToMeanPoint(i);	  if(tempdist > distance) 	    {	      distance = tempdist;	      index = i;	    }	}    }        if ((index==-1))      printf("No possible fission.\n");    //else    //printf("fissionNumber: %d\n",index);    return(index);    break;  case 2: // model med fission ved partikel med d錼ligst fitness       for(i=0;i<swarmsize;i++) {       if(mainParticle(i) && swarm[i].parSize > 1)	{	  if(swarm[i].fitness > tempfit)	    {	      tempfit = swarm[i].fitness;	      index = i;	    }	}    }    if ((index==-1))      printf("No possible fission.\n");    //else    // printf("fissionNumber: %d\n",index);    return(index);    break;  case 3: // model med fission ved partikel som har klarest sig d錼ligst      for(i=0;i<swarmsize;i++) {       if(mainParticle(i) && swarm[i].parSize > 1)	{	  if(swarm[i].tImproved > tempImp)	    {	      tempImp = swarm[i].tImproved;	      index = i;	    }	}    }    if ((index==-1))      printf("No possible fission.\n");    //else    //  printf("fissionNumber: %d\n",index);    return(index);     // break;  case 4: // model med fission ved partikel med mindst afstand til swarm-snit-punkt     distance = DBL_MAX;    for(i=0;i<swarmsize;i++) {       if(mainParticle(i) && swarm[i].parSize > 1)	{	  tempdist = distanceToMeanPoint(i);	  if(tempdist < distance) 	    {	      distance = tempdist;	      index = i;	    }	}    }        if ((index==-1))      printf("No possible fission.\n");    //else    //printf("fissionNumber: %d\n",index);    return(index);    break;  default:    return -1;    break;  }}*/void fitImprovement() {	int fitImproveNr = 0;	int i;		// Warning: Only working for minimisation problems	switch(fitImproveNr) {	case 0: // Procentvis fitness improvement p

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产婷婷色一区二区三区| 一区二区三区产品免费精品久久75| 麻豆成人在线观看| 亚洲电影一级黄| 国产精品视频麻豆| 91精品国产91综合久久蜜臀| a在线播放不卡| 粉嫩在线一区二区三区视频| 捆绑紧缚一区二区三区视频| 亚洲黄色性网站| 一区在线中文字幕| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲午夜精品在线| 夜夜嗨av一区二区三区中文字幕 | 一区二区三区精品| 国产精品麻豆欧美日韩ww| 久久久九九九九| 国产精品人妖ts系列视频| 久久久久久一二三区| 久久影院视频免费| 国产精品五月天| 成人欧美一区二区三区黑人麻豆| 国产三级精品在线| 日韩伦理av电影| 丝瓜av网站精品一区二区| 日本亚洲一区二区| 国产伦精品一区二区三区免费迷| 国产精品夜夜嗨| 91色|porny| 日韩欧美一级精品久久| 久久久九九九九| 亚洲成av人片在线| 国产99久久久国产精品潘金| 色综合久久久久综合99| 欧美v日韩v国产v| 欧美大肚乱孕交hd孕妇| 日本一区二区成人在线| 亚洲一区免费观看| 国产成人自拍在线| 欧美色中文字幕| 国产欧美日韩不卡| 蜜桃视频免费观看一区| 色哟哟日韩精品| 国产亚洲欧洲一区高清在线观看| 亚洲一区二区三区四区的| 久草精品在线观看| 99久久国产综合精品色伊| 欧美一级理论性理论a| 成人欧美一区二区三区视频网页 | 亚洲一区二区视频在线观看| 久久精品噜噜噜成人88aⅴ| 欧洲精品一区二区| 国产精品天美传媒| 色婷婷久久久综合中文字幕| 久久久久国产精品麻豆ai换脸| 午夜免费欧美电影| 日本黄色一区二区| 亚洲综合色区另类av| 91久久香蕉国产日韩欧美9色| 国产精品亲子乱子伦xxxx裸| 激情综合色综合久久| 精品精品欲导航| 国产成人午夜视频| 国产精品乱码一区二区三区软件 | 精品少妇一区二区三区免费观看 | 久久综合色播五月| 国模冰冰炮一区二区| 亚洲国产成人一区二区三区| 国产99久久精品| 一区二区三区四区av| 欧美精品国产精品| 国产在线精品免费| 亚洲精品日韩一| 日韩欧美成人一区| 91浏览器打开| 国产成人精品影视| 天天av天天翘天天综合网色鬼国产| 色拍拍在线精品视频8848| 日韩经典一区二区| 中文一区二区在线观看| 欧美午夜精品一区二区蜜桃| 精品一区二区三区免费毛片爱 | 亚洲美女视频在线| 2020国产精品久久精品美国| 国产成人精品网址| 麻豆91精品视频| 亚洲一区成人在线| 国产精品久久三| 久久精品视频网| 在线免费观看不卡av| 国产精品一区二区在线观看网站| 久久99久久精品欧美| 日本欧美加勒比视频| 国产在线一区观看| 成人av网址在线观看| 99久久免费精品| 欧美色图第一页| 欧美电视剧在线看免费| 精品福利av导航| 国产精品久线在线观看| 亚洲欧美电影一区二区| 日韩有码一区二区三区| 精品一二线国产| 91精品福利视频| 欧美一二三四区在线| 亚洲视频一区在线| 美女视频黄 久久| 9i看片成人免费高清| 日韩天堂在线观看| 国产精品久久久一区麻豆最新章节| 一区二区三区欧美日| 韩国av一区二区三区四区| 91色乱码一区二区三区| 欧美一级午夜免费电影| 亚洲欧美在线视频观看| 看国产成人h片视频| 欧美性大战久久| 亚洲欧美日韩一区| 色婷婷av一区二区三区之一色屋| 精品捆绑美女sm三区| 爽好多水快深点欧美视频| 色偷偷久久一区二区三区| 国产精品视频线看| 高清视频一区二区| 日本一区二区三区四区| 国产成人av一区二区| 国产精品欧美精品| 国产成人在线观看免费网站| 久久一留热品黄| 国产99久久精品| 国产精品免费av| 色先锋资源久久综合| 亚洲狠狠丁香婷婷综合久久久| 成人免费福利片| 亚洲精品国产一区二区精华液 | 欧美片网站yy| 日本午夜精品视频在线观看| 欧美成人一级视频| 国产成人午夜99999| 最新国产の精品合集bt伙计| 色婷婷综合久久久中文字幕| 欧美大片国产精品| 成人短视频下载| 蜜芽一区二区三区| 国产精品国产自产拍高清av| 欧美日韩一区三区| 精品一区二区三区在线播放| 日韩一区在线播放| 亚洲精品在线网站| 欧美在线不卡视频| 风流少妇一区二区| 免费成人小视频| 亚洲va韩国va欧美va精品| 中文字幕精品在线不卡| 91精品中文字幕一区二区三区| 国产麻豆精品theporn| 亚洲小说春色综合另类电影| 中文字幕av一区二区三区高 | 日本成人在线网站| 一区二区理论电影在线观看| 国产嫩草影院久久久久| 日韩一区二区三| 91精品国产综合久久福利软件 | 精品日韩一区二区| 一本久久精品一区二区| 本田岬高潮一区二区三区| 久久精品999| 国产一区二区调教| 激情另类小说区图片区视频区| 日韩成人av影视| 日本不卡在线视频| 免费成人av在线播放| 另类的小说在线视频另类成人小视频在线| 亚洲视频一区二区在线观看| 国产精品国产三级国产aⅴ中文| 国产丝袜在线精品| 亚洲丝袜自拍清纯另类| 亚洲精品日韩专区silk| 亚洲aⅴ怡春院| 麻豆免费精品视频| 国产精品亚洲专一区二区三区 | 国产美女视频91| 成人av综合在线| 久久一区二区视频| 日韩视频在线你懂得| 国产乱国产乱300精品| 国产精品沙发午睡系列990531| 色综合色狠狠综合色| 婷婷久久综合九色综合伊人色| 国产精品黄色在线观看| 国产精品国产三级国产aⅴ中文 | 久久免费视频色| 欧美高清在线一区| 亚洲444eee在线观看| 豆国产96在线|亚洲| 在线影院国内精品| 精品国产第一区二区三区观看体验 | 99视频有精品| 2020国产精品久久精品美国| 奇米四色…亚洲|