Research Software

Optimization Software

MATLAB implementations for derivative-free, noisy, nonsmooth, mixed-integer, bound-constrained, least-squares and sparse-recovery optimization. Each entry states the documented problem class, derivative requirements, noise assumptions and available resources.

How to read this page Technical capabilities and versions are summarized from the linked repository or project documentation. “Practical fit” is selection guidance, not a guarantee of performance; benchmark competing solvers on representative instances before committing to one.

Which solver should you examine first?

This is a routing guide, not a ranking. Problem structure matters more than a solver’s name or publication date.

Problem structure Starting point
High-dimensional noisy continuous optimizationDMADFO
Noisy randomized unconstrained optimizationVRDFON
General unconstrained black-box optimizationVRBBO or SSDFO
Full-matrix adaptation for noisy continuous modelsMADFO
Bound-constrained mixed-integer optimizationMATRS
Bound-constrained all-integer optimizationIMATRS
Nonsmooth finite-max optimizationDG_Clarke
Exact-gradient bound-constrained optimizationLMBOPT
Derivative-free nonlinear least squaresLMLS
Sparse recovery and shrinkage modelsGSCG
11 software packages

Derivative-free continuous optimization

5 items

DMADFO

Diagonal Matrix-Adaptation Derivative-Free Optimization

Derivative-free continuous optimization

A large-scale, unconstrained derivative-free optimizer for noisy smooth or nonsmooth functions of many continuous variables. It replaces MADFO’s full scaling matrix with a diagonal conjugacy-based scaling mechanism.

UnconstrainedContinuousDerivative-freeNoisyLarge-scaleNonsmooth
Practical fit

Prefer this solver for high-dimensional continuous problems when gradients or subgradients are unavailable, unreliable, or too expensive.

Technical details
Language
MATLAB
Version
1.0.0 (2026)
Derivatives
No gradients or subgradients required
Noise
Noisy function evaluations supported
Method
Diagonal matrix adaptation with conjugacy-based scaling
Included
Main solver, step routine, initialization routines, driver, paper and supplementary material
License
MIT

MADFO

Matrix-Adaptation Derivative-Free Optimization

Derivative-free continuous optimization

An unconstrained derivative-free method for noisy, possibly nonsmooth functions of continuous variables. It uses full matrix adaptation rather than the diagonal scaling adopted by DMADFO.

UnconstrainedContinuousDerivative-freeNoisyNonsmoothMatrix adaptation
Practical fit

Use MADFO for continuous unconstrained models where richer full-matrix adaptation is desirable and the dimension is moderate enough to support it.

Technical details
Language
MATLAB
Version
1.0 (March 15, 2024)
Variables
Continuous
Derivatives
No gradients required
Noise
Limited noise tolerated
Method
Full matrix adaptation for noisy black-box optimization
Included
Solver, step routine, driver, method paper and supplementary material
License
MIT

VRDFON

Vienna Randomized Noisy Derivative-Free Optimization

Derivative-free continuous optimization

A randomized solver for approximate unconstrained minimization of noisy, possibly nonsmooth functions with many continuous variables. Its method includes noise-level tuning and requires no gradients.

UnconstrainedContinuousDerivative-freeRandomizedNoisyLarge-scale
Practical fit

Use VRDFON for large-scale noisy unconstrained problems when randomized sampling and explicit noise-level tuning are appropriate.

Technical details
Language
MATLAB
Version
1.0 (February 12, 2023)
Derivatives
No gradients required
Noise
Limited noise tolerated; noise-level tuning is part of the method
Objective
May be nonsmooth
Included
Solver, step routines, driver, implementation notes and method paper
License
MIT

SSDFO

Subspace Derivative-Free Optimization

Derivative-free continuous optimization

An unconstrained derivative-free solver for approximate global minimization of possibly nonsmooth functions. It combines finite-difference estimates, directional derivatives, subspace directions and a Wolfe-type line search.

UnconstrainedContinuousDerivative-freeSubspaceWolfe searchLimited noise
Practical fit

Use SSDFO when subspace information is valuable and function evaluations can support finite-difference and line-search operations. The README allows limited noise; it is not documented as strictly noiseless.

Technical details
Language
MATLAB
Version
3.0 (December 29, 2021)
Objective
May be nonsmooth
Derivatives
No supplied gradients required
Noise
Limited noise tolerated
Method components
FFD, directional derivative estimation, Wolfe search, subspace direction and memory updates
Previous name
SSBBO
License
MIT

VRBBO

Vienna Randomized Black-Box Optimization

Derivative-free continuous optimization

A derivative-free method for approximate unconstrained global minimization of possibly nonsmooth functions with many continuous variables. A limited amount of noise is tolerated.

UnconstrainedContinuousDerivative-freeBlack-boxLimited noiseNonsmooth
Practical fit

Use VRBBO as a general unconstrained black-box solver when no gradients are available and the objective may be mildly noisy or nonsmooth.

Technical details
Language
MATLAB
Version
3.2 (July 2, 2021)
Derivatives
No gradients required
Objective
May be nonsmooth
Noise
Limited noise tolerated
Included
Main solver, driver, finite-difference sampling, line-search and limited-memory direction routines
License
MIT

Derivative-free nonsmooth optimization

1 item

DG_Clarke

Discrete-Gradient Clarke Optimization

Derivative-free nonsmooth optimization

A MATLAB implementation for derivative-free nonsmooth optimization using discrete-gradient approximations. It supports a steepest discrete-gradient direction and a matrix-parameter conjugate-subgradient (MatCSG) direction.

Derivative-freeNonsmoothFinite-maxDiscrete gradientBenchmark suite
Practical fit

Use it for nonsmooth finite-max or related black-box models when a dedicated discrete-gradient method and reproducible benchmark environment are useful.

Technical details
Language
MATLAB
Version
1.0.0 (2026)
Direction modes
Steepest discrete-gradient or MatCSG
Test environment
80 real-data and synthetic finite-max nonsmooth problems
Included
Solver, driver, test environment, objective evaluator and benchmark hitlists
Setup note
Git LFS is required to retrieve the large TE.mat test file
License
MIT

Discrete and mixed-integer optimization

2 items

MATRS

Matrix-Adaptation Trust-Region Strategy

Discrete and mixed-integer optimization

A derivative-free solver for bound-constrained problems containing both continuous and integer variables. It tolerates a limited amount of noise and provides both stand-alone and reentrant drivers.

Bound-constrainedMixed-integerDerivative-freeNoisyTrust region
Practical fit

Choose MATRS when the model is genuinely mixed-integer, function values are available but derivatives are not, and every variable has finite or practical bounds.

Technical details
Language
MATLAB
Version
4.0 (March 8, 2025)
Variables
Mixed continuous and integer variables
Derivatives
No gradients required
Noise
Limited noise tolerated
Included
Stand-alone and reentrant drivers, solver routines, test problems and method paper
License
MIT

IMATRS

Integer Matrix-Adaptation Trust-Region Strategy

Discrete and mixed-integer optimization

A noisy black-box optimization solver for bound-constrained problems in which the decision variables are integer-valued.

Bound-constrainedIntegerDerivative-freeNoisyBlack-box
Practical fit

Choose IMATRS when all optimized variables are integer and bound constrained. For a mixture of continuous and integer variables, use MATRS instead.

Technical details
Language
MATLAB
Version
1.0 (July 13, 2022)
Variables
Integer
Constraints
Bound constraints
Derivatives
Black-box objective; no derivative requirement documented
Included
Solver, integer search and mutation routines, driver and method manuscript
License
No license is stated on the repository page

Gradient-based optimization

1 item

LMBOPT

Limited-Memory Bound-Constrained Optimization

Gradient-based optimization

A limited-memory method for unconstrained and bound-constrained smooth optimization. The implementation includes projected and reduced-gradient logic, multiple search-direction routines and robust line-search components.

Bound-constrainedUnconstrainedExact gradientLimited memorySmooth
Practical fit

Use LMBOPT when exact objective gradients are available but storing or forming full Hessian approximations is unattractive, especially in larger problems.

Technical details
Language
MATLAB
Version
3.1 (September 16, 2021)
Derivatives
Objective and exact gradient expected
Constraints
Unconstrained or simple bounds
Method
Limited-memory directions with projected/reduced-gradient handling
Included
Main solver, drivers, paper, supplementary material and numerical result documents
License
MIT

Least-squares and sparse recovery

2 items

LMLS

Limited-Memory Nonlinear Least Squares

Least-squares and sparse recovery

A derivative-free solver for unconstrained nonlinear black-box least-squares problems. It does not require a Jacobian and tolerates a limited amount of noise.

Least squaresUnconstrainedDerivative-freeNo JacobianLimited noise
Practical fit

Choose LMLS when the objective is explicitly a nonlinear least-squares model and residual evaluations are available but derivatives or Jacobians are not.

Technical details
Language
MATLAB
Version
1.0 (October 16, 2020)
Problem class
Unconstrained nonlinear black-box least squares
Derivatives
No derivatives or exact Jacobian required
Noise
Limited noise tolerated
Included
Compressed source archive, driver and method paper
Distribution
Project page hosted by Arnold Neumaier

GSCG

Generalized Shrinkage Conjugate Gradient

Least-squares and sparse recovery

MATLAB code supporting a generalized shrinkage conjugate-gradient method for sparse recovery. The repository is focused on sparse-recovery experiments rather than a general-purpose nonlinear optimization interface.

Sparse recoveryShrinkageConjugate gradientℓ1 modelsMATLAB code
Practical fit

Use GSCG for sparse-recovery models involving ℓ1-style regularization or shrinkage operations, not as a drop-in solver for arbitrary black-box objectives.

Technical details
Language
MATLAB
Problem class
Sparse recovery
Method
Generalized shrinkage conjugate-gradient strategy
Distribution
Repository provides a compressed MATLAB code package
Scope
Research implementation; repository documentation is minimal
License
No license is stated on the repository page
No software packages match the current search and category filter.