Skip to main content

Optimization methods in Python

Project description

PyPI GitHub Documentation Status jax_badge

optymus is a Python library designed to address optimization problems in science and engineering. Built on JAX, allowing automatic differentiation for efficient computation of gradients and Hessians. The library emphasizes ease of use and flexibility, enabling users to solve optimization problems with minimal setup. optymus also provides robust capabilities for visualization and benchmarking, allowing users to gain insights into method behavior and compare performance effectively.

Getting Started

To begin using optymus, follow these steps:

  1. Install optymus:

    pip install optymus --upgrade # update version
    pip install optymus[all] # all dependencies
    pip install optymus[methods] # without plot dependencies
    
  2. Get Started:

    from optymus import Optimizer
    from optymus.benchmark import MccormickFunction
    
    import jax.numpy as jnp
    
    f = MccormickFunction()
    initial_point = jnp.array([2, 2])
    
    opt = Optimizer(f_obj=f,
                    x0=initial_point,
                    method='bfgs')
    
    opt.report()
    
  3. Explore the Documentation: Visit the official documentation to understand the available optimization methods and how to use them effectively.

Refer to the documentation for detailed information on each method and its application.

Contributions

Contributions to Optymus are highly appreciated. If you have additional optimization methods, improvements, or bug fixes, please submit a pull request following the contribution guidelines.

How to cite

If you use optymus in your research, please consider citing the library using the following BibTeX entry:

@misc{optymus2024,
  author = {da Costa, Kleyton and Menezes, Ivan and Lopes, Helio},
  title = {Optymus: Optimization Methods in Python},
  year = {2024},
  note = {GitHub Repository},
  url = {https://github.com/quant-sci/optymus}
}

optymus is part of quantsci project.

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

optymus-0.1.10.tar.gz (43.0 kB view details)

Uploaded Source

Built Distribution

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

optymus-0.1.10-py3-none-any.whl (57.7 kB view details)

Uploaded Python 3

File details

Details for the file optymus-0.1.10.tar.gz.

File metadata

  • Download URL: optymus-0.1.10.tar.gz
  • Upload date:
  • Size: 43.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for optymus-0.1.10.tar.gz
Algorithm Hash digest
SHA256 3a0ca57c38042a4800091d67f2e78757b449d4ad6bde4ae654ba6728d4a7edc9
MD5 7218494b4d4dc28ddbc887554e73d748
BLAKE2b-256 06afd0e3f1fd13e4d2e7862c8b1f567a9f500054ca45593d80dddbabafa99063

See more details on using hashes here.

File details

Details for the file optymus-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: optymus-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 57.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for optymus-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 ef9ef6734fc12dd255dcf61cd658d3c5b19b6aa80af26e77fc3d75489ffec407
MD5 77ac23a1b651efdce0e3fdab6d171d4d
BLAKE2b-256 3b220ec2e61632e93e63081ed85e69439099e80df6a51460d90f8c89047cd0bf

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