Skip to content
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

Main (allocation) network #768

Closed
SouthEndMusic opened this issue Nov 10, 2023 · 1 comment
Closed

Main (allocation) network #768

SouthEndMusic opened this issue Nov 10, 2023 · 1 comment
Labels
allocation Allocation layer needs-refinement Issues that are too large and need refinement

Comments

@SouthEndMusic
Copy link
Collaborator

SouthEndMusic commented Nov 10, 2023

In the discussions about allocation we have introduced the concepts of main network and subnetworks. In my current picture of this, the main network is disjoint from the subnetworks. As discussed, we could say that the main network as a special case of subnetwork denoted with subnetwork* ID 1, which is treated differently in the computational core than the other subnetworks.

Special properties of the main network:

  • The main network has its own optimization, where the inlets to subnetworks are modelled as users (see also Optimize allocation per source in a fixed order #565 (comment));
  • These 'users' can also be sources and have no return flow. Determining whether there is water left in a subnetwork to give back to the main network is a quite complex problem on its own.

Explicitly introducing this main network closes the door to arbitrarily deeply nested allocation. I would say that this is not a problem because arbitrarily deeply nested allocation can be quite confusing to the modeler in terms of input and behavior, and wont see much use cases.

* I use subnetwork and allocation network somewhat interchangeably. At first there was a clear distinction, with the subnetwork consisting of a subset of nodes, and the allocation network being the 'separate' derived graph used in allocation optimization. However, #732 will remove this distinction. Currently in the in- and output names only allocation network is used.

@SouthEndMusic SouthEndMusic added the allocation Allocation layer label Nov 10, 2023
@github-project-automation github-project-automation bot moved this to To do in Ribasim Nov 10, 2023
@SouthEndMusic SouthEndMusic moved this from To do to What's next in Ribasim Nov 23, 2023
@SouthEndMusic SouthEndMusic moved this from What's next to Sprint backlog in Ribasim Jan 8, 2024
@visr visr added the needs-refinement Issues that are too large and need refinement label Jan 8, 2024
@SouthEndMusic
Copy link
Collaborator Author

Closed in favor of #920, #921, #922.

@github-project-automation github-project-automation bot moved this from Sprint backlog to ✅ Done in Ribasim Jan 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
allocation Allocation layer needs-refinement Issues that are too large and need refinement
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants