資源簡介
這是利用C#開發(fā)的蟻群算法求解TSP問題,算法已經(jīng)成功的實現(xiàn),是蟻群算法的初學者很好的資料

代碼片段和文件信息
using?System;
using?System.Data;
using?System.Configuration;
using?System.Web;
using?System.Web.Security;
using?System.Web.UI;
using?System.Web.UI.WebControls;
using?System.Web.UI.WebControls.WebParts;
using?System.Web.UI.HtmlControls;
public?partial?class?_Default?:?System.Web.UI.Page
{
????ColdRolling?cr?=?new?ColdRolling();//定義對象
????string?cn?=?ConfigurationManager.ConnectionStrings[“OraConnString“].ToString();//定義數(shù)據(jù)庫連接字符串
????protected?void?Page_Load(object?sender?EventArgs?e)
????{
????}
????protected?void?opt_Click(object?sender?EventArgs?e)
????{
????????/*-------------------------------------------第一步變量初始化--------------------------------------------------*/
????????int?n?=?31;//定義城市個數(shù)
????????int?m?=?31;//定義螞蟻個數(shù)
????????//double[]?coordinate?=?new?double[31?2];//定義一個N個城市的坐標數(shù)組
????????int?NC?=?0;
????????int?NC_max?=10;//定義一個最大迭代的次數(shù)
????????int?alpha?=?1;//信息啟發(fā)式因子,表征信息素重要程度的參數(shù)
????????int?beta?=?5;//期望啟發(fā)式因子,表征啟發(fā)式因子重要程度的參數(shù)
????????double?Rho?=?0.1;//信息素蒸發(fā)的參數(shù)
????????int?Q?=?100;//信息素增加強度系數(shù)
????????int[]?Ant?=?new?int[m];
????????double[]?Tau?=?new?double[n?n];//定義信息素矩陣
????????for?(int?i?=?0;?i?????????{
????????????for?(int?j?=?0;?j?????????????{
????????????????Tau[i?j]?=?1;
????????????}
????????}
????????int[][]?Tabu;//定義禁忌表,存儲并記錄路徑的生成
????????int[][]?R_best;//各代最佳路線
????????R_best?=?new?int[NC_max][];
????????for?(int?i?=?0;?i?????????{
????????????R_best[i]?=?new?int[n];
????????}
????????double[]?L_best?=?new?double[NC_max?1];//各代最佳路線的長度
????????double[]?L_aver?=?new?double[NC_max?1];//各代最佳路線的平均長度
????????double[]?coordinate?=?new?double[n?+?1?2];
????????string?select?=?“select?*?from?\“tsp31\““;
????????DataSet?ds?=?cr.GetDataSet(select?“distance“);
????????int?k?=?1;
????????foreach?(DataRow?myrow?in?ds.Tables[“distance“].Rows)
????????{
????????????coordinate[k?0]?=?Convert.ToDouble(myrow[“COL001“]);
????????????coordinate[k?1]?=?Convert.ToDouble(myrow[“COL002“]);
????????????k++;
????????}
????????/*--------------------------------------------------大循環(huán)----------------------------------------------------*/
????????while?(NC?????????{
????????????/*-----------------------第二步將m只螞蟻隨機放在n個城市中的m個---------------------------------*/
????????????int?M?=?32;?????????????????????
????????????int?A?=?13;
????????????int?C?=?5;
????????????int[]?S?=?new?int[M?+?1];
????????????S[0]?=?1;
????????????Ant[0]?=?S[0];
????????????Tabu?=?new?int[m][];
????????????for?(int?i?=?0;?i?????????????{
????????????????Tabu[i]?=?new?int[n];
????????????}
????????????Tabu[0][0]?=?Ant[0];
????????????for?(int?i?=?0;?i?10;?i++)
????????????{
????????????????S[i?+?1]?=?(A?*?S[i]?+?C)?%?M;
????????????????Ant[i?+?1]?=?S[i?+?1];
????????????????Tabu[i?+?1][0]?=?Ant[i?+?1];
????????????}
????????????S[11]?=?0;
????????????for?(int?i?=?11;?i?31;?i++)
????????????{
????????????????S[i?+?1]?=?(A?*?S[i]?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1498??2009-06-04?15:20??ACA\ACA.sln
????..A..H.??????8704??2009-06-07?18:23??ACA\ACA.suo
?????文件????????683??2009-06-04?15:20??ACA\ant.aspx
?????文件??????13561??2009-04-06?17:04??ACA\ant.aspx.cs
?????文件????????194??2009-03-16?15:20??ACA\App_Code\AdjustStructs.cs
?????文件???????1216??2008-05-20?20:35??ACA\App_Code\ColdRolling.cs
?????文件???????1858??2009-03-18?14:47??ACA\Web.config
?????目錄??????????0??2009-06-09?22:08??ACA\App_Code
?????目錄??????????0??2009-06-09?22:08??ACA\App_Data
?????目錄??????????0??2009-06-09?22:08??ACA\Bin
?????目錄??????????0??2009-06-09?22:08??ACA
-----------?---------??----------?-----??----
????????????????27714????????????????????11
- 上一篇:C#winform實現(xiàn)鋼琴7音
- 下一篇:C#進銷存系統(tǒng)
評論
共有 條評論