码迷,mamicode.com
首页 > 编程语言 > 详细

310实验室OTL问题----将写好的C++文件转换成Python文件,并将数据可视化

时间:2015-01-29 17:23:27      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

如图:文件夹

 技术分享

 

第一处:optimizer文件夹下的:optimizer.h文件中添加你所写代码的头文件  #include <OTL/Optimizer/Reference-NSGA-II/Reference-NSGA-II.h>

 技术分享

第二处:在Switch.h文件中添加 代码,格式请模仿文件中的内容 #define EXPORT_Reference_NSGA_II

 

第三处:因为我们一般编码都是以实数形式编码的,所以修改optimizer.real 下的文件Optimizer.h 文件的内容,格式模仿文件中的内容typedef otl::optimizer::reference_nsga_ii::Reference_NSGA_II<TReal, TDecision, TRandom &> TReference_NSGA_II;,然后增写实现 刚在Optimizer.h文件中的函数是在Optimizer.cpp中,注意在这里,如果是要获得一个引用值得话,需要这样.def("GetCrossover", &TReference_NSGA_II::GetCrossover, boost::python::return_value_policy<boost::python::reference_existing_object>()),如果仅获得一个值得话,则不需要boost::python::return_value_policy<boost::python::reference_existing_object>()

 

这样,PyOTL中(作为C++与Python的一种桥接)设置完成。

 

修改PyOptimization中的内容:

第一处:找到optimizer文件夹下的__init__.py,然后修改,格式模仿其文件中的模式。一种是 _make_xxx函数,一种是 make_xxx 函数。

 技术分享

第二处,如果需要运行代码,选择在最外层的optimization.py,如果代码正确,c++和python桥接成功,产生的数据将保存在documents文件下的database的路径中,数据库的路径由自己修改。如果需要修改运行的参数,则在optimization.ini文件中修改,如果是评价则在evalution.ini中修改相关配置。如果需要查看效果图,可以点击visualize.py运行,则可以看到效果图。

 最后,如果需要测评的话,运行evalution.py后,将数据库文件(系统默认是在documents文件下)放在使用sqliteman工具查看即可

310实验室OTL问题----将写好的C++文件转换成Python文件,并将数据可视化

标签:

原文地址:http://www.cnblogs.com/hoojjack/p/4260243.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!