際際滷

際際滷Share a Scribd company logo
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
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.)
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)
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/
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
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
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
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.
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
GAMS Development Corp. GAMS Software GmbH www.gams.com 10

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
  • 10. GAMS Development Corp. GAMS Software GmbH www.gams.com 10