SlideShare a Scribd company logo
TIMES2JuMP project status report
Learnings on the feasibility of
Migrating TIMES to Julia JuMP so far…
Work in Progress
Dr James Glynn (ESMA), Dr Olexandr Balyk,
Dr Siddharth Krishna (Open Energy Transition)
2025.06.10 | ETSAP Workshop, NARA, JAPAN www.esma.ie
Outline 01
1. Motivation - Terms of Reference
2. TIMES workflow - barriers to entry
3. Code translation considerations
3.1. Fundamental differences
3.2. Data Structures & presolve
3.3. TIMES re-write rather than
Translation
4. Julia JuMP Performance
4.1. On going benchmarking
5. Costs of Current workflow
6. Dialogue with ETSAP Community
(Dev & Users), OpenMOD & JuMP
6.1. Future developers & TIMES
users via Julia or Python
JuMP (Julia for Mathematical Programming) is an open-source algebraic modeling language (AML)
that is deeply embedded within the Julia language. It allows users to express a wide array of
optimization problems—including linear programming (LP), mixed-integer programming (MIP),
quadratic programming (QP), second-order cone programming (SOCP), semidefinite programming
(SDP), and nonlinear programming (NLP)—using a high-level algebraic syntax that is familiar to users
of other AMLs
1. Open Source, Transparent & reproducible - Good for science & innovation
2. Reduce barrier to entry and attract new talent & vitality to the TIMES community
3. JuMP is been overhalled since the initial ETSAP JuMP study (2018 - Gothenburg).
4. Julia is engineered for high performance & as Models grow in scale this is important
4.1. In memory communication
4.2. Innovative future potential for TIMES - integrated ML for Demand estimation for example.
5. Re writing TIMES from GAMS to JuMP can have profound consequences, but comes with some
considerable hurdles - we face some of these hurdles irrespective of this migration.
5.1. The choice is not solely a technical performance related question.
5.2. There are uncertainties within this strategic decision
Motivation & Terms of Reference of TIMES2JuMP 02
1. GAMS Commercial Licence with CPLEX $14,000 for 1 seat
2. Veda Advanced Commercial Licence $12,000 for 1 seat
3. TIMES code is succinct and elegant within GAMS. It’s current formulation nor data handling would not
directly translate well to JuMP - a naive translation would lead to poor performance in JuMP.
3.1. Formulation needs reimagining - i.e. need an “Antti” and an “Oscar” to ensure performant TIMES code
functionality in the transition - both world class in their TIMES, GAMS and JuMP fields
4. GAMS preprocessing and presolve model construction is sophisciated and world class
TIMES workflow, barriers to entry, speed and costs 03
XL2TIMES
1. JuMP requires quite different code
logical construction approach to match
GAMS presolve performance.
2. Review Paper: Dunning, Iain, Joey
Huchette, and Miles Lubin. "JuMP: A
modeling language for mathematical
optimization." SIAM review 59, no. 2
(2017): 295-320.
Code translation considerations 04
1. Writing Efficient Julia Code is
critical
2. Effective software engineering
identified as a key risk.
2.1. I.e. access to professional
JuMP programmers
3. Different data structure and
preprocessing approch compared
to GAMS required for Julia to
performance effectively
4. Prototype developing lead by Olex
4.1. Collaboration with Oscar
Dowson on expert structural
review
4.2. Collaboration with Antti &
Will (NZ)
4.3. Discussing engaging another
(less busy) JuMP expert
Julia JuMP Prototype Performance 05
1. GAMS CPLEX costs agreement from 1999 - ETSAP is considerably benefiting from the age of this
agreement.
1.1. CPLEX is typically sold via resellers and not directly from IBM.
2. Current commercial CPLEX studio & CPLEX Solver licence is €100k per seat - this was my first direct
commercial quote.
2.1. TOO EXPENSIVE! - this started a journey with IBM
3. CPLEX is free of cost for academic users
4. GAMS is free of cost for academic users
5. ETSAP-TIMES does not need the full CPLEX Studio Suite - we need a solver bridge. (Thank you
Evangelos for sparking this realisation)
5.1. Embedded Software agreement (ESA) €204k for 80 seats or €2,500 per user for CPLEX (2.5%
the usual commercial cost)
5.1.1. ETSAP can distribute ESA licences within within the TIMES code or within the community
as the ExCo wishes.
5.2. Took time to find common ground and understanding of use case with IBM (EMEA - Dublin,
Paris & London offices).
6. Existing CPLEX Licences via GAMS would still be backwards compatible and available via Julia
packages (GAMS.jl)
Costs of Current workflow & quoted future costs 06
1. Community Acceptance from TIMES Developers
1.1. Initial Unstructured Dialogue with TIMES Developers
1.1.1. Language Agnosticism and efficiency - avoid prolonged transition challenges
1.1.2. Parallel Code Development (not liked - never ending project potential risk)
1.1.3. Backward compatibility & comprehensive testing required for comfort and validation
1.1.4. Desire for improved code maintenance and version control - more collaboration desired
1.1.5. GAMSPy should be a useful stepping stone between programming languages.
1.1.6. Needs Urgency and Long Term Commitment (Longevity of JuMP & Python? 50 years?)
2. JuMP Developers
2.1. Oscar Dowson - Lead JuMP developer
2.1.1. Presolve Data Structures
2.1.2. Code logical construction needs to be very different to GAMS (Vector data structures
rather than sets & filters)
3. OpenMOD, Online LinkedIn with Modelling Community moving towards JuMP in Next Gen Models
3.1. GENX (MIT - Princeton)
3.2. SIENNA (NREL US Gov)
3.3. SpineOpt.jj (EU Comission)
3.4. GENsysMOD (OSEmosys translation from GAMS to JuMP)
Dialogue with ETSAP, JuMP Developers & OpenMOD 07
1. Most Popular technologies among StackOverflow developer survey
1.1. https://survey.stackoverflow.co/2024/technology
1.2. Python 51% of survey
1.3. Julia 1.1% of survey respondents
2. Admired Vs Desired
2.1. Python - Admired 67.6% - Desired 41.9%
2.2. Julia - Admired 61% - Desired 2.1%
3. Salary / Cost
3.1. Julia Programmer Median Salary $70,000 per year (Decreasing)
3.2. Python Programmer Median Salary $67,000 per year (Decreasing)
4. Python is the #1 most popular programming language professionally (plenty of talent in the pool to
draw from for a migration)
4.1. Julia is 33rd (0.42% of developers)
4.2. GAMS is 36th (0.3% of developers)
Availability of Julia (JuMP) or Python (Linopy) developers? 08
1. Complete Literature review
2. Complete Prototyping
3. Complete benchmarks
4. Complete Costs setup assessment given
CPLEX ESA costs for Group ETSAP licence
(as opposed to individual institutional
licences).
5. Complete broader community round table
panel discussions
6. Report Back
OpenMOD Conversation:
https://forum.openmod.org/t/feasibility-of-migr
ating-times-to-julia-jump-from-gams/5326
LinkedIn Conversation:
https://www.linkedin.com/posts/esma-ie_we-ha
ve-been-tasked-within-the-etsap-community-
activity-7336451659528605697-263x?utm_sou
Next Steps 9
THANK YOU
www.esma.ie
Dr James Glynn
2025.06.10 | ETSAP Workshop, NARA, JAPAN
ESMA provides academically rigorous research consulting services on timescales that matter to decision makers,
using best-in-class open energy systems models, leveraging the more than 40 years of institutional knowledge in
the IEA-ETSAP TIMES open-source code to enable partnerships to co-create data-driven insights for optimal
investment decisions, engineering operation, strategic long-term planning, policy uncertainty, and risk mitigation
analytics in clean energy futures.
ESMA understands Trust and Relationships. We incorporate community, city, national and global perspectives into
our energy systems models, keeping the needs of the fair social good, community of practice, city, NGO,
Government, finance and industry stakeholders in mind when considering our interconnectedness and
dependencies.
ESMA Ltd. is a data start-up that builds innovative best-practice computer math models (LP/NLP/MIP) based on
systems thinking, engineering, science, and ecological economics to create data-driven decision intelligence and
logically navigate the uncertainty space to plan, invest, build, operate, and live within a sustainable, secure future
energy system.
WHAT WE DO
www.esma.ie
www.esma.ie

More Related Content

PDF
Migrating TIMES to another modelling language - approaches, issues and problems
PDF
Feasibility Study for TIMES Model Generator Migration from GAMS to Julia
PDF
TIMES Migration Feasibility Study
PDF
A GAMSPy Port of the TIMES Model Generator
PDF
Open Source TIMES Excel Reader
PDF
System Analysis And Modeling 4th International Sdl And Msc Workshop Sam 2004 ...
PDF
Generalized levelized cost as a metric for explaining model behavior of linea...
PDF
A platform for open, realistic, and reproducible benchmarking of solvers on e...
Migrating TIMES to another modelling language - approaches, issues and problems
Feasibility Study for TIMES Model Generator Migration from GAMS to Julia
TIMES Migration Feasibility Study
A GAMSPy Port of the TIMES Model Generator
Open Source TIMES Excel Reader
System Analysis And Modeling 4th International Sdl And Msc Workshop Sam 2004 ...
Generalized levelized cost as a metric for explaining model behavior of linea...
A platform for open, realistic, and reproducible benchmarking of solvers on e...

More from IEA-ETSAP (20)

PDF
Integrated Long-Term Planning and Short-Term Reliability Assessment for High-...
PDF
IEA H2 TCP Task 52 Hydrogen for Iron and Steel Making
PDF
TIMES-NZ 3.0: automating upstream data processing for an open-source workflow
PDF
Towards a national integrated energy, land and food system model for long ter...
PDF
Development of an AFOLU module for TIMES
PDF
The plant-level decarbonization pathways and mitigation cost of global oil re...
PDF
Near-optimal solutions for long-term energy planning facing the possible crit...
PDF
Integrated TIMES-E3ME-PLEXOS-DASMOD Modelling Framework for Assessing The Cze...
PDF
Does myopic foresight modeling better capture the real-world energy transitio...
PDF
xl2times: progress update & a proof-of-concept interactive notebook-based wor...
PDF
Liberating energy models from modelers Amit Kanudia
PDF
The potential role of alternative fuels in the decarbonization of hard-to-aba...
PDF
Future Low-Carbon Hydrogen Production Technology Penetration with Aspen-Based...
PDF
Integrating Detailed Petrochemical Processes in Global Energy System Models f...
PDF
Are Heavy-Duty Vehicles at a Crossroads? A Real Options and Innovation Diffus...
PDF
An Assessment of the Impact of Electrification for Integration of Offshore Wi...
PDF
Role of Carbon Pricing and Emissions Constraint Pathways for India’s Net-Zero...
PDF
Implications of Party Politics for Future Energy System Scenarios in Norway
PDF
Modelling pathways, shaping climate policy: Lessons from the TIMES-Ireland Model
PDF
Pakistan Integrated Energy Plan (iE-Plan)
Integrated Long-Term Planning and Short-Term Reliability Assessment for High-...
IEA H2 TCP Task 52 Hydrogen for Iron and Steel Making
TIMES-NZ 3.0: automating upstream data processing for an open-source workflow
Towards a national integrated energy, land and food system model for long ter...
Development of an AFOLU module for TIMES
The plant-level decarbonization pathways and mitigation cost of global oil re...
Near-optimal solutions for long-term energy planning facing the possible crit...
Integrated TIMES-E3ME-PLEXOS-DASMOD Modelling Framework for Assessing The Cze...
Does myopic foresight modeling better capture the real-world energy transitio...
xl2times: progress update & a proof-of-concept interactive notebook-based wor...
Liberating energy models from modelers Amit Kanudia
The potential role of alternative fuels in the decarbonization of hard-to-aba...
Future Low-Carbon Hydrogen Production Technology Penetration with Aspen-Based...
Integrating Detailed Petrochemical Processes in Global Energy System Models f...
Are Heavy-Duty Vehicles at a Crossroads? A Real Options and Innovation Diffus...
An Assessment of the Impact of Electrification for Integration of Offshore Wi...
Role of Carbon Pricing and Emissions Constraint Pathways for India’s Net-Zero...
Implications of Party Politics for Future Energy System Scenarios in Norway
Modelling pathways, shaping climate policy: Lessons from the TIMES-Ireland Model
Pakistan Integrated Energy Plan (iE-Plan)
Ad

Recently uploaded (20)

DOCX
Epoxy Coated Steel Bolted Tanks for Beverage Wastewater Storage Manages Liqui...
PPTX
Envrironmental Ethics: issues and possible solution
PPT
PPTPresentation3 jhsvdasvdjhavsdhsvjcksjbc.jasb..ppt
PDF
Tree Biomechanics, a concise presentation
PDF
Blue Economy Development Framework for Indonesias Economic Transformation.pdf
PPTX
sustainable-development in tech-ppt[1].pptx
PPTX
Arugula. Crop used for medical plant in kurdistant
DOCX
Epoxy Coated Steel Bolted Tanks for Crude Oil Large-Scale Raw Oil Containment...
DOCX
Epoxy Coated Steel Bolted Tanks for Fish Farm Water Provides Reliable Water f...
PDF
2-Reqerwsrhfdfsfgtdrttddjdiuiversion 2.pdf
PPTX
Delivery census may 2025.pptxMNNN HJTDV U
PPTX
FIRE SAFETY SEMINAR SAMPLE FOR EVERYONE.pptx
PDF
Effect of anthropisation and revegetation efforts on soil bacterial community...
PDF
Effective factors on adoption of intercropping and it’s role on development o...
PDF
Lecture 2 investigation of renal diseses.pdf
DOCX
D-360 ESG Series: Sustainable Hospitality Strategies for a Greener Future
PPTX
Plant_Cell_Presentation.pptx.com learning purpose
PDF
School Leaders Revised Training Module, SCB.pdf
PPTX
Biodiversity.udfnfndrijfreniufrnsiufnriufrenfuiernfuire
PPTX
"One Earth Celebrating World Environment Day"
Epoxy Coated Steel Bolted Tanks for Beverage Wastewater Storage Manages Liqui...
Envrironmental Ethics: issues and possible solution
PPTPresentation3 jhsvdasvdjhavsdhsvjcksjbc.jasb..ppt
Tree Biomechanics, a concise presentation
Blue Economy Development Framework for Indonesias Economic Transformation.pdf
sustainable-development in tech-ppt[1].pptx
Arugula. Crop used for medical plant in kurdistant
Epoxy Coated Steel Bolted Tanks for Crude Oil Large-Scale Raw Oil Containment...
Epoxy Coated Steel Bolted Tanks for Fish Farm Water Provides Reliable Water f...
2-Reqerwsrhfdfsfgtdrttddjdiuiversion 2.pdf
Delivery census may 2025.pptxMNNN HJTDV U
FIRE SAFETY SEMINAR SAMPLE FOR EVERYONE.pptx
Effect of anthropisation and revegetation efforts on soil bacterial community...
Effective factors on adoption of intercropping and it’s role on development o...
Lecture 2 investigation of renal diseses.pdf
D-360 ESG Series: Sustainable Hospitality Strategies for a Greener Future
Plant_Cell_Presentation.pptx.com learning purpose
School Leaders Revised Training Module, SCB.pdf
Biodiversity.udfnfndrijfreniufrnsiufnriufrenfuiernfuire
"One Earth Celebrating World Environment Day"
Ad

TIMES2JuMP project status report; Learnings on the feasibility of Migrating TIMES to Julia JuMP

  • 1. TIMES2JuMP project status report Learnings on the feasibility of Migrating TIMES to Julia JuMP so far… Work in Progress Dr James Glynn (ESMA), Dr Olexandr Balyk, Dr Siddharth Krishna (Open Energy Transition) 2025.06.10 | ETSAP Workshop, NARA, JAPAN www.esma.ie
  • 2. Outline 01 1. Motivation - Terms of Reference 2. TIMES workflow - barriers to entry 3. Code translation considerations 3.1. Fundamental differences 3.2. Data Structures & presolve 3.3. TIMES re-write rather than Translation 4. Julia JuMP Performance 4.1. On going benchmarking 5. Costs of Current workflow 6. Dialogue with ETSAP Community (Dev & Users), OpenMOD & JuMP 6.1. Future developers & TIMES users via Julia or Python
  • 3. JuMP (Julia for Mathematical Programming) is an open-source algebraic modeling language (AML) that is deeply embedded within the Julia language. It allows users to express a wide array of optimization problems—including linear programming (LP), mixed-integer programming (MIP), quadratic programming (QP), second-order cone programming (SOCP), semidefinite programming (SDP), and nonlinear programming (NLP)—using a high-level algebraic syntax that is familiar to users of other AMLs 1. Open Source, Transparent & reproducible - Good for science & innovation 2. Reduce barrier to entry and attract new talent & vitality to the TIMES community 3. JuMP is been overhalled since the initial ETSAP JuMP study (2018 - Gothenburg). 4. Julia is engineered for high performance & as Models grow in scale this is important 4.1. In memory communication 4.2. Innovative future potential for TIMES - integrated ML for Demand estimation for example. 5. Re writing TIMES from GAMS to JuMP can have profound consequences, but comes with some considerable hurdles - we face some of these hurdles irrespective of this migration. 5.1. The choice is not solely a technical performance related question. 5.2. There are uncertainties within this strategic decision Motivation & Terms of Reference of TIMES2JuMP 02
  • 4. 1. GAMS Commercial Licence with CPLEX $14,000 for 1 seat 2. Veda Advanced Commercial Licence $12,000 for 1 seat 3. TIMES code is succinct and elegant within GAMS. It’s current formulation nor data handling would not directly translate well to JuMP - a naive translation would lead to poor performance in JuMP. 3.1. Formulation needs reimagining - i.e. need an “Antti” and an “Oscar” to ensure performant TIMES code functionality in the transition - both world class in their TIMES, GAMS and JuMP fields 4. GAMS preprocessing and presolve model construction is sophisciated and world class TIMES workflow, barriers to entry, speed and costs 03 XL2TIMES
  • 5. 1. JuMP requires quite different code logical construction approach to match GAMS presolve performance. 2. Review Paper: Dunning, Iain, Joey Huchette, and Miles Lubin. "JuMP: A modeling language for mathematical optimization." SIAM review 59, no. 2 (2017): 295-320. Code translation considerations 04
  • 6. 1. Writing Efficient Julia Code is critical 2. Effective software engineering identified as a key risk. 2.1. I.e. access to professional JuMP programmers 3. Different data structure and preprocessing approch compared to GAMS required for Julia to performance effectively 4. Prototype developing lead by Olex 4.1. Collaboration with Oscar Dowson on expert structural review 4.2. Collaboration with Antti & Will (NZ) 4.3. Discussing engaging another (less busy) JuMP expert Julia JuMP Prototype Performance 05
  • 7. 1. GAMS CPLEX costs agreement from 1999 - ETSAP is considerably benefiting from the age of this agreement. 1.1. CPLEX is typically sold via resellers and not directly from IBM. 2. Current commercial CPLEX studio & CPLEX Solver licence is €100k per seat - this was my first direct commercial quote. 2.1. TOO EXPENSIVE! - this started a journey with IBM 3. CPLEX is free of cost for academic users 4. GAMS is free of cost for academic users 5. ETSAP-TIMES does not need the full CPLEX Studio Suite - we need a solver bridge. (Thank you Evangelos for sparking this realisation) 5.1. Embedded Software agreement (ESA) €204k for 80 seats or €2,500 per user for CPLEX (2.5% the usual commercial cost) 5.1.1. ETSAP can distribute ESA licences within within the TIMES code or within the community as the ExCo wishes. 5.2. Took time to find common ground and understanding of use case with IBM (EMEA - Dublin, Paris & London offices). 6. Existing CPLEX Licences via GAMS would still be backwards compatible and available via Julia packages (GAMS.jl) Costs of Current workflow & quoted future costs 06
  • 8. 1. Community Acceptance from TIMES Developers 1.1. Initial Unstructured Dialogue with TIMES Developers 1.1.1. Language Agnosticism and efficiency - avoid prolonged transition challenges 1.1.2. Parallel Code Development (not liked - never ending project potential risk) 1.1.3. Backward compatibility & comprehensive testing required for comfort and validation 1.1.4. Desire for improved code maintenance and version control - more collaboration desired 1.1.5. GAMSPy should be a useful stepping stone between programming languages. 1.1.6. Needs Urgency and Long Term Commitment (Longevity of JuMP & Python? 50 years?) 2. JuMP Developers 2.1. Oscar Dowson - Lead JuMP developer 2.1.1. Presolve Data Structures 2.1.2. Code logical construction needs to be very different to GAMS (Vector data structures rather than sets & filters) 3. OpenMOD, Online LinkedIn with Modelling Community moving towards JuMP in Next Gen Models 3.1. GENX (MIT - Princeton) 3.2. SIENNA (NREL US Gov) 3.3. SpineOpt.jj (EU Comission) 3.4. GENsysMOD (OSEmosys translation from GAMS to JuMP) Dialogue with ETSAP, JuMP Developers & OpenMOD 07
  • 9. 1. Most Popular technologies among StackOverflow developer survey 1.1. https://survey.stackoverflow.co/2024/technology 1.2. Python 51% of survey 1.3. Julia 1.1% of survey respondents 2. Admired Vs Desired 2.1. Python - Admired 67.6% - Desired 41.9% 2.2. Julia - Admired 61% - Desired 2.1% 3. Salary / Cost 3.1. Julia Programmer Median Salary $70,000 per year (Decreasing) 3.2. Python Programmer Median Salary $67,000 per year (Decreasing) 4. Python is the #1 most popular programming language professionally (plenty of talent in the pool to draw from for a migration) 4.1. Julia is 33rd (0.42% of developers) 4.2. GAMS is 36th (0.3% of developers) Availability of Julia (JuMP) or Python (Linopy) developers? 08
  • 10. 1. Complete Literature review 2. Complete Prototyping 3. Complete benchmarks 4. Complete Costs setup assessment given CPLEX ESA costs for Group ETSAP licence (as opposed to individual institutional licences). 5. Complete broader community round table panel discussions 6. Report Back OpenMOD Conversation: https://forum.openmod.org/t/feasibility-of-migr ating-times-to-julia-jump-from-gams/5326 LinkedIn Conversation: https://www.linkedin.com/posts/esma-ie_we-ha ve-been-tasked-within-the-etsap-community- activity-7336451659528605697-263x?utm_sou Next Steps 9
  • 11. THANK YOU www.esma.ie Dr James Glynn 2025.06.10 | ETSAP Workshop, NARA, JAPAN
  • 12. ESMA provides academically rigorous research consulting services on timescales that matter to decision makers, using best-in-class open energy systems models, leveraging the more than 40 years of institutional knowledge in the IEA-ETSAP TIMES open-source code to enable partnerships to co-create data-driven insights for optimal investment decisions, engineering operation, strategic long-term planning, policy uncertainty, and risk mitigation analytics in clean energy futures. ESMA understands Trust and Relationships. We incorporate community, city, national and global perspectives into our energy systems models, keeping the needs of the fair social good, community of practice, city, NGO, Government, finance and industry stakeholders in mind when considering our interconnectedness and dependencies. ESMA Ltd. is a data start-up that builds innovative best-practice computer math models (LP/NLP/MIP) based on systems thinking, engineering, science, and ecological economics to create data-driven decision intelligence and logically navigate the uncertainty space to plan, invest, build, operate, and live within a sustainable, secure future energy system. WHAT WE DO www.esma.ie