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

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

?? populationmo.h

?? 該算法是張青復與周愛民的基于RM-MEDA算法的程序
?? H
字號:
//
//Please find details of the method from
//
//	Q. Zhang, A. Zhou and Y. Jin, "RM-MEDA: A Regularity Model Based Multiobjective Estimation of Distribution Algorithm", IEEE Trans. Evolutionary Computation, Vol. 12, no. 1, pp41-63, 2008.
//
//The source codes are free for reserach work. If you have any problem with the source codes, please contact with 
//	Qingfu Zhang, 
//		Department of Computing and Electronic Systems,
//		University of Essex,
//		Colchester, CO4 3SQ, UK
//		http://cswww.essex.ac.uk/staff/zhang
//		Email: qzhang@essex.ac.uk
//    Aimin Zhou
//		Department of Computing and Electronic Systems,
//		University of Essex,
//		Colchester, CO4 3SQ, UK
//		http://privatewww.essex.ac.uk/~azhou/
//		Email: azhou@essex.ac.uk or amzhou@gmail.com 
//Programmer:		
//		Aimin Zhou
//Last Update:
//		Feb. 21, 2008
//
//PopulationMO.h : population class for MOEA
//

#ifndef	AZ_POPULATIONMO_H
#define	AZ_POPULATIONMO_H

#include <iostream>
#include <iomanip>
#include <vector>
#include "Parameter.h"
#include "IndividualMO.h"

//!\brief	az namespace, the top namespace
namespace az
{

//!\brief	mea namespace, the multiobjective evolutionary algorithm namespace
namespace mea
{
//! \brief clear a pointer sequence
//! \param s reference to a swquence
template<class SEQ> void CLEAR(SEQ& s)
{
	typename SEQ::iterator i;
	for(i = s.begin(); i != s.end(); ++i) if(*i) delete *i;
	s.clear();
}

//!\brief population class for MOEA
class CPopulationMO
{
public:
	typedef CIndividualMO IND_TYPE;
protected:
	bool mbSort;					//!< whether the population has been sorted
	CParameter* pPar;				//!< pointer to the parameter object
	std::vector< IND_TYPE* > mvPop;	//!< the population vector stored individual pointers
public:
	//!\brief	constructor
	//!\param	par parameter objective
	//!\return	void
	CPopulationMO(CParameter& par);	

	//!\brief	constructor
	//!\param	pop another population
	//!\return	void
	CPopulationMO(CPopulationMO& pop);

	//!\brief	deconstrutor
	//!\return	void
	~CPopulationMO();	

	//!\brief	set parameters
	//!\param	par parameter object
	//!\return	void
	void P(CParameter& par);

	//!\brief	get the parameter object reference
	//!\return	the parameter object reference
	inline CParameter& P() {return *pPar;}
	
	//!\brief	see whether the population has been sorted
	//!\return	success if it has been sorted
	inline bool IsSort() {return mbSort;}

	//!\brief	set the sort state
	//!\param	sort new state
	//!\return	success if it has been sorted
	inline bool IsSort(bool sort ) {mbSort=sort; return mbSort;}
	
	//!\brief	get the population size
	//!\return	population size
	inline unsigned int	Size() {return (unsigned int)mvPop.size();}

	//!\brief	get the index-th individual reference
	//!\param	i individual index
	//!\return	individual reference
	inline IND_TYPE& operator[](unsigned int i) {return *mvPop[i];}

	//!\brief	get the index-th individual reference
	//!\param	i individual index
	//!\return	individual reference
	inline IND_TYPE& In(unsigned int i) {return *mvPop[i];}

	//!\brief	get the index-th individual pointer
	//!\param	i individual index
	//!\return	individual pointer
	inline IND_TYPE*& At(unsigned int i) {return mvPop[i];}

	//!\brief	see whether the individual is in the population
	//!\param	ind individual
	//!\return	success if the individual is in the population
	bool IsContain(IND_TYPE& ind);

	//!\brief	clear the population
	//!\return	void
	void Clear();

	//!\brief	evaluate the population
	//!\return	void
	void Evaluate();

	//!\brief	shuffle the population
	//!\return	void
	void Shuffle();	

	//!\brief	resize the population
	//!\param	s new size
	//!\return	void
	void Resize(unsigned int s);

	//!\brief	swap two individuals
	//!\param	i individual index
	//!\param	j individual index
	//!\return	void
	void Swap(unsigned int i, unsigned int j);
	
	//!\brief	erase individuals
	//!\param	i start individual index
	//!\return	void
	void Erase(unsigned int i);

	//!\brief	copy an individual to population
	//!\param	pind pointer to an individual
	//!\return	population
    CPopulationMO& Copy(IND_TYPE*& pind);

	//!\brief	copy an individual to population
	//!\param	ind reference to an individual
	//!\return	population
	CPopulationMO& Copy(IND_TYPE& ind);

	//!\brief	copy a population to population
	//!\param	pop reference to a population
	//!\return	population
	CPopulationMO& Copy(CPopulationMO& pop);

	//!\brief	combine an individual to population
	//!\param	pind pointer to an individual
	//!\return	population
	CPopulationMO& Combine(IND_TYPE*& pind);

	//!\brief	combine an individual to population
	//!\param	ind peference to an individual
	//!\return	population
	CPopulationMO& Combine(IND_TYPE& ind);

	//!\brief	combine a population to population
	//!\param	pop reference to a population
	//!\return	population
	CPopulationMO& Combine(CPopulationMO& pop);

	//!\brief	assign a population 
	//!\param	pop reference to a population
	//!\return	population
	CPopulationMO& operator=(CPopulationMO& pop);

	//!\brief	get a sub-population with Rank = r
	//!\param	pop sub-population
	//!\param	r rank
	//!\return	sub-population
	CPopulationMO& RankSub(CPopulationMO& pop, unsigned int r);

	//!\brief	get the maximum rank value
	//!\return	maximum rank value
	unsigned int RankMax();

	//!\brief	get the sub-population size with Rank=r
	//!\param	r rank value
	//!\param	start start index
	//!\param	end end index
	//!\return	sub-population size
	unsigned int RankSize(unsigned int r, unsigned int& start, unsigned int& end);

	//!\brief	assign rank value and sort population
	//!\return	void
	void RankSort();

	//!\brief	write the population to I/O stream
	//!\param	os output stream
	//!\return	output stream
	std::ostream& Write(std::ostream& os);

	//!\brief	write the population to a file
	//!\param	name file name
	//!\return	void
	void Write(std::string name);

	//!\brief	write the population to a file
	//!\param	name file name
	//!\return	void
	void Write(const char *name);

	//!\brief	write the population to I/O stream
	//!\param	os output stream
	//!\param	pop population
	//!\return	output stream
	friend std::ostream& operator<<(std::ostream& os, CPopulationMO& pop);

	//!\brief	read population from I/O stream
	//!\param	is input stream
	//!\return	input stream
	std::istream& Read(std::istream& is);

	//!\brief	read population from a file
	//!\param	name file name
	//!\return	void
	void Read(std::string name);

	//!\brief	read population from a file
	//!\param	name file name
	//!\return	void
	void Read(const char *name);

	//!\brief	read population from I/O stream
	//!\param	is input stream
	//!\param	pop population
	//!\return	void
	friend std::istream& operator>>(std::istream& is, CPopulationMO& pop);
};//class CPopulationMO

} //namespace mea

} //namespace az

#endif //AZ_POPULATIONMO_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久亚洲二区三区| 欧美zozozo| 色噜噜狠狠一区二区三区果冻| 成人看片黄a免费看在线| 不卡一区二区三区四区| 日本精品免费观看高清观看| 欧美性欧美巨大黑白大战| 欧美日韩一区二区三区不卡| 欧美一区二区三区的| 久久毛片高清国产| 一区二区日韩电影| 日本不卡中文字幕| 成人黄色国产精品网站大全在线免费观看 | 中文字幕精品三区| 亚洲午夜激情网页| 成人福利视频在线| 精品欧美乱码久久久久久| 亚洲卡通欧美制服中文| 国产老肥熟一区二区三区| 成人三级伦理片| 精品成人一区二区三区四区| 亚洲精品中文字幕在线观看| 国产一区二区在线观看视频| 欧美精品一级二级| 一卡二卡三卡日韩欧美| 国产99久久久国产精品| 欧美一级生活片| 五月天激情小说综合| 在线日韩国产精品| 一个色妞综合视频在线观看| 99久久er热在这里只有精品15| www.亚洲人| 在线观看不卡一区| 久久久久久亚洲综合| 日韩伦理av电影| 91精品久久久久久久91蜜桃| 久久国产乱子精品免费女| 亚洲欧美日韩国产手机在线| 亚洲福利视频三区| 成人黄页毛片网站| 久久精品欧美日韩精品| 美女网站色91| 91精品国产丝袜白色高跟鞋| 亚洲色图制服丝袜| 丁香桃色午夜亚洲一区二区三区| 91精品国产91久久久久久一区二区 | 韩国成人福利片在线播放| 欧美日韩一级大片网址| 免费美女久久99| 国产亚洲美州欧州综合国| 91成人在线观看喷潮| 奇米888四色在线精品| 国产欧美精品一区二区三区四区| 国产成人8x视频一区二区| 一区二区三区在线视频播放| 欧美一级理论片| aaa国产一区| 日本三级亚洲精品| 一区二区三区在线看| 日韩精品资源二区在线| 色诱视频网站一区| 国产精品一二三四区| 日韩精品每日更新| 一区二区国产视频| 国产精品第五页| 毛片av中文字幕一区二区| 在线成人免费观看| 欧美一级搡bbbb搡bbbb| 久久蜜桃av一区精品变态类天堂 | 国产精品嫩草99a| 2022国产精品视频| 日韩精品中午字幕| 欧美日韩电影在线播放| 色偷偷88欧美精品久久久| av资源网一区| 99精品久久只有精品| 94-欧美-setu| 色综合久久99| 日本韩国一区二区三区| 欧美日韩一区二区在线视频| 欧美综合久久久| 欧美日韩亚洲另类| 色屁屁一区二区| 色欧美片视频在线观看在线视频| av激情亚洲男人天堂| 91浏览器在线视频| 欧美久久一二三四区| 777久久久精品| 欧美精品一区在线观看| 久久色在线观看| 成人免费一区二区三区在线观看| 亚洲色图视频免费播放| 亚洲成在人线免费| 久久精品国产亚洲5555| 国产大陆精品国产| 在线免费观看日本欧美| 日韩欧美一区二区久久婷婷| www亚洲一区| 一区二区高清在线| 激情成人午夜视频| 在线观看不卡视频| 国产欧美1区2区3区| 2020国产精品| 天堂资源在线中文精品| 成人免费黄色大片| 久久综合色鬼综合色| 麻豆精品新av中文字幕| 欧美久久久久久久久久| 亚洲成人激情综合网| 91国产成人在线| 欧美sm美女调教| 亚洲丰满少妇videoshd| 成人久久18免费网站麻豆| 日韩精品一区国产麻豆| 亚洲图片你懂的| 成人av午夜影院| 2019国产精品| 国内成+人亚洲+欧美+综合在线| 欧美日韩在线综合| 亚洲一区二区三区四区在线观看| 成人免费毛片aaaaa**| 欧美韩国日本不卡| 国产+成+人+亚洲欧洲自线| 91精品国产色综合久久| 精品人在线二区三区| 亚洲成人tv网| 欧美日韩国产成人在线91| 色激情天天射综合网| 国产精品国产自产拍高清av王其| 免费成人av资源网| 日韩欧美的一区| 麻豆国产欧美日韩综合精品二区 | 精品视频1区2区3区| 一区二区三区四区在线免费观看| 成人高清伦理免费影院在线观看| 国产视频一区二区在线| 国产精品一区二区91| 国产亚洲综合av| 成人app软件下载大全免费| 中文字幕一区免费在线观看| 国产成人av电影| 亚洲女同ⅹxx女同tv| 欧美日韩色综合| 国产在线精品免费av| 日韩免费看的电影| 国产成人免费高清| 一区二区三区精品在线观看| 日本久久一区二区| 日韩中文字幕不卡| 国产午夜三级一区二区三| 在线观看91精品国产入口| 日韩av一二三| 国产午夜精品久久久久久久 | 5566中文字幕一区二区电影| 日韩一区欧美二区| 国产日韩亚洲欧美综合| 91国偷自产一区二区开放时间 | 国产精品国产精品国产专区不片| 日本精品一区二区三区高清| 国产一区视频在线看| 一区二区不卡在线视频 午夜欧美不卡在| 欧美无乱码久久久免费午夜一区 | 久久99国产精品久久99 | 欧美男男青年gay1069videost| 奇米色一区二区三区四区| 成人免费一区二区三区在线观看| 日韩一级片网站| 欧美伊人久久大香线蕉综合69| 国产精品系列在线播放| 午夜精品久久久久久久久久久| 久久久午夜精品理论片中文字幕| av亚洲产国偷v产偷v自拍| 国产精品一区二区三区99| 日韩成人精品在线| 理论电影国产精品| 国产综合色产在线精品| 免费欧美日韩国产三级电影| 亚洲自拍偷拍欧美| 亚洲一区二区三区三| 亚洲午夜久久久久中文字幕久| 亚洲男同性恋视频| 午夜欧美2019年伦理| 开心九九激情九九欧美日韩精美视频电影 | 精品中文字幕一区二区小辣椒 | 日韩电影免费在线| 日韩专区在线视频| 日本免费在线视频不卡一不卡二| 亚洲大型综合色站| 精品一区二区三区视频| voyeur盗摄精品| 欧美日韩三级在线| 欧美一区二区二区| 国产欧美一区二区精品忘忧草| 国产午夜精品一区二区三区视频 | 香蕉久久一区二区不卡无毒影院| 亚洲综合一区二区| 国产精品白丝av| 欧美在线短视频| 久久亚区不卡日本| 美国欧美日韩国产在线播放|