Skip to content

JavaOpt - A Java library for metaheuristic optimization algorithms

License

Notifications You must be signed in to change notification settings

deanone/JavaOpt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JavaOpt - A Java library for optimization algorithms

The JavaOpt library contains a collection of metaheuristics for optimization.

In computer science and mathematical optimization, a metaheuristic is a higher-level procedure or heuristic designed to find, generate, or select a heuristic (partial search algorithm) that may provide a sufficiently good solution to an optimization problem, especially with incomplete or imperfect information or limited computation capacity.

Metaheuristics make few or no assumptions about the problem being optimized and can search very large spaces of candidate solutions. However, metaheuristics do not guarantee an optimal solution is ever found.

Metaheuristics do not use the gradient of the problem being optimized, which means they do not require the optimization problem to be differentiable, as is required by classic optimization methods such as gradient descent and Quasi-Newton methods.

Optimization algorithms

Currently, the library contains the following routines:

  1. Particle Swarm Optimization (PSO)
  2. Differential Evolution (DE)

Multidimensional real-valued functions

The routines have been tested so far on the following multidimensional real-valued functions:

  1. Sphere function
  2. Rosenbrock function

Terminology used in code

A set of specific terms/names is used in the source code. In particular:

  1. Agent: a basic candidate solution
  2. Particle: an enhanced candidate solution
  3. Swarm: a set of candidate solutions

About

JavaOpt - A Java library for metaheuristic optimization algorithms

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages