Skip to main content

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:

  1. sphere(xvals) : Sphere function, n-dimension
  2. booth(x, y) : Booth function, 3-dimension
  3. rastrigin(xvals, A=10) : Rastrigin function, n-dimension
  4. ackley(xvals) : Ackley function, n-dimension
  5. schwefel(xvals) : Schwefel function, n-dimension
  6. holdertable(xvals) : Holdertable function, 3-dimension
  7. langermann(xvals) : Langermann function, 3-dimension
  8. shubert(xvals) : Shubert function, 3-dimension
  9. dropwave(xvals) : Dropwave function, 3-dimension
  10. beale(x, y) : Beale function, 3-dimension
  11. mcCormick(x, y) : McCormick function, 3-dimension
  12. eggholder(xvals) : Eggholderfunctions, 3-dimension

Non-Continuous Functions:

  1. step_fun(xvals) : Step Function
  2. rastrigin(xvals) : Rastrigin function, n-dimension
  3. xin_she_yang_n2(xvals) : Xin-She-Yang-N2 function, n-dimension
  4. rosenbrock(xvals) : Rosenbrock function, n-dimension
  5. quadric(xvals) : Quadric function, n-dimension
  6. 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

#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


Download files

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

Source Distribution

nonconvexoptimzationfunclib-0.0.1.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonconvexoptimzationfunclib-0.0.1-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file nonconvexoptimzationfunclib-0.0.1.tar.gz.

File metadata

File hashes

Hashes for nonconvexoptimzationfunclib-0.0.1.tar.gz
Algorithm Hash digest
SHA256 fe370675f9c4c7182b25446babb42f2bd00e42148a65135798926824da50297d
MD5 ac64140f22bd0a184224944999837e7c
BLAKE2b-256 f80b930d71b97c7c202eebaff8d76fc0c4e9f87560946d6fc76fa220c43d2725

See more details on using hashes here.

File details

Details for the file nonconvexoptimzationfunclib-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for nonconvexoptimzationfunclib-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b790279cb411b58198a4c11d937f1e59bcef216ec1701374c7ce01eceb97aee4
MD5 5f315d702782903acaab7a9a4f7eb9a8
BLAKE2b-256 6ce328666f61d2428e8d8721d08ff03449bd014b343481a2b5cd0fc719195328

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