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

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

?? ant_testdlg.cpp

?? 蟻群算法的程序
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
	{
		//select a path with maximum pheromone
		next_pos=0;
		for (i=1; i<10; i++)
			if (tau[layer][last_pos][i]>tau[layer][last_pos][next_pos])
				next_pos=i;
		ant[ant_no][layer]=next_pos;
	}
	else
	{
		//select a path randomly according to pseudo-random-proportional rule
		next_pos=0;
		t=(float)rand()/RAND_MAX*tau[layer][last_pos][10];
		for (i=0; i<10 -1; i++)		//the for statement just need to run till i==8, as i==9 is the last choise
			if(tau[layer][last_pos][i]>t)
				break;
			else
				t-=tau[layer][last_pos][i];
		ant[ant_no][layer]=i;
	}

}

void CAnt_testDlg::local_update(int ant_no, int layer)  //局部更新
{
    float t, tt;
	int last_pos, cur_pos;
	
	//last_pos stands for the node number of the ant chooses in the last move
	//and it will be 0 for the first move of each dimension of variable
	//if(layer==0)
	if(layer%8==0)
		last_pos=0;
	else
		last_pos = ant[ant_no][layer-1];
	cur_pos = ant[ant_no][layer];
	t = tau[layer][last_pos][cur_pos];
	//tt = rho * t;
	tt=(1-rho)*t + rho*tau0;
	//if(tt>tau_max)
	//	tt=tau_max;
	//else if(tt<tau_min)
	//	tt=tau_min;
	tau[layer][last_pos][cur_pos]=tt;
	tau[layer][last_pos][10] += (tt-t);
}

void CAnt_testDlg::get_best_ant()  //尋找最優(yōu)螞蟻
{
	int i;
	ibfit=fit[0];
	ibant_no=0;
	for (i=1; i<num_ants; i++)
	{
		if (fit[i]<ibfit)
		{
			ibant_no=i;
			ibfit=fit[i];
		}
	}
	if(ibfit<gbfit)
	{
		for (i=0; i<num_layers; i++)
			gbant[i]=ant[ibant_no][i];
		gbfit=ibfit;
		curbest[cur_iter]=gbfit;
	}
	else
	{
		curbest[cur_iter]=gbfit;
	}
}

void CAnt_testDlg::global_update()  //全局更新
{
	float t, tt;
	int i;
	int last_pos, cur_pos;
	for (i=0; i<num_layers; i++)
	{
		//last_pos stands for the node number of the ant chooses in the last move
		//and it will be 0 for the first move of each dimension of variable
		if(i%8==0)
		//if(i==0)
		last_pos=0;
		cur_pos=gbant[i];
		t  = tau[i][last_pos][cur_pos];
		//tt = alpha * t + 1.0/gbfit;
		tt=(1-alpha)*t + alpha/gbfit;
		tau[i][last_pos][cur_pos]=tt;
		//if(tt>tau_max)
		//	tt=tau_max;
		//else if(tt<tau_min)
		//	tt=tau_min;
		tau[i][last_pos][10] += (tt-t);
		last_pos=cur_pos;
	}

}
void CAnt_testDlg::decode()//解碼
{
	int i, j, k;
    for (i=0; i<num_ants; i++)
	{
		fit[i]=0;
		for (j=0; j<dimension; j++)
		{
			x[i][j]=0;
			for (k=0; k<layers_per_dimension; k++)
			{
				//x[i][j]+=ant[i][j*8+k]*pow(10,-k-1);
				x[i][j]+=ant[i][j*layers_per_dimension+k]*pow(10,-k-1);
			}
		//x[i][j]=x[i][j]*4.096-2.048;
		}		
	}
}
void CAnt_testDlg::evaluate()//評估
{
int i, j;
	for (i=0; i<num_ants; i++)
	{
        
		for(j=0;j<dimension;j++)
        fit[i]+=100*x[i][j]*x[i][j];
		//for(j=0;j<dimension-1;j++)
		//fit[i]+=100*(x[i][j]*x[i][j]-x[i][j+1])*(x[i][j]*x[i][j]-x[i][j+1])+(1-x[i][j])*(1-x[i][j]);
		
	}
}
void CAnt_testDlg::OnCancelMode() 
{
	CDialog::OnCancelMode();
	
	// TODO: Add your message handler code here
	
}

void CAnt_testDlg::OnTimer(UINT nIDEvent) 
{	
	if(nIDEvent==1)
	{
		int cur_layer, cur_ant;
		cur_iter++;
		for (cur_layer=0; cur_layer<num_layers; cur_layer++)
		{
			for (cur_ant=0; cur_ant<num_ants; cur_ant++)
			{
				ant_move ( cur_ant, cur_layer );
				local_update ( cur_ant, cur_layer );
			}
		}
		decode();
		evaluate();
		get_best_ant();
		global_update();			
		double sum=0;
		for (int i=0; i<num_ants; i++)
		{
			sum+=fit[i];
		}
		aver1[cur_iter]=sum/ double (num_ants);
		m_edit12=cur_iter;
		m_edit10=curbest[cur_iter];
		UpdateData(false);
        while(cur_iter>=num_iters)
        {
			cur_iter=0;
			KillTimer(1);
        }
	}

	// TODO: Add your message handler code here and/or call default
	
	CDialog::OnTimer(nIDEvent);
}

void CAnt_testDlg::OnShow() 
{
	// TODO: Add your control notification handler code here
	m_edit13=curbest[cur_iter];
	UpdateData(false);
	int i;
	int lMaxCount = 0;
	CPaintDC dc(this);
	CWnd* pWnd = GetDlgItem(IDC_EDIT1);
	CDC* pDC = pWnd->GetDC();
	pWnd->Invalidate();
	pWnd->UpdateWindow();
	int LeftTop_x=70;
    int LeftTop_y=30;
	int RightButtom_x=510;
	int RightButtom_y=530;
	int SegCount=10;
	int DataLength=m_edit3;
	double lMaxCount1=aver1[1];
	double lMaxCount2=curbest[1];
	double lMinCount1=aver1[1];
	double lMinCount2=curbest[1];
	for ( i=1; i<=DataLength; i++)
	{
		if (aver1[i] > lMaxCount1)
		{
			lMaxCount1 = aver1[i];
		}
	}
	for (i=1; i<=DataLength; i++)
	{
		if (aver1[i] < lMinCount1)
		{
			lMinCount1 = aver1[i];
		}
	}
	for (i=0; i<DataLength; i++)
	{
		if (curbest[i] > lMaxCount2)
		{
			lMaxCount2 = curbest[i];
		}
	}
	for (i=0; i<DataLength; i++)
	{
		if (curbest[i] < lMinCount2)
		{
			lMinCount2 = curbest[i];
		}
	}
	lMaxCount2=lMaxCount2+0.5;
	pDC->MoveTo(LeftTop_x,LeftTop_y);
	pDC->LineTo(LeftTop_x,RightButtom_y);
	pDC->LineTo(RightButtom_x,RightButtom_y);
	pDC->LineTo(RightButtom_x,LeftTop_y);
	pDC->LineTo(LeftTop_x,LeftTop_y);
	double jiangeX=(double((RightButtom_x-LeftTop_x))/m_edit3); 
	for(int j=1;j<=m_edit3;j++)
	{
		if(m_edit3<500)
		{
			if(j%20==0)
			{
				pDC->MoveTo(LeftTop_x+jiangeX/2+j*jiangeX, RightButtom_y);
				pDC->LineTo(LeftTop_x+jiangeX/2+j*jiangeX, RightButtom_y+6);
				CString str5;
				str5.Format("%d",j);
				pDC->TextOut(LeftTop_x-4+jiangeX/2+j*jiangeX, RightButtom_y+3,str5);
				CPen pen1(PS_DASH,0.5,RGB(0,0,0));
				CPen *pOldPen=pDC->SelectObject(&pen1);
				if(j<m_edit2)
				{
					pDC->MoveTo(j*jiangeX+LeftTop_x,LeftTop_y);
					pDC->LineTo(j*jiangeX+LeftTop_x,RightButtom_y);
				}
				pDC->SelectObject(pOldPen);   
				pen1.DeleteObject();
			}
		}
		else
		{
			if(j%40==0)
			{
				pDC->MoveTo(LeftTop_x+jiangeX/2+j*jiangeX, RightButtom_y);
				pDC->LineTo(LeftTop_x+jiangeX/2+j*jiangeX, RightButtom_y+6);
				CString str5;
				str5.Format("%d",j);
				pDC->TextOut(LeftTop_x-4+jiangeX/2+j*jiangeX, RightButtom_y+3,str5);
				CPen pen1(PS_DASH,0.5,RGB(0,0,0));
				CPen *pOldPen=pDC->SelectObject(&pen1);
				if(j<m_edit3)
				{
					pDC->MoveTo(j*jiangeX+LeftTop_x,LeftTop_y);
					pDC->LineTo(j*jiangeX+LeftTop_x,RightButtom_y);	
				}
				pDC->SelectObject(pOldPen);   
				pen1.DeleteObject();
			}
		}
	}
	double jiangeY=(double((RightButtom_y-LeftTop_y))/SegCount); 
	for (i=0;i<(SegCount+1);i+=1)
	{
		pDC->MoveTo(LeftTop_x, RightButtom_y-i*jiangeY);
		pDC->LineTo(LeftTop_x-4, RightButtom_y-i*jiangeY);
		CString str6;
		str6.Format("%f",(double)lMaxCount2/SegCount*i);
		pDC->TextOut(2, RightButtom_y-5-i*jiangeY,str6);
		CPen pen2(PS_DASH,0.5,RGB(0,0,0));
		CPen *pOldPen1=pDC->SelectObject(&pen2);
		if(i<SegCount && i>=1)
		{
			pDC->MoveTo(LeftTop_x,RightButtom_y-i*jiangeY);
			pDC->LineTo(RightButtom_x,RightButtom_y-i*jiangeY);
		}
		pDC->SelectObject(pOldPen1);  
		pen2.DeleteObject();
	}
	CPen pen3(PS_SOLID,2,RGB(255,0,0));
	CPen *pOldPen2=pDC->SelectObject(&pen3);
	for (i=1;i<DataLength;i++)
	{
		pDC->MoveTo(LeftTop_x+jiangeX*(i-1),RightButtom_y-(RightButtom_y-LeftTop_y)*(aver1[i]-lMinCount1)/(lMaxCount1-lMinCount1));
		pDC->LineTo(LeftTop_x+jiangeX*i,RightButtom_y-(RightButtom_y-LeftTop_y)*(aver1[i+1]-lMinCount1)/(lMaxCount1-lMinCount1));
	}
	pDC->SelectObject(pOldPen2);
	pen3.DeleteObject();
	CPen pen4(PS_SOLID,2,RGB(0,0,255));
	CPen *pOldPen3=pDC->SelectObject(&pen4);
	for (i=1;i<DataLength;i++)
	{
		pDC->MoveTo(LeftTop_x+jiangeX*(i-1),RightButtom_y-(RightButtom_y-LeftTop_y)*(curbest[i]-lMinCount2)/(lMaxCount2-lMinCount2));
		pDC->LineTo(LeftTop_x+jiangeX*i,RightButtom_y-(RightButtom_y-LeftTop_y)*(curbest[i+1]-lMinCount2)/(lMaxCount2-lMinCount2));
	}
	pDC->SelectObject(pOldPen3);
	pen4.DeleteObject();
    pDC->TextOut(RightButtom_x+3,RightButtom_y+5,"代數(shù)");
	pDC->TextOut(LeftTop_x-30,LeftTop_y-20,"函數(shù)值");

	FILE *fp1;
	fp1=fopen("result_aver.txt","w+");
	for(i=0;i<num_iters;i++)
	{
		fprintf(fp1,"%lf\n",aver1[i]);
	}
	fclose(fp1);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91美女在线视频| 久久久91精品国产一区二区精品| 欧美老人xxxx18| xvideos.蜜桃一区二区| 一个色在线综合| 国产成人午夜精品5599| 日韩欧美亚洲国产精品字幕久久久| 国产精品久线观看视频| 国产麻豆日韩欧美久久| 91.com视频| 亚洲大片免费看| 色偷偷久久人人79超碰人人澡| 亚洲国产成人自拍| 国产乱人伦偷精品视频免下载 | 国产精品拍天天在线| 天堂蜜桃一区二区三区| 99热在这里有精品免费| 国产午夜亚洲精品午夜鲁丝片| 免费看精品久久片| 在线播放91灌醉迷j高跟美女| 亚洲精品免费电影| 91网上在线视频| 国产精品久久久久桃色tv| 国产福利视频一区二区三区| 精品国产第一区二区三区观看体验| 日韩制服丝袜先锋影音| 精品视频一区二区三区免费| 2021国产精品久久精品| 久久精品国产精品亚洲红杏| 日韩一区二区免费在线电影| 秋霞午夜鲁丝一区二区老狼| 日韩丝袜情趣美女图片| 免费在线观看不卡| 精品国产伦一区二区三区免费| 奇米色777欧美一区二区| 日韩欧美国产综合在线一区二区三区| 五月婷婷久久综合| 精品久久久久久久久久久久久久久久久 | 日韩 欧美一区二区三区| 制服丝袜在线91| 麻豆一区二区三区| 欧美本精品男人aⅴ天堂| 国产一区二区影院| 国产欧美精品一区二区三区四区| 春色校园综合激情亚洲| 国产精品伦一区| 91麻豆免费视频| 亚洲一本大道在线| 日韩欧美国产综合一区| 粉嫩13p一区二区三区| 1000部国产精品成人观看| 在线观看日韩国产| 蜜臀a∨国产成人精品| 国产女主播一区| 欧洲人成人精品| 久久91精品国产91久久小草| 国产精品热久久久久夜色精品三区 | 国产欧美精品一区二区三区四区| 91丨porny丨最新| 午夜精品免费在线| 久久久www免费人成精品| 91欧美一区二区| 免费看日韩精品| 中文字幕一区二区三区色视频| 欧美日韩激情一区| 国产精品亚洲综合一区在线观看| 亚洲摸摸操操av| 精品欧美乱码久久久久久| 91蝌蚪porny| 久久精品国产999大香线蕉| 国产精品久99| 日韩亚洲欧美中文三级| av午夜一区麻豆| 麻豆91在线播放免费| 亚洲人精品午夜| 亚洲精品在线三区| 欧美日韩高清一区二区三区| 处破女av一区二区| 奇米精品一区二区三区在线观看一| 中文字幕免费在线观看视频一区| 6080亚洲精品一区二区| 色综合天天综合色综合av| 久88久久88久久久| 亚洲国产婷婷综合在线精品| 国产欧美一区二区精品性色| 日韩欧美另类在线| 欧美无砖专区一中文字| 成人av午夜电影| 韩国精品在线观看| 日韩av一区二区三区四区| 亚洲精品欧美激情| 国产精品人成在线观看免费| 精品乱码亚洲一区二区不卡| 制服.丝袜.亚洲.另类.中文| 色婷婷香蕉在线一区二区| 成人av动漫网站| 国产寡妇亲子伦一区二区| 另类综合日韩欧美亚洲| 图片区小说区国产精品视频| 亚洲一区二区三区中文字幕| 中文字幕亚洲综合久久菠萝蜜| 久久久久久久网| 久久麻豆一区二区| 日韩精品一区二区在线| 欧美一级夜夜爽| 91麻豆精品国产91久久久久| 欧美女孩性生活视频| 欧洲视频一区二区| 欧美日韩亚洲综合一区二区三区| 91香蕉视频污在线| 91丨porny丨最新| 色综合久久六月婷婷中文字幕| 99热精品国产| 日本道色综合久久| 色狠狠色狠狠综合| 欧美午夜精品久久久久久孕妇| 欧美影院精品一区| 欧美高清精品3d| 精品日韩一区二区三区免费视频| 欧美成人a∨高清免费观看| 精品国产乱码久久久久久牛牛| 精品剧情在线观看| 国产精品视频第一区| 亚洲精品久久久久久国产精华液| 亚洲精品日韩综合观看成人91| 亚洲午夜免费福利视频| 免费不卡在线视频| 国产精品亚洲专一区二区三区 | 日韩专区一卡二卡| 全国精品久久少妇| 国产精品亚洲专一区二区三区| 国产黄色成人av| 色婷婷国产精品| 欧美日韩精品二区第二页| 日韩亚洲欧美综合| 国产精品全国免费观看高清 | 国产欧美日韩精品在线| 国产精品午夜在线观看| 亚洲少妇屁股交4| 日本不卡在线视频| 成人免费毛片a| 欧美性受极品xxxx喷水| 欧美变态tickle挠乳网站| 国产精品久久久久毛片软件| 亚洲午夜国产一区99re久久| 久久99国产精品久久99| 91色视频在线| 日韩欧美视频一区| 一区二区三区四区在线免费观看| 日韩专区中文字幕一区二区| 国产成+人+日韩+欧美+亚洲| 欧美日韩www| 日本一区二区三区久久久久久久久不| 夜夜嗨av一区二区三区| 裸体一区二区三区| 99热精品国产| 久久伊人中文字幕| 亚洲图片自拍偷拍| 国产精品99久久久久久宅男| 欧美日韩国产一区| 国产精品色眯眯| 极品少妇xxxx精品少妇偷拍| 一本色道久久综合狠狠躁的推荐| 精品日韩一区二区三区免费视频| 亚洲人成人一区二区在线观看| 韩日精品视频一区| 欧美日韩亚洲综合一区二区三区| 国产精品你懂的在线欣赏| 日日噜噜夜夜狠狠视频欧美人 | 日本不卡视频在线观看| 成人妖精视频yjsp地址| 欧美一区二区三区免费观看视频| 中文字幕视频一区二区三区久| 久久精品理论片| 欧美日韩在线观看一区二区| 中文无字幕一区二区三区| 久久精品免费看| 制服丝袜亚洲精品中文字幕| 亚洲一区在线观看免费观看电影高清| 成人激情av网| 久久久精品免费免费| 美女视频免费一区| 5858s免费视频成人| 亚洲资源中文字幕| 91啪亚洲精品| 亚洲素人一区二区| 成人av电影在线观看| 欧美激情一区二区三区在线| 国产精品1区二区.| 久久久久久久久久电影| 狠狠v欧美v日韩v亚洲ⅴ| 日韩精品一区二区在线| 老司机精品视频线观看86| 91精品久久久久久久99蜜桃| 三级不卡在线观看| 日韩三级伦理片妻子的秘密按摩| 男女性色大片免费观看一区二区| 欧美日韩精品一区二区在线播放 | 国产成人鲁色资源国产91色综| 日韩你懂的在线观看|