如图:文件夹

第一处: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工具查看即可

最新文章

  1. C#基础知识四之override和new的区别
  2. C#中反射泛型 CreateInstance
  3. 如何配置Java环境
  4. JAVA泛型那些事儿
  5. phpCMS V9 自定义添加 全局变量{SKIN_PATH}方法
  6. 可参考的gulp资源
  7. CodeSmith生成实体的分页读取规则
  8. 《java入门第一季》之面向对象面试题(形式参数的问题)
  9. 2017 ES GZ Meetup分享:Data Warehouse with ElasticSearch in Datastory
  10. 五一之起一台服务器玩玩-u盘安装centos
  11. NodeJS:(一)特性&amp;环境&amp;测试
  12. ssm框架结构的搭建
  13. 40. 数据泵导入导出impdp、expdp
  14. .net4.0多进程间共享内存实现通信(VB.Net)
  15. php-fpm简介
  16. PE结构详解
  17. ora-28056错误解决
  18. ubuntu16.04安装Nvidia显卡驱动、CUDA8.0和cudNN V6
  19. Ubuntu16.04系统中Nmon的安装
  20. gulp-基本功能总汇

热门文章

  1. .net提供的5种request-response方法一
  2. 【转】@JoinColumn 详解
  3. [转] C# mysql 事务回滚
  4. CentOS 7在桌面添加快捷方式
  5. 原生js版ajax请求
  6. 【Java面试题】37 说出ArrayList,Vector, LinkedList的存储性能和特性
  7. write solid code Chapter 2 练习题4 的解答与扩展
  8. 笔记:php有那几种错误提示和查错方法
  9. 【jersey】 spring 整合jersey 实现RESTful webservice
  10. thinkjs——redis