Inquiry about the method to increase the optimisation speed #727
Replies: 9 comments
-
Hello. Couple of questions to narrow the problem:
|
Beta Was this translation helpful? Give feedback.
This comment has been hidden.
This comment has been hidden.
-
Hi @HaoyuFang0909 why not use HiGHS as the MIP solver? It's a lot more performant than CBC. But this might not solve your issue. Can your model use a rolling optimisation? What is the longest duration storage in the model? Does it have investments? |
Beta Was this translation helpful? Give feedback.
-
At a quick glance, it doesn't look like a big model and you're not running investments. What's probably making it slow is that you have binary start-up variables for most of your units and long minimum uptime and downtime requirements for some of them. Those can make the model slow, since they create difficult constraints for the solver. You could try to remove the minimum down and uptime requirements from most units (typically that's not going to affect your results very much), just leave them on units like nuclear for which they are more serious. You could also create an alternative scenario where the unit online decisions are linear to see how fast you can get it that way. Also, CBC is very slow (which you would be using in this integer model). You could try HiGHS. It should be faster on MIP problems too. However, it will still be much slower than commercial solvers (in MIP). Jody's suggestion to use rolling optimization is also very good if you want to keep the level of detail you have for the thermal units. |
Beta Was this translation helpful? Give feedback.
-
Thanks for your helpful advice! @DillonJ @jkiviluo Sorry I don't know much about the performance of these solvers. For rolling optimization, how should I set |
Beta Was this translation helpful? Give feedback.
-
Also, I am not sure that you said I was not running investments. I have added the temporal block and parameters of Electrolysis and Fuel Cells for investment. Is there something wrong with my investment part? |
Beta Was this translation helpful? Give feedback.
-
In the result the investment is indeed not being used, I suspect the investment price is set too high, or there is indeed a problem? |
Beta Was this translation helpful? Give feedback.
-
Sorry to bother you again. When I set ERROR: LoadError: MathOptInterface.UnsupportedAttribute{MathOptInterface.RawParameter}: Attribute MathOptInterface.RawParameter("mip_rel_gap") is not supported by the model. |
Beta Was this translation helpful? Give feedback.
-
Thanks! I have solved this problem by specifying HiGHS in |
Beta Was this translation helpful? Give feedback.
-
Hi @DillonJ ,
Based on a SPINE model of the UK electricity system, I would like to run the optimization for a whole year, but I cannot run it at 1-hour resolution as it would take quite a lot of time. (I ran it at 12-hour resolution and it takes 10 hours) I wonder if there is any method to speed up the optimisation?
Thanks
Beta Was this translation helpful? Give feedback.
All reactions