Optimization.jl

repository·master·Indexed 21 days ago

https://github.com/sciml/optimization.jl

A unified interface for a wide range of local and global optimization solvers in Julia. It provides a consistent API and high-level features such as automatic differentiation integration. The ecosystem includes various component packages providing wrappers for solvers like Ipopt, NLopt, Optim.jl, MadNLP.jl, and others, as well as specialized tools for ODE/DAE problems and Riemannian manifolds.

Tokens
39.3K
Snippets
119
Records
178
Agent score
74%

What's inside Optimization.jl

  1. Overview of OptimizationNLPModels.jl

    master
    OptimizationNLPModels.jl is a component package within the SciML ecosystem designed to bridge NLPModels.jl-defined problems with the Optimization.jl framework. While it can be used independently, it is intended to be used alongside Optimization.jl to provide full optimization functionality for Nonlinear Programming (NLP) models.
  2. What is SimpleOptimization.jl

    master

    SimpleOptimization.jl provides lightweight, loop-unrolled optimization algorithms designed for basic use cases within the SciML ecosystem. It is a streamlined alternative to Optimization.jl, optimized for specific performance characteristics:

    • Faster precompilation times: Reduced complexity leads to quicker setup.
    • Static array support: Better integration with fixed-size data structures.
    • GPU compatibility: Designed to compile directly to GPU kernels.

    It follows the 'Simple' design pattern used across SciML (e.g., SimpleDiffEq.jl, SimpleNonlinearSolve.jl), prioritizing simplicity and performance over the extensive feature sets found in the main Optimization.jl package.

  3. Use BlackBoxOptim global optimizers

    master

    The BlackBoxOptim algorithms are designed for global optimization on problems that do not require differentiability.

    Important Constraints: These algorithms do not support constraint equations. However, you must provide lower (lb) and upper (ub) bounds in your OptimizationProblem definition to define the search space.

    All BlackBoxOptim optimizers are identified by the BBO_ prefix. The recommended optimizer for general use is BBO_adaptive_de_rand_1_bin_radiuslimited().