ENOPPY: A Python Library for Engineering Optimization Problems
Project description
ENOPPY (ENgineering Optimization Problems in PYthon) is the largest python library for real-world engineering optimization problems. Contains all engineering problems from CEC competition functions from 2005, 2008, 2010, 2013, 2014, 2015, 2017, 2019, 2020, 2021, 2022.
- Free software: GNU General Public License (GPL) V3 license
- Total problems: > 50 problems
- Documentation: https://enoppy.readthedocs.io/en/latest/
- Python versions: 3.6.x, 3.7.x, 3.8.x, 3.9.x, 3.10.x
- Dependencies: numpy, scipy, pandas, matplotlib
Installation
Install with pip
Install the current PyPI release:
$ pip install enoppy==0.1.0
Or install the development version from GitHub:
pip install git+https://github.com/thieu1995/enoppy
Install from source
In case you want to install directly from the source code, use:
$ git clone https://github.com/thieu1995/enoppy.git
$ cd enoppy
$ python setup.py install
Lib's structure
docs
examples
enoppy
paper_based
pdo_2022.py
rwco_2020.py
problem_based
chemical.py
mechanism.py
utils
operator.py
validator.py
visualize.py
__init__.py
engineer.py
README.md
setup.py
Usage
After installation, you can import ENOPPY as any other Python module:
$ python
>>> import enoppy
>>> enoppy.__version__
Let's go through some examples.
Examples
How to get the function and use it
1st way
from enoppy.cec_based.cec2014 import F12014
func = F12014(ndim=30)
func.evaluate(func.create_solution())
## or
from enoppy.cec_based import F102014
func = F102014(ndim=50)
func.evaluate(func.create_solution())
2nd way
import enoppy
funcs = enoppy.get_functions_by_classname("F12014")
func = funcs[0](ndim=10)
func.evaluate(func.create_solution())
## or
all_funcs_2014 = enoppy.get_functions_based_classname("2014")
print(all_funcs_2014)
For more usage examples please look at examples folder.
Get helps (questions, problems)
-
Official source code repo: https://github.com/thieu1995/enoppy
-
Official document: https://enoppy.readthedocs.io/
-
Download releases: https://pypi.org/project/enoppy/
-
Issue tracker: https://github.com/thieu1995/enoppy/issues
-
Notable changes log: https://github.com/thieu1995/enoppy/blob/master/ChangeLog.md
-
Examples with different meapy version: https://github.com/thieu1995/enoppy/blob/master/examples.md
-
This project also related to our another projects which are "meta-heuristics" and "neural-network", check it here
Want to have an instant assistant? Join our telegram community at link We share lots of information, questions, and answers there. You will get more support and knowledge there.
Cite Us
If you are using enoppy in your project, we would appreciate citations:
@software{thieu_nguyen_2020_3711682,
author = {Nguyen Van Thieu},
title = {ENOPPY: A Python Library for Engineering Optimization Problems},
year = 2020,
publisher = {Zenodo},
doi = {10.5281/zenodo.3620960},
url = {https://doi.org/10.5281/zenodo.3620960.}
}
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
5. A Literature Survey of Benchmark Functions For Global Optimization Problems (2013)
6. Problem Definitions and Evaluation Criteria for the CEC 2014 Special Session and Competition on Single Objective Real-Parameter Numerical Optimization
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.