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

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

?? sel.cpp

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

#include <vector>
#include <list>
#include "Sel.h"

namespace az
{
namespace mea
{
namespace sel
{
	//!\brief	sort population, the first 'size' are best ones
	//!\param	pop population
	//!\param	size size of best ones
	//!\return	population
	CPopulationMO& SCrowd::SelectSort(CPopulationMO& pop, unsigned int size)
	{
		if(pop.Size()<=size) return pop;

		unsigned int start, end;

		//Step 1: rank sort
		pop.RankSort();

		//Step 2: find the sub set which "cover" the cut point
		start = end = 0;
		while(end<size)
		{
			start = end;
			while(end<pop.Size() && pop[end].Rank() == pop[start].Rank()) end++;
		}

		//Step 3: sort the sub set
		if(pop[start].IsFeasible() && end > start + 2 && start < size-2)
		{
			unsigned int i,j,k; double interval;

			std::vector<double>			share(end-start);
			std::vector<unsigned int>	index(end-start);
			
			for(i=0; i<(unsigned int)share.size(); i++) share[i] = 0.0;
			
			//calculate the share values
			for(i=0; i<pop.P().FSize(); i++)
			{
				for(j=start; j<end; j++) index[j-start] = j;

				for(j=0; j<(unsigned int)index.size()-1; j++)
					for(k=j+1; k<(unsigned int)index.size(); k++)
						if(pop[index[j]].F(i) > pop[index[k]].F(i))
							std::swap(index[j], index[k]);

				interval =  pop[index[index.size()-1]].F(i) - pop[index[0]].F(i) ;
				for(j=1; j<(unsigned int)index.size()-1; j++) share[index[j]-start] += (pop[index[j+1]].F(i) - pop[index[j-1]].F(i))/interval;
				share[index[0]-start] = MAXDOUBLE;
				share[index[index.size()-1]-start] = MAXDOUBLE;
			}
			
			//sort the sub-population according to the share value
			for(i=start; i<end; i++)
				for(j=i+1; j<end; j++)
					if(share[i-start] < share[j-start])
						pop.Swap(i, j);

			share.clear();
			index.clear();
		}

		return pop;
	}

	//!\brief	select from current population and offspring population
	//!\param	pop combined population
	//!\param	size population size
	//!\return	population
	CPopulationMO& SCrowd::Select(CPopulationMO& pop, unsigned int size)
	{
		if(pop.Size()>size) SelectSort(pop, size).Erase(size);

		return pop;
	}

	/////////////////////////////////////////////////////////////////////////////////////////////////
	//!\brief	sort population, the first 'size' are best ones
	//!\param	pop population
	//!\param	size size of best ones
	//!\return	population
	CPopulationMO& SCrowd2::SelectSort(CPopulationMO& pop, unsigned int size)
	{
		if(pop.Size()<=size) return pop;

		unsigned int start, end;

		//Step 1: rank sort
		pop.RankSort();

		//Step 2: find the sub set which "cover" the cut point
		start = end = 0;
		while(end<size)
		{
			start = end;
			while(end<pop.Size() && pop[end].Rank() == pop[start].Rank()) end++;
		}

		//Step 3: sort the sub set
		if(pop[start].IsFeasible() && end > start + 2 && start < size-2)
		{
			unsigned int i,j,k,de; double interval;

			while(end>size)
			{
				std::vector<double>			share(end-start);
				std::vector<unsigned int>	index(end-start);
				
				for(i=0; i<(unsigned int)share.size(); i++) share[i] = 0.0;
				
				//calculate the share values
				for(i=0; i<pop.P().FSize(); i++)
				{
					for(j=start; j<end; j++) index[j-start] = j;

					for(j=0; j<(unsigned int)index.size()-1; j++)
						for(k=j+1; k<(unsigned int)index.size(); k++)
							if(pop[index[j]].F(i) > pop[index[k]].F(i))
								std::swap(index[j], index[k]);

					interval =  pop[index[index.size()-1]].F(i) - pop[index[0]].F(i) ;
					for(j=1; j<(unsigned int)index.size()-1; j++) share[index[j]-start] += (pop[index[j+1]].F(i) - pop[index[j-1]].F(i))/interval;
					share[index[0]-start] = MAXDOUBLE;
					share[index[index.size()-1]-start] = MAXDOUBLE;
				}
				
				//find the one to delete 
				de = start;
				for(i=start+1; i<end; i++) if(share[i-start] < share[de-start]) de=i;

				//move the one to the end
				pop.Swap(de, end-1);

				share.clear();
				index.clear();

				end--;
			}
		}

		return pop;
	}

	//!\brief	select from current population and offspring population
	//!\param	pop combined population
	//!\param	size population size
	//!\return	population
	CPopulationMO& SCrowd2::Select(CPopulationMO& pop, unsigned int size)
	{
		if(pop.Size()>size) SelectSort(pop, size).Erase(size);

		return pop;
	}

}//namespace sel
} //namespace mea
} //namespace az

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品视频一区二区| 成人激情电影免费在线观看| 国产酒店精品激情| 2023国产一二三区日本精品2022| 亚洲国产人成综合网站| 国产一区二区精品久久99| 日韩亚洲欧美一区二区三区| 亚洲男帅同性gay1069| 成人一级黄色片| 777色狠狠一区二区三区| 亚洲一区二区3| 色88888久久久久久影院野外| 2017欧美狠狠色| 国产一区二区在线观看视频| 精品国产精品一区二区夜夜嗨| 日韩中文字幕区一区有砖一区| 欧美日韩亚洲综合一区| 丝袜美腿高跟呻吟高潮一区| 欧美揉bbbbb揉bbbbb| 亚洲bt欧美bt精品777| 在线精品视频一区二区三四 | 性欧美大战久久久久久久久| 欧美日韩一区二区在线观看视频| 成人欧美一区二区三区1314| 秋霞影院一区二区| 精品免费日韩av| 懂色av噜噜一区二区三区av| 亚洲精品免费在线播放| 欧美视频三区在线播放| 亚洲国产欧美另类丝袜| 欧美一级生活片| 国产精品一区二区三区网站| 国产婷婷色一区二区三区| a亚洲天堂av| 亚洲图片你懂的| 5566中文字幕一区二区电影| 国产真实乱对白精彩久久| 中文字幕日韩av资源站| 欧美区在线观看| 国产精品一区二区三区乱码 | 美腿丝袜亚洲综合| 欧美韩国日本一区| 欧美日韩五月天| 激情欧美日韩一区二区| 一区二区三区在线视频观看| 欧美午夜精品久久久久久超碰| 丝袜美腿亚洲一区二区图片| 日本一区二区三区电影| 欧美日韩一二三区| 国产成人aaa| 五月激情综合婷婷| 中文字幕成人在线观看| 欧美日韩一区 二区 三区 久久精品| 精品一区二区三区香蕉蜜桃| 亚洲欧美日韩中文播放| 欧美精品一区二区三区高清aⅴ| 顶级嫩模精品视频在线看| 免费三级欧美电影| 亚洲人成小说网站色在线| 欧美一区二区精品在线| 99精品国产热久久91蜜凸| 天天操天天综合网| 亚洲欧美怡红院| 久久久久久久久久久久电影| 欧美性猛片aaaaaaa做受| 成人国产精品免费| 亚洲成a人片在线观看中文| 久久久久99精品国产片| 在线观看日韩av先锋影音电影院| 国产在线精品一区二区三区不卡| 五月天欧美精品| 精品国产一区二区亚洲人成毛片| 色婷婷av一区二区三区软件 | 777午夜精品免费视频| 91麻豆国产自产在线观看| 国产精品一区二区久久不卡 | 午夜精品久久久久| 亚洲日本青草视频在线怡红院| 久久亚洲影视婷婷| 色综合久久久久综合| 不卡的av网站| 国产一区二区在线观看视频| 老司机精品视频导航| 日本伊人色综合网| 日韩精彩视频在线观看| 亚洲gay无套男同| 亚洲国产精品久久久久秋霞影院| 亚洲免费在线电影| 亚洲三级在线看| 亚洲精品一二三| 亚洲欧美影音先锋| 欧美精品一区二区在线播放| 亚洲精品在线免费观看视频| 精品国产欧美一区二区| 日韩免费福利电影在线观看| 欧美一区二区三区白人| 91精品久久久久久久91蜜桃| 91精品麻豆日日躁夜夜躁| 在线成人免费观看| 欧美日韩国产大片| 在线观看91视频| 欧美日韩久久久| 91麻豆精品国产| 日韩免费一区二区三区在线播放| 日韩美女一区二区三区| 久久综合网色—综合色88| 国产午夜精品久久久久久久| 国产日韩欧美精品在线| 久久久久久久综合狠狠综合| 中文字幕日韩av资源站| 亚洲精品视频在线观看免费| 亚洲午夜久久久久中文字幕久| 亚洲午夜在线视频| 午夜日韩在线观看| 精品一区二区免费视频| 国产精品538一区二区在线| www.99精品| 色屁屁一区二区| 欧美一区二区免费视频| 久久影音资源网| 国产精品家庭影院| 一区二区三区在线观看动漫| 日韩精品福利网| 韩国av一区二区三区| 不卡视频在线观看| 色乱码一区二区三区88| 日韩美女在线视频| 中文字幕亚洲成人| 日韩激情中文字幕| 成人亚洲精品久久久久软件| 欧美午夜精品久久久久久超碰| 日韩欧美一区二区视频| 国产精品乱人伦| 日本vs亚洲vs韩国一区三区二区| 国产超碰在线一区| 欧美日韩中字一区| 久久久高清一区二区三区| 成人免费在线视频观看| 亚洲bt欧美bt精品| 国产69精品久久久久777| 欧美日韩亚洲综合在线| 国产精品色哟哟| 美女精品一区二区| 色欧美乱欧美15图片| 日韩免费看的电影| 亚洲宅男天堂在线观看无病毒| 久久se精品一区精品二区| 色屁屁一区二区| 国产日韩av一区| 日本欧美加勒比视频| 91免费版pro下载短视频| 在线亚洲免费视频| 69成人精品免费视频| 亚洲欧美另类久久久精品2019| 激情五月激情综合网| 欧美精品久久久久久久多人混战| 国产精品视频在线看| 极品少妇xxxx偷拍精品少妇| 日本精品一级二级| 国产精品丝袜91| 欧美aⅴ一区二区三区视频| 亚洲高清视频在线| 色嗨嗨av一区二区三区| 一区二区三区免费| 欧美视频在线一区二区三区 | 欧美午夜电影网| 亚洲成人av电影| 欧美一区二区视频在线观看| 日本成人在线电影网| 91精品婷婷国产综合久久性色 | 亚洲大片精品永久免费| 在线观看91视频| 性做久久久久久久免费看| 538在线一区二区精品国产| 美女性感视频久久| 精品国产a毛片| 国产一区二区不卡在线| 久久综合色婷婷| 国产成人av福利| 国产精品成人免费| 91美女蜜桃在线| 五月天亚洲精品| 日韩免费电影一区| 国产高清亚洲一区| 自拍偷拍亚洲综合| 欧洲一区二区三区免费视频| 午夜亚洲国产au精品一区二区| 在线综合+亚洲+欧美中文字幕| 美女久久久精品| 中文字幕精品一区| 91麻豆123| 日本美女视频一区二区| 国产人伦精品一区二区| 91小视频在线| 免费人成在线不卡| 欧美国产在线观看| 欧美私人免费视频| 国产一区在线不卡| 亚洲一区二区三区四区在线观看 | 国产一区在线视频|