A library of non-convex optimization functions containing continuous and non-conitnuous functions implemented in higher dimensions
Project description
Non-Convex Optimization Library (nonconvex_optimizationlib)
- The Non-Convex Optimization Library is a comprehensive Python package providing a collection of non-convex functions for testing and benchmarking optimization algorithms.
- This library includes a variety of well-known functions in the field of optimization, such as the Sphere, Booth, Rastrigin, and many more, catering to both continuous and non-continuous optimization problems.
Installation
-
You can install the Non-Convex Optimization Library directly from PyPI:
- pip install nonconvex_optimizationlib
-
Note: Ensure you have Python and pip already installed on your system.
Usage
- To use the library, simply import it into your Python script and access the desired optimization functions:
from nonconvexoptimizationlib import nonconvexfunctions
continuous_obj = nonconvexfunctions.NonconvexFunctions.ContinuousFunctions()
non_continuous_obj=nonconvexfunctions.NonconvexFunctions.NoncontinuousFunctions()
print(continuous_obj.rastrigin([-5.12,5.12]))
print(non_continuous_obj.rastrigin([-5.12,5.12]))
# Example: Using the Sphere function
result = continuous_obj.sphere([1, 2])
print(f"Sphere function result: {result}")
# Example: Using the Booth function
result = continuous_obj.booth(1, 3)
print(f"Booth function result: {result}")
# Example: Using the Step function
result = non_continuous_obj.step_fun([0, 0.99, -0.99])
print(f"Step function result: {result}")
Available Functions
- The library includes a range of functions under two main categories:
Continuous Functions:
- sphere(xvals) : Sphere function, n-dimension
- booth(x, y) : Booth function, 3-dimension
- rastrigin(xvals, A=10) : Rastrigin function, n-dimension
- ackley(xvals) : Ackley function, n-dimension
- schwefel(xvals) : Schwefel function, n-dimension
- holdertable(xvals) : Holdertable function, 3-dimension
- langermann(xvals) : Langermann function, 3-dimension
- shubert(xvals) : Shubert function, 3-dimension
- dropwave(xvals) : Dropwave function, 3-dimension
- beale(x, y) : Beale function, 3-dimension
- mcCormick(x, y) : McCormick function, 3-dimension
- eggholder(xvals) : Eggholderfunctions, 3-dimension
Non-Continuous Functions:
- step_fun(xvals) : Step Function
- rastrigin(xvals) : Rastrigin function, n-dimension
- xin_she_yang_n2(xvals) : Xin-She-Yang-N2 function, n-dimension
- rosenbrock(xvals) : Rosenbrock function, n-dimension
- quadric(xvals) : Quadric function, n-dimension
- ellipsoid(xvals) : Ellipsoid function, n-dimension
Documentation
- For detailed documentation on each function, including parameters, return values, and example usage, refer to the docstrings provided within the library.
Contributing
- Contributions to the Non-Convex Optimization Library are welcome! please contact on satyam101905@gmail.com
#Why we designed this package?
-
During my MS thesis(CSU Fresno) in metaheuristics algorithm design and optimization, I searched for several complex non-convex testbeds to test the newly designed algorithm. So, I came across several optimziation problems and some of them are mentioned here in this package as open source contribution Thesis Topic: Titled "Blindfolded Spider-Man Optimization: A Single-Point Metaheuristic Suitable for Continuous and Discrete Spaces", is now publicly available @ Link: https://www.proquest.com/docview/2901409934
-
ThankYou to Vasileios Lymperakis (author Buggy Pinball-a novel single point metaheuristic algorithm) for doing an amazing work in Buggy-Pinball which I was able to extended and explored further.
-
Thank you to Dr. Thanos{CSU Fresno, Computer Science} my advisor who guided me.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nonconvexoptimzationfunclib-0.0.1.tar.gz.
File metadata
- Download URL: nonconvexoptimzationfunclib-0.0.1.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe370675f9c4c7182b25446babb42f2bd00e42148a65135798926824da50297d
|
|
| MD5 |
ac64140f22bd0a184224944999837e7c
|
|
| BLAKE2b-256 |
f80b930d71b97c7c202eebaff8d76fc0c4e9f87560946d6fc76fa220c43d2725
|
File details
Details for the file nonconvexoptimzationfunclib-0.0.1-py3-none-any.whl.
File metadata
- Download URL: nonconvexoptimzationfunclib-0.0.1-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b790279cb411b58198a4c11d937f1e59bcef216ec1701374c7ce01eceb97aee4
|
|
| MD5 |
5f315d702782903acaab7a9a4f7eb9a8
|
|
| BLAKE2b-256 |
6ce328666f61d2428e8d8721d08ff03449bd014b343481a2b5cd0fc719195328
|