bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

畢設1-創新互聯

所做的是個用遺傳算法優化網絡流量的問題,既然要優化網絡流量,對網絡建??隙ㄊ鞘桩斊錄_的。畢設1

建模的是個bcube網絡,是云計算中心中比較熱的網絡結構,具體的可以參照scholar.google.com

創新互聯建站是一家專業提供漣源企業網站建設,專注與成都網站制作、成都網站設計、H5開發、小程序制作等業務。10年已為漣源眾多企業、政府機構等服務。創新互聯專業的建站公司優惠進行中。

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

arryfun可以從一個矩陣中批量執行指定的函數。

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

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

因為課題的關鍵是速度,計時是必須的,為了能夠方便的計時,模仿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<<std::endl

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

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

    std::thread t[TotalThreads];
for(int i=0;i<TotalThreads;++i)
        t[i]=std::thread(Eval2,i);
for(int i=0;i<TotalThreads;++i)
        t[i].join();

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

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

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

先寫到這里

新聞標題:畢設1-創新互聯
新聞來源:http://vcdvsql.cn/article2/ccicic.html

成都網站建設公司_創新互聯,為您提供ChatGPT、微信公眾號、企業建站外貿建站、標簽優化、靜態網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站托管運營