Skip to content

Commit 0e0edbb

Browse files
author
Documenter.jl
committed
build based on 89a581e
1 parent bc5a6e3 commit 0e0edbb

20 files changed

Lines changed: 345 additions & 251 deletions

File tree

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.12.4","generation_timestamp":"2026-01-12T08:15:15","documenter_version":"1.16.1"}}
1+
{"documenter":{"julia_version":"1.12.5","generation_timestamp":"2026-03-03T14:55:11","documenter_version":"1.17.0"}}

dev/api/index.html

Lines changed: 231 additions & 220 deletions
Large diffs are not rendered by default.

dev/assets/documenter.js

Lines changed: 13 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dev/assets/warner.js

Lines changed: 61 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,40 @@ function maybeAddWarning() {
3737
closer.addEventListener("click", function () {
3838
document.body.removeChild(div);
3939
});
40-
const href = window.documenterBaseURL + "/../" + window.DOCUMENTER_STABLE;
40+
var target_href =
41+
window.documenterBaseURL + "/../" + window.DOCUMENTER_STABLE;
42+
43+
// try to stay on the same page when linking to the stable version
44+
// get the current page path relative to the version root
45+
var current_page = window.location.pathname;
46+
47+
// resolve the documenterBaseURL to an absolute path
48+
// documenterBaseURL is a relative path (usually "."), so we need to resolve it
49+
var base_url_absolute = new URL(documenterBaseURL, window.location.href)
50+
.pathname;
51+
if (!base_url_absolute.endsWith("/")) {
52+
base_url_absolute = base_url_absolute + "/";
53+
}
54+
55+
// extract the page path after the version directory
56+
// e.g., if we're on /stable/man/guide.html, we want "man/guide.html"
57+
var page_path = "";
58+
if (current_page.startsWith(base_url_absolute)) {
59+
page_path = current_page.substring(base_url_absolute.length);
60+
}
61+
62+
// construct the target URL with the same page path
63+
var target_url = target_href;
64+
if (page_path && page_path !== "" && page_path !== "index.html") {
65+
// ensure target_href ends with a slash before appending page path
66+
if (!target_url.endsWith("/")) {
67+
target_url = target_url + "/";
68+
}
69+
target_url = target_url + page_path;
70+
}
71+
72+
// preserve the anchor (hash) from the current page
73+
var current_hash = window.location.hash;
4174

4275
// Determine if this is a development version or an older release
4376
let warningMessage = "";
@@ -51,12 +84,35 @@ function maybeAddWarning() {
5184
"This documentation is for an <strong>older version</strong> that may be missing recent changes.<br>";
5285
}
5386

54-
warningMessage +=
55-
'<a href="' +
56-
href +
57-
'">Click here to go to the documentation for the latest stable release.</a>';
87+
// Create the link element with same-page navigation
88+
const link = document.createElement("a");
89+
link.href = target_url + current_hash;
90+
link.textContent =
91+
"Click here to go to the documentation for the latest stable release.";
92+
93+
// If we're trying to stay on the same page, verify it exists first
94+
if (page_path && page_path !== "" && page_path !== "index.html") {
95+
link.addEventListener("click", function (e) {
96+
e.preventDefault();
97+
// check if the target page exists, fallback to homepage if it doesn't
98+
fetch(target_url, { method: "HEAD" })
99+
.then(function (response) {
100+
if (response.ok) {
101+
window.location.href = target_url + current_hash;
102+
} else {
103+
// page doesn't exist in the target version, go to homepage
104+
window.location.href = target_href;
105+
}
106+
})
107+
.catch(function (error) {
108+
// network error or other failure - use homepage
109+
window.location.href = target_href;
110+
});
111+
});
112+
}
58113

59114
div.innerHTML = warningMessage;
115+
div.appendChild(link);
60116
div.appendChild(closer);
61117
document.body.appendChild(div);
62118
}

dev/benchmark_interfaces/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,4 @@
3939
reset!(env::AbstractEnvironment; reset_rng::Bool, seed=get_seed(env)) # Reset to initial state
4040
observe(env::AbstractEnvironment) -&gt; (obs, info) # Get current observation
4141
step!(env::AbstractEnvironment, action) -&gt; reward # Take action, get reward
42-
is_terminated(env::AbstractEnvironment) -&gt; Bool # Check if episode ended</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../">« Getting started</a><a class="docs-footer-nextpage" href="../warcraft_tutorial/">Path-finding on image maps »</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.16.1 on <span class="colophon-date" title="Monday 12 January 2026 08:15">Monday 12 January 2026</span>. Using Julia version 1.12.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
42+
is_terminated(env::AbstractEnvironment) -&gt; Bool # Check if episode ended</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../">« Getting started</a><a class="docs-footer-nextpage" href="../warcraft_tutorial/">Path-finding on image maps »</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="Tuesday 3 March 2026 14:55">Tuesday 3 March 2026</span>. Using Julia version 1.12.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>

dev/benchmarks/argmax/index.html

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

dev/benchmarks/dvsp/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
\fbox{Neural network $\varphi_w$}
44
\xrightarrow[\text{Prizes}]{\theta}
55
\fbox{Prize-collecting VSP}
6-
\xrightarrow[\text{Routes}]{a_t}\]</p><p><strong>Components</strong>:</p><ol><li><strong>Neural Network</strong> <span>$\varphi_w$</span>: Takes current state features as input and predicts customer prizes <span>$\theta = (\theta_1, \ldots, \theta_n)$</span>, one value per postponable customer.</li><li><strong>Optimization Layer</strong>: Solves the prize-collecting vehicle scheduling problem to determine optimal routes given the predicted prizes, by maximizing total collected prizes minus travel costs: <code>math \max_{a_t\in \mathcal{A}(s_t)} \sum_{r \in a_t} \left( \sum_{i \in r} \theta_i - \sum_{(i,j) \in r} d_{ij} \right)</code> This can be modeled as a flow linear program on a directed acyclic graph (DAG) and is solved using standard LP solvers.</li></ol><p>The neural network architecture adapts to the feature dimensionality:</p><ul><li><strong>2D features</strong>: <code>Dense(2 =&gt; 1)</code>, applied in parallel to each postponable customer</li><li><strong>Full features</strong>: <code>Dense(27 =&gt; 1)</code> applied in parallel to each postponable customer</li></ul><p><strong>Note:</strong> one can also use more complex architectures such as a deeper MLP or a graph neural network for better performance.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../argmax/">« Argmax</a><a class="docs-footer-nextpage" href="../dynamic_assortment/">Dynamic Assortment »</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.16.1 on <span class="colophon-date" title="Monday 12 January 2026 08:15">Monday 12 January 2026</span>. Using Julia version 1.12.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
6+
\xrightarrow[\text{Routes}]{a_t}\]</p><p><strong>Components</strong>:</p><ol><li><strong>Neural Network</strong> <span>$\varphi_w$</span>: Takes current state features as input and predicts customer prizes <span>$\theta = (\theta_1, \ldots, \theta_n)$</span>, one value per postponable customer.</li><li><strong>Optimization Layer</strong>: Solves the prize-collecting vehicle scheduling problem to determine optimal routes given the predicted prizes, by maximizing total collected prizes minus travel costs: <code>math \max_{a_t\in \mathcal{A}(s_t)} \sum_{r \in a_t} \left( \sum_{i \in r} \theta_i - \sum_{(i,j) \in r} d_{ij} \right)</code> This can be modeled as a flow linear program on a directed acyclic graph (DAG) and is solved using standard LP solvers.</li></ol><p>The neural network architecture adapts to the feature dimensionality:</p><ul><li><strong>2D features</strong>: <code>Dense(2 =&gt; 1)</code>, applied in parallel to each postponable customer</li><li><strong>Full features</strong>: <code>Dense(27 =&gt; 1)</code> applied in parallel to each postponable customer</li></ul><p><strong>Note:</strong> one can also use more complex architectures such as a deeper MLP or a graph neural network for better performance.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../argmax/">« Argmax</a><a class="docs-footer-nextpage" href="../dynamic_assortment/">Dynamic Assortment »</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="Tuesday 3 March 2026 14:55">Tuesday 3 March 2026</span>. Using Julia version 1.12.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>

dev/benchmarks/dynamic_assortment/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
\fbox{Neural network $\varphi_w$}
1010
\xrightarrow[\text{Cost vector}]{\theta}
1111
\fbox{Top K}
12-
\xrightarrow[\text{Assortment}]{a_t}\]</p><p><strong>Components</strong>:</p><ol><li><strong>Neural Network</strong> <span>$\varphi_w$</span>: Takes the current state <span>$s_t$</span> as input and predicts item utilities <span>$\theta = (\theta_1, \ldots, \theta_N)$</span></li><li><strong>Optimization Layer</strong>: Selects the top <span>$K$</span> items with highest predicted utilities to form the assortment <span>$a_t$</span></li></ol><h2 id="Reference"><a class="docs-heading-anchor" href="#Reference">Reference</a><a id="Reference-1"></a><a class="docs-heading-anchor-permalink" href="#Reference" title="Permalink"></a></h2><p>Based on the paper: <a href="https://arxiv.org/abs/2505.19053">Structured Reinforcement Learning for Combinatorial Decision-Making</a></p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../dvsp/">« Dynamic Vehicle Scheduling</a><a class="docs-footer-nextpage" href="../fixed_size_shortest_path/">Shortest paths »</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.16.1 on <span class="colophon-date" title="Monday 12 January 2026 08:15">Monday 12 January 2026</span>. Using Julia version 1.12.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
12+
\xrightarrow[\text{Assortment}]{a_t}\]</p><p><strong>Components</strong>:</p><ol><li><strong>Neural Network</strong> <span>$\varphi_w$</span>: Takes the current state <span>$s_t$</span> as input and predicts item utilities <span>$\theta = (\theta_1, \ldots, \theta_N)$</span></li><li><strong>Optimization Layer</strong>: Selects the top <span>$K$</span> items with highest predicted utilities to form the assortment <span>$a_t$</span></li></ol><h2 id="Reference"><a class="docs-heading-anchor" href="#Reference">Reference</a><a id="Reference-1"></a><a class="docs-heading-anchor-permalink" href="#Reference" title="Permalink"></a></h2><p>Based on the paper: <a href="https://arxiv.org/abs/2505.19053">Structured Reinforcement Learning for Combinatorial Decision-Making</a></p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../dvsp/">« Dynamic Vehicle Scheduling</a><a class="docs-footer-nextpage" href="../fixed_size_shortest_path/">Shortest paths »</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="Tuesday 3 March 2026 14:55">Tuesday 3 March 2026</span>. Using Julia version 1.12.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>

0 commit comments

Comments
 (0)