Skip to content

Library for numerical optimization of functions written in pure Java.

License

Notifications You must be signed in to change notification settings

mike-gimelfarb/optim4j

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Documentation Status License: LGPL v2 HitCount

❗ This package is now discontinued and will no longer be updated. An up-to-date C++ version with many bugs fixed and several algorithms re-implemented (correctly this time) and python wrappers (coming soon) can be found here: https://github.com/mike-gimelfarb/cocoa.

optim4j

This is a self-contained library of algorithms for performing local and global optimization of functions written in Java. Main features:

  1. support for univariate problems up to multivariate problems with tens of thousands of variables, and constrained problems
  2. many algorithms are re-implementations of recently published algorithms (e.g. adaptive PSO, firefly) and can be seen as state-of-the-art
  3. some algorithms are translations of professional implementations of classical algorithms (e.g. LBFGS)
  4. flexible licensing (full project under LGPL, but some algorithms can be used under the MIT license)

Requirements and Installation

This package only requires JRE >= 1.8. No dependencies!

Support

The project documentation site is found here: https://optim4j.readthedocs.io/en/latest/.

License

The code, packaged as a single library, is licensed under the GNU Lesser General Public License (version 2 or later). However, some subroutines can be used independently under more flexible licenses (typically MIT or BSD license). The license type or license header are listed at the top of each code file.

Credits

We are grateful to all the authors who have provided optimization libraries under open-source licenses:

About

Library for numerical optimization of functions written in pure Java.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages