Skip to content

Latest commit

 

History

History
81 lines (61 loc) · 2.9 KB

README.md

File metadata and controls

81 lines (61 loc) · 2.9 KB

PANOC.jl

Build Status Coverage Status codecov

PANOC is a Newton-type accelerated proximal gradient method for nonsmooth optimization: this repository contains its generic implementation in Julia.

Deprecated: an up-to-date implementation of the same algorithm is available as part of ProximalAlgorithms.jl.

Installation

From the Julia REPL, hit ] to enter the package manager, then

pkg> add https://github.com/kul-forbes/PANOC.jl

Quick guide

PANOC solves optimization problems of the form

minimize f(Ax) + g(x)

where x is the decision variable, while

The above problem is solved calling the panoc function:

julia> using PANOC
julia> x_opt, it = panoc(f, A, g, x0)

where x0 is the starting point of the iterations. This returns the optimal point found, and the number of iterations it took to find it. The full list of options is described in the docstring, accessible with

julia> ?panoc

Citing

If you use this package for your publications, please consider including the following BibTeX entries in the references

@inproceedings{stella2017simple,
  author    = {Stella, Lorenzo and Themelis, Andreas and Sopasakis, Pantelis and Patrinos, Panagiotis},
  title     = {A simple and efficient algorithm for nonlinear model predictive control},
  booktitle = {56th IEEE Conference on Decision and Control (CDC)},
  year      = {2017},
  pages     = {1939-1944},
  doi       = {10.1109/CDC.2017.8263933},
  url       = {https://doi.org/10.1109/CDC.2017.8263933}
}
@misc{stella2018panoc,
  author        = {Stella, Lorenzo},
  title         = {{PANOC}.jl: {N}ewton-type accelerated proximal gradient method in Julia},
  howpublished  = {\url{https://github.com/kul-forbes/PANOC.jl}},
  year          = {2018}
}

References

Stella, Themelis, Sopasakis, Patrinos, A simple and efficient algorithm for nonlinear model predictive control, 56th IEEE Conference on Decision and Control (2017).