Python bindings for an implementation of CECs benchmarks in C++23
Project description
cecxx
Implementation of IEEE Congress of Evolutionary (CEC) Bound-constrained Single Objective Numerical Optimization benchmarks in C++23 with available interface bindings to Python and R.
About
The {cecxx} is a novel implementation of IEEE CEC BC-SOP benchmarks in C++23, which compared to the official implementation
does not:
- leak memory
- involve multiple IO operations during each objective function call.
Solving the above problems results in reliable and fast implementation that is ready to be used in your numerical experiments.
Check the examples directory to see how to use this library.
The {cecxx} includes also free-standing implementations of objective
functions utlized by CEC benchmarks, see include/cecxx/functions for details.
[!NOTE] This is not official implementation of CEC BC-SOP benchmarks. However, it can be used as a drop-in replacement. The
{cecxx}is extensively tested to be compliant with the official implementations by employing property-based testing. See test/compliance for details.
Installation
To install the {cecxx} with cmake, run below commads:
git clone https://codeberg.org/ewarchul/cecxx.git
cd cecxx
cmake \
-B build \
-S . \
-D CMAKE_CXX_STANDARD=23 \
-D CECXX_BENCHMARK_DATA_STORAGE_INSTALL_DIR="${HOME}/.local/state/cecxx"
cmake --build build
cmake --install build
If you are using just then you can run:
just install_cxx
to build and install the library. See Justfile for details or inspect CMakeLists.txt for all available options.
[!NOTE]
{cecxx}is a passive project. It means, that you have to specify the project configuration. See CMakePresets.json for defined workflows.
Python bindings
R bindings
See docs/bindings/r.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file cecpy-0.1.7.tar.gz.
File metadata
- Download URL: cecpy-0.1.7.tar.gz
- Upload date:
- Size: 8.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6aa9f34489b908e1a0535372a4cf9f2f910b03fc7541290db4ec47f9a8a64065
|
|
| MD5 |
096817be65a9bb2dfe9e9963ae1ca194
|
|
| BLAKE2b-256 |
f620b9ada9d2f8445b3f7746361f9de74eae2f1289e69d4a32431694ee75ba52
|