A GAMSPy Port of the TIMES Model Generator
21st25th October 2024, etsap meeting, semi-annual etsap meeting, etsap winter workshop, Energy Studies Institute (ESI),
Agency for Science, Technology and Research (A*STAR), Singapore
1 of 10
Download to read offline
More Related Content
A GAMSPy Port of the TIMES Model Generator
1. GAMS Development Corp. GAMS Software GmbH www.gams.com
A GAMSPy Port of the
TIMES Model Generator
ETSAP Winter Workshop 2024
A proposal by GAMS, PSI, and VTT
Frederik Fiand
1
2. GAMS Development Corp. GAMS Software GmbH www.gams.com
Background
TIMES Model Generator implemented in GAMS
2
The GAMS System - The Good
Algebraic Modeling Language (AML)
Backward compatibility stable!
Active development since 1987 stable!
Familiar syntax human readable!
Data is held in GAMS data structures - fast!
GAMS structures very large model instances!
The GAMS System - The Could be Better
Not a general purpose programming language
Lacks modern look/feel to syntax
Learning curve issues: users want familiar syntax
to leverage their existing knowledge
Not easily deployable (~2GB install)
Integration into modern data science pipelines
could be smoother
Relational data based (not general like lists,
dicts, etc.)
3. GAMS Development Corp. GAMS Software GmbH www.gams.com
What is GAMSPy?
3
Python-based algebraic
Modeling Language (AML)
Simple Installation via pip
(GAMSPy on Pypi)
GAMSPy is open source (MIT
License, GitHub)
Performance of GAMS backend
Convenience of Python (e.g.
Numpy, Pandas)
4. GAMS Development Corp. GAMS Software GmbH www.gams.com
Key Bene鍖ts of GAMSPy Port
Popularity of Python
Data preprocessing libraries (numpy, cupy, pandas, polars, networkx)
Machine learning libraries (pytorch, tensor鍖ow, jax)
Visualization libraries (matplotlib, seaborn, plotly, streamlit)
Full data/optimization/visualization pipeline in one language
4
Top Programming Languages
for Data Scientists (PYPL Index)
Source(s):
https://www.datacamp.com/blog/top-programming-la
nguages-for-data-scientists-in-2022
https://pypl.github.io/PYPL.html
Position Language Ratings
1 Python 29.56%
2 Java 15.60%
6 R 4.64%
14 Matlab 1.46%
24 Julia 0.36%
Source: https://www.tiobe.com/tiobe-index/
5. GAMS Development Corp. GAMS Software GmbH www.gams.com
Key Bene鍖ts of GAMSPy Port
GAMSPy + ML Integration:
Embedding a Trained Neural Network in GAMSPy
Easy migration to GAMS language via model.toGams() (if needed)
GAMS execution system got signi鍖cant extensions to allow Pythonic
user experience (dynamic and interactive development and analyses).
5
6. GAMS Development Corp. GAMS Software GmbH www.gams.com
Key Bene鍖ts of GAMSPy Port
GAMS Academic Program (https://www.gams.com/academics/)
GAMSPy is free for academic institutions
Included commercial solvers
Cplex, Xpress, Mosek, Copt, Gurobi-Link
Included open source solvers
CBC, HiGHS, Ipopt, SCIP, Shot
6
7. GAMS Development Corp. GAMS Software GmbH www.gams.com
Project Outline
WP1 (GAMS): Porting TIMES Model Generator to GAMSPy
Port the existing TIMES Model Generator from GAMS to GAMSPy, ensuring full functionality in the new
Python environment.
WP2 (PSI): Validation and Evaluation of GAMSPy TIMES Models
Validate and ensure the correctness and performance of the ported TIMES Model Generator in various use
cases (submissions from the community are welcome).
WP3 (GAMS): Documentation and Maintenance Guidelines
Provide documentation and guidelines for maintaining both the GAMS and GAMSPy versions of the TIMES
Model Generator.
Deliverables:
Python Scripts for TIMES Model Generator
Model Validation and Equivalence Report
Report on Differences and Parallel Maintenance
7
8. GAMS Development Corp. GAMS Software GmbH www.gams.com
Project Consortium/Cost/Timeline
Consortium: GAMS, PSI, VTT*
Cost:
Timeline: 9 months
8
Work Package Partner Person days
Personnel
cost
WP1
PSI 5 5,000.00
GAMS 40 30,000.00
WP2
PSI 10 10,000.00
GAMS 5 5,000.00
WP3
PSI 2 2,000.00
GAMS 5 5,000.00
Total requested from ETSAP 67 57,000.00
* VTT (Antti Lehtil辰) fully supports the proposal and commits to assist in this project on a pro-bono basis.
Reduced daily rate as GAMS is interested
in gaining experience porting complex
models like TIMES to GAMSPy.
9. GAMS Development Corp. GAMS Software GmbH www.gams.com
Thank You
f鍖and@gams.com
www.gams.com
https://www.linkedin.com/company/gams-development
9