{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/forward-backward-envelope-for-the-sum-of-two","title":"Forward-backward envelope for the sum of two nonconvex functions: Further properties and nonmonotone line-search algorithms","arxiv_id":"1606.06256","date":"2016-06-20","proceeding":null,"authors":["Andreas Themelis","Lorenzo Stella","Panagiotis Patrinos"],"abstract":"We propose ZeroFPR, a nonmonotone linesearch algorithm for minimizing the sum of two nonconvex functions, one of which is smooth and the other possibly nonsmooth. ZeroFPR is the first algorithm that, despite being fit for fully nonconvex problems and requiring only the black-box oracle of forward-backward splitting (FBS) --- namely evaluations of the gradient of the smooth term and of the proximity operator of the nonsmooth one --- achieves superlinear convergence rates under mild assumptions at the limit point when the linesearch directions satisfy a Dennis-Mor\\'e condition, and we show that this is the case for quasi-Newton directions. Our approach is based on the forward-backward envelope (FBE), an exact and strictly continuous penalty function for the original cost. Extending previous results we show that, despite being nonsmooth for fully nonconvex problems, the FBE still enjoys favorable first- and second-order properties which are key for the convergence results of ZeroFPR. Our theoretical results are backed up by promising numerical simulations. On large-scale problems, by computing linesearch directions using limited-memory quasi-Newton updates our algorithm greatly outperforms FBS and its accelerated variant (AFBS).","url_abs":"http://arxiv.org/abs/1606.06256v2","url_pdf":"http://arxiv.org/pdf/1606.06256v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"forward-backward-envelope-for-the-sum-of-two","repo_url":"https://github.com/kul-forbes/ForBES","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"LGPL-3.0"}},{"paper_slug":"forward-backward-envelope-for-the-sum-of-two","repo_url":"https://github.com/UnofficialJuliaMirror/ProximalAlgorithms.jl-140ffc9f-1907-541a-a177-7475e0a401e9","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"forward-backward-envelope-for-the-sum-of-two","repo_url":"https://github.com/UnofficialJuliaMirrorSnapshots/ProximalAlgorithms.jl-140ffc9f-1907-541a-a177-7475e0a401e9","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"forward-backward-envelope-for-the-sum-of-two","repo_url":"https://github.com/kul-forbes/ProximalAlgorithms.jl","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"forward-backward-envelope-for-the-sum-of-two","repo_url":"https://github.com/kul-optec/forbes","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"LGPL-3.0"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/1606.06256","atlas_url":"https://app.syntology.ai/?focus=1606.06256","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}