xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡介

本壓縮文檔包含三個文件:用遺傳算法解決TSP問題可執行源代碼,word文檔報告,實驗測試數據

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include
using?namespace?std;
typedef?long?long?LL;
const?int?maxn?=?1e2?+?7;
const?int?INF?=?0x7fffffff;
const?double?PI?=?acos(-1);
struct?Point?{?//點類
????string?name;
????double?x?y;
????int?i;?//編號
};
vector?p;
double?d[maxn][maxn];?//距離矩陣
int?n;
double?sum?=?0;?//當前最短路徑長度

double?dist(Point?a?Point?b)?{?//計算兩點距離
????return?sqrt((a.x?-?b.x)?*?(a.x?-?b.x)?+?(a.y?-?b.y)?*?(a.y?-?b.y));
}

double?get_sum(vector?a)?{?//返回路徑長度
????double?sum?=?0;
????for?(int?i?=?1;?i?????????sum?+=?d[a[i].i][a[i?-?1].i];
????}
????sum?+=?d[a[0].i][a[a.size()-1].i];
????return?sum;
}

void?init()?{????????????????????//初始化
????srand((unsigned)time(NULL));?//設置隨機數種子
????cin?>>?n;
????p.clear();
????for?(int?i?=?0;?i?????????Point?t;
????????cin?>>?t.name?>>?t.x?>>?t.y;
????????t.i?=?i;
????????p.push_back(t);
????}
????for?(int?i?=?0;?i?????????for?(int?j?=?i?+?1;?j?????????????d[i][j]?=?d[j][i]?=?dist(p[i]?p[j]);
????????}
????}
????sum?=?get_sum(p);
}

void?show()?{?//顯示當前結果
????cout?<????cout?<????for?(int?i?=?0;?i?????????cout?<????puts(““);
}

int?w?=?100;??????????????????//限定種群只能活100個個體
vector?>group;//種群,也就是染色體列表

void?Improve_Circle()?{?//改良圈法得到初始序列
????vector?cur?=?p;
????for?(int?t?=?0;?t?????????for?(int?i?=?0;?i?????????????int?j?=?rand()?%?n;
????????????swap(cur[i]?cur[j]);
????????}
????????int?flag?=?1;
????????while?(flag)?{
????????????flag?=?0;
????????????//不斷選取uv子串,嘗試倒置uv子串的順序后解是否更優,如果更優則變更
????????????for?(int?u?=?1;?u?????????????????for?(int?v?=?u?+?1;?v?????????????????????if?(d[cur[u].i][cur[v?+?1].i]?+?d[cur[u?-?1].i][cur[v].i]?<
????????????????????????d[cur[u].i][cur[u?-?1].i]?+?d[cur[v].i][cur[v?+?1].i])?{
????????????????????????for?(int?k?=?u;?k?<=?(u?+?v)?/?2;?k++)?{
????????????????????????????swap(cur[k]?cur[v?-?(k?-?u)]);
????????????????????????????flag?=?1;
????????????????????????}
????????????????????}
????????????????}
????????????}
????????}
????????group.push_back(cur);
????????double?cur_sum?=?get_sum(cur);
????????if?(cur_sum?????????????sum?=?cur_sum;
????????????p?=?cur;
????????}
????}
}

vector?get_randPerm(int?n)?{?//返回一個隨機序列
????vector?c;
????for?(int?i?=?0;?i?????????c.push_back(i);
????}
????for?(int?i?=?0;?i?????????swap(c[i]?c[rand()?%?n]);
????}
????return?c;
}

//排序時用到的比較函數
bool?cmp(vector?a?vector?b)?{?return?get_sum(a)?
int?dai?=?200;?//一共進行200代的進化選擇
int?c[maxn];
dou

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????512707??2018-06-30?18:41??15計2-2015551239-王維-用遺傳算法解TSP問題\15計2-2015551239-王維-遺傳算法解TSP問題.docx

?????文件???????6457??2018-06-30?17:00??15計2-2015551239-王維-用遺傳算法解TSP問題\GA.cpp

?????文件????2091626??2018-06-30?17:39??15計2-2015551239-王維-用遺傳算法解TSP問題\GA.exe

?????文件????????266??2018-06-30?17:04??15計2-2015551239-王維-用遺傳算法解TSP問題\in.txt

?????目錄??????????0??2018-07-01?19:05??15計2-2015551239-王維-用遺傳算法解TSP問題

-----------?---------??----------?-----??----

??????????????2611056????????????????????5


評論

共有 條評論