Skip to content

jbrea/MeshAdaptiveDirectSearch.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mesh Adaptive Direct Search (MADS)

This is a pure Julia implementation of (Robust)LtMADS and (Robust)OrthoMADS for blackbox optimization. See NOMAD.jl for a julia wrapper of NOMAD.

Installation

Type ] in the Julia REPL to enter the package REPL, then

add https://github.com/jbrea/MeshAdaptiveDirectSearch.jl

and backspace or ^C to leave it again.

Usage

using MeshAdaptiveDirectSearch

f(x) = (1 - exp(-sum(abs2, x))) * max(sum(abs2, x .- [30, 40]), sum(abs2, x .+ [30, 40]))
noisyf(x) = f(x) + .1 * randn()

minimize(LtMADS(2), f, [-2.1, 1.7], lowerbound = [-10, -10], upperbound = [10, 10])
minimize(LtMADS(2), f, [-2.1, 1.7], lowerbound = [-10, -10], upperbound = [10, 10], constraints = [x -> sum(x) < .5])
minimize(OrthoMADS(2), f, [-2.1, 1.7], lowerbound = [-10, -10], upperbound = [10, 10])
minimize(RobustLtMADS(2), noisyf, [-2.1, 1.7], lowerbound = [-10, -10], upperbound = [10, 10])
minimize(RobustOrthoMADS(2), noisyf, [-2.1, 1.7], lowerbound = [-10, -10], upperbound = [10, 10])

To get help, press ? in the Julia REPL, then e.g. minimize.

References

Audet, Charles and Dennis, J. E., "Mesh Adaptive Direct Search Algorithms for Constrained Optimization", 2006, doi

Abramson, Mark A. and Audet, Charles and Dennis, J. E. and Le Digabel, Sébastien, "OrthoMADS: A Deterministic MADS Instance with Orthogonal Directions", 2009, doi.

Audet, Charles and Ianni, Andrea and Le Digabel, Sébastien and Tribes, Christophe, "Reducing the Number of Function Evaluations in Mesh Adaptive Direct Search Algorithms", 2014, doi

Audet, Charles and Ihaddadene, Amina and Le Digabel, Sébastien and Tribes, Christophe, "Robust optimization of noisy blackbox problems using the Mesh Adaptive Direct Search algorithm", 2018, doi

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages