IEEE 进化计算大会 CEC'2013 上真正大规模全局优化会议的基准测试包
项目描述
这是一个 Python 包装,使用测试套件的 C++ 实现,用于 2013 年 IEEE 进化计算大会上的大规模全局优化特别会议。
笔记
如果您要使用此代码的任何部分,请引用以下出版物:X. Li, K. Tang, M. Omidvar, Z. Yang 和 K. Qin, “Benchmark Functions for the CEC'2013 Special Session and Competition on大规模全局优化,”技术报告,进化计算和机器学习小组,RMIT 大学,澳大利亚,2013。http: //goanna.cs.rmit.edu.au/~xiaodong/cec13-lsgo/competition/
要求
GNU 制作
GNU G++
Python
赛通
测试环境
Debian GNU/Linux 杰西/sid
GNU Make 3.81
g++ (Debian 4.7.3-4) 4.7.3
Python 2.7 和 Python 3.2
numpy 1.8.1
赛通 0.20.1
Travis-CI 的结果
安装
很简单,pip install cec2013lsgo ;-)。
您也可以从https://github.com/dmolina/cec2013lsgo下载,然后执行python setup.py install [–user]。(选项–user用于在本地安装软件包,作为普通用户(当您想在没有管理权限的集群/服务器中运行实验时很有趣)。
用 C++ 编译源代码
C++ 的源代码也可用。如果您只想编译源代码根目录中的“make”中的 C++ 版本类型。
有两个等效的演示可执行文件:demo 和 demo2。
记住:要运行 C++ 版本,目录 cdatafiles 必须在工作目录中可用。在 python 版本中,这些文件包含在包中,因此不需要。
测试
源代码具有检查每个函数的信息的测试,以及使用解决方案 np.zeros(1000)(零的解决方案)使用 C 版本获得的结果。
快速开始
该软件包非常易于使用。有一个类 Benchmark 有两个功能:
为每个函数提供信息:它们的最优值、维度、域搜索以及实现最优值的预期阈值。
给出一个适应度函数来评估解决方案。它期望这些解决方案是 numpy 数组(向量),但它也可以与普通数组一起使用。
这两个功能是通过 Benchmark 类中的两个方法完成的:
get_num_functions()
返回基准中的函数数量 (15)
获取信息(函数 ID)
返回一个包含以下信息的数组,其中 /function_id/ 是函数的标识符,一个介于 1 和 15 之间的 int 值。
- 小写大写
域搜索的上下边界。
- 最好的
最佳实现,它始终为零,因此可以忽略。
- 临界点
获取的阈值,总是为零,因此也可以忽略。
- 方面
函数的维度,始终为 1000。
可以注意到,所有函数的几个数据都是相同的。它是为维护与其他 cec20xx 竞赛的相同接口而设计的。
获取函数(函数 ID)
function_id与get_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}
为搜索创建随机解决方案
>>> from numpy.random import rand >>> info = bench.get_info(1) >>> dim = info['dimension'] >>> sol = info['lower']+rand(dim)*(info['upper']-info['lower'])
评估解决方案
>>> fun_fitness = bench.get_function(1) >>> fun_fitness(sol) 464006824710.75995
接触
- Python包和C++版本
Daniel Molina @ 格拉纳达大学计算机科学系 请随时通过 < dmolina @ decsai与我联系。乌格_ es > 如有任何疑问或建议。
最近更新时间:
C++版本<2018-12-10>
Python 包装 <2018-01-08>
项目详情
cec2013lsgo -2.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e1f46e3fa5b576b7e4d19078867f345a7fdb5269549d12113bd8cba7982d03d5 |
|
MD5 | 3691afcf7a1042da01d5c0a2f1e54a5a |
|
布莱克2-256 | e44252bb52657b006fd48f53e1f1460560c3a9846de67db94f560bfd5c464aaf |