IEEECongress on Evolutionary Calculation CEC'2013真正大规模全球优化会议基准包

cec2013lsgo的Python项目详细描述


这是一个Python包装,使用C++实现了在2013届IEEE大会上关于进化计算的大规模全局优化的特殊会话。

如果要使用本规范的任何部分,请引用以下出版物: X.Li,K.Tang,M.Omidvar,Z.Yang和K.Qin,“中国电子技术委员会2013年全球大规模优化特别会议和竞赛的基准函数”,技术报告,进化计算和机器学习小组,澳大利亚RMIT大学,2013年。 http://goanna.cs.rmit.edu.au/~xiaodong/cec13-lsgo/competition/

要求

  • GNU制造
  • GNU G++
  • Python
  • 赛顿

测试环境

  • debian gnu/linux杰西/sid
  • GNU制造3.81
  • G++(Debian 4.7.3-4)4.7.3
  • Python2.7和Python3.2
  • 纽比1.8.1
  • cython 0.20.1

travis ci

https://api.travis-ci.org/dmolina/cec2013lsgo.svg?branch=master

安装

非常简单,pip安装cec2013lsgo;-)。

您还可以从https://github.com/dmolina/cec2013lsgo下载并执行python setup.py install[-user]。 (选项–user用于作为普通用户在本地安装包(如果您想 在没有管理权限的群集/服务器中运行实验)。

< H2>编译C++中的源代码< /H2>

C++中的源代码也是可用的。如果你只想编译C++ 在源代码的根目录中的“make”中键入版本。

有两个等价的演示可执行文件:demo和demo2。

^ {STR 1 } $记住:为了运行C++版本,目录CDATAFILE必须在工作目录中可用。 在python版本中,这些文件包含在包中,因此不需要。

测试

源代码有测试来检查关于每个函数的信息,以及获得的结果 在C版本中使用了np.zeros(1000)解(一个零的解)。

快速启动

这个包使用起来很简单。有一个具有两个功能的类基准:

  • 给出每个函数的信息:它们的最优值、维数、域搜索和 期望阈值达到最优。
  • 给出一个适合度函数来评估解决方案。它期望这些解决方案是numpy阵列 (矢量)但它也可以用于普通数组。

这两个功能是用基准类中的两个方法实现的:

  • get_num_functions()

    返回基准中的函数数(15)

  • 获取信息(函数id)

    返回包含以下信息的数组,其中/function_id/是函数的标识符,一个介于1和15之间的int值。

    • lower, upper
      lower and upper boundaries of the domain search.
    • best
      Optimum to achieve, it is always zero, thus it can be ignored.
    • threshold
      Threshold to obtain, it is always zero, thus it can also be ignored.
    • dimension
      Dimension for the function, it is always 1000.

    It can be noticed that several data are the same for all functions. It is made for maintaining the same interface to other cec20xx competitions.

  • get_函数(函数id)

    函数idget_info中的参数相同,后者是介于1和15之间的整数值。

    它返回适应度函数来评估解。

使用示例

获取有关一个函数的信息

>>> from cec2013lsgo.cec2013 import Benchmark
>>> bench = Benchmark()
>>> bench.get_info(1)
{'best': 0.0,
 'dimension': 1000,
 'lower': -100.0,
 'threshold': 0,
 'upper': 100.0}

评估溶液

>>> fun_fitness = bench.get_function(1)
>>> fun_fitness(sol)
464006824710.75995

联系人

Python包和C++版本
丹尼尔·莫利纳@格拉纳达大学计算机科学系 如有任何疑问或建议,请随时致电<;dmolina@decsai.ugr.es>;与我联系。

上次更新时间:

    C++版本 <;2018-12-10>;
  • python包装 <;2018-01-08>;

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是否存在这样一种场景:Java7的Hashmap实现优于Java8的实现   java如何打印这些完整的数组?   java BuildException:未能执行aapt   java如何使用类。未知类型的集合返回的cast()   java准备语句返回错误的值   webview 安卓中的java显示身份验证对话框   java如何重命名列名JPA Hibernate   java查询从特定用户和特定时间段的Oracle表(通过比较原始表和备份表)中选择修改的行   java Youtube视频仅在三星S6设备上加载时自动暂停   未调用java RecyclerView getItemViewType   使用JSch setCommand执行带有源选项的java Shell ping命令时失败   java Hibernate:无法删除|删除分离的实例   Java Spring@MappedSuperclass字段作为子类中的@Id字段   java Android:确定单击了哪个按钮,因为该按钮未在xml中定义   如何计算java阵列内存使用率   使用Java查找按字母顺序排列的第一个字符串   javascript注销功能刷新页面,但页面仍已登录   当接口作为参数提供时,java依赖项注入不起作用   java中带原语的字符串扭曲