Skip to main content

A framework of Optimization Functions using Numpy (OpFuNu) for optimization problems

Project description

Optimization Function using Numpy (OpFuNu)

GitHub release Wheel PyPI version DOI version Downloads License: GPL v3

Quick Notification

  • The structure of version 1.0.0 is based on Object-Oriented Programming, which is entirely different from the previous version (<= 0.8.0).
  • All CEC functions from 2005, 2008, 2010, 2013, 2014, 2015, 2017, 2019, 2020, 2021, 2022 are implemented. This version is well-organized, faster and has no more bugs.
  • All old code-based functions from previous version <= 0.8.0 will be removed in version 1.0.1

Installation

Install the current PyPI release:

pip install opfunu==1.0.0

Or install the development version from GitHub:

pip install git+https://github.com/thieu1995/opfunu

Lib's structure

docs
examples
opfunu
    cec_based
        cec.py
        cec2005.py
        cec2008.py
        ...
        cec2021.py
        cec2022.py
    name_based
        a_func.py
        b_func.py
        ...
        y_func.py
        z_func.py
    utils
        operator.py
        validator.py
        visualize.py
    __init__.py
    benchmark.py
README.md
setup.py

Examples

How to get the function and use it

  • 1st way
from opfunu.cec_based.cec2014 import F12014

func = F12014(ndim=30)
func.evaluate(func.create_solution())

## or

from opfunu.cec_based import F12014

func = F102014(ndim=50)
func.evaluate(func.create_solution())
  • 2nd way
import opfunu

funcs = opfunu.get_functions_by_classname("F12014")
func = funcs[0](ndim=10)
func.evaluate(func.create_solution())

## or

all_funcs_2014 = opfunu.get_functions_based_classname("2014")
print(all_funcs_2014)

References

Publications

  • If you see my code and data useful and use it, please cite my works here
@software{thieu_nguyen_2020_3711682,
  author       = {Thieu Nguyen},
  title        = {A framework of Optimization Functions using Numpy (OpFuNu) for optimization problems},
  year         = 2020,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.3620960},
  url          = {https://doi.org/10.5281/zenodo.3620960.}
}

Documentation

1. dimension_based references
    1. http://benchmarkfcns.xyz/fcns
    2. https://en.wikipedia.org/wiki/Test_functions_for_optimization
    3. https://www.cs.unm.edu/~neal.holts/dga/benchmarkFunction/
    4. http://www.sfu.ca/~ssurjano/optimization.html

2. type_based
    A Literature Survey of Benchmark Functions For Global Optimization Problems (2013)

3. cec
    Problem Definitions and Evaluation Criteria for the CEC 2014 
Special Session and Competition on Single Objective Real-Parameter Numerical Optimization 

Download files

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

Source Distribution

opfunu-1.0.0.tar.gz (19.4 MB view hashes)

Uploaded source

Built Distribution

opfunu-1.0.0-py3-none-any.whl (20.4 MB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page