-\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 => 1)</code>, applied in parallel to each postponable customer</li><li><strong>Full features</strong>: <code>Dense(27 => 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="../contextual_stochastic_argmax/">« Contextual Stochastic 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="Wednesday 25 March 2026 15:15">Wednesday 25 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