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

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

?? malla-adaptativa.cpp

?? 多目標(biāo)遺傳算法優(yōu)化程序
?? CPP
字號(hào):
#include "moga2.h"//malla-adaptativa.h"MallaAdap::MallaAdap(int nobj,int tampareto,int _bits){  nObjs=nobj;  tamPARETO=tampareto;  nDivs=15;  posPARETO=0;  hipercubosUtilizadosVar=0;  iTot=0;  restPobNRem=0;  restPobNRemb=false;  restableceMemoriaVar=false;  bits=_bits;  sndElit=0;  NG=1000000000;  tamDiv=new(double[nObjs]);  inicioMalla=new(double[nObjs]);  lMalla=(long)floor(pow(nDivs,nObjs));  hipercubo=new(long[lMalla]);  PARETO=new(Individuo[tamPARETO]);    for(int i=0;i<tamPARETO;i++){    PARETO[i].genotipo=inicializa();    PARETO[i].aptObj=new (double[nObjs]);    PARETO[i].loc=0;    //    PARETO[i].aptFake=-1;  }}/* Metodo que copia un arreglo de enteros (genotipo) hacia memoria y regresa un puntero hacia ese espacio de memoria */void MallaAdap::copia(int *num,int *num2,int n){  int *pnum=num;  for(int i=0;i<n;i++,pnum++,num2++)//recorre todo el genotipo,haciendo    *pnum=*num2;//una copia hacia la memoria creada.}void MallaAdap::copia(double *num,double *num2,int n){  double *pnum=num;  for(int i=0;i<n;i++,pnum++,num2++)//recorre todo el genotipo,haciendo    *pnum=*num2;//una copia hacia la memoria creada.}/*  metodo que genera un genotipo con la seleccion del valor de los alelos al azar con probabilidad de 0.5*/int *MallaAdap::inicializa(){  int *gtemp,*genotipo;  genotipo=new(int[bits]);//asigna memoria hacia el genotipo a generar  gtemp=genotipo;  for(int i=0;i<bits;i++,gtemp++)//genera el genotipo, alelo a alelo,mediante    *gtemp=0;//probabilidad.  return genotipo;//regresa el genotipo generado}int MallaAdap::Domina(Individuo *I1,Individuo *I2){  int anterior = 0;  int mejor;  double *ind1=I1->aptObj;  double *ind2=I2->aptObj;      int a=restricciones(I1->genotipo);    int b=restricciones(I2->genotipo);    if(a<b)//el primero domina      return 1;    else if(b<a)//el segundo domina      return -1;  for(int i=0;i<nObjs;i++,ind1++,ind2++){    if(*ind1 <*ind2)	mejor = 1;    else if(*ind2<*ind1)mejor = -1;    else mejor = 0;    if(mejor!=anterior&&anterior!=0&&mejor!=0) return(11);    if(mejor!=0) anterior = mejor;  }  return(anterior);  }/*Metodo que guarda a un individuo en la memoria perteneciente al fretnte de pareto.. */void MallaAdap::gPARETO(Individuo *ind){  copiaxxx(PARETO+posPARETO,ind);  posPARETO++;}/*metodo que checa si un individuo domina a almenos uno de ma memoria del frente de pareto, si es asi entonces reemplaza al primer individuo dominado, y elimina a los individuos dominados de la memoria. */int MallaAdap::dominaAPareto(Individuo *ind){  int resultado=0,i=0,j=0,dom=0;  int *dominados=new(int[posPARETO]);  int cual=-1;  while((i < posPARETO)&&(resultado!=-1)){    resultado = Domina(ind, PARETO+i);    if(resultado==-1||resultado==0){dom=-1;break;}    dominados[i]=0;    if (resultado == 1){      if(dom==0){// si domina el nuevo individuo al archivo	iTot=0;	restPobNRem=0;	if(restPobNRemb==true){restPobNRemb=false;restableceMemoriaVar=true;};	cual=i;	if(posPARETO>=tamPARETO){	  if(hipercubo[PARETO[cual].loc]==1)hipercubosUtilizadosVar--;	  hipercubo[PARETO[cual].loc]--;	}	copiaxxx(PARETO+cual,ind);	if(posPARETO==tamPARETO)	  ind->loc=cualLoc(ind);	else ind->loc=0;	if(ind->loc==-1)	  actualizaLoc();	else	  PARETO[cual].loc=ind->loc;	if(hipercubo[PARETO[cual].loc]==0) hipercubosUtilizadosVar++;	hipercubo[PARETO[cual].loc]++;      }      else dominados[i]=1;      dom ++;    }    i++;  }  if(dom>1){    eliminaDominados(dominados);    hipercubosUtilizadosVar=0;  }  delete [] dominados;  return dom;}  /*Funcion que elimina a los individuos dominados. */void MallaAdap::eliminaDominados(int *dominados){  long i = 0;  long pospareto=posPARETO;  int *pareto=new(int[bits*posPARETO]);  double *objs=new(double[nObjs*posPARETO]);  for (i = 0; i < posPARETO; i++){    copia(pareto+(i*bits), PARETO[i].genotipo,bits);    copia(objs+(i*nObjs),PARETO[i].aptObj,nObjs);  }  posPARETO = 0;  for (i = 0; i < pospareto; i++){    if (dominados[i]!=1){      copia(PARETO[posPARETO].genotipo,pareto+(i*bits),bits);      copia(PARETO[posPARETO].aptObj,objs+(i*nObjs),nObjs);      PARETO[posPARETO].loc=0;      posPARETO++;    }  }  delete [] pareto;  delete [] objs;}void MallaAdap::copiaxxx(Individuo *ind,Individuo *ind2){  copia(ind->genotipo,ind2->genotipo,bits);  copia(ind->aptObj,ind2->aptObj,nObjs);  ind->loc=ind2->loc;}  void  MallaAdap::actualizaLoc(){  double *MAptObj=new(double[nObjs]);  double *mAptObj=new(double[nObjs]);  for(int i=0;i<nObjs;i++){    MAptObj[i]=-NG;    mAptObj[i]=NG;  }  inicializaDivisiones();  for(int i=0;i<nObjs;i++){    for(int j(0);j<posPARETO;j++){      if(mAptObj[i]>PARETO[j].aptObj[i]) mAptObj[i]=PARETO[j].aptObj[i]; //busca la menor aptitud      if(MAptObj[i]<PARETO[j].aptObj[i]) MAptObj[i]=PARETO[j].aptObj[i]; //busca la mayor aptitud.    }    tamDiv[i]=(MAptObj[i]-mAptObj[i])/(nDivs-1); //encuentra el rango para la grid    inicioMalla[i]=mAptObj[i]-(tamDiv[i]/2);//coloca el punto de partida de la hipercubo  }  for(long i(0);i<posPARETO;i++){    PARETO[i].loc=cualLoc(PARETO+i);    hipercubo[PARETO[i].loc]++;  }  delete [] mAptObj;  delete [] MAptObj;}void MallaAdap::inicializaDivisiones(){  for(long i(0);i<lMalla;i++)    hipercubo[i]=0;}/*Asigna una localidad  */long MallaAdap::cualLoc(Individuo *ind){  long temp;  long loc=0;  int i=nObjs-1;  for(int j(0);j<nObjs;j++,i--){    temp= (long )floor((ind->aptObj[j]-inicioMalla[j])/tamDiv[j]);    if(temp>nDivs||temp<0) return -1;    loc+=(long )floor(temp*pow(nDivs,i));  }  return loc;}void MallaAdap::FunPARETO(Individuo *ind){  long mPoblado;  long r;    sndElit++;    //  if(restricciones(ind->genotipo)>0)return; //si viola las restricciones se elimina  restPobNRem++;  if(posPARETO==0){ //si es el primer elemento se acepta    gPARETO(ind);    hipercubosUtilizadosVar=0;    return;  }  if(dominaAPareto(ind)==0){//nadie domina al individuo ind    if(posPARETO+1<tamPARETO){ //si hay espacio      gPARETO(ind);      hipercubosUtilizadosVar=0;    }    else if(posPARETO+1 == tamPARETO){//si se acaba de llenar la malla      gPARETO(ind);      actualizaLoc();      hipercubosUtilizadosVar=hipercubosUtilizados();    }    else {// si hay que decidir      mPoblado=buscaMasPoblado();//retorna el indice del hipercubo m'as poblado       r=cualLoc(ind);      if(r==-1){//se sale de la malla y hay que rehacerla        restPobNRem=0;	long i=buscaIndConLoc(mPoblado);	if(i==-1) {cout<<mPoblado<<" aqui se sale\n";exit(0);}	copiaxxx(PARETO+i,ind);	actualizaLoc();	hipercubosUtilizadosVar=hipercubosUtilizados();	iTot=0;      }      else if(masPoblado(mPoblado,r)){ //busca un m'as poblado	long i=buscaIndConLoc(mPoblado);	if(i==-1) {	  cout<<mPoblado<<" "<<i<<" "<<hipercubo[mPoblado]<<"\n";	  cout<<"aqui se sale2\n";exit(0);	}	ind->loc=r;	copiaxxx(PARETO+i,ind);	if(hipercubo[mPoblado] <=1 && hipercubo[r] >= 1)hipercubosUtilizadosVar--;	hipercubo[mPoblado]--;	hipercubo[r]++;      }    }  }  } int MallaAdap::masPoblado(long mPoblado,long r){  if(mPoblado==r)return 1;  if(hipercubo[mPoblado]<hipercubo[r]+1)return 0;  return 1; }long MallaAdap::hipercubosUtilizados(){  long counter(0);  for(long i(0);i<lMalla;i++)    if(hipercubo[i]>0)counter++;  return counter;}long MallaAdap::buscaMasPoblado(){  long mP[2]={-1,-1};  for(long i(0);i<lMalla;i++){    if(mP[1]<hipercubo[i]){      mP[0]=i;      mP[1]=hipercubo[i];    }  }      return mP[0];}long MallaAdap::buscaIndConLoc(long mp){  long i;  for(i=0;i<posPARETO;i++)    if(PARETO[i].loc==mp)return i;  //  for(i=0;i<posPARETO;i++)  //cout<<PARETO[i-1].loc<<endl;  return -1;}void MallaAdap::ImprimeValores(){  for(long i=0;i<posPARETO;i++){    for(int j=0;j<nObjs;j++)      cout<<PARETO[i].aptObj[j]<<" ";    cout<<endl;  }}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费在线观看日韩欧美| 国产精品婷婷午夜在线观看| 亚洲狠狠爱一区二区三区| 色噜噜狠狠色综合欧洲selulu| 亚洲欧美一区二区三区久本道91| 91亚洲精品久久久蜜桃网站| 伊人色综合久久天天人手人婷| 一本久道中文字幕精品亚洲嫩| 一区二区高清视频在线观看| 欧美日韩高清在线| 韩国女主播一区| 欧美激情中文不卡| 欧美在线视频日韩| 激情文学综合网| 国产精品三级视频| 欧美日韩免费观看一区三区| 免费成人在线观看视频| 国产欧美日韩久久| 欧美色综合影院| 精品一区二区三区在线播放视频| 国产精品视频你懂的| 91精品办公室少妇高潮对白| 日韩成人免费在线| 国产精品久久福利| 91精品婷婷国产综合久久竹菊| 国产精品自拍网站| 亚洲午夜在线观看视频在线| 日韩你懂的电影在线观看| 成人动漫在线一区| 奇米影视一区二区三区小说| 成人免费一区二区三区在线观看| 欧美年轻男男videosbes| 成人免费黄色在线| 日本不卡高清视频| 亚洲精品福利视频网站| 久久久久9999亚洲精品| 欧美在线观看一区| 丰满少妇久久久久久久| 日本美女一区二区三区| 亚洲人成网站在线| 久久久亚洲高清| 8x8x8国产精品| 91麻豆免费看片| 国产毛片精品视频| 天天综合网 天天综合色| 国产精品久久久久一区二区三区共 | 色噜噜久久综合| 国内精品免费**视频| 亚洲第四色夜色| 亚洲人成网站在线| 中文无字幕一区二区三区| 欧美一级生活片| 欧美影院午夜播放| 99国产精品国产精品久久| 国产一区二区福利视频| 免费黄网站欧美| 亚洲第一在线综合网站| 亚洲特黄一级片| 中文无字幕一区二区三区| 日韩欧美一区二区在线视频| 欧美性猛片xxxx免费看久爱| 99精品国产99久久久久久白柏| 国产一区二区美女诱惑| 美洲天堂一区二卡三卡四卡视频| 亚洲电影欧美电影有声小说| 一区二区三区高清在线| 亚洲免费高清视频在线| 国产精品国产三级国产| 国产免费观看久久| 国产日韩欧美高清| 国产偷国产偷精品高清尤物| 2023国产精品自拍| 国产视频一区二区三区在线观看 | 国产精品一区二区三区网站| 六月婷婷色综合| 久久99精品久久久久久动态图| 蜜臀久久99精品久久久久久9| 日韩精品五月天| 奇米精品一区二区三区四区| 免费观看在线综合色| 精品一区二区三区日韩| 国产美女精品一区二区三区| 国产成人一区在线| av在线一区二区| 色婷婷av一区| 欧美视频精品在线| 欧美成人性福生活免费看| www成人在线观看| 中文字幕一区二区三区乱码在线| 国产精品久久久久婷婷| 亚洲女子a中天字幕| 亚洲高清免费一级二级三级| 日韩综合小视频| 精品一区二区三区久久| 国产精品一二一区| av不卡在线观看| 欧美亚洲综合在线| 日韩一级精品视频在线观看| 精品国产青草久久久久福利| 欧美精彩视频一区二区三区| 亚洲欧美一区二区不卡| 午夜不卡av免费| 国产一区二区不卡老阿姨| k8久久久一区二区三区| 欧美老年两性高潮| www激情久久| 亚洲精品乱码久久久久久 | 免费成人美女在线观看.| 欧美自拍偷拍一区| 欧美一级一区二区| 久久久久久久电影| 亚洲欧美日本韩国| 麻豆免费看一区二区三区| 丁香激情综合五月| 精品视频免费在线| 国产喷白浆一区二区三区| 亚洲欧美日韩人成在线播放| 美女网站色91| 色婷婷久久久亚洲一区二区三区| 日韩美女天天操| 亚洲欧美日韩系列| 国产麻豆视频一区| 欧美在线一区二区三区| 欧美—级在线免费片| 婷婷成人综合网| 91美女片黄在线观看91美女| 精品久久久久久无| 亚洲成人激情社区| 成人国产视频在线观看| 日韩欧美国产小视频| 一区二区三区美女| 国产成人精品一区二区三区网站观看| 在线日韩国产精品| 日本一区二区免费在线| 六月婷婷色综合| 欧美日本高清视频在线观看| 一区在线中文字幕| 国产一区二区三区日韩| 777亚洲妇女| 亚洲综合激情另类小说区| 成人免费av资源| 久久亚洲春色中文字幕久久久| 亚洲国产裸拍裸体视频在线观看乱了| 国产精品白丝av| 精品乱人伦小说| 天天影视涩香欲综合网| 在线观看网站黄不卡| 中文字幕国产一区| 国产精品一区二区三区99| 日韩一区二区三区视频在线观看| 亚洲精品乱码久久久久久久久| 成人三级伦理片| 久久精品亚洲一区二区三区浴池| 麻豆国产精品一区二区三区| 在线视频国内自拍亚洲视频| 亚洲三级在线看| av在线不卡网| 亚洲国产成人私人影院tom| 国内成+人亚洲+欧美+综合在线| 91精品久久久久久久91蜜桃| 亚洲成人激情社区| 欧美日韩国产大片| 午夜视频一区在线观看| 欧美午夜宅男影院| 香港成人在线视频| 欧美精品丝袜久久久中文字幕| 亚洲一区二区欧美激情| 在线观看一区二区视频| 亚洲国产色一区| 67194成人在线观看| 午夜精品一区二区三区免费视频| 在线看国产一区二区| 亚洲电影中文字幕在线观看| 欧美图区在线视频| 日韩电影在线一区二区三区| 在线成人高清不卡| 裸体一区二区三区| 国产亚洲精品aa午夜观看| 成人在线综合网站| 亚洲色图都市小说| 欧美日韩第一区日日骚| 午夜精品一区二区三区电影天堂| 欧美精选在线播放| 麻豆91免费看| 国产精品丝袜一区| 欧美网站大全在线观看| 奇米影视一区二区三区小说| 精品av综合导航| 成人看片黄a免费看在线| 亚洲激情图片小说视频| 欧美日韩精品一二三区| 蜜臀av性久久久久蜜臀aⅴ流畅| 精品欧美一区二区久久| 成人av免费观看| 首页亚洲欧美制服丝腿| 久久综合九色综合久久久精品综合| 粉嫩一区二区三区在线看| 亚洲一区二区三区三| 久久尤物电影视频在线观看| 91日韩精品一区|