PANOC.jl
Newton-type accelerated proximal gradient method in Julia
Install / Use
/learn @kul-optec/PANOC.jlREADME
PANOC.jl
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
fis a smooth function,gis a function with easily computable proximal operator, both of which can be taken from ProximalOperators.jl;Ais a linear mapping, e.g. a matrix or an object from linear operator packages such as AbstractOperators.jl, LinearMaps.jl, or LinearOperators.jl.
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).
Related Skills
node-connect
354.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
112.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
354.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
354.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
