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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? crossover.cpp

?? 遺傳算法(Genetic Algorithm)是一類借鑒生物界的進(jìn)化規(guī)律(適者生存
?? CPP
字號(hào):
/***************************************************************/* Single & Multi-Objective Real-Coded Genetic Algorithms Code *//* Author: Kumara Sastry                                       *//* Illinois Genetic Algorithms Laboratory (IlliGAL)            *//* Deparment of General Engineering                            *//* University of Illinois at Urbana-Champaign                  *//* 104 S. Mathews Ave, Urbana, IL 61801                        *//***************************************************************/#include "crossover.hpp"// All constructors first - pretty straightforward stuffOneTwoPointCrossover::OneTwoPointCrossover(int numPoints):noOfPoints(numPoints) {}UniformCrossover::UniformCrossover(void):genewiseProbability(0.5) {}UniformCrossover::UniformCrossover(double geneProb):genewiseProbability(geneProb) {}SimulatedBinaryCrossover::SimulatedBinaryCrossover(void):genewiseProbability(0.5) {}SimulatedBinaryCrossover::SimulatedBinaryCrossover(double geneProb):genewiseProbability(geneProb) {}/** Single and Two Point Crossover: Single Point: Randomly select a crossover point and exchange the genes to the left of the crossover point to create two new individuals.Two Point: Randomly select two crossover points and exchange genes between the two crossover points to creat two new indivduals.*/void OneTwoPointCrossover::crossover(Individual *parent1, Individual *parent2){  int ii, XoverPt1, XoverPt2;  double Temp;  Individual child1(parent1), child2(parent2);  switch(noOfPoints) {  case 1:    XoverPt1 = myRandom.boundedIntegerRandom(0,globalSetup->noOfDecisionVariables-1);    for(ii = 0; ii <= XoverPt1; ii++) {      Temp = child1[ii];      child1.setValue(ii, child2[ii]);      child2.setValue(ii, Temp);    }    break;  case 2:    XoverPt1 = myRandom.boundedIntegerRandom(0,globalSetup->noOfDecisionVariables-1);    do {       XoverPt2 = myRandom.boundedIntegerRandom(0,globalSetup->noOfDecisionVariables-1);    }while(XoverPt1 == XoverPt2);    if(XoverPt1 > XoverPt2) SWAP(XoverPt1, XoverPt2);    for(ii = XoverPt1; ii < XoverPt2; ii++) {      Temp = child1[ii];      child1.setValue(ii, child2[ii]);      child2.setValue(ii, Temp);    }    break;  default: exit(0);  }    if(globalSetup->nichingType == DeterministicCrowding) {    child1.evaluateFitness();    child2.evaluateFitness();    deterministicCrowding(parent1, parent2, &child1, &child2);  }  else {    for(ii = 0; ii < globalSetup->noOfDecisionVariables; ii++) {      parent1->setValue(ii, child1[ii]);      parent2->setValue(ii, child2[ii]);    }  }}/// Uniform crossover: swap each gene with a probability of genewiseProbability (default value of 0.5)void UniformCrossover::crossover(Individual *parent1, Individual *parent2){  int ii;  double Temp;  Individual child1(parent1), child2(parent2);     if(myRandom.flip(globalSetup->xOverProbability)) {    for(ii = 0; ii < globalSetup->noOfDecisionVariables; ii++) {      if(myRandom.flip(genewiseProbability)) {	Temp = child1[ii];	child1.setValue(ii, child2[ii]);	child2.setValue(ii, Temp);      }    }    if(globalSetup->nichingType == DeterministicCrowding) {      child1.evaluateFitness();      child2.evaluateFitness();      deterministicCrowding(parent1, parent2, &child1, &child2);    }    else {      for(ii = 0; ii < globalSetup->noOfDecisionVariables; ii++) {	parent1->setValue(ii, child1[ii]);	parent2->setValue(ii, child2[ii]);      }    }  }}/**Simulated Binary Crossover: Creates new individuals based on a probability distribution (a polynomial one) similar to binary coded single point crossover. Reference: Deb, K., & Agarwal, R.B. (1995) "Simulated Binary Crossover for Continuous Search Space", Complex Systems. 9. pp. 115-148. (TCGA No. 05896).           Deb, K., & Kumar, A. (1995) "Real-Coded Genetic Algorithms with Simulated Binary Crossover: Studies on Multimodal and Multiobjective Problems", Complex Systems. 9. pp. 431-454. (TCGA No. 05897).*/void SimulatedBinaryCrossover::crossover(Individual *parent1, Individual *parent2){  int ii;  double gene1Value, gene2Value, beta, betaq, geneMin, geneMax, alpha;  double tempGeneValue;  double etaC; //The order of the polynomial for the SBX crossover  Individual child1(parent1), child2(parent2);  if(globalSetup->xOverParameters==NULL)    etaC = 10;  else    etaC = ((double *)globalSetup->xOverParameters)[1];  if(myRandom.flip(globalSetup->xOverProbability)) {    for(ii = 0; ii < globalSetup->noOfDecisionVariables; ii++) {      if((myRandom.flip(genewiseProbability)) && (fabs(child1[ii]-child2[ii]) >= ZERO)) {	geneMin = globalSetup->variableRanges[ii][0];	geneMax = globalSetup->variableRanges[ii][1];	if(child2[ii] > child1[ii]) { gene1Value = child1[ii]; gene2Value = child2[ii];}	else {gene1Value = child2[ii]; gene2Value = child1[ii];}	if((gene1Value - geneMin) > (geneMax - gene2Value)) 	  beta = (gene2Value-gene1Value)/(2.0*geneMax - gene2Value - gene1Value);	else 	  beta = (gene2Value-gene1Value)/(gene2Value + gene1Value - 2.0*geneMin);	alpha = myRandom.random01()*(2.0 - pow(beta,(double)(etaC+1)));	if(alpha <= 1.0)  betaq = pow(alpha, 1.0/((double)(etaC+1)));	else betaq = pow(1.0/(2.0-alpha), 1.0/((double)(etaC+1)));	tempGeneValue = 0.5*((gene1Value+gene2Value) - betaq*(gene2Value-gene1Value));	if(globalSetup->variableTypes[ii] == Integer) tempGeneValue = int(tempGeneValue+0.5);	child1.setValue(ii,tempGeneValue);	tempGeneValue = 0.5*((gene1Value+gene2Value) + betaq*(gene2Value-gene1Value));	if(globalSetup->variableTypes[ii] == Integer) tempGeneValue = int(tempGeneValue+0.5);
	child2.setValue(ii,tempGeneValue);      }    }    if(globalSetup->nichingType == DeterministicCrowding) {      child1.evaluateFitness();      child2.evaluateFitness();      deterministicCrowding(parent1, parent2, &child1, &child2);    }    else {      for(ii = 0; ii < globalSetup->noOfDecisionVariables; ii++) {	parent1->setValue(ii, child1[ii]);	parent2->setValue(ii, child2[ii]);      }    }  }}/**Deterministic Crowding: Compare each children obtained through crossover with the nearest parent based on phenotypic distance and replace the child with the nearest parent if the parent has higher fitnessReference: Mahfoud, S.W. (1992) "Crowding and Preselection Revisited", In R. Manner and B. Manderic (Eds.) Parallel Problem Solving From Nature, 2. (pp. 27-36). (IlliGAL Report No. 92004). http://www-illigal.ge.uiuc.edu/techreps.php3. (ftp://ftp-illigal.ge.uiuc.edu/pub/papers/IlliGALs/92004.ps.Z).*/void Crossover::deterministicCrowding(Individual *parent1, Individual *parent2, Individual *child1, Individual *child2) {  double phenotypeDist[4] = {0.0, 0.0, 0.0, 0.0};  int ii;  for(ii = 0; ii < globalSetup->noOfDecisionVariables; ii++) {    phenotypeDist[0] += (((*parent1)[ii]-(*child1)[ii])*((*parent1)[ii]-(*child1)[ii]));    phenotypeDist[1] += (((*parent1)[ii]-(*child2)[ii])*((*parent1)[ii]-(*child2)[ii]));    phenotypeDist[2] += (((*parent2)[ii]-(*child1)[ii])*((*parent2)[ii]-(*child1)[ii]));    phenotypeDist[3] += (((*parent2)[ii]-(*child2)[ii])*((*parent2)[ii]-(*child2)[ii]));  }    if (phenotypeDist[0]+phenotypeDist[3] <= phenotypeDist[1]+phenotypeDist[2]) {    if(isBetter(child1, parent1))       for(ii = 0; ii < globalSetup->noOfDecisionVariables; ii++) 	parent1->setValue(ii, (*child1)[ii]);    if(isBetter(child2, parent2))      for(ii = 0; ii < globalSetup->noOfDecisionVariables; ii++) 	parent2->setValue(ii, (*child2)[ii]);  }  else {    if(isBetter(child2, parent1))      for(ii = 0; ii < globalSetup->noOfDecisionVariables; ii++) 	parent1->setValue(ii, (*child2)[ii]);    if(isBetter(child1, parent2))      for(ii = 0; ii < globalSetup->noOfDecisionVariables; ii++) 	parent2->setValue(ii, (*child1)[ii]);  }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕久久午夜不卡| 91原创在线视频| 日韩欧美的一区二区| 奇米在线7777在线精品| 欧美精品一区二区高清在线观看| 免费看日韩a级影片| 2022国产精品视频| 99re热视频精品| 午夜婷婷国产麻豆精品| 欧美成人女星排名| 成人午夜在线视频| 艳妇臀荡乳欲伦亚洲一区| 欧美高清dvd| 国产不卡在线一区| 亚洲一区二区三区在线看| 欧美一区二区视频观看视频| 国产精品影音先锋| 一区二区久久久| 精品国产免费一区二区三区香蕉| 成a人片亚洲日本久久| 一区二区三区国产| 精品理论电影在线| 91女厕偷拍女厕偷拍高清| 日本精品视频一区二区| 日本怡春院一区二区| 国产视频在线观看一区二区三区| 91久久精品国产91性色tv| 久久97超碰国产精品超碰| 亚洲男同1069视频| 久久亚洲一区二区三区明星换脸| 色猫猫国产区一区二在线视频| 久久精品国产一区二区三| 亚洲视频免费观看| 久久蜜桃av一区精品变态类天堂| 91福利资源站| 国产91丝袜在线观看| 日韩成人av影视| 亚洲免费观看高清在线观看| 精品国精品国产| 欧美嫩在线观看| 99国产精品99久久久久久| 韩国欧美一区二区| 天堂一区二区在线| 亚洲桃色在线一区| 欧美激情在线看| 精品久久人人做人人爰| 欧美日韩一区二区三区四区 | 亚洲自拍偷拍麻豆| 亚洲精品一线二线三线| 欧美精品tushy高清| 一本高清dvd不卡在线观看 | 性做久久久久久久免费看| 中文在线一区二区| 久久夜色精品国产噜噜av| 日韩一区二区高清| 欧美精品一级二级| 精品视频免费看| 在线观看亚洲专区| 91一区一区三区| 972aa.com艺术欧美| 成人久久视频在线观看| 国产精品一二三四五| 精品一区二区三区在线播放视频| 日韩—二三区免费观看av| 亚洲第一福利视频在线| 亚洲国产中文字幕| 亚洲制服丝袜一区| 亚洲一级二级在线| 亚洲国产成人va在线观看天堂| 国产精品黄色在线观看| 国产精品色在线| 国产精品区一区二区三区| 国产农村妇女毛片精品久久麻豆 | 欧美国产日韩一二三区| 国产日韩精品一区二区浪潮av| 久久午夜羞羞影院免费观看| 精品国内二区三区| 国产婷婷色一区二区三区在线| 国产三区在线成人av| 国产女人水真多18毛片18精品视频| 久久理论电影网| 中文字幕欧美日韩一区| 国产精品电影院| 亚洲另类一区二区| 亚洲午夜激情网站| 奇米影视在线99精品| 国内成+人亚洲+欧美+综合在线| 国产一区久久久| 成人av资源在线| 欧美在线免费观看亚洲| 欧美丝袜第三区| 日韩一区二区三区在线观看| 久久综合精品国产一区二区三区 | 欧美一区二区三区公司| 91麻豆精品国产综合久久久久久 | 日本一区二区动态图| 1区2区3区国产精品| 亚洲一区在线观看网站| 日本sm残虐另类| 国产电影精品久久禁18| 一本大道久久精品懂色aⅴ| 欧美精品三级在线观看| 久久一区二区三区四区| 成人免费在线视频| 日本亚洲免费观看| 国产成人精品aa毛片| 在线观看日韩电影| 亚洲精品一区二区三区香蕉 | 亚洲一区二区三区三| 日韩不卡一二三区| 成人自拍视频在线观看| 精品视频在线免费观看| 欧美精品一区二区久久久| 亚洲特黄一级片| 精品无人区卡一卡二卡三乱码免费卡| 风间由美性色一区二区三区| 欧美中文字幕一区二区三区 | 99综合电影在线视频| 欧美日韩黄视频| 亚洲国产精品高清| 日本一不卡视频| 成人精品视频.| 日韩精品一区二区三区视频在线观看| 国产一区二区三区av电影| 91久久精品网| 国产欧美日韩久久| 奇米色一区二区| 一本色道久久综合亚洲91| 欧美精品一区二区三区很污很色的 | 3d成人动漫网站| 亚洲欧洲日韩在线| 国产一区二区在线电影| 精品视频999| 亚洲色图欧洲色图| 国产一区二区福利| 91精品国产综合久久精品| 亚洲欧美日韩中文字幕一区二区三区 | 4hu四虎永久在线影院成人| 国产精品久久久久久久久久免费看| 青草国产精品久久久久久| 日本道在线观看一区二区| 国产精品国模大尺度视频| 国产一区二区日韩精品| 日韩精品一区二| 午夜精品久久一牛影视| 中文字幕一区二区5566日韩| 久久不见久久见免费视频7| 欧美日韩午夜在线| 亚洲主播在线播放| 在线亚洲人成电影网站色www| 国产精品久久久久久亚洲伦| 国产伦精一区二区三区| 精品国产一二三区| 久久精品国产一区二区| 91精品国产一区二区三区| 日韩影院精彩在线| 在线电影一区二区三区| 性做久久久久久免费观看| 欧美三级中文字幕| 亚洲成人激情社区| 欧美日韩在线免费视频| 亚洲第一综合色| 欧美日韩成人综合天天影院| 亚洲h精品动漫在线观看| 欧美日韩国产另类不卡| 亚洲超丰满肉感bbw| 欧美体内she精视频| 五月天亚洲婷婷| 欧美一区二区美女| 久久精品国产亚洲高清剧情介绍| 日韩欧美国产成人一区二区| 精品亚洲成a人在线观看| 2020国产成人综合网| 懂色av一区二区三区蜜臀 | 精品成a人在线观看| 国内久久婷婷综合| 国产拍欧美日韩视频二区| www.亚洲色图| 亚洲一区二区精品视频| 3d动漫精品啪啪| 国产一区二区三区不卡在线观看 | 亚洲18影院在线观看| 欧美日韩在线播放| 免费日本视频一区| 国产午夜精品一区二区三区四区| 成人小视频免费在线观看| 一区二区三区蜜桃网| 欧美一区日韩一区| 国产福利91精品| 一二三区精品福利视频| 欧美一区二区三区在线电影 | 97精品国产露脸对白| 亚洲午夜一二三区视频| 日韩欧美国产一区在线观看| 国产成人av电影在线| 一区二区国产盗摄色噜噜| 欧美大片一区二区三区| 波多野结衣中文一区| 午夜av区久久| 亚洲国产成人在线|