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.1.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.1-py3-none-any.whl (3.8 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cec2017_rao2-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 b1764bfa1ec340ea3351505009cd4fdca4cc29bf7639281941af63a90ce2d7e3
MD5 b57fb3f8828f514c85abb4b27c1c532c
BLAKE2b-256 2089f214428f2349513413bfd723636cb21a0fba8b7fb69a58eb96f6692383c0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cec2017_rao2-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a6ad520d3c330e89e8c3575e9432b0d40f5cbfa70b64f0cab080b6355aea3839
MD5 7be0c45b12b78deae7b5360ac9663912
BLAKE2b-256 d0dd87734c0bc5530154f12fb036c588983d46760c1efe9d966cfdd1e236f13e

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