Skip to content

ArtificialLandscapes is a library of well-known optimization test problems written in pure Julia.

License

Notifications You must be signed in to change notification settings

NicolasL-S/ArtificialLandscapes.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArtificialLandscapes

Build Status

ArtificialLandscapes is a pure-Julia collection of well-known optimization test problems. It is designed to be fast by avoiding non-Julia libraries and using manually-coded derivatives. Combined with usual tricks like memory preallocation, type stability, and minimal abstraction, gradients can often be evaluated orders of magnitude faster than in similar packages.

This project is in its infancy. At the moment, only starting points, objective functions and gradients are provided; no Hessian yet. Also, only unconstrained problems have been added so far.

To install:

] add ArtificialLandscapes

API

Functions stored in the dictionary landscapes generate problems as @NamedTuple. To see the full list of problems:

using ArtificialLandscapes
keys(landscapes)

All problems provide a starting point, objective and an in-place gradient function. To generate a problem:

x0, obj, grad! = landscapes["LUKSAN11LS"]()

Solving using Optim:

using Optim
optimize(obj, grad!, x0, Optim.Options(iterations = 10000))

The problems can be generated with varying precisions, and sometimes varying specifications:

x0, obj, grad! = landscapes["Extended Powell"](;n = 100, T = Float16)

To learn more about a problem and its available keyword arguments, it must be extracted from the dictionary.

p = landscapes["LUKSAN11LS"]
? p

Accuracy

Problems should as faithful as possible to their original versions. A notable exception are those from the CUTEst library. Since they have become a widely accepted standard, every effort is made to match the outputs of CUTEst.jl, even in the rare occasions when they deviate from the source problem.

See also

OptimTestProblems.jl, OptimizationTestFunctions.jl, BenchmarkFunctions.jl, CUTEst.jl, OptimizationProblems.jl, S2MPJ.

About

ArtificialLandscapes is a library of well-known optimization test problems written in pure Julia.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •  

Languages