网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

毕设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<

这样tic; fun(); toc;就能计算出时间来。

在多线程上,采用了std::thread类,据说这个类不太安全,大多推荐boost库中的thread。但是GA中的多线程,不同线程之间完全分开,没有公共内存区域,不需要上锁,不涉及安全问题,简单起见就用std::thread即可。

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

就简单暴力的启动线程,然后等待线程结束。

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

这里值得一提的是random_shuffle的效率并不高,在matlab中作同样的shuffle需要0.6秒,而C++中需要1.6秒。在本项目中影响并不大,否则要考虑重写。

先写到这里


文章标题:毕设1-创新互联
当前URL:http://bjjierui.cn/article/ccicic.html