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

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

?? genmod.cpp

?? 該算法是張青復與周愛民的基于RM-MEDA算法的程序
?? CPP
字號:
// GenMod.cpp

#include <ctime>#include <list>#include <vector>#include <cmath>#include <float.h>#include "LocalPCA.h"#include "HCSampler.h"#include "GenMod.h"

//#define SD_DIS#if defined(WIN32)    #define wxFinite(n) _finite(n)#elif defined(_LINUX)    #define wxFinite(n) finite(n)#else    #define wxFinite(n) ((n)==(n))#endif

namespace az
{
namespace mea
{
namespace gen
{
namespace mod
{

//constructor
ModelBase::ModelBase()
{
	mDataSize	= mDataDim	= 0;
	pData		= 0;
	mExtension	= 0.2;
}

//destructor
ModelBase::~ModelBase()
{
	Clear();
}
//clear data pool
void ModelBase::Clear()
{
	unsigned int i;
	if( pData != 0 )
	{
		for( i=0; i<mDataSize; i++ ) delete []pData[i];
		delete []pData;
		pData	  = 0;
		mDataSize = 0;
	}
}

// convert a real number to a nearest positive integer number 
unsigned int ModelBase::ROUND(double X) 
{ 
	if(X-(unsigned int)(X)<0.5 && (unsigned int)(X)>0 ) 
		return (unsigned int)(X); 
	else 
		return (unsigned int)(X)+1; 
}

// pertubation
double ModelBase::PERTUBATION()	
{ 
	double r;
	do{ r = 1.5 + rnd::gaussian()*0.5; }while(r<0.8 || r>2.2);
	return r;
}

//////////////////////////////////////////////
//Local PCA based EDA generator//constructorModelLocalPCAU::ModelLocalPCAU(){	mLatentDim	= 0;	mMaxCluster	= 0;}//initialize the LPCAvoid ModelLocalPCAU::Set(unsigned int latent, unsigned int cluster, unsigned int trainsteps, double extension){	mLatentDim	= latent;	mMaxCluster	= cluster;	mTrainSteps	= trainsteps;	mExtension	= extension;}//model-based generatorCPopulationMO& ModelLocalPCAU::Generate(CPopulationMO& popnew, CPopulationMO& popref){	unsigned int c,i,j,k;		//Step 1: assign new data	if( popref.Size() != mDataSize ) 	{		Clear();			mDataSize	= popref.Size();		mDataDim	= popref.P().XSize();		pData		= new double*[mDataSize];		for( i=0; i<mDataSize; i++ ) pData[i] = new double[mDataDim];	}	for( i=0; i<mDataSize; i++ ) for( j=0; j<mDataDim; j++ ) pData[i][j] = popref[i][j];		//Step 2: train with Local PCA	alg::LocalPCA lpca;	//alg::Kmeans lpca;	lpca.Set(mMaxCluster, mDataSize, mDataDim, mLatentDim, mTrainSteps);	for( i=0; i<mDataSize; i++ ) for( j=0; j<mDataDim; j++ ) lpca.mvX[i][j] = popref[i][j];	lpca.Train();	//Step 3: calculate the probability of each cluster, i.e the size to create in each cluster	unsigned int nt = 0;	std::vector<unsigned int> nc(mMaxCluster);	for(i=0; i<mMaxCluster; i++) { nc[i] = (lpca.mvNo[i] >= 1) ? 2:0; nt += nc[i];}	double vt = 0.0;	std::vector<double> vc(mMaxCluster);	for(i=0; i<mMaxCluster; i++) 	{ 		vc[i] = 0.0;		if(lpca.mvNo[i] >  1)		{			vc[i] = 1.0;			for(j=0; j<mLatentDim; j++) vc[i] *= lpca.mvProMax[i][j] - lpca.mvProMin[i][j]; 		}		vt += vc[i];	}	double ns = mDataSize - nt + 0.0;	nt	= 0;	for(i=0; i<mMaxCluster; i++) { nc[i] += (unsigned int)(ns*vc[i]/vt); nt += nc[i];}	while(nt<mDataSize)	{		i = rnd::rand((unsigned int)0, (unsigned int)mMaxCluster);		if(lpca.mvNo[i]>1) {nc[i]++; nt++;}	}#ifdef AZ_MODEL_OUT	std::ofstream fhand("model.set");	fhand<<"PCA"<<std::endl;	fhand<<mMaxCluster<<std::endl;#endif	//Step 4: create new trial solutions in each cluster	popnew.Resize(mDataSize);	unsigned int np=0; 	double sd;	for(c=0; c<mMaxCluster; c++)	{		// only one point in the cluster		if(lpca.mvNo[c] == 1)		{			sd  = 0.0;			for(i=0; i<mDataDim; i++) sd += popref.P().XUpp(i)-popref.P().XLow(i);			sd /= mDataDim;			for(i=0; i<nc[c]; i++) for( j=0; j<mDataDim; j++ ) popnew[np+i][j] = lpca.mvMean[c][j] + sd*rnd::gaussian();		}		// more than one point in the cluster		else if(lpca.mvNo[c] > 1)		{			std::vector< std::vector<double> > t(mLatentDim);			for(i=0; i<mLatentDim; i++) t[i].resize(nc[c]);			std::vector<double> low(mLatentDim),upp(mLatentDim);			for(i=0; i<mLatentDim; i++) 			{				low[i] = lpca.mvProMin[c][i]-mExtension*(lpca.mvProMax[c][i]-lpca.mvProMin[c][i]);				upp[i] = lpca.mvProMax[c][i]+mExtension*(lpca.mvProMax[c][i]-lpca.mvProMin[c][i]);			}			alg::LHC(t, low, upp);			sd = 0.0;			for(i=mLatentDim; i<mDataDim; i++) sd += lpca.mvEigenvalue[c][i];			sd = sqrt(sd / double(mDataDim-mLatentDim));						for(i=0; i<nc[c]; i++) for( j=0; j<mDataDim; j++ ) 			{				popnew[np+i][j] = lpca.mvMean[c][j] + sd*rnd::gaussian();				for(k=0; k<mLatentDim; k++) popnew[np+i][j] += t[k][i]*lpca.mvEigenvector[c][k][j];			}		}		np += nc[c];#ifdef AZ_MODEL_OUT		fhand<<lpca.mvProMin[c][0] * lpca.mvEigenvector[c][0][0] + lpca.mvMean[c][0] <<"\t"			 <<lpca.mvProMin[c][0] * lpca.mvEigenvector[c][0][1] + lpca.mvMean[c][1] <<"\t"			 <<lpca.mvProMax[c][0] * lpca.mvEigenvector[c][0][0] + lpca.mvMean[c][0] <<"\t"			 <<lpca.mvProMax[c][0] * lpca.mvEigenvector[c][0][1] + lpca.mvMean[c][1] <<"\t"			 <<sd<<std::endl;#endif	}#ifdef AZ_MODEL_OUT	fhand.close();#endif		// Step 7: check the range	for(i=0; i<mDataSize; i++)		for(j=0; j<mDataDim; j++)		{			if( wxFinite(popnew[i][j]) == 0 ) popnew[i][j] = rnd::rand(popnew.P().XLow(j),popnew.P().XUpp(j));			// border check strategy 1: DE strategy			if(popnew[i][j] < popnew.P().XLow(j))		popnew[i][j] = 0.5*(popnew.P().XLow(j)+popref[i][j]);			else if(popnew[i][j] > popnew.P().XUpp(j))	popnew[i][j] = 0.5*(popnew.P().XUpp(j)+popref[i][j]);	}	return popnew;}

} //namespace mod
} //namespace gen
} //namespace mea
} //namespace az

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费观看成人av| 欧美日韩精品三区| 国产成人亚洲综合色影视| 日本人妖一区二区| 日本不卡高清视频| 日韩在线卡一卡二| 日本sm残虐另类| 久久精品国产成人一区二区三区| 亚洲123区在线观看| 婷婷中文字幕一区三区| 日韩在线一二三区| 久久精品国产久精国产| 激情综合色丁香一区二区| 国产精品资源站在线| 高清久久久久久| 94-欧美-setu| 精品视频一区二区不卡| 欧美精品乱码久久久久久| 欧美一区二区福利视频| 91精品国产福利在线观看| 日韩午夜精品视频| 亚洲精品在线三区| 国产精品久久久久7777按摩| 亚洲少妇屁股交4| 五月综合激情网| 国产在线精品国自产拍免费| 粉嫩久久99精品久久久久久夜| 99r精品视频| 欧美日韩中文精品| 久久这里只有精品6| 国产精品久久久一区麻豆最新章节| 自拍偷拍欧美激情| 天天av天天翘天天综合网| 麻豆一区二区99久久久久| 国产91精品久久久久久久网曝门| 色婷婷综合久久久| 欧美一区二区三区爱爱| 国产亚洲欧洲997久久综合 | 日本乱人伦aⅴ精品| 在线视频一区二区三| 日韩欧美亚洲国产另类| 国产精品人成在线观看免费 | 成人高清免费观看| 欧美亚洲国产一区二区三区va| 欧美一卡2卡三卡4卡5免费| 久久久久国产精品麻豆ai换脸| 午夜久久久久久| 国产在线精品视频| 欧美伊人久久久久久午夜久久久久| 欧美一区二区播放| 亚洲美女在线一区| 麻豆精品久久久| 日本精品视频一区二区三区| 日韩欧美自拍偷拍| 亚洲精品国产成人久久av盗摄| 精品一区二区久久| 欧美午夜精品一区二区蜜桃| 国产午夜精品一区二区三区四区| 亚洲一区二区偷拍精品| 国产69精品久久久久毛片| 正在播放一区二区| 亚洲精品成人a在线观看| 久久se精品一区精品二区| 在线观看免费亚洲| 中文字幕第一区第二区| 麻豆成人久久精品二区三区红| 91丨九色丨黑人外教| 亚洲精品在线观看网站| 香蕉久久夜色精品国产使用方法 | 秋霞午夜av一区二区三区| 91亚洲精华国产精华精华液| 欧美videos中文字幕| 亚洲综合无码一区二区| 成人av第一页| 久久综合久久综合九色| 视频一区视频二区中文| 色婷婷精品大视频在线蜜桃视频| 久久久久久久久久久久久夜| 青椒成人免费视频| 欧美日韩激情一区二区三区| 国产精品福利一区| 粉嫩av一区二区三区在线播放 | 精品欧美久久久| 亚洲国产sm捆绑调教视频| av网站一区二区三区| 久久精品视频在线免费观看| 日本亚洲电影天堂| 欧美手机在线视频| 亚洲激情图片qvod| 91蝌蚪国产九色| 国产精品理论在线观看| 国产白丝精品91爽爽久久 | 日日夜夜精品免费视频| 欧美性猛交xxxx乱大交退制版| 国产精品麻豆一区二区| 高清在线不卡av| 中文在线一区二区| 国产精品一区三区| 久久久99精品久久| 国产一区二区三区精品欧美日韩一区二区三区 | 精品在线观看视频| 欧美一区二区三区不卡| 日本不卡一区二区| 91精品国产欧美一区二区成人| 丝袜亚洲另类丝袜在线| 宅男在线国产精品| 日韩国产高清影视| 日韩欧美一级特黄在线播放| 免费成人性网站| 日韩免费观看高清完整版| 奇米影视一区二区三区| 欧美一区二区三区日韩| 青青草国产精品97视觉盛宴| 欧美一区二区视频在线观看| 欧美aaaaaa午夜精品| 欧美成人一区二区三区片免费| 免费看欧美美女黄的网站| 2021国产精品久久精品| 丁香啪啪综合成人亚洲小说 | 国产成人日日夜夜| 国产精品电影一区二区三区| 99久久久无码国产精品| 亚洲自拍偷拍九九九| 欧美午夜寂寞影院| 美女性感视频久久| 久久久久久久久伊人| 岛国精品在线观看| 一区二区国产盗摄色噜噜| 欧美精品黑人性xxxx| 国内久久精品视频| 国产精品久久毛片av大全日韩| 91黄视频在线观看| 日本不卡高清视频| 久久精品亚洲国产奇米99| 色综合久久天天| 人人狠狠综合久久亚洲| 久久亚洲综合色一区二区三区| 福利视频网站一区二区三区| 亚洲激情一二三区| 91精品国产入口| 成人精品免费视频| 亚洲一区欧美一区| 久久天天做天天爱综合色| va亚洲va日韩不卡在线观看| 亚洲成人福利片| 国产亚洲欧洲997久久综合 | 精品国产免费久久| 99久久婷婷国产综合精品| 日韩不卡免费视频| 国产精品久久久久毛片软件| 欧美性大战久久| 国产伦精品一区二区三区免费迷| 亚洲国产精品成人久久综合一区| 欧美日韩aaaaaa| 国产99精品国产| 日韩精品午夜视频| 亚洲天堂久久久久久久| 日韩亚洲欧美中文三级| 9i看片成人免费高清| 蜜臀av性久久久久蜜臀aⅴ | 久久99国产精品久久| 亚洲欧美日韩国产成人精品影院 | 国产日韩欧美麻豆| 在线不卡免费欧美| 99久免费精品视频在线观看| 麻豆成人久久精品二区三区小说| 亚洲少妇中出一区| 久久香蕉国产线看观看99| 日韩欧美一区二区免费| 日本韩国欧美在线| 国产69精品一区二区亚洲孕妇| 丝袜美腿成人在线| 亚洲精品视频免费看| 国产亚洲一区二区在线观看| 91精品国产黑色紧身裤美女| 色网站国产精品| 国产不卡视频在线观看| 精品一区二区三区日韩| 一区二区三区国产| 国产精品电影一区二区三区| 亚洲精品一区二区三区影院| 91精品国产免费| 欧美色综合天天久久综合精品| 成人av免费网站| 国产麻豆91精品| 激情都市一区二区| 日韩高清不卡在线| 2022国产精品视频| 日韩欧美电影一区| 欧美一区二区三区四区高清 | 26uuu亚洲综合色| 欧美一区二区三区思思人| 欧美日韩日日骚| 欧美在线综合视频| 97精品久久久午夜一区二区三区| 成人爽a毛片一区二区免费| 国产一区二区三区在线观看精品 | 一区二区视频在线| 亚洲嫩草精品久久| 亚洲色图视频网|