91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡(jiǎn)介

本壓縮文檔包含三個(gè)文件:用遺傳算法解決TSP問(wèn)題可執(zhí)行源代碼,word文檔報(bào)告,實(shí)驗(yàn)測(cè)試數(shù)據(jù)

資源截圖

代碼片段和文件信息

#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?{?//點(diǎn)類
????string?name;
????double?x?y;
????int?i;?//編號(hào)
};
vector?p;
double?d[maxn][maxn];?//距離矩陣
int?n;
double?sum?=?0;?//當(dāng)前最短路徑長(zhǎng)度

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

double?get_sum(vector?a)?{?//返回路徑長(zhǎng)度
????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));?//設(shè)置隨機(jī)數(shù)種子
????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()?{?//顯示當(dāng)前結(jié)果
????cout?<????cout?<????for?(int?i?=?0;?i?????????cout?<????puts(““);
}

int?w?=?100;??????????????????//限定種群只能活100個(gè)個(gè)體
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子串的順序后解是否更優(yōu),如果更優(yōu)則變更
????????????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)?{?//返回一個(gè)隨機(jī)序列
????vector?c;
????for?(int?i?=?0;?i?????????c.push_back(i);
????}
????for?(int?i?=?0;?i?????????swap(c[i]?c[rand()?%?n]);
????}
????return?c;
}

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

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

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

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

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

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

?????目錄??????????0??2018-07-01?19:05??15計(jì)2-2015551239-王維-用遺傳算法解TSP問(wèn)題

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

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


評(píng)論

共有 條評(píng)論