-
Notifications
You must be signed in to change notification settings - Fork 7
Add comprehensive allocation technical reference documentation #2479
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Hi @simulutions, In #2479, you are nicely updating the allocation documentation and make it more accessible to users. Copilot created this pull request to update and relocate the technical developer documentation on allocation. I updated the automatically generated PR description, which was inaccurate. These changes should complement what you are currently doing in #2479. |
| d^{p_{\text{fd}}} \text{ if } p = p_{\text{fd}} | ||
| \end{cases} | ||
| $$ | ||
| for all $i \in FD_S$. Here $d^{p_{\text{fd}}}$ is given by the original flow demand minus the flows through node $i$ at all priorities $p < p_{\text{fd}}$. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please explain what the subscripts fd and df mean
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a callout note explaining that the subscript "fd" stands for "flow demand", indicating the specific priority level associated with flow demand nodes in the subnetwork. Fixed in commit a07fe2c.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @copilot
| **Implementation:** | ||
| ```julia | ||
| get_subnetwork_ids(graph::MetaGraph, node_type::NodeType.T, subnetwork_id::Int32) = | ||
| filter(node_id -> node_id.type == node_type, graph[].node_ids[subnetwork_id]) | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not. visible in the generated docs, can you fix that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed the code block visibility by using proper Quarto syntax with {.julia} language specification and ensuring proper spacing. The implementation code should now render correctly in the generated documentation. Fixed in commit a07fe2c.
…ntegration - Fix mathematical notation consistency throughout both allocation documentation files - Ensure consistent use of F for flow variables (replaced mixed Q/F usage) - Standardize mathematical operators and set notation (≠, ∀, proper quantifiers) - Improve clarity of objective function formulations and error variable definitions - Update technical reference with comprehensive MOA.jl implementation details - Remove outdated TODO comments and placeholder content - Consolidate redundant documentation into streamlined technical reference - Verify consistency between documented math and actual linear programming implementation - Fix Quarto config reference to new dev/allocation-technical-reference.qmd 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
9d3c093 to
807457f
Compare
|
The purpose of this branch was to track the technical implementation of allocation. This pull request can now be closed, as this part of the documentation is no longer required. |
Motivation
The allocation documentation needed comprehensive updates to address developer
documentation gaps and improve technical clarity after the recent MOA.jl integration
(PR #2522).
Key Issues Addressed:
how it translates to actual JuMP implementation
reorganized
cleanup
documented
Solution
This PR creates comprehensive technical documentation that bridges the gap between
mathematical formulation and code implementation:
New Technical Reference Document
docs/dev/allocation-technical-reference.qmd- Complete developer guide(1,360+ lines)
profiles, and demand processing
allocation issues
Bridged Math-Code Gap
F_ij ≤ (C_S)_ij→JuMP.@constraint(problem, flow[link] <= capacity[link])implementation
process
quadratic) objectives
Recovered Technical Content
reference
implementations
Documentation Cleanup
Q/Fusage for flow variables throughoutsections
terminology
documentation
MOA.jl Integration Documentation
MOA.Optimizer(get_optimizer())initialization patternsJuMP.@objective(problem, Min, objectives.objective_expressions_all)approachorchestration
Key Changes
Files Modified:
-Created:
docs/dev/allocation-technical-reference.qmd- Complete technicalreference (1,360 lines)
-Updated:
docs/concept/allocation.qmd- Cleaned notation, removed TODOs,added MOA.jl references
-Removed:
docs/dev/allocation.qmd- Eliminated redundant content-Fixed:
docs/_quarto.yml- Updated navigation to reference new technicaldocumentation
Visual Result
The new technical reference provides:
Verification
TODOS:
#TODO: Add model image with primary network and secondary networks#TODO: Add image with which links are assumed to be part of the subnetwork