Violation in constraint for modelling water reservoirs #993
Replies: 6 comments
-
The JSON file that you have attached is the json of your workflow in spine toolbox. However, if possible, we would like the json of your model that you defined in the spine db editor. You can obtain that by going into the spine db editor for your spine database. Then you can export the database as a json file. That will allow us to take a closer look at what is going on. Have you tried to isolate the problem and replicate the issue with a smaller system? That could be useful for you and also make it easier for us to debug later. |
Beta Was this translation helpful? Give feedback.
-
Hi! As I looked and was trying to fetch the jason files I took time to double check, and now I found that the Fix_node_state worked. But the main issue is still there, that we get too much water in our model. First thought was that a reservoir was violated, but upon further investigation, I found that the model is introducing heaps of water on its own in the beginning of the simulation. When I look at two nodes. The upper node for example "Malgomaj_upper" there is being introduced ~84 400 TE of water on the Connection__to_node while the Connection__from_node does not have these numbers. A solution that I have thought of is to set a fix value of the flow in the connection "before" the start of the simulation. but when I try to introduce this I receive an error "The optimizer HiGHS.Optimizer does not support |
Beta Was this translation helpful? Give feedback.
-
I do realize that my question is no longer relevant to this heading. Should I make a new post or can a admin maybe help me change the title? |
Beta Was this translation helpful? Give feedback.
-
Thanks for providing the files. I was trying to look at the system but it is quite large. So I would like to return to one of my original questions: can you isolate the problem and make a smaller system? That will make it a lot easier to debug. In any case, for me the jsons do not give an error. Though for one of the models I get the message that it is infeasible (I think it is the one with the |
Beta Was this translation helpful? Give feedback.
-
Hi! Thank you for taking the time. I might not have been clear before. but one of the Jason files should work fine. It gets an optimization result. But however, when we look at the connection_to_node in the result we find that the simulation program is introducing a ton of water from "nowhere". This is the main issue that I'm having, that the program is introducing resources from a connection in the beginning of the simulation resulting in our simulation having more resources than what is being set in the beginning. Then for the second problem. That is when I try to fix this bug by setting a fixed value to the connections in a time series before the main simulation starts. SpineOPT won't run and giving us an "infeasible" and a error message that I quoted above. It does this on this smaller version as well. I have worked down the simulation from 36 power plants to 13 now, but is it still too large? Smalle file_Infeasible_Conputing_conflict.json |
Beta Was this translation helpful? Give feedback.
-
Sorry for not being able to get back to you. I'm very busy at the moment and I will be for the next week as well. 13 plants is better, but in the meanwhile it would help if you could really narrow it down to the smallest system in which the error or unintended behaviour occurs. That will make it easier when I do get a little time. |
Beta Was this translation helpful? Give feedback.
-
Describe your problem
Hi! We are a group that is simulating a river system with Spine. We have gotten it almost done, but we found out that Spine is breaking our boundary with fix_node_state that we set for the end of the simulation and uses the whole reservoir. I have tried to look for a way to put a price for missing this, but can't find any. Right now I have fix_node_state as a time series that fixes the level at the beginning of the simulation, then goes to NaN and for the last hour is set to what the level should be in the end.
I thought to try to set an initial_node_state and a time series for node_state_min (0 for all of the simulations and required level at the end) but when I try to run the simulation I get an error "LoadError: Unable to set lower bound to NaN. To remove the bound, use delete_lower_bound."
Any help on why I would get this message or another angel of attack to solve this isue would be greatly appriciated.
Attach your model as a JSON file (encouraged)
project.json
What versions are you using?
SpineOpt:
SpineInterface:
SpineToolbox:
Julia:
Beta Was this translation helpful? Give feedback.
All reactions