Skip to content

Commit

Permalink
build based on ea4ce9f
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Dec 10, 2023
1 parent a7fabfb commit e7228dd
Show file tree
Hide file tree
Showing 39 changed files with 1,320 additions and 4 deletions.
2 changes: 1 addition & 1 deletion stable
2 changes: 1 addition & 1 deletion v2
2 changes: 1 addition & 1 deletion v2.1
1 change: 1 addition & 0 deletions v2.1.3/.documenter-siteinfo.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"documenter":{"julia_version":"1.9.4","generation_timestamp":"2023-12-10T23:25:01","documenter_version":"1.2.1"}}
2 changes: 2 additions & 0 deletions v2.1.3/algorithms/algorithms/index.html

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions v2.1.3/algorithms/auglag/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Augmented Lagrangian algorithm in pure Julia · Nonconvex.jl</title><meta name="title" content="Augmented Lagrangian algorithm in pure Julia · Nonconvex.jl"/><meta property="og:title" content="Augmented Lagrangian algorithm in pure Julia · Nonconvex.jl"/><meta property="twitter:title" content="Augmented Lagrangian algorithm in pure Julia · Nonconvex.jl"/><meta name="description" content="Documentation for Nonconvex.jl."/><meta property="og:description" content="Documentation for Nonconvex.jl."/><meta property="twitter:description" content="Documentation for Nonconvex.jl."/><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../search_index.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../../">Nonconvex.jl</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../../">Getting started</a></li><li><span class="tocitem">Problem definition</span><ul><li><a class="tocitem" href="../../problem/problem/">Overview</a></li><li><a class="tocitem" href="../../problem/model/"><code>Model</code> definition</a></li><li><a class="tocitem" href="../../problem/dict_model/"><code>DictModel</code> definition</a></li><li><a class="tocitem" href="../../problem/queries/">Querying models</a></li></ul></li><li><span class="tocitem">Gradients, Jacobians and Hessians</span><ul><li><a class="tocitem" href="../../gradients/gradients/">Overview</a></li><li><a class="tocitem" href="../../gradients/user_defined/">User-defined gradient, Jacobian or Hessian</a></li><li><a class="tocitem" href="../../gradients/other_ad/">Using other AD packages</a></li><li><a class="tocitem" href="../../gradients/chainrules_fd/">Using ChainRules in ForwardDiff</a></li><li><a class="tocitem" href="../../gradients/sparse/">Sparse Jacobian or Hessian</a></li><li><a class="tocitem" href="../../gradients/symbolic/">Symbolic differentiation</a></li><li><a class="tocitem" href="../../gradients/implicit/">Implicit differentiation</a></li><li><a class="tocitem" href="../../gradients/history/">Storing history of gradients</a></li></ul></li><li><span class="tocitem">Algorithms</span><ul><li><a class="tocitem" href="../algorithms/">Overview</a></li><li><a class="tocitem" href="../mma/">Method of moving asymptotes in pure Julia</a></li><li><a class="tocitem" href="../ipopt/">Interior point method using <code>Ipopt.jl</code></a></li><li><a class="tocitem" href="../nlopt/">Various optimization algorithms from <code>NLopt.jl</code></a></li><li class="is-active"><a class="tocitem" href>Augmented Lagrangian algorithm in pure Julia</a><ul class="internal"><li><a class="tocitem" href="#Description"><span>Description</span></a></li><li><a class="tocitem" href="#Quick-start"><span>Quick start</span></a></li><li><a class="tocitem" href="#Construct-an-instance"><span>Construct an instance</span></a></li><li><a class="tocitem" href="#Options"><span>Options</span></a></li></ul></li><li><a class="tocitem" href="../minlp/">First and second order mixed integer nonlinear programming algorithms</a></li><li><a class="tocitem" href="../hyperopt/">Multi-start and hyper-parameter optimization in pure Julia</a></li><li><a class="tocitem" href="../surrogate/">Surrogate-assisted continuous and discrete, constrained optimization</a></li><li><a class="tocitem" href="../mts/">Multi-trajectory search algorithm in pure Julia</a></li><li><a class="tocitem" href="../sdp/">Interior point meta-algorithm for handling nonlinear semidefinite constraints</a></li><li><a class="tocitem" href="../metaheuristics/">A collection of meta-heuristic algorithms in pure Julia</a></li><li><a class="tocitem" href="../nomad/">Nonlinear optimization with the MADS (NOMAD) algorithm for continuous and discrete, constrained optimization</a></li><li><a class="tocitem" href="../tobs/">Topology optimization of binary structures (TOBS), a nonlinear binary optimization heuristic</a></li></ul></li><li><a class="tocitem" href="../../result/">Optimization result</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Algorithms</a></li><li class="is-active"><a href>Augmented Lagrangian algorithm in pure Julia</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Augmented Lagrangian algorithm in pure Julia</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/JuliaNonconvex/Nonconvex.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/JuliaNonconvex/Nonconvex.jl/blob/master/docs/src/algorithms/auglag.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><h1 id="Augmented-Lagrangian-algorithm-in-pure-Julia"><a class="docs-heading-anchor" href="#Augmented-Lagrangian-algorithm-in-pure-Julia">Augmented Lagrangian algorithm in pure Julia</a><a id="Augmented-Lagrangian-algorithm-in-pure-Julia-1"></a><a class="docs-heading-anchor-permalink" href="#Augmented-Lagrangian-algorithm-in-pure-Julia" title="Permalink"></a></h1><h2 id="Description"><a class="docs-heading-anchor" href="#Description">Description</a><a id="Description-1"></a><a class="docs-heading-anchor-permalink" href="#Description" title="Permalink"></a></h2><p><a href="https://github.com/JuliaSmoothOptimizers/Percival.jl">Percival.jl</a> is a pure Julia implementation of the augmented Lagrangian algorithm. Both first and second order versions of the algorithm are available.</p><h2 id="Quick-start"><a class="docs-heading-anchor" href="#Quick-start">Quick start</a><a id="Quick-start-1"></a><a class="docs-heading-anchor-permalink" href="#Quick-start" title="Permalink"></a></h2><p>Given a model <code>model</code> and an initial solution <code>x0</code>, the following can be used to optimize the model using Percival.</p><pre><code class="language-julia hljs">using Nonconvex
Nonconvex.@load Percival

alg = AugLag()
options = AugLagOptions()
result = optimize(model, alg, x0, options = options)</code></pre><p>Percival is an optional dependency of Nonconvex so you need to import it in order to use it.</p><h2 id="Construct-an-instance"><a class="docs-heading-anchor" href="#Construct-an-instance">Construct an instance</a><a id="Construct-an-instance-1"></a><a class="docs-heading-anchor-permalink" href="#Construct-an-instance" title="Permalink"></a></h2><p>To construct an instance of the Ipopt algorithm, use:</p><pre><code class="language-julia hljs">alg = AugAlg()</code></pre><h2 id="Options"><a class="docs-heading-anchor" href="#Options">Options</a><a id="Options-1"></a><a class="docs-heading-anchor-permalink" href="#Options" title="Permalink"></a></h2><p>The options keyword argument to the <code>optimize</code> function shown above must be an instance of the <code>AugLagOptions</code> struct when the algorihm is an <code>AugLag</code>. To specify options use keyword arguments in the constructor of <code>AugLagOptions</code>, e.g:</p><pre><code class="language-julia hljs">options = AugLagOptions(first_order = false, rtol = 1e-4)</code></pre><p>The most important option is <code>first_order</code> which is <code>true</code> by default. When <code>first_order</code> is <code>true</code>, the first order augmented Lagrangian algorithm will be used. And when it is <code>false</code>, the second order augmented Lagrangian algorithm will be used. Other arguments include:</p><ul><li><code>atol</code>: absolute tolerance in the subproblem optimizer</li><li><code>rtol</code>: relative tolerance in the subproblem optimizer</li><li><code>ctol</code>: absolute feasibility tolerance</li><li><code>max_iter</code>: maximum number of iterations</li><li><code>max_time</code>: maximum time in seconds</li><li><code>max_eval</code>: maximum number of function evaluations</li></ul><p>When using the first order augmented Lagrangian and a block constraint (i.e. a constraint function that returns a vector), the use of reverse-mode AD will only require calling the adjoint operator of the block constraint function in order to compute the gradient of the augmented Lagrangian. This is particularly suitable for constraint functions whose Jacobians are expensive but the adjoint operator is relatively inexpensive.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../nlopt/">« Various optimization algorithms from <code>NLopt.jl</code></a><a class="docs-footer-nextpage" href="../minlp/">First and second order mixed integer nonlinear programming algorithms »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.2.1 on <span class="colophon-date" title="Sunday 10 December 2023 23:25">Sunday 10 December 2023</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit e7228dd

Please sign in to comment.