Together with other members of the TIMES community, I’ve been working on a small TIMES.jl prototype translating a small number of TIMES equations formulated in GAMS to Julia. Basically, this is a continuation of an earlier migration feasibility study. I have no previous experience with Julia/JuMP and would appreciate any feedback on the prototype with respect to performance, structure, etc.
Have you benchmarked the performance and solution quality? Does it find the same solutions? How long does it take?
I’ll note that a one-to-one transliteration of GAMS to JuMP is not going to be magically faster, an will probably be a bit slower. The question is whether that is worth the trade-off for going open-source.
In the longer-term, Julia offers a number of features that aren’t in GAMS that might permit a larger architectural re-design that can both simplify the code and lead to better performance.
Yes, the solution is the same for the small model this is based on. A larger TIMES model may lack some constraints or have some differences in constraints.
In the current version of the prototype, model generation is probably about 2 times slower compared to GAMS (which is already much faster compared to the first versions e.g. see discussions here). I already pre-calculate most of the equation/variable indices, but have not gotten rid of all the ifs in summation statements yet.