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.
Metadata
Release files for nonconvexoptimzationfunclib 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| nonconvexoptimzationfunclib-0.0.1.tar.gz | 9.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nonconvexoptimzationfunclib-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.3 kB
Release files / nonconvexoptimzationfunclib-0.0.1.tar.gz
| Download URL | nonconvexoptimzationfunclib-0.0.1.tar.gz |
|---|---|
| Size | 9.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fe370675f9c4c7182b25446babb42f2bd00e42148a65135798926824da50297d
|
|
BLAKE2b-256 checksum How to use checksums |
f80b930d71b97c7c202eebaff8d76fc0c4e9f87560946d6fc76fa220c43d2725
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.10.9
|
Release files / nonconvexoptimzationfunclib-0.0.1-py3-none-any.whl
| Download URL | nonconvexoptimzationfunclib-0.0.1-py3-none-any.whl |
|---|---|
| Size | 8.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b790279cb411b58198a4c11d937f1e59bcef216ec1701374c7ce01eceb97aee4
|
|
BLAKE2b-256 checksum How to use checksums |
6ce328666f61d2428e8d8721d08ff03449bd014b343481a2b5cd0fc719195328
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.10.9
|
Security for nonconvexoptimzationfunclib 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.