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

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

?? arpso.c

?? 一個遺傳粒子群算法原代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include <stdio.h>#include <stdlib.h>#include <math.h>#include <limits.h>#include <time.h>#include <functions.c>#define pi 3.14159265358979#define e  2.71828182845904#define TICKSIZE 5#define bool int#define true 1#define false 0#define MAX(x,y) ((x) > (y) ? (x) : (y))#define MIN(x,y) ((x) < (y) ? (x) : (y))#define DBL_MAX pow(2,1023)int outputDeltaEvals = 20;int t;                              // timestepint tMax;                           // max timestepint swarmsize;                      // number of particlesint nParticles;						// actual number of particles (this number can vary because of fusion and fission)int dim;                            // dimensionality of the functionint topo;                           // neighbourhood topologyint runs;                           // Runsint runno;							// Run numberint procent;						//......long evaluations=0;int notImproved=0;int particleLowerBound = 4;int modeFusion = 1;int tLastFission = -1;int evalImproved;int remGbest = -1;double dir;double dLow, dHigh;double diversity;double diagonal;double w,wstart,wend;               // inertia weightdouble theta, theta_start, theta_end, ignorance;// theta & ignorancedouble phi1,phi2;                   // ...double vmax;                        // ...double minlimit,maxlimit;           // limits of the problemdouble mininitlimit,maxinitlimit;   // limits of initialization for particlesint probID;                         //double bfactor;                     // bounce factordouble radius;                      // particle radiusint colllistlength = 25;int colllistPtr;int *partvelchanged;int nAllowed = 0;int maxAllowed;int windowSize=10;int windowPos;double fitnessThreshold = 0.1;double *fusionPoint;typedef struct statistics {	int nEvals;	double nParticles, avgbestfitness, avgavgfitness, stddev, posStddev;} statistics;statistics *logdata, *logdataRuns;FILE *positionfile;FILE *numberparticlesfile,*avgbestfitnessfile,*avgavgfitnessfile,*stddevfile,*posstddevfile,*besteverfile;typedef struct par {	double *pos;	double *vel;	double fitness;		// -- bruges til m錶 for improvement over fitwindowsize timestep	double *fitnesslist;	double fitnessImprove;	// ---	double *best;	double *bestvel;	double bestfit;	// ---	double *gbest;	double gbestfit;	int *nlist;					    // indexlist of neighbours	int changedvel;	// --- collision	int *colllist;					// list of number of collisions over the last colllistlength timesteps	int colllistsum;					// sum of the colllist		int oldVal;	// ---	int behavior;						// 0 is global; 1 is local ; ...	int tImproved;					// timesteps since last fitness improvement	int tChangedBehavior;				// timesteps since last behavior change	// ---	bool allowed;   // .. to be put to the gbest		//-- Nuklear Stuff	int parSize;	int fusedWith;} par;par *swarm;par *bestever;double randval(double low, double high);void allocspace();void initvalues();void updvel();//void collcontrol();void newpos();void assignfitn();void updneigh();void report();void updparams();void logging();void writestats();void logstats();void writepositions();int overlap(int i, int j);double dist(int i, int j);double dist2(double *i, double *j);double decreaseTheta(double a, double b, int time);void randomizevectordir(int i);void collectbestever();void updColllist();void fitImprovement();double distanceToMeanPoint(int index);int findFissionNumber();void meanPoint(double *avgpoint);void printpositions();void printbestfitness();int findFissionParticle(int ModelNr);double randval(double low, double high){	return (((double)(rand()%1000)/1000.0)*(high - low) + low);}int mainParticle(int i) {     return (swarm[i].fusedWith == i);}void allocspace() {	int i;		if (runs == 1 && dim == 2) {		if ((positionfile = fopen("positions.dat","w")) == NULL) {			printf("The file positions.dat couldn't be opened\n");			exit(-1);		}	}		if ((numberparticlesfile = fopen("numberofparticles.dat","w")) == NULL) {		printf("The file numberofparticles.dat couldn't be opened\n");		exit(-1);	}		if ((avgbestfitnessfile = fopen("avgbestfitness.dat","w")) == NULL) {		printf("The file avgbestfitness.dat couldn't be opened\n");		exit(-1);	}		if ((avgavgfitnessfile = fopen("avgavgfitness.dat","w")) == NULL) {		printf("The file avgavgfitness.dat couldn't be opened\n");		exit(-1);	}		if ((stddevfile = fopen("stddev.dat","w")) == NULL) {		printf("The file stddev.dat couldn't be opened\n");		exit(-1);	}		if ((posstddevfile = fopen("posstddev.dat","w")) == NULL) {		printf("The file posstddev.dat couldn't be opened\n");		exit(-1);	}		if ((besteverfile = fopen("bestever.dat","w")) == NULL) {		printf("The file bestever.dat couldn't be opened\n");		exit(-1);	}		logdata = malloc((tMax+1) * sizeof(statistics));	// max number of evaluations is at most tmax+swarmsize	// (if nEvals is tmax-1 before a "timestep" starts, then a whole new swarm can be evaluated)	// we will only output each outputDeltaEvals evaluation-value, hence the formula for the size of logdataRuns	logdataRuns = malloc(((tMax+swarmsize)/outputDeltaEvals+1) * sizeof(statistics));	partvelchanged = malloc(swarmsize * sizeof(int));		bestever = malloc((runs+1) * sizeof(par));		for(i=0;i<runs+1;i++)		bestever[i].pos = malloc(dim * sizeof(double));		swarm = malloc((swarmsize+1) * sizeof(par));	fusionPoint = malloc(dim * sizeof(double));		for(i=0;i<swarmsize+1;i++) {		swarm[i].pos = malloc(dim * sizeof(double));		swarm[i].vel = malloc(dim * sizeof(double));		// ---		swarm[i].best = malloc(dim * sizeof(double));		swarm[i].bestvel = malloc(dim * sizeof(double));		// ---		swarm[i].gbest = malloc(dim * sizeof(double));		// ---		swarm[i].colllist = malloc(colllistlength*sizeof(int));		swarm[i].fitnesslist = malloc(windowSize * sizeof(double));				switch(topo){					case 0:			// fully connected			swarm[i].nlist = malloc(swarmsize * sizeof(int));			break;			/*		case 1:			// circle k=2			swarm[i].nlist = malloc(3 * sizeof(int));			break;		case 2:			if (i==0) swarm[i].nlist = malloc(swarmsize * sizeof(int));			else swarm[i].nlist = malloc(2 * sizeof(int));			break;			*/		}	}}void initvalues() {	int i,j;	dir = 1;	//dLow = 0.01;	//dHigh = 0.1;	diversity = DBL_MAX;  diagonal = sqrt(dim) * (maxlimit - minlimit); // = sqrt(dim * pow(maxlimit - minlimit,2));	evalImproved = 0;	modeFusion = 1;	tLastFission = -1;	nParticles = swarmsize/1;// nParticles = swarmsize/initparticlessize	w= wstart;	if (runno==0) {		for(i=0;i<swarmsize;i++)			partvelchanged[i] = 0;	}	for(i=0;i<dim;i++)	  fusionPoint[i] = 0;		// stats	for(i=0;i<tMax;i++) {		logdata[i].nEvals = -1;	}	for(i=0;i<((tMax+swarmsize)/outputDeltaEvals+1);i++) {		logdataRuns[i].nEvals = -1;	}		// position and velocity	for(i=0;i<swarmsize+1;i++) {		for(j=0;j<dim;j++) {			swarm[i].pos[j] = randval(mininitlimit,maxinitlimit);			swarm[i].vel[j] = randval(-vmax,vmax); 		}		swarm[i].fitness = DBL_MAX;		swarm[i].bestfit = DBL_MAX;		swarm[i].gbestfit = DBL_MAX;		swarm[i].changedvel = 0;		swarm[i].tImproved = 0;		swarm[i].parSize = 1;    		swarm[i].fitnessImprove = 0;		// Should only be done in fusion model 1!!!		if (i!=(swarmsize))		  swarm[i].fusedWith = i ;//% (swarmsize/2);		else		  swarm[i].fusedWith = i; 	}				// initializing collisionlist	colllistPtr = 0;	for(i=0;i<swarmsize;i++) {		swarm[i].colllistsum = 0;		for(j=0;j<colllistlength;j++) {			swarm[i].colllist[j] = 0;		}	}		switch(topo){	case 0:		// fully connected		for(i=0;i<swarmsize;i++){			for(j=0;j<swarmsize;j++)				swarm[i].nlist[j]=j;		}		break;		/*	case 1:		// circle k=2		for(i=0;i<swarmsize;i++){			swarm[i].nlist[0] = (i-1) % swarmsize;			swarm[i].nlist[1] = i;			swarm[i].nlist[2] = (i+1) % swarmsize;			if (swarm[i].nlist[0]<0)				swarm[i].nlist[0] += swarmsize;			if (swarm[i].nlist[1]<0)				swarm[i].nlist[1] += swarmsize;		}		break;	case 2:		// particle 0 connected to all		for(i=0;i<swarmsize;i++)			swarm[0].nlist[i]=i;		// all connected to particle 0		for(i=1;i<swarmsize;i++){			swarm[i].nlist[0]=0;			swarm[i].nlist[1]=i;		}		break;		*/	}		// best position and fitness	windowPos = 0;	assignfitn();	windowPos = 0;		// initializing fitnesslist	for(i=0;i<swarmsize+1;i++) {		for(j=0;j<windowSize;j++) {			swarm[i].fitnesslist[j] = DBL_MAX;		} 	}		// global best position and fitness	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 updvel() {	int i,j;	w = (wstart-wend) * (tMax - evaluations) /tMax +wend;    //time variant weight, linear from weight to 0.4	for(i=0;i<swarmsize;i++) {		if (mainParticle(i)) {			for(j=0;j<dim;j++) {				swarm[i].vel[j] = w * swarm[i].vel[j] + dir * randval(0,phi1) * (swarm[i].best[j] - swarm[i].pos[j]) + dir * randval(0,phi2) * (swarm[i].gbest[j] - swarm[i].pos[j]);				// checking for maxvelocity				if (swarm[i].vel[j] > vmax)					swarm[i].vel[j] = vmax;				if (swarm[i].vel[j] < -vmax)					swarm[i].vel[j] = -vmax;			}		}	}}double getDiversity() {  int i,j;  double posStddev;  double *avgpoint = malloc(dim * sizeof(double));  // spredning paa partiklernes positioner  for(i=0;i<dim;i++) {    for(j=0;j<swarmsize;j++) {      if (mainParticle(j))	avgpoint[i] += swarm[j].pos[i];    }  }  for(i=0;i<dim;i++)    avgpoint[i] /= nParticles;  for(i=0;i<swarmsize;i++) {    if (mainParticle(i))      posStddev += pow(dist2(avgpoint, swarm[i].pos),2);  }  posStddev /= MAX(nParticles - 1,1);  posStddev = sqrt(posStddev);  free(avgpoint);  return posStddev;}void setPosAndVel(int a, int method) {  int i;  double fac3 = getDiversity();  double fac2 = 1/(sqrt(t+1));  double fac = (double)1-(double)evaluations/(double)tMax;  for(i=0;i<dim;i++) {    switch (method) {    case 0:      {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲天堂中文字幕| 国产精品一区二区x88av| 麻豆专区一区二区三区四区五区| 国产麻豆欧美日韩一区| 欧美色图免费看| 国产精品福利影院| 麻豆久久久久久| 欧美在线不卡视频| 国产精品欧美一区喷水| 免费高清不卡av| 欧美在线色视频| 中文字幕中文在线不卡住| 久久黄色级2电影| 欧美日本一区二区三区| 亚洲欧美日韩中文播放| 国产激情精品久久久第一区二区| 欧美一区欧美二区| 亚洲福利一区二区三区| 色婷婷av一区二区三区之一色屋| 国产精品国产自产拍在线| 国产一区二区调教| 精品国产一区二区三区忘忧草| 亚欧色一区w666天堂| 日本韩国欧美三级| 成人免费一区二区三区在线观看 | 久久精品噜噜噜成人88aⅴ| 色成人在线视频| 亚洲免费在线看| 色偷偷88欧美精品久久久| 亚洲欧洲另类国产综合| 高清在线不卡av| 中文字幕电影一区| 粉嫩高潮美女一区二区三区| 国产欧美日韩在线视频| 国产成人综合在线观看| 欧美国产一区在线| 99精品视频一区| 亚洲欧洲制服丝袜| 欧美中文一区二区三区| 亚洲一区二区欧美| 91精品国产综合久久久久久久| 一区二区三区小说| 欧美在线|欧美| 午夜电影一区二区| 日韩亚洲欧美中文三级| 麻豆一区二区三| 亚洲国产成人一区二区三区| 99在线热播精品免费| 亚洲视频 欧洲视频| 欧美性猛交xxxx黑人交| 日本欧美韩国一区三区| 久久久久一区二区三区四区| 成人一级片在线观看| 亚洲视频电影在线| 欧美男男青年gay1069videost| 日韩精品视频网| 精品乱码亚洲一区二区不卡| 国产精品18久久久久久久网站| 国产精品久久久久久久浪潮网站| 一本色道a无线码一区v| 日韩二区在线观看| 久久久久久久国产精品影院| caoporm超碰国产精品| 亚洲精品一二三区| 91精品国产麻豆国产自产在线| 久久99精品久久久久久国产越南| 国产精品麻豆一区二区| 欧美日本在线一区| 菠萝蜜视频在线观看一区| 亚洲男女一区二区三区| 欧美白人最猛性xxxxx69交| 国产成人免费视| 亚洲一二三专区| 欧美激情综合在线| 欧美猛男超大videosgay| 国产精品91一区二区| 亚洲成人免费观看| 中文字幕在线免费不卡| 日韩美一区二区三区| 色狠狠综合天天综合综合| 九色综合国产一区二区三区| ...av二区三区久久精品| 欧美精品日韩精品| 99精品1区2区| 黄页视频在线91| 水蜜桃久久夜色精品一区的特点| 国产日韩精品一区二区浪潮av| 欧美日韩夫妻久久| www..com久久爱| 精品一二三四在线| 日本视频在线一区| 亚洲精品中文在线影院| 中文字幕精品一区二区精品绿巨人| 欧美日韩精品一区二区在线播放| 成人激情小说网站| 国产一区二区精品久久91| 日韩激情中文字幕| 夜夜精品浪潮av一区二区三区| 日本一区二区三区四区在线视频| 欧美一级理论片| 色就色 综合激情| 99久久久久久| 不卡视频在线观看| 国产精品亚洲成人| 精品在线一区二区| 日本午夜精品视频在线观看| 五月婷婷色综合| 亚洲午夜影视影院在线观看| 一区二区三区日韩在线观看| 国产精品女主播在线观看| 久久久综合激的五月天| 精品国产乱码久久久久久久久| 欧美一区二区三区思思人| 欧美欧美欧美欧美| 欧美福利视频一区| 欧美精品在线一区二区三区| 欧美性受xxxx黑人xyx性爽| 欧美性大战久久| 欧美亚洲综合一区| 91久久精品一区二区| 色婷婷综合久久| 色噜噜狠狠色综合欧洲selulu| 色综合欧美在线| 欧洲亚洲国产日韩| 欧美视频日韩视频| 91精品国产综合久久精品| 欧美mv日韩mv国产| 精品电影一区二区| 国产校园另类小说区| 国产精品久久久久永久免费观看 | 91.com视频| 欧美一区二区视频在线观看2022| 欧美猛男男办公室激情| 精品国免费一区二区三区| 久久久久久9999| 国产精品久久久久久久浪潮网站| 亚洲黄网站在线观看| 午夜伦欧美伦电影理论片| 久久精品国产亚洲高清剧情介绍| 国产高清视频一区| 91美女视频网站| 欧美日韩久久一区二区| 久久伊人蜜桃av一区二区| 国产精品污www在线观看| 亚洲中国最大av网站| 蓝色福利精品导航| 99在线精品免费| 欧美日韩国产片| 久久久国际精品| 亚洲午夜成aⅴ人片| 国产在线一区二区| 一本到高清视频免费精品| 欧美一区二区黄色| 中文字幕乱码日本亚洲一区二区 | 精品国产免费一区二区三区四区 | 欧美日本在线观看| 国产亚洲精品bt天堂精选| 一区二区成人在线| 国产在线播精品第三| 欧美午夜精品久久久久久超碰| 欧美电影免费观看高清完整版在| 国产欧美一二三区| 日韩av二区在线播放| 成人app软件下载大全免费| 欧美一区二区在线免费观看| 国产精品成人一区二区艾草| 秋霞电影一区二区| 色婷婷综合久久久久中文一区二区| 日韩免费高清电影| 五月婷婷色综合| 一本一道久久a久久精品| 久久亚洲精精品中文字幕早川悠里 | 日本不卡一区二区三区| 92国产精品观看| 久久综合久久综合亚洲| 日韩国产精品久久久| 99久久精品国产导航| 国产女人水真多18毛片18精品视频| 亚洲成人动漫一区| 色婷婷一区二区| 18成人在线视频| 风流少妇一区二区| wwww国产精品欧美| 老司机免费视频一区二区 | 亚洲制服丝袜一区| 9色porny自拍视频一区二区| 337p日本欧洲亚洲大胆精品| 日本成人在线不卡视频| 欧美日韩午夜在线| 亚洲国产综合色| 色天天综合久久久久综合片| 日韩一区有码在线| 99久久久久久| 中文字幕欧美一区| 丰满放荡岳乱妇91ww| 日本一区二区三区久久久久久久久不| 免费久久99精品国产| 日韩欧美久久久| 精品一区二区在线观看| 日韩欧美一级在线播放|