Skip to content

Commit b23f8d7

Browse files
author
Documenter.jl
committed
build based on a68ee8b
1 parent a5895b4 commit b23f8d7

6 files changed

Lines changed: 12 additions & 12 deletions

File tree

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"documenter":{"documenter_version":"1.17.0","generation_timestamp":"2026-04-22T06:48:07","julia_version":"1.10.11"}}
1+
{"documenter":{"documenter_version":"1.17.0","generation_timestamp":"2026-04-23T03:47:28","julia_version":"1.10.11"}}

previews/PR209/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
<!DOCTYPE html>
22
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Home · Dualization.jl</title><meta name="title" content="Home · Dualization.jl"/><meta property="og:title" content="Home · Dualization.jl"/><meta property="twitter:title" content="Home · Dualization.jl"/><meta name="description" content="Documentation for Dualization.jl."/><meta property="og:description" content="Documentation for Dualization.jl."/><meta property="twitter:description" content="Documentation for Dualization.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/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><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><link href="assets/favicon.ico" rel="icon" type="image/x-icon"/></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href><img src="assets/logo.svg" alt="Dualization.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href>Dualization.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 class="is-active"><a class="tocitem" href>Home</a><ul class="internal"><li><a class="tocitem" href="#License"><span>License</span></a></li><li><a class="tocitem" href="#Installation"><span>Installation</span></a></li><li><a class="tocitem" href="#Contributing"><span>Contributing</span></a></li></ul></li><li><a class="tocitem" href="manual/">Manual</a></li><li><a class="tocitem" href="mathematical_background/">Mathematical background</a></li><li><a class="tocitem" href="reference/">API Reference</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 class="is-active"><a href>Home</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Home</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/jump-dev/Dualization.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/jump-dev/Dualization.jl/blob/master/docs/src/index.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="Dualization.jl"><a class="docs-heading-anchor" href="#Dualization.jl">Dualization.jl</a><a id="Dualization.jl-1"></a><a class="docs-heading-anchor-permalink" href="#Dualization.jl" title="Permalink"></a></h1><p><a href="https://github.com/jump-dev/Dualization.jl">Dualization.jl</a> is an extension package for <a href="https://github.com/jump-dev/MathOptInterface.jl">MathOptInterface.jl</a> that formulates the dual of conic optimization problems.</p><p>Dualization.jl has two main features:</p><ul><li>The <a href="reference/#dualize"><code>dualize</code></a> function that computes the dual formulation of either a <a href="https://github.com/jump-dev/MathOptInterface.jl">MathOptInterface.jl</a> or a <a href="https://github.com/jump-dev/JuMP.jl">JuMP</a> model.</li><li>The <a href="reference/#dual_optimizer"><code>dual_optimizer</code></a> function that creates a MathOptInterface-compatible optimizer that solves the dual of the problem instead of the primal.</li></ul><h2 id="License"><a class="docs-heading-anchor" href="#License">License</a><a id="License-1"></a><a class="docs-heading-anchor-permalink" href="#License" title="Permalink"></a></h2><p><a href="https://github.com/jump-dev/Dualization.jl">Dualization.jl</a> is licensed under the <a href="https://github.com/jump-dev/Dualization.jl/blob/master/LICENSE.md">MIT License</a>.</p><h2 id="Installation"><a class="docs-heading-anchor" href="#Installation">Installation</a><a id="Installation-1"></a><a class="docs-heading-anchor-permalink" href="#Installation" title="Permalink"></a></h2><p>Install Dualization using <code>Pkg.add</code>:</p><pre><code class="language-julia hljs">import Pkg
3-
Pkg.add(&quot;Dualization&quot;)</code></pre><h2 id="Contributing"><a class="docs-heading-anchor" href="#Contributing">Contributing</a><a id="Contributing-1"></a><a class="docs-heading-anchor-permalink" href="#Contributing" title="Permalink"></a></h2><p>Contributions to this package are more than welcome, if you find a bug or have any suggestions for the documentation please post it on the <a href="https://github.com/jump-dev/Dualization.jl/issues">GitHub issue tracker</a>.</p><p>When contributing, please note that the package follows the <a href="https://jump.dev/JuMP.jl/stable/developers/style/">JuMP style guide</a>.</p></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="manual/">Manual »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.17.0 on <span class="colophon-date" title="Wednesday 22 April 2026 06:48">Wednesday 22 April 2026</span>. Using Julia version 1.10.11.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
3+
Pkg.add(&quot;Dualization&quot;)</code></pre><h2 id="Contributing"><a class="docs-heading-anchor" href="#Contributing">Contributing</a><a id="Contributing-1"></a><a class="docs-heading-anchor-permalink" href="#Contributing" title="Permalink"></a></h2><p>Contributions to this package are more than welcome, if you find a bug or have any suggestions for the documentation please post it on the <a href="https://github.com/jump-dev/Dualization.jl/issues">GitHub issue tracker</a>.</p><p>When contributing, please note that the package follows the <a href="https://jump.dev/JuMP.jl/stable/developers/style/">JuMP style guide</a>.</p></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="manual/">Manual »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.17.0 on <span class="colophon-date" title="Thursday 23 April 2026 03:47">Thursday 23 April 2026</span>. Using Julia version 1.10.11.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>

previews/PR209/manual/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@
120120
│ └ Vector{JuMP.VariableRef} in Main.FakeDualCone: 1
121121
└ Names registered in the model: none</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; print(dual_model)</code><code class="nohighlight hljs ansi" style="display:block;">Max 0
122122
Subject to
123-
-_[1] ≥ -1
124123
-_[2] ≥ -1
125124
-_[3] ≥ -1
126-
[_[1], _[2], _[3]] ∈ Main.FakeDualCone(3)</code></pre><h2 id="Advanced:-add-support-for-new-attributes"><a class="docs-heading-anchor" href="#Advanced:-add-support-for-new-attributes">Advanced: add support for new attributes</a><a id="Advanced:-add-support-for-new-attributes-1"></a><a class="docs-heading-anchor-permalink" href="#Advanced:-add-support-for-new-attributes" title="Permalink"></a></h2><p>You might feel that the Dualization layer is getting in your way to get information from an inner layer. If you ever see yourself typing <code>model.dual_problem.dual_model</code>, it is a sign that you need to define new attributes, especially if these information are related to specific variables and constraints. The mapping between variables and constraints before and after dualization is quite complex. It depends on whether constraints corresponded to variables constrained at creation or not and whether the corresponding set is an equality (i.e., <code>MOI.EqualTo</code> or <code>MOI.Zeros</code>).</p><p>When define MOI attributes to communicate information in MOI, layers like Dualization can transfer these attributes to the right variables or constraints before or after their transformation. So the best practice is to define such variable or constraint attributes and attempt to <code>MOI.get</code> or <code>MOI.set</code> them. They is an API that you need to define for these attributes that contains the functions are <code>dual_attribute</code>, <code>dual_attribute_value</code>, <code>constrained_variable_dual_attribute</code>, <code>fixed_variable_value</code>, <code>fixed_constrained_variables_get</code>, <code>equality_constraint_get</code>. That&#39;s a lot of functions, some of which may never be useful for your specific attributes (e.g., if it is never used on an equality constraint) so no need to implement the whole API for all attributes.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../">« Home</a><a class="docs-footer-nextpage" href="../mathematical_background/">Mathematical background »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.17.0 on <span class="colophon-date" title="Wednesday 22 April 2026 06:48">Wednesday 22 April 2026</span>. Using Julia version 1.10.11.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
125+
-_[1] ≥ -1
126+
[_[1], _[2], _[3]] ∈ Main.FakeDualCone(3)</code></pre><h2 id="Advanced:-add-support-for-new-attributes"><a class="docs-heading-anchor" href="#Advanced:-add-support-for-new-attributes">Advanced: add support for new attributes</a><a id="Advanced:-add-support-for-new-attributes-1"></a><a class="docs-heading-anchor-permalink" href="#Advanced:-add-support-for-new-attributes" title="Permalink"></a></h2><p>You might feel that the Dualization layer is getting in your way to get information from an inner layer. If you ever see yourself typing <code>model.dual_problem.dual_model</code>, it is a sign that you need to define new attributes, especially if these information are related to specific variables and constraints. The mapping between variables and constraints before and after dualization is quite complex. It depends on whether constraints corresponded to variables constrained at creation or not and whether the corresponding set is an equality (i.e., <code>MOI.EqualTo</code> or <code>MOI.Zeros</code>).</p><p>When define MOI attributes to communicate information in MOI, layers like Dualization can transfer these attributes to the right variables or constraints before or after their transformation. So the best practice is to define such variable or constraint attributes and attempt to <code>MOI.get</code> or <code>MOI.set</code> them. They is an API that you need to define for these attributes that contains the functions are <code>dual_attribute</code>, <code>dual_attribute_value</code>, <code>constrained_variable_dual_attribute</code>, <code>fixed_variable_value</code>, <code>fixed_constrained_variables_get</code>, <code>equality_constraint_get</code>. That&#39;s a lot of functions, some of which may never be useful for your specific attributes (e.g., if it is never used on an equality constraint) so no need to implement the whole API for all attributes.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../">« Home</a><a class="docs-footer-nextpage" href="../mathematical_background/">Mathematical background »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.17.0 on <span class="colophon-date" title="Thursday 23 April 2026 03:47">Thursday 23 April 2026</span>. Using Julia version 1.10.11.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>

0 commit comments

Comments
 (0)