Skip to main content

CEC2017 benchmark suite using Rao-2 optimization algorithm

Project description

CEC2017-Rao2

CEC2017 benchmark suite implementation using the Rao-2 optimization algorithm.

Description

This package provides an implementation of the CEC2017 benchmark functions optimized using the Rao-2 algorithm. The CEC2017 suite consists of 30 benchmark functions for single-objective optimization, and this implementation allows for easy experimentation and comparison of optimization algorithms.

Installation

From PyPI

pip install cec2017-rao2

From GitHub

pip install git+https://github.com/LakshyMaheshwari/CEC2017-using-Rao-2-.git

From Source

git clone https://github.com/LakshyMaheshwari/CEC2017-using-Rao-2-.git
cd CEC2017-using-Rao-2-
pip install -e .

Quick Start

from cec2017_rao2.runner import run_experiment

# Run function 1 in 10 dimensions
run_experiment(
    func_id=1,
    dimension=10,
    lb=-100,
    ub=100,
    pop_size=30,
    max_fes=100000,
    runs=51
)

Project Structure

cec2017_rao2/
├── algorithms/          # Optimization algorithms (Rao-2)
├── functions/           # Benchmark functions
│   └── cec2017/         # CEC2017 specific functions and data
├── utils/               # Utility functions
└── visualization/       # Plotting and visualization tools

Requirements

  • Python >= 3.7
  • numpy
  • scipy
  • matplotlib

Usage

Running Experiments

Use the provided main.py script for interactive experimentation:

python main.py

Select a function ID (1-30) and the system will run the appropriate experiments.

Using the Library

Import and use individual components:

from cec2017_rao2.algorithms.rao2 import rao2
from cec2017_rao2.functions.core import evaluate

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Citation

If you use this code in your research, please cite:

@software{cec2017_rao2,
  author = {Lakshya Maheshwari},
  title = {CEC2017-Rao2: CEC2017 benchmark suite using Rao-2 optimization},
  url = {https://github.com/LakshyMaheshwari/CEC2017-using-Rao-2-},
  version = {0.1.0},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cec2017_rao2-0.1.0.tar.gz (3.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cec2017_rao2-0.1.0-py3-none-any.whl (3.8 MB view details)

Uploaded Python 3

File details

Details for the file cec2017_rao2-0.1.0.tar.gz.

File metadata

  • Download URL: cec2017_rao2-0.1.0.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for cec2017_rao2-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1b38c1cd232ace5f13c6552d46299b44a417b76b586690d86996547b26fd76ec
MD5 9c4a437ecf32167544d896609b86ecc5
BLAKE2b-256 e3bf317f7b0b33d923d5a53f9cb62d6fab65cc35bd538ce6cabf71ae9c875f8f

See more details on using hashes here.

File details

Details for the file cec2017_rao2-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cec2017_rao2-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for cec2017_rao2-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a37b1e3d8c91ef6ab0ef2f1110befddaa53da1c67f2bed0d3708bbb48c52cbb7
MD5 067dce4a768e849876390720b6d362b9
BLAKE2b-256 4c8a0d163e100949d1d10191805caecfc2a7334669d9e237a5a7dfdd6470e18f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page