This project implemented parallel versions of Imperialist Competitive Algorithm [1] using Intel® TBB [2] and OpenCL [3] libraries.
OpenCL version uses PRNG - Xoroshiro256 [4] and each run has seed generated by SplitMix64 [5] implemented in OpenCL kernel.
The following graphs shows results on benchmark functions:
[1] E. Atashpaz-Gargari and C. Lucas. Imperialist competitive algorithm: Analgorithm for optimization inspired by imperialistic competition,. 2007 IEEECongress on Evolutionary Computation, Singapore, 2007, pp. 4661-4667.
[2] Intel® TBB https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onetbb.html
[3] OpenCL https://www.khronos.org/opencl/
[4] Xoroshiro256+ http://prng.di.unimi.it/xoshiro256plus.c
[5] SplitMix64 http://prng.di.unimi.it/splitmix64.c