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

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

?? nsgapopulation.cpp

?? 遺傳算法程序最新版
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/***************************************************************/* 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 "population.hpp"NsgaPopulation::NsgaPopulation(void) {  int ii, combinedPopSize = 2*(globalSetup->populationSize);  numFronts = 0;  numFrontChange = 0;  combinedGuys = new NsgaIndividual*[combinedPopSize];  numIndsFront = new int[combinedPopSize];  paretoFront = new int*[combinedPopSize];  for(ii = 0; ii < combinedPopSize; ii++) {    combinedGuys[ii] = new NsgaIndividual;    paretoFront[ii] = new int[combinedPopSize];  }  bestobj = new double[globalSetup->finalNoOfObjectives];  worstobj = new double[globalSetup->finalNoOfObjectives];  avgobj = new double[globalSetup->finalNoOfObjectives];  maxfit = new double[globalSetup->finalNoOfObjectives];  minfit = new double[globalSetup->finalNoOfObjectives];  avgfit = new double[globalSetup->finalNoOfObjectives];    varfit = new double[globalSetup->finalNoOfObjectives];    computeObjStatistics(GUYS);  mapObjectiveToFitness(GUYS);  computeFitnessStatistics(GUYS);}NsgaPopulation::~NsgaPopulation(void) {  int ii, combinedPopSize = 2*(globalSetup->populationSize);  for(ii = 0; ii < combinedPopSize; ii++) {    delete combinedGuys[ii];    delete paretoFront[ii];  }  delete []combinedGuys;  delete []numIndsFront;  delete []paretoFront;  delete []bestobj;  delete []worstobj;  delete []avgobj;  delete []minfit;  delete []maxfit;  delete []avgfit;  delete []varfit;}/***Peforms a nondominated sort of individuals to create a set of pareto fronts.Details:   *  The flag whichGuys refer to either the current population (for the initial generation) or the combined population.  *  domCount[i]: (domination count) Number of the individuals that dominate individual i  *  numIndDom[i]: Number of individuals that individual i dominates  *  indDomByMe[i]: Array of indices of individuals that individual i dominates  *  paretoFront[i]: Array of indices of individuals that are members of pareto front i.  *  numIndsFront[i]: Number of individuals in the ith front.  *  For every unique pair of individuals (i,j)     --Check if i dominates j, If yes then add j to indDomByMe[i], increment numIndDom[i] by 1 and increment domCount[j] by 1.     --On the other hand if j dominates i, then add i to indDomByMe[j], increment numIndDom[j] by 1 and increment domCount[i] by 1.  * For every individual i     --If domCount[i] equals 0, then add individual i to paretoFront[0], increment numIndsFront[0], and set the rank of individual i to 0  * Set frontID = 0. While number of individuals in the pareto Front is greater than zero, do     --For every individual i in the pareto front frontID          *  For every individual j that individual i dominates	    --Decrement the domination count of j by i            --If the domination count of j is equal to zero, then add j to the paretoFron[frontID+1], increment numIndsFront[frontID+1], and set the rank of individual j to frontID+1.     --Increment the frontID by one * Set total number of pareto fronts to frontID.*/void NsgaPopulation::doNonDominatedSort(int whichGuys){  int ii, jj, popSize, fid, idomj, nif;  int *domCount, **indDomByMe, *numIndDom;  int oldNoOfFronts;  NsgaIndividual **theGuys;  oldNoOfFronts = numFronts;  if(whichGuys == GUYS) {    popSize = globalSetup->populationSize;    theGuys = (NsgaIndividual**)guys;  }  else if(whichGuys == COMBINEDGUYS) {    popSize = 2*(globalSetup->populationSize);    theGuys = combinedGuys;  }  domCount = new int[popSize];  numIndDom = new int[popSize];  indDomByMe = new int*[popSize];  for(ii = 0; ii < popSize; ii++) {     indDomByMe[ii] = new int[popSize];    domCount[ii] = numIndDom[ii] = 0;  }  for(ii = 0; ii < popSize-1; ii++) {    for(jj = ii+1; jj < popSize; jj++) {      idomj = dominates(theGuys[ii],theGuys[jj]);//根據適應度進行優劣判斷      if(idomj == IDOMJ) {	indDomByMe[ii][numIndDom[ii]] = jj;	numIndDom[ii] += 1;	domCount[jj] += 1;      }                                          //將種群中每個個體的優劣進行相互比較,indDomByMe[i][]數組表示被i                                              //      else if(idomj == JDOMI) {                  //個體支配的個體標號,numIndDom[i]是被i支配的個體總數,domCount[i]	indDomByMe[jj][numIndDom[jj]] = ii;          //是支配i的個體數目	numIndDom[jj] += 1;	domCount[ii] += 1;      }    }  }  nif = 0;  for(ii = 0; ii < popSize; ii++) {    if(domCount[ii] == 0) {      paretoFront[0][nif++] = ii;                //將pareto最優個體的標號存入paretoFront[0][],將其Rank置0      theGuys[ii]->setRank(0);    }  }  numIndsFront[0] = nif;             //numIndsFront[i]為第i層的個體總數  fid = 0;  while(numIndsFront[fid] != 0) {    nif = 0;    for(ii = 0; ii < numIndsFront[fid]; ii++) {      for(jj = 0; jj < numIndDom[paretoFront[fid][ii]]; jj++) {	domCount[indDomByMe[paretoFront[fid][ii]][jj]] -= 1;             //將非支配個體層數減一,若為0依次放入次層,置Rank值	if(domCount[indDomByMe[paretoFront[fid][ii]][jj]] == 0) {        //即為非劣分層算法->NSGA-2	  paretoFront[fid+1][nif++] = indDomByMe[paretoFront[fid][ii]][jj];	  theGuys[indDomByMe[paretoFront[fid][ii]][jj]]->setRank(fid+1);	}      }    }    fid += 1;    numIndsFront[fid] = nif;  }  numFronts = fid;  numFrontChange = abs(oldNoOfFronts - numFronts);  if(whichGuys == GUYS)     for(ii = 0; ii < popSize; ii++) guys[ii] = theGuys[ii];  else if(whichGuys == COMBINEDGUYS)    for(ii = 0; ii < popSize; ii++) combinedGuys[ii] = theGuys[ii];    for(ii = 0; ii < popSize; ii++)     delete indDomByMe[ii];  delete []domCount;  delete []numIndDom;  delete []indDomByMe;}/***Computes the crowding distance of each individual.Details:  * The flag whichGuys refer to either the current population (for the initial generation) or the combined population.  * For every front i    -- For every objective j       * Sort the individuals in front i in ascending order of objective j       * Set the crowding distance of the first and the last individual to infinity       * For every individual k in the front i except the first and the last individuals         --Normalize the fitness j by dividing the fitness j of individual k-1  and individual k+1 by maximum jth fitness.	 --Add absolute value of (Normalized jth fitness of individual k+1 - Normalized jth fitness of individual k-1) to the crowding distance of kth individual.*/void NsgaPopulation::computeCrowdingDistance(int whichGuys){  int ii, jj, kk, firstInd, lastInd;  int indId1, indId2, indId, popSize;  int *sortListByObj;  double normFit1, normFit2, *crowdDist;  NsgaIndividual **theGuys;    if(whichGuys == GUYS) {    popSize = globalSetup->populationSize;    theGuys = (NsgaIndividual**)guys;  }  else if(whichGuys == COMBINEDGUYS) {    popSize = 2*(globalSetup->populationSize);    theGuys = combinedGuys;  }  crowdDist = new double[popSize];  for(ii = 0; ii < popSize; ii++) crowdDist[ii] = 0.0;  for(ii = 0; ii < numFronts; ii++) {    sortListByObj = new int[numIndsFront[ii]];    for(jj = 0; jj < globalSetup->finalNoOfObjectives; jj++) {      for(kk = 0; kk < numIndsFront[ii]; kk++)	sortListByObj[kk] = paretoFront[ii][kk];      quickSort(theGuys, sortListByObj, 0, numIndsFront[ii],jj);       //對每層的個體進行排序      firstInd = sortListByObj[0];      lastInd = sortListByObj[numIndsFront[ii]-1];      crowdDist[firstInd] = crowdDist[lastInd] = INFTY;      for(kk = 1; kk < numIndsFront[ii]-1; kk++) {	indId = sortListByObj[kk];	indId1 = sortListByObj[kk+1];	indId2 = sortListByObj[kk-1];	normFit1 = theGuys[indId1]->getFitness(jj)/(1.0+maxfit[jj]);         	normFit2 = theGuys[indId2]->getFitness(jj)/(1.0+maxfit[jj]);	crowdDist[indId] += fabs(normFit1 - normFit2);                //確定個體的擁擠度

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲制服丝袜在线| 亚洲一区二区三区视频在线| 在线成人小视频| 欧美亚洲国产一区在线观看网站| 成人在线视频首页| 高清不卡一二三区| 成人亚洲精品久久久久软件| 成人激情小说乱人伦| 成人app软件下载大全免费| 国产电影一区在线| 9l国产精品久久久久麻豆| av高清不卡在线| 色悠久久久久综合欧美99| 在线观看欧美日本| 91麻豆精品国产| 精品国产91乱码一区二区三区| 欧美成人三级电影在线| 精品1区2区在线观看| 久久精品亚洲国产奇米99| 国产精品萝li| 亚洲一区二区综合| 老鸭窝一区二区久久精品| 国产精品一二二区| 91丨九色丨尤物| 欧美人狂配大交3d怪物一区| 久久久久久免费毛片精品| 中文字幕字幕中文在线中不卡视频| 一区二区三区 在线观看视频| 亚洲福利国产精品| 精品制服美女久久| av成人动漫在线观看| 欧美精选在线播放| 国产欧美一区二区精品久导航| 亚洲日本护士毛茸茸| 日韩国产高清在线| 国产成人亚洲综合色影视| 在线视频国内自拍亚洲视频| 精品粉嫩aⅴ一区二区三区四区| 亚洲欧洲综合另类| 久久国产成人午夜av影院| 色成人在线视频| 精品国产自在久精品国产| 亚洲精品中文字幕在线观看| 久久成人免费网站| 日本精品视频一区二区| 久久男人中文字幕资源站| 午夜不卡av在线| 色综合久久久久综合| 精品国产制服丝袜高跟| 亚洲成人资源网| 91一区一区三区| 中文字幕va一区二区三区| 亚洲精品国产a久久久久久| 国产一区视频在线看| 欧美日韩综合一区| 亚洲欧洲成人av每日更新| 国精产品一区一区三区mba视频| 欧美图区在线视频| 亚洲视频在线一区二区| 成人开心网精品视频| 26uuu久久天堂性欧美| 日韩成人免费电影| 久久免费视频色| 日本不卡不码高清免费观看| 在线观看不卡一区| 亚洲免费色视频| 99在线精品免费| 国产精品―色哟哟| 波多野结衣在线一区| 国产精品网站一区| 成人免费视频国产在线观看| 国产亚洲成aⅴ人片在线观看| 久久国产剧场电影| 精品电影一区二区| 国产福利一区二区三区在线视频| 精品国产一区二区三区久久久蜜月| 日产国产高清一区二区三区| 欧美日韩国产综合久久| 日本成人在线电影网| 欧美一区二区三区精品| 麻豆国产精品视频| 日韩欧美激情一区| 国产大陆精品国产| 久久亚洲综合色一区二区三区 | 精品无人码麻豆乱码1区2区| 欧美精选一区二区| 麻豆精品国产传媒mv男同 | 国产人成一区二区三区影院| 狠狠色综合播放一区二区| 久久久久九九视频| 国产精品伊人色| 国产精品天美传媒| 色婷婷久久久久swag精品| 午夜精品久久久久| 精品欧美一区二区三区精品久久| 国产一二三精品| 亚洲精选在线视频| 久久久亚洲高清| 欧美亚洲禁片免费| 国产一区二区不卡| 一区二区三区免费看视频| 在线播放一区二区三区| 国产一区 二区 三区一级| 亚洲另类春色国产| 日韩网站在线看片你懂的| 国产a区久久久| 亚洲国产日韩综合久久精品| 26uuu久久天堂性欧美| 91美女蜜桃在线| 激情欧美一区二区三区在线观看| 欧美激情一区二区三区蜜桃视频 | 欧美精品一区二区久久婷婷| 国产99久久久久久免费看农村| 亚洲影院在线观看| 久久综合网色—综合色88| 91精品福利在线| 精品无码三级在线观看视频| 亚洲欧美日韩电影| 久久久久久一二三区| 欧美日韩一区久久| 成人小视频免费观看| 日韩av一二三| 一区二区三区美女| 久久久久99精品国产片| 91精品国产综合久久福利软件 | 亚洲精品一线二线三线| 在线一区二区三区四区| 国产凹凸在线观看一区二区| 秋霞电影网一区二区| 亚洲综合丁香婷婷六月香| 国产女人18毛片水真多成人如厕| 在线播放一区二区三区| 色综合欧美在线视频区| 成人自拍视频在线| 国产精品中文字幕日韩精品| 日韩精品一二三区| 亚洲欧美区自拍先锋| 国产精品久久久久影院亚瑟| 久久久亚洲精品石原莉奈| 精品少妇一区二区三区免费观看| 欧美欧美欧美欧美首页| 欧美日韩一区三区| 日本二三区不卡| 91老师片黄在线观看| 99re这里只有精品6| 高清国产午夜精品久久久久久| 国产一区二区三区高清播放| 美国十次综合导航| 日韩国产欧美在线播放| 三级在线观看一区二区| 亚洲国产综合在线| 午夜电影网亚洲视频| 午夜精品久久久久影视| 午夜精品久久久久久久99水蜜桃| 亚洲已满18点击进入久久| 亚洲国产另类精品专区| 日日欢夜夜爽一区| 日本亚洲视频在线| 精品在线观看免费| 国产乱子轮精品视频| 成人一级视频在线观看| 99精品偷自拍| 色婷婷久久综合| 欧美日韩一区中文字幕| 日韩视频一区二区| 精品久久久久久久久久久院品网| 日韩三级免费观看| 久久久欧美精品sm网站| 中文字幕日本乱码精品影院| 亚洲精品v日韩精品| 视频在线在亚洲| 国产大片一区二区| 日本高清不卡一区| 日韩一级大片在线观看| 国产日韩欧美a| 亚洲免费观看在线视频| 欧美aaaaa成人免费观看视频| 国内精品自线一区二区三区视频| 成人爽a毛片一区二区免费| 91国偷自产一区二区开放时间| 欧美亚洲综合一区| 久久综合久久综合亚洲| 中文字幕一区二区三区乱码在线| 亚洲国产乱码最新视频 | 亚洲人午夜精品天堂一二香蕉| 亚洲精品国产精华液| 久久99精品国产麻豆婷婷洗澡| 粉嫩久久99精品久久久久久夜 | 紧缚奴在线一区二区三区| 丰满少妇久久久久久久| 欧美日本在线观看| 国产色综合久久| 偷偷要91色婷婷| 成人免费视频免费观看| 欧美一区二区三区视频| 亚洲另类春色校园小说| 国产一区二区三区香蕉| 欧美亚洲国产一区二区三区va| 欧美激情在线一区二区| 蜜臀99久久精品久久久久久软件|