NonOpt

Nonsmooth Optimization Solver (NonOpt) is a software package for minimizing nonsmooth functions. It is designed to locate a minimizer (or at least a stationary point) of

$$\min_{x\in\mathbb{R}^n}\ \ f(x)$$

where \(f : \mathbb{R}^n \to \mathbb{R}\) is locally Lipschitz and continuously differentiable over a full-measure subset of \(\mathbb{R}^n\). The function \(f\) is allowed to be nonconvex.

NonOpt is written in C++. A beta version is available upon request.

We are looking for test problems! If you have nonsmooth (nonconvex) test problems, please let us know. We would be very interested in testing (and tuning) NonOpt with them.


Developer

FEC
Frank E. Curtis


Citing NonOpt

NonOpt is based on the algorithms described in the following papers.

  • [Download PDF] F. E. Curtis and X. Que. A Quasi-Newton Algorithm for Nonconvex, Nonsmooth Optimization with Global Convergence Guarantees. Mathematical Programming Computation, 7(4):399–428, 2015. [Bibtex]
    @article{CurtQue15,
    author = {Curtis, F. E. and Que, X.},
    title = {{A Quasi-Newton Algorithm for Nonconvex, Nonsmooth Optimization with Global Convergence Guarantees}},
    journal = {{Mathematical Programming Computation}},
    volume = {7},
    number = {4},
    pages = {399--428},
    year = {2015},
    url = {http://coral.ise.lehigh.edu/frankecurtis/files/papers/CurtQue15.pdf}
    }
  • [Download PDF] F. E. Curtis and X. Que. An Adaptive Gradient Sampling Algorithm for Nonsmooth Optimization. Optimization Methods and Software, 28(6):1302–1324, 2013. [Bibtex]
    @article{CurtQue13,
    author = {Curtis, F. E. and Que, X.},
    title = {{An Adaptive Gradient Sampling Algorithm for Nonsmooth Optimization}},
    journal = {{Optimization Methods and Software}},
    volume = {28},
    number = {6},
    pages = {1302--1324},
    year = {2013},
    url = {http://coral.ise.lehigh.edu/frankecurtis/files/papers/CurtQue13.pdf}
    }