GAMS infeasibilities with limited foresight/rolling horizon setting
- Dominant language
- Jupyter Notebook
- Stars
- 150
- Forks
- 178
- Avg merge
- 17h 32m
- Merged PRs (30d)
- 2
Description
When I set the $SETGLOBAL foresight to any value more than 0 in model_setup.gms, the model fails to solve.
I am using the scenario.solve() command, and even with all constraints relaxed, it still fails to solve.
This is an example error message from the terminal when I set the foresight to 10 using the Austria tutorial model.
Optimal solution found.
Objective : 97345.372405
--- Restarting execution
--- MESSAGE_run.gms(4268) 2 Mb
--- Reading solution for model MESSAGE_LP
--- MESSAGE_run.gms(4158) 3 Mb
+++ Solve the recursive-dynamic version of MESSAGEix - iteration 2030 +++
Give it a bit more time, not even two minutes yet...
--- Generating LP model MESSAGE_LP
--- MESSAGE_run.gms(4268) 3 Mb 1 Error
*** SOLVE aborted
--- MESSAGE_run.gms(4268) 3 Mb 1 Error
*** Status: Execution error(s)
--- Job MESSAGE_run.gms Stop 11/01/20 12:59:54 elapsed 0:00:00.271
[I 13:01:44.629 NotebookApp] Saving file at /iiasa-message_ix-ee0287a/tutorial/Austrian_energy_system/austria.ipynb
I have tried it with the Westeros tutorial and a model I built, neither would solve with the recursive dynamic model.
----
https://github.com/iiasa/message_ix/blob/aa02d8c545aec4466fb98290cafbba598a9e56b8/message_ix/model/MESSAGE_master.gms#L55-L59
Contributor guide
Research direction
Start with the limited-foresight setup in model_setup.gms and the referenced section of message_ix/model/MESSAGE_master.gms at lines 55-59. Reproduce the failure with scenario.solve() using foresight 10 in the Austria tutorial, then compare with the Westeros tutorial. Done means the recursive-dynamic model solves when foresight is greater than zero.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter-notebook
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100