真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

畢設(shè)1-創(chuàng)新互聯(lián)

所做的是個用遺傳算法優(yōu)化網(wǎng)絡(luò)流量的問題,既然要優(yōu)化網(wǎng)絡(luò)流量,對網(wǎng)絡(luò)建??隙ㄊ鞘桩?dāng)其沖的。畢設(shè)1

建模的是個bcube網(wǎng)絡(luò),是云計算中心中比較熱的網(wǎng)絡(luò)結(jié)構(gòu),具體的可以參照scholar.google.com

創(chuàng)新互聯(lián)建站是一家專業(yè)提供漣源企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、H5開發(fā)、小程序制作等業(yè)務(wù)。10年已為漣源眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

為了節(jié)省空間,我一度想采用uint8作為數(shù)據(jù)類型,因為數(shù)據(jù)量比較大,我自己以為這樣處理的時間會比較短,但是用tic toc計時后,double類型反而在運算的時候更快。

arryfun可以從一個矩陣中批量執(zhí)行指定的函數(shù)。

在最后我終于還是放棄了matlab,因為這次的課題目標(biāo)是速度,matlab實在太慢了,并且靈活度太低,想要整出個自定義的數(shù)據(jù)結(jié)構(gòu),或者自由的多線程,都很難(可能是我對matlab還不夠熟悉所致)。

相比之下,C++作為瑞士軍刀,可大可小,大有STL庫作支持,小則可對內(nèi)存每個字節(jié)作操作,寫出來其實也不慢。并且GA算法完全可以并行化,采用C++并行之后大幅度提高速度。matlab雖然有parfor,但是挺蛋疼的,限制太多。

因為課題的關(guān)鍵是速度,計時是必須的,為了能夠方便的計時,模仿matlab寫了tic和toc

LARGE_INTEGER litmp;
LONGLONG QPart1,QPart2;
double dfFreq;


QueryPerformanceFrequency(&litmp);
dfFreq= (double)litmp.QuadPart;

#define tic
    QueryPerformanceCounter(&litmp);
    QPart1= litmp.QuadPart
#define toc
    QueryPerformanceCounter(&litmp);
    QPart2=litmp.QuadPart;
    std::cout<<(QPart2-QPart1)/dfFreq<

這樣tic; fun(); toc;就能計算出時間來。

在多線程上,采用了std::thread類,據(jù)說這個類不太安全,大多推薦boost庫中的thread。但是GA中的多線程,不同線程之間完全分開,沒有公共內(nèi)存區(qū)域,不需要上鎖,不涉及安全問題,簡單起見就用std::thread即可。

    std::thread t[TotalThreads];
for(int i=0;i

就簡單暴力的啟動線程,然后等待線程結(jié)束。

在洗牌和排序算法中,強(qiáng)大的STL庫提供了支持,分別是std::sort和std::random_shuffle

這里值得一提的是random_shuffle的效率并不高,在matlab中作同樣的shuffle需要0.6秒,而C++中需要1.6秒。在本項目中影響并不大,否則要考慮重寫。

先寫到這里


網(wǎng)頁標(biāo)題:畢設(shè)1-創(chuàng)新互聯(lián)
分享鏈接:http://weahome.cn/article/ccicic.html

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部