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.
To begin using optymus
, follow these steps:
-
Install optymus:
pip install optymus --upgrade # update version pip install optymus[all] # all dependencies pip install optymus[methods] # without plot dependencies
-
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()
-
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 to Optymus are highly appreciated. If you have additional optimization methods, improvements, or bug fixes, please submit a pull request following the contribution guidelines.
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.