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

Fix temporal resolution connection_ratio_out_in #1147

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

gnawin
Copy link
Collaborator

@gnawin gnawin commented Dec 2, 2024

Fixes #1146

Checklist before merging

  • Documentation is up-to-date
  • Unit tests have been added/updated accordingly
  • Code has been formatted according to SpineOpt's style
  • Unit tests pass

@gnawin
Copy link
Collaborator Author

gnawin commented Dec 2, 2024

Hi @DillonJ @manuelma @Tasqu ,

t indice:
I changed t resolution from lowest to highest, and also modified the constraint accordingly. Does it make sense to you?

s indice:
To me, it works as expected, if s is only parent. But when there is parent and child, it does not. Could you give some instructions on where/how to make changes?

Thanks!

@Tasqu Tasqu self-requested a review December 3, 2024 05:59
@gnawin
Copy link
Collaborator Author

gnawin commented Dec 5, 2024

I made some updates, could you have a further review @Tasqu? Thanks!

Another issue that I have not touched upon is the delays. Since delay basically introduces a separate resolution, we (@datejada and I) found out:

  • if the delay is multiples of the resolutions from the node, it works.
  • otherwise, it does not. What would be desired is that the constraint indices are the highest resolution between the nodes and the delay. If we decide to go that way, any idea of how the implementation works?

@Tasqu
Copy link
Member

Tasqu commented Dec 9, 2024

Another issue that I have not touched upon is the delays. Since delay basically introduces a separate resolution, we found out:

  • if the delay is multiples of the resolutions from the node, it works.
  • otherwise, it does not. What would be desired is that the constraint indices are the highest resolution between the nodes and the delay. If we decide to go that way, any idea of how the implementation works?

This might be tricky. I took a quick look, and I'm not sure why it wouldn't be working even if the delay isn't an exact match. My best guess is that it might have something to do with the to_time_slice and _to_time_slice functions, as those are used to figure out which time slice the delay should be pointing at.

Unfortunately, I most likely don't have time to look into this any further for now either :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix flexible time resolution in constraint fix_ratio_out_in_connection_flow
2 participants