Skip to content

Commit 3def4a8

Browse files
author
Documenter.jl
committed
build based on 6b2ada1
1 parent 5b1c28c commit 3def4a8

File tree

7 files changed

+20
-20
lines changed

7 files changed

+20
-20
lines changed

dev/.documenter-siteinfo.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"documenter":{"julia_version":"1.11.6","generation_timestamp":"2025-07-17T04:00:39","documenter_version":"1.14.1"}}
1+
{"documenter":{"julia_version":"1.11.6","generation_timestamp":"2025-07-23T18:10:41","documenter_version":"1.14.1"}}

dev/analyzer/index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

dev/feasibility/index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

dev/index.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<!DOCTYPE html>
22
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>MathOptAnalyzer.jl · MathOptAnalyzer.jl documentation</title><meta name="title" content="MathOptAnalyzer.jl · MathOptAnalyzer.jl documentation"/><meta property="og:title" content="MathOptAnalyzer.jl · MathOptAnalyzer.jl documentation"/><meta property="twitter:title" content="MathOptAnalyzer.jl · MathOptAnalyzer.jl documentation"/><meta name="description" content="Documentation for MathOptAnalyzer.jl documentation."/><meta property="og:description" content="Documentation for MathOptAnalyzer.jl documentation."/><meta property="twitter:description" content="Documentation for MathOptAnalyzer.jl documentation."/><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></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href>MathOptAnalyzer.jl documentation</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>MathOptAnalyzer.jl</a><ul class="internal"><li><a class="tocitem" href="#Installation"><span>Installation</span></a></li><li><a class="tocitem" href="#Usage"><span>Usage</span></a></li></ul></li><li><a class="tocitem" href="analyzer/">MathOptAnalyzer main API</a></li><li><a class="tocitem" href="feasibility/">Feasibility Analysis</a></li><li><a class="tocitem" href="infeasibility/">Infeasibility Analysis</a></li><li><a class="tocitem" href="numerical/">Numerical Analysis</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>MathOptAnalyzer.jl</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>MathOptAnalyzer.jl</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/jump-dev/MathOptAnalyzer.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/MathOptAnalyzer.jl/blob/main/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="MathOptAnalyzer.jl"><a class="docs-heading-anchor" href="#MathOptAnalyzer.jl">MathOptAnalyzer.jl</a><a id="MathOptAnalyzer.jl-1"></a><a class="docs-heading-anchor-permalink" href="#MathOptAnalyzer.jl" title="Permalink"></a></h1><p>This package provides tools for analyzing (and debugging) <a href="https://github.com/jump-dev/JuMP.jl">JuMP</a> models.</p><p>Three main functionalities are provided:</p><ol><li><strong>Numerical Analysis</strong>: Check for numerical issues in the model, such as large and small coefficients, empty constraints, non-convex quadratic functions.</li><li><strong>Feasibility Analysis</strong>: Given an optimized model, or a candidate solution, check if the solutions is feasible and optimal (when possible). This includes checking the feasibility of the primal model and also the dual model (if available). Complementary slackness conditions are also checked (if applicable).</li><li><strong>Infeasibility Analysis</strong>: Given an unsolved of solved model, three steps are made to check for infeasibility:<ul><li>Check bounds, integers and binaries consistency is also checked at this point.</li><li>Propagate bounds in constraints individually, to check if each constraint is infeasible given the current variable bounds. This is only done if bounds are ok.</li><li>Run an IIS (Irreducible Inconsistent Subsystem / irreducible infeasible sets) resolver algorithm to find a minimal infeasible subset of constraints. This is only done if no issues are found in the previous two steps.</li></ul></li></ol><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>You can install the package using the Julia package manager. In the Julia REPL, run:</p><pre><code class="language-julia hljs">using Pkg
3-
Pkg.add(url = &quot;https://github.com/jump-dev/MathOptAnalyzer.jl&quot;)</code></pre><h2 id="Usage"><a class="docs-heading-anchor" href="#Usage">Usage</a><a id="Usage-1"></a><a class="docs-heading-anchor-permalink" href="#Usage" title="Permalink"></a></h2><h3 id="Basic-usage"><a class="docs-heading-anchor" href="#Basic-usage">Basic usage</a><a id="Basic-usage-1"></a><a class="docs-heading-anchor-permalink" href="#Basic-usage" title="Permalink"></a></h3><p>Here is a simple example of how to use the package:</p><pre><code class="language-julia hljs">using JuMP
3+
Pkg.add(&quot;MathOptAnalyzer&quot;)</code></pre><h2 id="Usage"><a class="docs-heading-anchor" href="#Usage">Usage</a><a id="Usage-1"></a><a class="docs-heading-anchor-permalink" href="#Usage" title="Permalink"></a></h2><h3 id="Basic-usage"><a class="docs-heading-anchor" href="#Basic-usage">Basic usage</a><a id="Basic-usage-1"></a><a class="docs-heading-anchor-permalink" href="#Basic-usage" title="Permalink"></a></h3><p>Here is a simple example of how to use the package:</p><pre><code class="language-julia hljs">using JuMP
44
using MathOptAnalyzer
55
using HiGHS # or any other supported solver
66
# Create a simple JuMP model
@@ -60,10 +60,10 @@
6060
MathOptAnalyzer.summarize(issues)
6161

6262
# individual issues can also be summarized
63-
MathOptAnalyzer.summarize(issues[1])</code></pre><h3 id="Non-JuMP-(or-MOI)-models"><a class="docs-heading-anchor" href="#Non-JuMP-(or-MOI)-models">Non JuMP (or MOI) models</a><a id="Non-JuMP-(or-MOI)-models-1"></a><a class="docs-heading-anchor-permalink" href="#Non-JuMP-(or-MOI)-models" title="Permalink"></a></h3><p>If you don&#39;t have a JuMP (or MOI) model, you can still use this package reading from a file.</p><pre><code class="language-julia hljs">model = Model();
63+
MathOptAnalyzer.summarize(issues[1])</code></pre><h3 id="Non-JuMP-(or-MOI)-models"><a class="docs-heading-anchor" href="#Non-JuMP-(or-MOI)-models">Non JuMP (or MOI) models</a><a id="Non-JuMP-(or-MOI)-models-1"></a><a class="docs-heading-anchor-permalink" href="#Non-JuMP-(or-MOI)-models" title="Permalink"></a></h3><p>If you don&#39;t have a JuMP (or MOI) model, you can still use this package reading from a file.</p><p>Given a file that could have been generated by JuMP or not, such as:</p><pre><code class="language-julia hljs">model = Model();
6464
@variable(model, x &gt;= 0);
6565
@objective(model, Min, 2 * x + 1);
6666
filename = joinpath(mktempdir(), &quot;model.mps&quot;);
67-
write_to_file(model, filename; generic_names = true)
68-
new_model = read_from_file(filename; use_nlp_block = false)
69-
print(new_model)</code></pre></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="analyzer/">MathOptAnalyzer main API »</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.14.1 on <span class="colophon-date" title="Thursday 17 July 2025 04:00">Thursday 17 July 2025</span>. Using Julia version 1.11.6.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
67+
write_to_file(model, filename; generic_names = true)</code></pre><p>We can read it with JuMP:</p><pre><code class="language-julia hljs">filename = joinpath(mktempdir(), &quot;model.mps&quot;);
68+
new_model = read_from_file(filename)
69+
print(new_model)</code></pre><p>And then proceed with the analysis described above.</p></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="analyzer/">MathOptAnalyzer main API »</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.14.1 on <span class="colophon-date" title="Wednesday 23 July 2025 18:10">Wednesday 23 July 2025</span>. Using Julia version 1.11.6.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>

0 commit comments

Comments
 (0)