资源简介
PSO测试函数代码,CEC 2010代码。包括shifted rotated generated函数
代码片段和文件信息
/*
* Copyright (c) 2011 Wenxiang Chen
* http://cs-chen.net
* chenwx.ustc@gmail.com
*
* GNU LESSER GENERAL PUBLIC LICENSE (Version 2.1 February 1999)
*/
#include “Benchmarks.h“
Benchmarks::Benchmarks(RunParameter* runParam){
cout<<“Benchmarks Class initialization“< dimension = runParam->dimension;
nonSeparableGroupSize = runParam->nonSeparableGroupSize;
MASK = ((L(1)) << (L(48))) - (L(1));
m_havenextGaussian = false;
if (dimension cerr<<“ERROR: In configuration file dimension is smaller than the non-separable part“< exit(-1);
}
// allocate the memory
anotherz = new double[dimension];
anotherz1= new double[nonSeparableGroupSize];
anotherz2= new double[dimension - nonSeparableGroupSize];
// Runtime Parameters setting
setOvectorToZero = false;
functionInitRandomSeed = L(runParam->initRandomSeed);
m_seed= functionInitRandomSeed;
M = 0x5DEECE66D;
A = 0xB;
minX = -100;
maxX = 100;
}
Benchmarks::~Benchmarks(){
delete[] anotherz;
delete[] anotherz1;
delete[] anotherz2;
cout<<“Benchmarks Class Destroyed“< }
int Benchmarks::next(int bits) {
int64_t s;
int64_t result;
m_seed = s = (((m_seed * M) + A) & MASK);
result = (s >> (L(48 - bits)));
return((int)result);
}
int Benchmarks::nextInt(int n) {
int bits val;
if ((n & (-n)) == n) {
return((int) ((n * L(next(31))) >> L(31)));
}
do {
bits = next(31);
val = bits % n;
} while (bits - val + (n - 1) < 0);
return(val);
}
double Benchmarks::nextDouble(){
return ((((L(next(26))) <<
(L(27))) + (L(next(27)))) / (double) ((L(1)) << (L(53))));
}
double Benchmarks::nextGaussian(){
double multiplier v1 v2 s;
if (m_havenextGaussian) {
m_havenextGaussian = false;
return(m_nextGaussian) ;
}
do {
v1 = ((D(2.0) * nextDouble()) - D(1.0));
v2 = ((D(2.0) * nextDouble()) - D(1.0));
s = ((v1 * v1) + (v2 * v2));
} while ((s >= D(1.0)) || (s <= D(0.0)));
multiplier = sqrt(D(-2.0) * log(s) / s);
m_nextGaussian = (v2 * multiplier);
m_havenextGaussian = true;
return (v1 * multiplier);
}
double* Benchmarks::createShiftVector(int dim double mindouble max) {
double* d;
double hw middle;
double s;
int i;
hw = (D(0.5) * (max - min));
middle = (min + hw);
d = (double*)malloc(sizeof(double) * dim);
// printf(“middle = %1.20E\n“middle);
// printf(“hw = %1.20E\n“hw);
for (i = (dim - 1); i >= 0; i--) {
if (setOvectorToZero == true){
d[i] = 0;
}else{
do {
double tempGauss = nextGaussian();
s = (middle + (tempGauss * hw));
// printf(“nextGaussian = %1.20E\n“tempGauss);
/*
s = (middle + (nextGaussian() * hw));
*/
} while ((s < min) || (s > max));
d[i] = s;
// printf(“shift vector = %1.20E\n“ d[i]);
}
}
return(d);
}
int* Benchmarks::createPermVector(int dim){
int* d;
int i j k t;
d = (int*)malloc(sizeof(int) * dim);
for (i = (dim - 1); i >= 0; i--) {
d[i] = i;
}
for (i = (dim << 3); i >= 0; i--) {
j
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11211 2011-01-28 14:31 CEC‘2010\files\Benchmark-CPP\Benchmarks.cpp
文件 2264 2011-01-28 14:31 CEC‘2010\files\Benchmark-CPP\Benchmarks.h
文件 738 2011-01-28 14:32 CEC‘2010\files\Benchmark-CPP\configure.ini
文件 1578 2011-01-28 14:33 CEC‘2010\files\Benchmark-CPP\F1.cpp
文件 363 2011-01-28 14:33 CEC‘2010\files\Benchmark-CPP\F1.h
文件 2294 2011-01-28 14:41 CEC‘2010\files\Benchmark-CPP\F10.cpp
文件 380 2011-01-28 14:35 CEC‘2010\files\Benchmark-CPP\F10.h
文件 2422 2011-01-28 14:40 CEC‘2010\files\Benchmark-CPP\F11.cpp
文件 380 2011-01-28 14:35 CEC‘2010\files\Benchmark-CPP\F11.h
文件 1833 2011-01-28 14:40 CEC‘2010\files\Benchmark-CPP\F12.cpp
文件 380 2011-01-28 14:35 CEC‘2010\files\Benchmark-CPP\F12.h
文件 2057 2011-01-28 14:40 CEC‘2010\files\Benchmark-CPP\F13.cpp
文件 381 2011-01-28 14:36 CEC‘2010\files\Benchmark-CPP\F13.h
文件 2490 2011-01-28 14:40 CEC‘2010\files\Benchmark-CPP\F14.cpp
文件 381 2011-01-28 14:36 CEC‘2010\files\Benchmark-CPP\F14.h
文件 2095 2011-01-28 14:39 CEC‘2010\files\Benchmark-CPP\F15.cpp
文件 380 2011-01-28 14:36 CEC‘2010\files\Benchmark-CPP\F15.h
文件 2093 2011-01-28 14:39 CEC‘2010\files\Benchmark-CPP\F16.cpp
文件 381 2011-01-28 14:36 CEC‘2010\files\Benchmark-CPP\F16.h
文件 1773 2011-01-28 14:39 CEC‘2010\files\Benchmark-CPP\F17.cpp
文件 381 2011-01-28 14:36 CEC‘2010\files\Benchmark-CPP\F17.h
文件 1798 2011-01-28 14:39 CEC‘2010\files\Benchmark-CPP\F18.cpp
文件 381 2011-01-28 14:36 CEC‘2010\files\Benchmark-CPP\F18.h
文件 1475 2011-01-28 14:38 CEC‘2010\files\Benchmark-CPP\F19.cpp
文件 382 2011-01-28 14:36 CEC‘2010\files\Benchmark-CPP\F19.h
文件 1500 2011-01-28 14:33 CEC‘2010\files\Benchmark-CPP\F2.cpp
文件 376 2011-01-28 14:33 CEC‘2010\files\Benchmark-CPP\F2.h
文件 1490 2011-01-28 14:38 CEC‘2010\files\Benchmark-CPP\F20.cpp
文件 381 2011-01-28 14:37 CEC‘2010\files\Benchmark-CPP\F20.h
文件 1504 2011-01-28 14:43 CEC‘2010\files\Benchmark-CPP\F3.cpp
............此处省略1608个文件信息
- 上一篇:异步电机矢量控制变频调速系统+弱磁控制仿真
- 下一篇:PSO测试函数代码
相关资源
- PSO测试函数代码
- DPSO离散粒子群算法解决旅行商问题
- PSOGSA_v3
- PSO SVM SVM用于分类时的参数优化
- 改进后的离散粒子群算法 (discrete
- cec2013基准测试函数 matlab源程序
- PSO粒子群5种改进算法实例源码
- Particle Swarm Optimization(PSO) Algorithm
- PSO算法求解CVRP“车辆路径问题
- 基于PSO-BP的算法
- 粒子群算法与灰狼优化结合算法PSO-
- 粒子群算法PSO应用于神经网络优化m
- double_circle.slx
- pso_svm.m-matlab程序。
- MATLAB遗传粒子群GAPSOPID参数优化设计
- 标准粒子群算法matlab程序
- 基于粒子群的灰狼算法优化
- matlab开发-使用PSO的最佳模糊控制器
- 人工蜂群算法 优化算法 Matlab 附测试
- 自适应Simpson积分公式matlab源代码
- pso-bp算法MATLAB程序
- MATLAB的粒子群工具箱,包附使用文件
- PSO_dg_prog
- 基于PSO的PMU配置的简易实例 (PSO ba
- PSO SampEn ApproxiEN RVM PSO:粒子群优化算
- PSO优化pid控制器
- pso-bp神经网络优化程序
- 模糊自适应粒子群和蚁群混合算法求
- 基于pso的matlab svm参数优化寻优
- OPSO 基于斯坦纳树的配电网规划研究程
评论
共有 条评论