awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
JuliaNLSolvers avatar

JuliaNLSolvers/Optim.jl

0
View on GitHub↗
1,201 stars·235 forks·Julia·6 viewsjulianlsolvers.github.io/Optim.jl/stable↗

Optim.jl

Optim.jl is a numerical optimization library for the Julia programming language, providing a comprehensive framework for minimizing or maximizing univariate and multivariate functions. It offers a suite of tools for solving both constrained and unconstrained mathematical problems, utilizing a variety of gradient-based, derivative-free, and stochastic search methods.

The library distinguishes itself through a modular architecture that leverages language-level multiple dispatch to automatically select efficient solvers based on input data types and objective function properties. It supports complex workflows by integrating with algebraic modeling languages and providing mechanisms for automatic differentiation, which computes exact gradients and Hessians without manual derivation.

The framework covers a broad range of capabilities, including global search strategies like simulated annealing and particle swarm optimization to navigate complex landscapes. Users can manage optimization tasks through state-based iteration control, modular objective decomposition, and lazy constraint projection, while adjusting solver settings such as convergence tolerances and iteration limits to meet specific requirements.

Features

  • Julia Resources - Provides a comprehensive collection of numerical optimization algorithms for the Julia programming language.
  • Numerical Function Optimization - Finds the minimum or maximum value of complex mathematical functions by applying numerical algorithms.
  • Automatic Differentiation - Computes exact gradients and Hessians automatically using source-to-source transformation tools to support high-performance optimization.
  • Numerical Optimization Tools - Offers a set of tools for solving constrained and unconstrained mathematical problems using gradient-based, derivative-free, and stochastic search methods.
  • Dispatch-Based Algorithm Selections - Uses language-level function overloading to automatically select the most efficient numerical solver based on input data types and objective function properties.
  • Stateful Optimization Controllers - Maintains a mutable state object that tracks convergence progress and allows for fine-grained control over solver parameters during the optimization loop.
  • Lazy Constraint Projections - Enforces geometric boundaries by applying mathematical transformations to the search space during each iteration to ensure valid solutions.
  • Global Optimization Analysis - Provides a suite of algorithms including simulated annealing and particle swarm optimization to locate the absolute minimum of complex functions.
  • Global Optimization Frameworks - Locates the absolute lowest point of a function using stochastic methods like simulated annealing and particle swarm optimization.
  • Global Search Heuristics - Locates the absolute lowest point of a function using stochastic methods to avoid getting stuck in local traps.
  • Mathematical Optimization Solving - Identifies the local minimum of a function by iteratively adjusting input variables without needing to adhere to specific boundary constraints.
  • Solver-Agnostic Optimization Interfaces - Provides a unified interface for swapping between different numerical optimization algorithms without modifying the underlying problem definition.
  • Constrained Parameter Optimization - Solves mathematical problems where variables must remain within specific boundaries or satisfy geometric constraints.

Star history

Star history chart for julianlsolvers/optim.jlStar history chart for julianlsolvers/optim.jl

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Curated searches featuring Optim.jl

Hand-picked collections where Optim.jl appears.
  • Julia Packages for Scientific Computing

Open-source alternatives to Optim.jl

Similar open-source projects, ranked by how many features they share with Optim.jl.
  • guofei9987/scikit-optguofei9987 avatar

    guofei9987/scikit-opt

    6,583View on GitHub↗

    scikit-opt is a Python optimization library and numerical framework designed to solve complex global optimization problems. It provides a suite of metaheuristic algorithms and tools for finding global minima or maxima of objective functions. The library implements a variety of nature-inspired and swarm intelligence algorithms, including Genetic Algorithms, Particle Swarm Optimization, Differential Evolution, Simulated Annealing, and Ant Colony Optimization. It includes specialized solvers for discrete combinatorial challenges, such as the Traveling Salesman Problem. The framework supports th

    Python
    View on GitHub↗6,583
  • robotlocomotion/drakeRobotLocomotion avatar

    RobotLocomotion/drake

    3,910View on GitHub↗

    Drake is a robotics simulation framework and control system modeling tool used for designing, simulating, and verifying the dynamics of complex robotic systems. It functions as a multibody dynamics simulator and a mathematical optimization library, providing a suite of algorithms for trajectory optimization and the simulation of articulated robots. The framework is distinguished by its block-diagram system for composing dynamical subsystems and its ability to formulate and solve diverse mathematical programs, including linear, quadratic, and nonconvex nonlinear problems. It supports specializ

    C++drakerobotics
    View on GitHub↗3,910
  • fmfn/bayesianoptimizationfmfn avatar

    fmfn/BayesianOptimization

    8,650View on GitHub↗

    This is a Python scientific computing library for finding the global maximum of expensive black-box functions. It operates as a global optimization framework that identifies optimal input parameters within defined bounds to maximize a target output. The library utilizes Gaussian process regression to predict function values and uncertainty, guiding the search for optimal parameters. It employs a surrogate-model optimization approach to approximate high-cost objective functions, reducing the total number of required evaluations. The system manages the trade-off between exploration and exploit

    Python
    View on GitHub↗8,650
  • cvxpy/cvxpycvxpy avatar

    cvxpy/cvxpy

    6,257View on GitHub↗

    CVXPY is a Python-embedded domain-specific language for modeling and solving convex optimization problems using natural mathematical syntax. It is built on a disciplined convex programming framework that automatically enforces convexity rules, ensuring that problems formulated by the user are valid for convex solvers. The project also functions as a multi-solver optimization interface, abstracting away backend details and dispatching problems to specialized solvers like ECOS, SCS, and Gurobi without manual configuration. Beyond standard convex optimization, CVXPY extends its reach to geometri

    C++
    View on GitHub↗6,257
See all 29 alternatives to Optim.jl→

Frequently asked questions

What does julianlsolvers/optim.jl do?

Optim.jl is a numerical optimization library for the Julia programming language, providing a comprehensive framework for minimizing or maximizing univariate and multivariate functions. It offers a suite of tools for solving both constrained and unconstrained mathematical problems, utilizing a variety of gradient-based, derivative-free, and stochastic search methods.

What are the main features of julianlsolvers/optim.jl?

The main features of julianlsolvers/optim.jl are: Julia Resources, Numerical Function Optimization, Automatic Differentiation, Numerical Optimization Tools, Dispatch-Based Algorithm Selections, Stateful Optimization Controllers, Lazy Constraint Projections, Global Optimization Analysis.

What are some open-source alternatives to julianlsolvers/optim.jl?

Open-source alternatives to julianlsolvers/optim.jl include: guofei9987/scikit-opt — scikit-opt is a Python optimization library and numerical framework designed to solve complex global optimization… robotlocomotion/drake — Drake is a robotics simulation framework and control system modeling tool used for designing, simulating, and… fmfn/bayesianoptimization — This is a Python scientific computing library for finding the global maximum of expensive black-box functions. It… cvxpy/cvxpy — CVXPY is a Python-embedded domain-specific language for modeling and solving convex optimization problems using… juliasymbolics/symbolics.jl — Symbolics.jl is a foundational framework for symbolic mathematics, automated differentiation, and scientific… sloisel/numeric — This library is a JavaScript-based numerical analysis tool designed to perform complex mathematical operations…