Skip to content

Commit

Permalink
build based on 27b1fee
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Apr 27, 2024
1 parent 55ef539 commit 230416d
Show file tree
Hide file tree
Showing 30 changed files with 30 additions and 30 deletions.
2 changes: 1 addition & 1 deletion dev/callbacks/index.html
Expand Up @@ -9,4 +9,4 @@
void (*userCallback)(const int, const char*,
const struct HighsCallbackDataOut*,
struct HighsCallbackDataIn*, void*),
void* user_callback_data)</code></pre><p>The current callback scenarios are set out below, and the particular callback is activated in C++ by calling</p><pre><code class="language-cpp hljs">HighsStatus startCallback(const int callback_type);</code></pre><p>and, in C, by calling</p><pre><code class="language-cpp hljs">HighsInt Highs_startCallback(void* highs, const int callback_type);</code></pre><p>, and de-activated in C++ by calling</p><pre><code class="language-cpp hljs">HighsStatus stopCallback(const int callback_type);</code></pre><p>and, in C, by calling</p><pre><code class="language-cpp hljs">HighsInt Highs_stopCallback(void* highs, const int callback_type);</code></pre><h3 id="User-interrupt"><a class="docs-heading-anchor" href="#User-interrupt">User interrupt</a><a id="User-interrupt-1"></a><a class="docs-heading-anchor-permalink" href="#User-interrupt" title="Permalink"></a></h3><p>For the non-logging callbacks below, if the <code>user_interrupt</code> member of the <code>HighsCallbackDataIn</code> struct is set to a nonzero value, then the corresponding solver will be interrupted, and HiGHS will return to the user.</p><h3 id="Logging-callback"><a class="docs-heading-anchor" href="#Logging-callback">Logging callback</a><a id="Logging-callback-1"></a><a class="docs-heading-anchor-permalink" href="#Logging-callback" title="Permalink"></a></h3><p>The logging callback type is a cast of <code>kCallbackLogging</code> in the C++ enum <code>HighsCallbackType</code> and, in C, is the constant <code>kHighsCallbackLogging</code>. The logging type is a cast of the particular member of the enum class &#39;HighsLogType&#39;, and is available as a constant in C. It is passed as the member <code>log_type</code> in the <code>HighsCallbackDataOut</code> struct, and the message is passed as the <code>const char*</code> parameter.</p><h3 id="Simplex-interrupt-callback"><a class="docs-heading-anchor" href="#Simplex-interrupt-callback">Simplex interrupt callback</a><a id="Simplex-interrupt-callback-1"></a><a class="docs-heading-anchor-permalink" href="#Simplex-interrupt-callback" title="Permalink"></a></h3><p>The simplex interrupt is called once every simplex iteration, and its callback type is a cast of <code>kCallbackSimplexInterrupt</code> in the C++ enum <code>HighsCallbackType</code>, and the <code>kHighsCallbackSimplexInterrupt</code> constant in C. The simplex iteration count is passed as the <code>simplex_iteration_count</code> member of the <code>HighsCallbackDataOut</code> struct.</p><h3 id="IPM-interrupt-callback"><a class="docs-heading-anchor" href="#IPM-interrupt-callback">IPM interrupt callback</a><a id="IPM-interrupt-callback-1"></a><a class="docs-heading-anchor-permalink" href="#IPM-interrupt-callback" title="Permalink"></a></h3><p>The IPM interrupt is called once every interior point iteration, and its callback type is a cast of <code>kCallbackIpmInterrupt</code> in the C++ enum <code>HighsCallbackType</code>, and the <code>kHighsCallbackIpmInterrupt</code> constant in C. The IPM iteration count is passed as the <code>ipm_iteration_count</code> member of the <code>HighsCallbackDataOut</code> struct.</p><h3 id="MIP-improving-solution-callback"><a class="docs-heading-anchor" href="#MIP-improving-solution-callback">MIP improving solution callback</a><a id="MIP-improving-solution-callback-1"></a><a class="docs-heading-anchor-permalink" href="#MIP-improving-solution-callback" title="Permalink"></a></h3><p>The MIP improving solution is called whenever the MIP solver identifies an improving integer feasible solution, and its callback type is a cast of <code>kCallbackMipImprovingSolution</code> in the C++ enum <code>HighsCallbackType</code>, and the <code>kHighsCallbackMipImprovingSolution</code> constant in C. A pointer to the improving solution is passed as the <code>objective_function_value</code> and <code>mip_solution</code> members of the <code>HighsCallbackDataOut</code> struct.</p><h3 id="MIP-logging-callback"><a class="docs-heading-anchor" href="#MIP-logging-callback">MIP logging callback</a><a id="MIP-logging-callback-1"></a><a class="docs-heading-anchor-permalink" href="#MIP-logging-callback" title="Permalink"></a></h3><p>The MIP logging callback is called once every time MIP logging takes place, and its callback type is a cast of <code>kCallbackMipLogging</code> in the C++ enum <code>HighsCallbackType</code>, and <code>kHighsCallbackMipLogging</code> in C.</p><h3 id="MIP-interrupt-callback"><a class="docs-heading-anchor" href="#MIP-interrupt-callback">MIP interrupt callback</a><a id="MIP-interrupt-callback-1"></a><a class="docs-heading-anchor-permalink" href="#MIP-interrupt-callback" title="Permalink"></a></h3><p>The MIP interrupt callback is called when the MIP solver checks whether computation limits (such as time, node, leaves, improving solutions, and target objective) have been reached, and its callback type is a cast of <code>kCallbackMipInterrupt</code> in the C++ enum <code>HighsCallbackType</code>, and the <code>kHighsCallbackMipInterrupt</code> constant in C. The simplex iteration count is passed as the <code>simplex_iteration_count</code> member of the <code>HighsCallbackDataOut</code> struct.</p><h3 id="MIP-callback-data"><a class="docs-heading-anchor" href="#MIP-callback-data">MIP callback data</a><a id="MIP-callback-data-1"></a><a class="docs-heading-anchor-permalink" href="#MIP-callback-data" title="Permalink"></a></h3><p>For each of the MIP callbacks, the following <code>HighsCallbackDataOut</code> struct members will have value set</p><ul><li><code>running_time</code>: execution time of HiGHS</li><li><code>objective_function_value</code>: the objective function value of the best integer feasible solution found</li><li><code>mip_node_count</code>: the number of MIP nodes explored to date</li><li><code>mip_primal_bound</code>: the primal bound</li><li><code>mip_dual_bound</code>: the dual bound</li><li><code>mip_gap</code>: the (relative) difference between the primal and dual bounds</li></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../structures/classes/HighsInfo/">« HighsInfo</a><a class="docs-footer-nextpage" href="../interfaces/python/">Getting started »</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></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Tuesday 23 April 2024 15:51">Tuesday 23 April 2024</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
void* user_callback_data)</code></pre><p>The current callback scenarios are set out below, and the particular callback is activated in C++ by calling</p><pre><code class="language-cpp hljs">HighsStatus startCallback(const int callback_type);</code></pre><p>and, in C, by calling</p><pre><code class="language-cpp hljs">HighsInt Highs_startCallback(void* highs, const int callback_type);</code></pre><p>, and de-activated in C++ by calling</p><pre><code class="language-cpp hljs">HighsStatus stopCallback(const int callback_type);</code></pre><p>and, in C, by calling</p><pre><code class="language-cpp hljs">HighsInt Highs_stopCallback(void* highs, const int callback_type);</code></pre><h3 id="User-interrupt"><a class="docs-heading-anchor" href="#User-interrupt">User interrupt</a><a id="User-interrupt-1"></a><a class="docs-heading-anchor-permalink" href="#User-interrupt" title="Permalink"></a></h3><p>For the non-logging callbacks below, if the <code>user_interrupt</code> member of the <code>HighsCallbackDataIn</code> struct is set to a nonzero value, then the corresponding solver will be interrupted, and HiGHS will return to the user.</p><h3 id="Logging-callback"><a class="docs-heading-anchor" href="#Logging-callback">Logging callback</a><a id="Logging-callback-1"></a><a class="docs-heading-anchor-permalink" href="#Logging-callback" title="Permalink"></a></h3><p>The logging callback type is a cast of <code>kCallbackLogging</code> in the C++ enum <code>HighsCallbackType</code> and, in C, is the constant <code>kHighsCallbackLogging</code>. The logging type is a cast of the particular member of the enum class &#39;HighsLogType&#39;, and is available as a constant in C. It is passed as the member <code>log_type</code> in the <code>HighsCallbackDataOut</code> struct, and the message is passed as the <code>const char*</code> parameter.</p><h3 id="Simplex-interrupt-callback"><a class="docs-heading-anchor" href="#Simplex-interrupt-callback">Simplex interrupt callback</a><a id="Simplex-interrupt-callback-1"></a><a class="docs-heading-anchor-permalink" href="#Simplex-interrupt-callback" title="Permalink"></a></h3><p>The simplex interrupt is called once every simplex iteration, and its callback type is a cast of <code>kCallbackSimplexInterrupt</code> in the C++ enum <code>HighsCallbackType</code>, and the <code>kHighsCallbackSimplexInterrupt</code> constant in C. The simplex iteration count is passed as the <code>simplex_iteration_count</code> member of the <code>HighsCallbackDataOut</code> struct.</p><h3 id="IPM-interrupt-callback"><a class="docs-heading-anchor" href="#IPM-interrupt-callback">IPM interrupt callback</a><a id="IPM-interrupt-callback-1"></a><a class="docs-heading-anchor-permalink" href="#IPM-interrupt-callback" title="Permalink"></a></h3><p>The IPM interrupt is called once every interior point iteration, and its callback type is a cast of <code>kCallbackIpmInterrupt</code> in the C++ enum <code>HighsCallbackType</code>, and the <code>kHighsCallbackIpmInterrupt</code> constant in C. The IPM iteration count is passed as the <code>ipm_iteration_count</code> member of the <code>HighsCallbackDataOut</code> struct.</p><h3 id="MIP-improving-solution-callback"><a class="docs-heading-anchor" href="#MIP-improving-solution-callback">MIP improving solution callback</a><a id="MIP-improving-solution-callback-1"></a><a class="docs-heading-anchor-permalink" href="#MIP-improving-solution-callback" title="Permalink"></a></h3><p>The MIP improving solution is called whenever the MIP solver identifies an improving integer feasible solution, and its callback type is a cast of <code>kCallbackMipImprovingSolution</code> in the C++ enum <code>HighsCallbackType</code>, and the <code>kHighsCallbackMipImprovingSolution</code> constant in C. A pointer to the improving solution is passed as the <code>objective_function_value</code> and <code>mip_solution</code> members of the <code>HighsCallbackDataOut</code> struct.</p><h3 id="MIP-logging-callback"><a class="docs-heading-anchor" href="#MIP-logging-callback">MIP logging callback</a><a id="MIP-logging-callback-1"></a><a class="docs-heading-anchor-permalink" href="#MIP-logging-callback" title="Permalink"></a></h3><p>The MIP logging callback is called once every time MIP logging takes place, and its callback type is a cast of <code>kCallbackMipLogging</code> in the C++ enum <code>HighsCallbackType</code>, and <code>kHighsCallbackMipLogging</code> in C.</p><h3 id="MIP-interrupt-callback"><a class="docs-heading-anchor" href="#MIP-interrupt-callback">MIP interrupt callback</a><a id="MIP-interrupt-callback-1"></a><a class="docs-heading-anchor-permalink" href="#MIP-interrupt-callback" title="Permalink"></a></h3><p>The MIP interrupt callback is called when the MIP solver checks whether computation limits (such as time, node, leaves, improving solutions, and target objective) have been reached, and its callback type is a cast of <code>kCallbackMipInterrupt</code> in the C++ enum <code>HighsCallbackType</code>, and the <code>kHighsCallbackMipInterrupt</code> constant in C. The simplex iteration count is passed as the <code>simplex_iteration_count</code> member of the <code>HighsCallbackDataOut</code> struct.</p><h3 id="MIP-callback-data"><a class="docs-heading-anchor" href="#MIP-callback-data">MIP callback data</a><a id="MIP-callback-data-1"></a><a class="docs-heading-anchor-permalink" href="#MIP-callback-data" title="Permalink"></a></h3><p>For each of the MIP callbacks, the following <code>HighsCallbackDataOut</code> struct members will have value set</p><ul><li><code>running_time</code>: execution time of HiGHS</li><li><code>objective_function_value</code>: the objective function value of the best integer feasible solution found</li><li><code>mip_node_count</code>: the number of MIP nodes explored to date</li><li><code>mip_primal_bound</code>: the primal bound</li><li><code>mip_dual_bound</code>: the dual bound</li><li><code>mip_gap</code>: the (relative) difference between the primal and dual bounds</li></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../structures/classes/HighsInfo/">« HighsInfo</a><a class="docs-footer-nextpage" href="../interfaces/python/">Getting started »</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></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Saturday 27 April 2024 22:21">Saturday 27 April 2024</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion dev/executable/index.html
Expand Up @@ -22,4 +22,4 @@
--ranging arg Compute cost, bound, RHS and basic solution
ranging.
--version Print version.
-h, --help Print help.</code></pre><p>The <a href="../options/definitions/#option-definitions">list of options</a> section gives a full list of options, and the format in which they are specified.</p><h3 id="Return-code-values"><a class="docs-heading-anchor" href="#Return-code-values">Return code values</a><a id="Return-code-values-1"></a><a class="docs-heading-anchor-permalink" href="#Return-code-values" title="Permalink"></a></h3><p>Consistent with the callable methods in HiGHS, there are three possible return codes</p><ul><li>-1: An error has occurred in HiGHS</li><li>0: HiGHS has run successfully</li><li>1: HiGHS has recovered from an unusual event, or has terminated due to reaching a time or iteration limit</li></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../installation/">« Install HiGHS</a><a class="docs-footer-nextpage" href="../guide/">Introduction »</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></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Tuesday 23 April 2024 15:51">Tuesday 23 April 2024</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
-h, --help Print help.</code></pre><p>The <a href="../options/definitions/#option-definitions">list of options</a> section gives a full list of options, and the format in which they are specified.</p><h3 id="Return-code-values"><a class="docs-heading-anchor" href="#Return-code-values">Return code values</a><a id="Return-code-values-1"></a><a class="docs-heading-anchor-permalink" href="#Return-code-values" title="Permalink"></a></h3><p>Consistent with the callable methods in HiGHS, there are three possible return codes</p><ul><li>-1: An error has occurred in HiGHS</li><li>0: HiGHS has run successfully</li><li>1: HiGHS has recovered from an unusual event, or has terminated due to reaching a time or iteration limit</li></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../installation/">« Install HiGHS</a><a class="docs-footer-nextpage" href="../guide/">Introduction »</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></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Saturday 27 April 2024 22:21">Saturday 27 April 2024</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>

0 comments on commit 230416d

Please sign in to comment.