Tulipa Energy Model
An energy system modelling framework for investment (expansion) and dispatch (operations) optimisations using mixed-integer linear programming (MILP) - primarily for informing policy-maker & stakeholder decisions in the energy transition. Focuses on generalized & compact formulations (peer-reviewed publications) and efficient code implementation to handle large-scale problems (i.e. European) while maintaining sufficient granularity.
https://github.com/tulipaenergy/tulipaenergymodel.jl
Category: Energy Systems
Sub Category: Energy System Modeling Frameworks
Keywords
energy-systems energy-transition milp modelling-tool optimization
Keywords from Contributors
electricity-market-modelling energy-system-model simulator composer measure transform virtualization reporting optimizers interpretability
Last synced: about 13 hours ago
JSON representation
Repository metadata
An energy system optimization model that is flexible, computationally efficient, and academically robust.
- Host: GitHub
- URL: https://github.com/tulipaenergy/tulipaenergymodel.jl
- Owner: TulipaEnergy
- License: apache-2.0
- Created: 2023-08-09T11:43:24.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-10-23T10:01:29.000Z (11 days ago)
- Last Synced: 2025-10-23T10:28:15.777Z (11 days ago)
- Topics: energy-systems, energy-transition, milp, modelling-tool, optimization
- Language: Julia
- Homepage:
- Size: 111 MB
- Stars: 57
- Watchers: 1
- Forks: 34
- Open Issues: 109
- Releases: 34
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.cff
README.md
TulipaEnergyModel
This package provides an optimization model for the electricity market and its coupling with other energy sectors (e.g., hydrogen, heat, natural gas, etc.). The main objective is to determine the optimal investment and operation decisions for different types of assets (e.g., producers, consumers, conversions, storages, and transports).
How to Cite
If you use TulipaEnergyModel.jl in your work, please cite using the reference given in CITATION.cff.
Installation
pkg> add TulipaEnergyModel
See the documentation for details on the model and the package.
Bug reports and discussions
If you think you have found a bug, feel free to open an issue.
If you have a general question or idea, start a discussion.
Contributing
If you want to contribute (awesome!), please read our Contributing Guidelines and follow the setup in our Developer Documentation.
License
This content is released under the Apache License 2.0 License.
AI Coding Assistant Attribution
We use and accepts pull requests with AI coding assistants to help with development, but we expect the committers to understand and be responsible for the code that they introduce.
All commits that receive AI assistance should be signed off with:
Co-authored-by: MODEL NAME (FULL MODEL VERSION) <EMAIL>
For example:
Co-authored-by: Claude Code (claude-sonnet-4-20250514) <noreply@anthropic.com>
Contributors
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: Tulipa Energy Model
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Abel
family-names: Soares Siqueira
email: abel.siqueira@esciencecenter.nl
affiliation: Netherlands eScience Center
orcid: "https://orcid.org/0000-0003-4451-281X"
- given-names: Diego A.
family-names: Tejada-Arango
email: diego.tejadaarango@tno.nl
affiliation: TNO
orcid: "https://orcid.org/0000-0002-3278-9283"
- given-names: Germán
family-names: Morales-España
email: german.morales@tno.nl
affiliation: TNO
orcid: "https://orcid.org/0000-0002-6372-6197"
- given-names: Grigory
family-names: Neustroev
email: g.neustroev@tudelft.nl
affiliation: Delft University of Technology
orcid: "https://orcid.org/0000-0002-7706-7778"
- given-names: Juha
family-names: Kiviluoma
email: juha.kiviluoma@nodal-tools.fi
affiliation: Nodal Tools, Finland
orcid: "https://orcid.org/0000-0002-1299-9056"
- given-names: Lauren
family-names: Clisby
email: lauren.clisby@tno.nl
affiliation: TNO
orcid: "https://orcid.org/0009-0008-7848-4144"
- given-names: Maaike
family-names: Elgersma
email: m.b.elgersma@tudelft.nl
affiliation: TU Delft
- given-names: Ni
family-names: Wang
email: ni.wang@tno.nl
affiliation: TNO
orcid: "https://orcid.org/0000-0001-7037-7004"
- given-names: Suvayu
family-names: Ali
email: s.ali@esciencecenter.nl
affiliation: Netherlands eScience Center
- given-names: Zhi
family-names: Gao
email: z.gao1@uu.nl
affiliation: Utrecht University
orcid: "https://orcid.org/0000-0002-3817-8037"
identifiers:
- type: other
value: arXiv.2309.07711
description: The ArXiv preprint of the mathematical formulation
- type: doi
value: 10.5281/zenodo.8363262
description: Concept DOI for Zenodo deposition
repository-code: "https://github.com/TulipaEnergy/TulipaEnergyModel.jl"
abstract: >-
The Tulipa Energy Model is a Julia package for energy
planning that considers the electricity market and sector
couplings.
keywords:
- Open source tool
- Energy system modelling
- Energy system analysis
- Integrated energy systems
- Investment planning
- Sector coupling
license: Apache-2.0
Owner metadata
- Name: Tulipa
- Login: TulipaEnergy
- Email:
- Kind: organization
- Description: Electricity Market and Sector-Coupling Modelling Tools from TNO
- Website:
- Location: Netherlands
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/137513646?v=4
- Repositories: 1
- Last ynced at: 2023-09-14T03:44:06.203Z
- Profile URL: https://github.com/TulipaEnergy
GitHub Events
Total
- Fork event: 13
- Create event: 111
- Commit comment event: 25
- Release event: 10
- Issues event: 333
- Watch event: 29
- Delete event: 111
- Member event: 2
- Issue comment event: 833
- Push event: 630
- Pull request review comment event: 414
- Pull request event: 378
- Pull request review event: 586
Last Year
- Fork event: 13
- Create event: 102
- Commit comment event: 25
- Release event: 10
- Issues event: 318
- Watch event: 27
- Delete event: 104
- Member event: 2
- Issue comment event: 798
- Push event: 576
- Pull request event: 350
- Pull request review comment event: 399
- Pull request review event: 559
Committers metadata
Last synced: 5 days ago
Total Commits: 642
Total Committers: 18
Avg Commits per committer: 35.667
Development Distribution Score (DDS): 0.65
Commits in past year: 232
Committers in past year: 13
Avg Commits per committer in past year: 17.846
Development Distribution Score (DDS) in past year: 0.616
| Name | Commits | |
|---|---|---|
| Abel Soares Siqueira | a****a@g****m | 225 |
| Diego Alejandro Tejada Arango | 1****a | 156 |
| Ni Wang | 1****n | 98 |
| Lauren Clisby | l****y@g****m | 81 |
| github-actions[bot] | 4****] | 27 |
| allcontributors[bot] | 4****] | 15 |
| dependabot[bot] | 4****] | 14 |
| Greg Neustroev | G****v@t****l | 6 |
| Suvayu Ali | s****u | 5 |
| Sander van Rijn | s****n@e****l | 4 |
| urosgluscevic | 5****c | 3 |
| IsaiMaganTNO | 1****O | 2 |
| Dheepak Krishnamurthy | 1****k | 1 |
| Germán Morales | 4****a | 1 |
| Joaquim Dias Garcia | j****a@g****m | 1 |
| Yurian Lagrand | 5****2 | 1 |
| mauro-gs | 6****s | 1 |
| nope82 | 8****2 | 1 |
Committer domains:
- esciencecenter.nl: 1
- tudelft.nl: 1
Issue and Pull Request metadata
Last synced: 5 days ago
Total issues: 501
Total pull requests: 888
Average time to close issues: about 1 month
Average time to close pull requests: 6 days
Total issue authors: 11
Total pull request authors: 17
Average comments per issue: 1.2
Average comments per pull request: 1.99
Merged pull request: 708
Bot issues: 0
Bot pull requests: 88
Past year issues: 202
Past year pull requests: 373
Past year average time to close issues: 26 days
Past year average time to close pull requests: 5 days
Past year issue authors: 8
Past year pull request authors: 13
Past year average comments per issue: 0.79
Past year average comments per pull request: 2.39
Past year merged pull request: 276
Past year bot issues: 0
Past year bot pull requests: 27
Top Issue Authors
- datejada (169)
- abelsiqueira (142)
- clizbe (94)
- gnawin (83)
- suvayu (3)
- lsoucasse (2)
- urosgluscevic (2)
- gzclarence (2)
- aporrasc (2)
- IsaiMaganTNO (1)
- greg-neustroev (1)
Top Pull Request Authors
- abelsiqueira (295)
- datejada (207)
- gnawin (158)
- clizbe (111)
- github-actions[bot] (40)
- allcontributors[bot] (29)
- dependabot[bot] (19)
- urosgluscevic (6)
- suvayu (6)
- IsaiMaganTNO (4)
- greg-neustroev (3)
- joaquimg (2)
- kdheepak (2)
- nope82 (2)
- mauro-gs (2)
Top Issue Labels
- Type: improvement (157)
- Zone: documentation (55)
- Type: addition (53)
- Zone: optimisation model (47)
- Zone: data & import (46)
- good first issue (43)
- Zone: code architecture (25)
- Zone: setup/admin (22)
- Type: bug (19)
- Zone: testing (16)
- Type: epic (12)
- epic (12)
- Zone: export & visualisation (7)
- Type: research (6)
- stale (4)
- question (3)
- bug (1)
- benchmark (1)
- Zone: import/export (1)
Top Pull Request Labels
- benchmark (161)
- dependencies (19)
- chore (12)
- github_actions (6)
- Zone: data & import (2)
- question (1)
Package metadata
- Total packages: 3
-
Total downloads:
- julia: 17 total
- Total dependent packages: 1 (may contain duplicates)
- Total dependent repositories: 0 (may contain duplicates)
- Total versions: 99
proxy.golang.org: github.com/tulipaenergy/tulipaenergymodel.jl
- Homepage:
- Documentation: https://pkg.go.dev/github.com/tulipaenergy/tulipaenergymodel.jl#section-documentation
- Licenses: apache-2.0
- Latest release: v0.18.2 (published 18 days ago)
- Last Synced: 2025-10-29T20:14:48.894Z (5 days ago)
- Versions: 33
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.395%
- Average: 5.576%
- Dependent repos count: 5.758%
proxy.golang.org: github.com/TulipaEnergy/TulipaEnergyModel.jl
- Homepage:
- Documentation: https://pkg.go.dev/github.com/TulipaEnergy/TulipaEnergyModel.jl#section-documentation
- Licenses: apache-2.0
- Latest release: v0.18.2 (published 18 days ago)
- Last Synced: 2025-10-29T20:14:53.056Z (5 days ago)
- Versions: 33
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.395%
- Average: 5.576%
- Dependent repos count: 5.758%
juliahub.com: TulipaEnergyModel
An energy system optimization model that is flexible, computationally efficient, and academically robust.
- Homepage:
- Documentation: https://docs.juliahub.com/General/TulipaEnergyModel/stable/
- Licenses: Apache-2.0
- Latest release: 0.18.2 (published about 1 month ago)
- Last Synced: 2025-10-29T20:14:58.192Z (5 days ago)
- Versions: 33
- Dependent Packages: 1
- Dependent Repositories: 0
- Downloads: 17 Total
-
Rankings:
- Dependent repos count: 10.054%
- Forks count: 15.872%
- Average: 30.449%
- Dependent packages count: 36.985%
- Stargazers count: 58.886%
Dependencies
- actions/checkout v3 composite
- julia-actions/julia-buildpkg latest composite
- julia-actions/setup-julia latest composite
- julia-actions/setup-julia v1 composite
- actions/checkout v3 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-docdeploy v1 composite
- julia-actions/setup-julia v1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- julia-actions/cache v1 composite
- julia-actions/setup-julia v1 composite
- actions/stale v4.1.1 composite
- JuliaRegistries/TagBot v1 composite
- actions/checkout v3 composite
- codecov/codecov-action v3 composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
Score: 10.892731304148873