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

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

?? sga.cpp

?? 基本遺傳算法,用來求解函數(shù)的最大值!在VC和TC下均可實(shí)現(xiàn).
?? CPP
字號:
/*
* 基本遺傳算法解決函數(shù)優(yōu)化問題:
* Max f(x1,x2)=100*(x1**2-x2)**2+(1-x1)**2
* s.t. -2.048 <= xi <= 2.048 (i=1,2)
* 其中 "**2" 為2次方
* 2004-12-26 21:05
*/
#include <iostream>
#include <cstdlib>
#include <vector>
#include <valarray>                 // for valarray
#include <cmath>
#include <ctime>
using namespace std;

const int Length1=20;
const int Length2=20;
const int ChromLength=40;
const int PopSize=80;
const int MaxGeneration=150;
const double Pc=0.6;
const double Pm=0.001;
int Cmax=100;
int Cmin=0;
int best_index=0;
int worst_index=0;	


class SGA{
public:
	SGA(){
//		srand(time(0));
		for(int i=0; i<ChromLength; i++)
			_chrom.push_back(0);
		fitness=0.0;
		value=0.0;
		x1=0;
		x2=0;
	}
	void PopulationInitiate(){
		//srand(time(0));
		for(int i=0; i<ChromLength; i++)
			_chrom[i]=rand()%2;
	}
	void DecodeChromosome();
	void CaculateObjectValue();
	void CaculateFitnessValue();
	void SetPopulation(int x, int y){_chrom[x]=y;}
	void view(){
		for(int i=0; i<ChromLength; i++) cout<<_chrom[i];
		cout<<" fitness: "<<fitness;
		cout<<" "<<x1<<" "<<x2<<endl;
	}
	int Return_chrom(int x){return _chrom[x];}
	double Return_fitness(){return fitness;}
	double Return_value(){return value;}
private:
	vector<int> _chrom;
	double fitness;
	double value;
	double x1,x2;//精確到小數(shù)點(diǎn)后三位
};

void SGA::DecodeChromosome(){
	int sum1=1,sum2=1;
	int temp1=0,temp2=0;
	for(int i=0; i<Length1; i++){/////
		sum1=1;
		if(_chrom[i]==1){
			for(int j=0; j<i; j++)				
				sum1=sum1*2;
		}
		else sum1=0;
		temp1=temp1+sum1;
	}    ///////////////////////////前面十二位表示X1
	for(int k=Length1; k<ChromLength; k++){
		sum2=1;
		if(_chrom[k]==1){
			for(int j=Length1; j<k; j++)
				sum2=sum2*2;
		}
		else sum2=0;
		temp2=temp2+sum2;
	}///////////////////////////////后面十二位表示X2
	x1=temp1;
	x2=temp2;
}

void SGA::CaculateObjectValue(){
	x1=10*(x1/1048575);
	x2=10*(x2/1048575)-10;
	value=20+x1*cos(x2)+x2*sin(x1);
}

void SGA::CaculateFitnessValue(){
	fitness=value;
}


void FindBestAndWorstIndividual(SGA, SGA &, SGA &, SGA &);
void SelectionOperator(SGA, SGA,SGA &);
void CrossoverOperator(SGA);
void MutationOperator(SGA);


void FindBestAndWorstIndividual(SGA *population, SGA &bestindividual, 
								SGA &worstindividual, SGA &currentbest)
{
	double temp=population[0].Return_fitness();
	for(int i=1; i<PopSize; i++){
		if(population[i].Return_fitness()>temp){
			temp=population[i].Return_fitness();
			best_index=i;
		}
	}
	bestindividual=population[best_index];
	temp=population[0].Return_fitness();
	for(int j=1; j<PopSize; j++){
		if(population[j].Return_fitness()<temp){
			temp=population[j].Return_fitness();
			worst_index=j;
		}
	}
	worstindividual=population[worst_index];
	population[worst_index]=currentbest;
	if(bestindividual.Return_fitness()>currentbest.Return_fitness())
		currentbest=bestindividual;
}

void SelectionOperator(SGA *population, SGA *population2, SGA &currentbest){
	double sum,temp;
	int index;
	double individual[PopSize];
	sum=0;
	for(int i=0; i<PopSize; i++)
		sum=sum+population[i].Return_fitness();
	individual[0]=population[0].Return_fitness()/sum;
	for(int j=1; j<PopSize; j++)
		individual[j]=individual[j-1]+(population[j].Return_fitness()/sum);
	for(int k=0; k<PopSize; k++){//輪盤賭選擇
		temp=rand()%1000/1000.0;
		index=0;
		while(temp>individual[index]){
			index++;
		}
		population2[k]=population[index];
	}
	for(int h=0; h<PopSize; h++)
		population[h]=population2[h];
}

void CrossoverOperator(SGA *population){
	int index[PopSize];
	int point,temp=PopSize;
	int tem,i,p,ch;
	for(i=0; i<PopSize; i++)
		index[i]=i;
	for(i=0; i<PopSize; i++){
		point=rand()%(temp-i);
		tem=index[i];
		index[i]=index[i+point];
		index[i+point]=tem;
	}
	for(i=0; i<PopSize; i+=2){
		p=rand()%1000/1000.0;
		if(p<Pc){
			point=rand()%ChromLength;
			for(int j=point; j<ChromLength; j++){
				ch=population[index[i]].Return_chrom(j);
				population[index[i]].SetPopulation(j,population[index[i+1]].Return_chrom(j));
				population[index[i+1]].SetPopulation(j,ch);
			}
		}
	}
}

void MutationOperator(SGA *population){
	int i,j;
	double p;
	for(i=0; i<PopSize; i++){
		for(j=0; j<ChromLength; j++){
			p=rand()%1000/1000.0;
			if(p<Pm)
			population[i].SetPopulation(j,(population[i].Return_chrom(j)==0 ? 1 : 0));
		}
	}
}

int main(){
	int generation;
	srand(time(0));
	SGA bestindividual;
	SGA worstindividual;
	SGA currentbest;
	SGA population2[PopSize];
	SGA population[PopSize];
	for(int i=0; i<PopSize; i++){
		population[i].PopulationInitiate();
		population[i].DecodeChromosome();
		population[i].CaculateObjectValue();
		population[i].CaculateFitnessValue();
	}
	for(generation=1; generation<=MaxGeneration; generation++){
		FindBestAndWorstIndividual(population, bestindividual, 
			worstindividual, currentbest);
		SelectionOperator(population, population2, currentbest);
		CrossoverOperator(population);
		MutationOperator(population);
		for(int i=0; i<PopSize; i++){
			population[i].DecodeChromosome();
			population[i].CaculateObjectValue();
			population[i].CaculateFitnessValue();
		}
		cout<<"Generation "<<generation<<": ";
		population[best_index].view();
	}
	cout<<"\n"<<endl;
	currentbest.view();
	return 0;
};

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
bt欧美亚洲午夜电影天堂| 激情亚洲综合在线| 欧美精品一区二区三区久久久| 国产盗摄精品一区二区三区在线| 亚洲黄色av一区| 26uuuu精品一区二区| 一本色道久久综合狠狠躁的推荐 | 欧美专区日韩专区| 日韩一区二区三区精品视频| 国产成人一区在线| 日本亚洲三级在线| 一区二区三区中文字幕在线观看| 日韩免费高清视频| 欧美日韩视频在线第一区| 成+人+亚洲+综合天堂| 麻豆精品新av中文字幕| 亚洲国产三级在线| 亚洲男人天堂av网| 国产精品麻豆视频| 久久婷婷综合激情| 日韩亚洲欧美成人一区| 欧美三区在线观看| 欧美午夜精品久久久久久孕妇| 欧美裸体一区二区三区| 国产精品91一区二区| 久久精品国产成人一区二区三区| 婷婷丁香激情综合| 亚洲电影第三页| 亚洲午夜在线电影| 亚洲一区在线免费观看| 中文字幕一区二区三区精华液 | 亚洲国产综合91精品麻豆| 亚洲色图欧美偷拍| √…a在线天堂一区| 国产精品乱码人人做人人爱 | 久久精品一二三| 精品国产一区二区三区不卡| 日韩欧美色电影| 日韩色视频在线观看| 欧美一区二区三区视频在线观看 | 日本一区二区视频在线| 久久综合成人精品亚洲另类欧美| 日韩欧美的一区二区| 欧美电视剧在线观看完整版| 日韩欧美久久一区| 精品久久久久久久久久久院品网| 精品日韩99亚洲| 日韩三级在线免费观看| 精品国内二区三区| 中文字幕乱码日本亚洲一区二区 | 日韩经典中文字幕一区| 无码av免费一区二区三区试看 | 成人的网站免费观看| 成人深夜在线观看| 91视视频在线观看入口直接观看www | 亚洲人成网站在线| 一区二区三区高清| 日韩高清在线电影| 精品亚洲欧美一区| 成人美女视频在线看| 99久久er热在这里只有精品15| 91视视频在线观看入口直接观看www| 91福利资源站| 欧美一级二级三级乱码| 久久这里只有精品6| 国产精品污污网站在线观看 | 久99久精品视频免费观看| 精品中文字幕一区二区| 国产盗摄一区二区三区| 91在线视频免费91| 欧美老人xxxx18| 337p日本欧洲亚洲大胆精品| 国产精品视频一二三区| 亚洲国产一区在线观看| 久久99久久精品| 99国产精品99久久久久久| 欧美日韩亚洲综合| 精品成人一区二区三区四区| 中文字幕视频一区| 奇米精品一区二区三区在线观看 | 最新热久久免费视频| 亚洲成在人线免费| 极品美女销魂一区二区三区| 99精品视频中文字幕| 欧美一区二区视频观看视频| 国产欧美在线观看一区| 亚洲高清久久久| 成人综合在线视频| 欧美一区二区三区精品| 中文字幕国产一区| 日本免费新一区视频| 99久久综合色| 日韩精品一区二区三区三区免费| 国产精品三级av在线播放| 日韩黄色片在线观看| 成人精品电影在线观看| 欧美一区二区三区视频免费播放 | 成人福利视频网站| 日韩欧美一区二区免费| 亚洲中国最大av网站| 成人免费视频caoporn| 91精品国产91热久久久做人人| 亚洲三级在线观看| 国产麻豆欧美日韩一区| 欧美另类一区二区三区| 亚洲欧美日韩一区二区三区在线观看 | 亚洲情趣在线观看| 国产麻豆成人传媒免费观看| 欧美日韩亚州综合| 一区二区中文视频| 国产精品一二三区| 日韩免费观看2025年上映的电影| 亚洲激情男女视频| 国产99精品在线观看| 日韩精品影音先锋| 偷拍日韩校园综合在线| 91一区二区三区在线观看| 国产欧美精品一区二区色综合朱莉| 日日夜夜精品视频天天综合网| 色婷婷综合久久久中文字幕| 欧美国产日韩精品免费观看| 黑人巨大精品欧美一区| 欧美一区二区成人| 日韩专区一卡二卡| 制服丝袜亚洲网站| 性感美女极品91精品| 91福利视频网站| 亚洲免费av网站| 91网址在线看| 亚洲欧美激情小说另类| thepron国产精品| 国产精品欧美一区喷水| 懂色av中文一区二区三区| 久久久久久久久久看片| 国内外成人在线视频| 精品电影一区二区| 国产伦精品一区二区三区视频青涩| 日韩午夜在线观看| 久久99精品久久久久婷婷| 日韩你懂的在线观看| 久久99国产精品免费网站| 日韩欧美精品在线视频| 久久99精品国产91久久来源| 欧美r级在线观看| 国产一区二区三区| 国产女同性恋一区二区| 成人白浆超碰人人人人| 一区二区三区在线视频播放| 日本高清无吗v一区| 亚洲一区二区中文在线| 欧美精品在线观看播放| 蜜臀精品久久久久久蜜臀| 日韩美女一区二区三区| 国产主播一区二区| 亚洲欧洲成人自拍| 欧美自拍偷拍一区| 久色婷婷小香蕉久久| 久久久久久久久伊人| 99国产精品99久久久久久| 亚洲第一福利一区| 日韩一区二区三区视频在线| 国内不卡的二区三区中文字幕| 久久精品视频免费观看| 97精品电影院| 午夜不卡av免费| 久久久五月婷婷| 日本国产一区二区| 久久精品国产99国产| 国产精品日日摸夜夜摸av| 在线免费亚洲电影| 免播放器亚洲一区| 国产精品免费丝袜| 欧美日韩小视频| 国产美女视频一区| 亚洲123区在线观看| 久久久国产一区二区三区四区小说| 99久久er热在这里只有精品66| 五月天久久比比资源色| 中文字幕不卡在线| 欧美猛男gaygay网站| 国产高清视频一区| 亚洲第一综合色| 国产精品久久久久久福利一牛影视 | 国产91露脸合集magnet| 一区二区国产视频| 久久久久久免费网| 91国产免费看| 成人亚洲精品久久久久软件| 亚洲成人黄色小说| 国产精品久久久一区麻豆最新章节| 欧美伦理影视网| 99精品黄色片免费大全| 九九国产精品视频| 亚洲大尺度视频在线观看| 欧美高清在线精品一区| 欧美一区二区私人影院日本| 91女神在线视频| 国产精品羞羞答答xxdd| 同产精品九九九| 亚洲另类春色国产|