Juliacon 2024

GenX: a high-performance tool for electricity system planning
07-12, 10:20–10:30 (Europe/Amsterdam), Method (1.5)

The global electricity system is significantly transforming due to national and international efforts to reduce carbon emissions. To support the decision-making process in this changing electricity landscape, we have developed GenX, an open-source, highly configurable electricity resource capacity expansion model written in Julia and JuMP. The software allows the creation of different scenarios and optimization based on physical, operational, and policy constraints.


The global electricity system is undergoing a significant transformation driven by both national and international initiatives focused on de-carbonizing electricity generation to combat climate change. This shift is further fueled by the increased adoption of distributed energy resources, the decentralization of electricity service provision, the digitization of power systems, and the broader electrification of transportation, heating, and industrial energy demand. Additionally, the growth of variable renewable energy sources like wind and solar energy contributes to the evolving landscape.

In this dynamic electricity environment, decision support tools play a pivotal role by aiding in the simulation of diverse scenarios, assessing the impact of new technologies, and exploring the consequences of emerging policies and incentives. An example of these tools is GenX, an open-source and highly modular capacity expansion model written in Julia. GenX abstracts power system operational details, offering decision-making support during the ongoing transformation of the power sector.
GenX utilizes linear programming and mixed integer linear programming, implemented in Julia and JuMP, to model various technologies, grid interconnections, and physical and policy constraints. The complexity of the problem, characterized by a substantial number of variables and constraints, poses significant computational challenges. Therefore, leveraging high-performance computing techniques and infrastructures becomes essential for effectively addressing these types of calculations. Adopting a centralized planner's perspective, GenX aims to determine the cost-optimal generation portfolio, storage, and transmission investments needed to meet a user-defined system demand.

See also: Lightning talk slides (5.9 MB)

I am a research software engineer in the Princeton Research Computing department and a member of the ZERO Lab led by Prof. Jesse D. Jenkins since 2023. Before joining Princeton University, I graduated as a Ph.D. student in the Science of Advanced Materials from Central Michigan University. During my doctoral studies, my primary project involved developing new software to simulate electronic transport phenomena for application in thermoelectric energy conversion. Before pursuing my Ph.D., I worked as a software engineer on real-time processing algorithms for automatic quality control of industrial products based on artificial neural networks. My professional background is in high-performance computing and physics.