{"id":308089,"name":"Power Systems Optimization","description":"How to implement and apply linear and mixed integer linear programs to solve such problems using Julia/JuMP, and the practical application of such techniques in energy systems engineering.","url":"https://github.com/power-systems-optimization-course/power-systems-optimization","last_synced_at":"2026-04-20T17:01:24.304Z","repository":{"id":45963517,"uuid":"291368890","full_name":"Power-Systems-Optimization-Course/power-systems-optimization","owner":"Power-Systems-Optimization-Course","description":"Power systems optimization course materials","archived":false,"fork":false,"pushed_at":"2026-04-14T05:15:23.000Z","size":34807,"stargazers_count":236,"open_issues_count":2,"forks_count":138,"subscribers_count":11,"default_branch":"master","last_synced_at":"2026-04-14T07:25:55.549Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Power-Systems-Optimization-Course.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-MIT","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-08-30T00:02:30.000Z","updated_at":"2026-04-14T05:15:29.000Z","dependencies_parsed_at":"2023-01-23T00:46:09.813Z","dependency_job_id":"d91d5e4c-b5f8-427a-80bf-232350ba51b7","html_url":"https://github.com/Power-Systems-Optimization-Course/power-systems-optimization","commit_stats":null,"previous_names":["power-systems-optimization-course/power-systems-optimization","east-winds/power-systems-optimization"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Power-Systems-Optimization-Course/power-systems-optimization","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Power-Systems-Optimization-Course%2Fpower-systems-optimization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Power-Systems-Optimization-Course%2Fpower-systems-optimization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Power-Systems-Optimization-Course%2Fpower-systems-optimization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Power-Systems-Optimization-Course%2Fpower-systems-optimization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Power-Systems-Optimization-Course","download_url":"https://codeload.github.com/Power-Systems-Optimization-Course/power-systems-optimization/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Power-Systems-Optimization-Course%2Fpower-systems-optimization/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32056876,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"Power-Systems-Optimization-Course","name":"Power-Systems-Optimization-Course","uuid":"144373230","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/144373230?v=4","repositories_count":1,"last_synced_at":"2023-09-08T17:37:38.666Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/Power-Systems-Optimization-Course","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-09-08T17:37:38.682Z","updated_at":"2023-09-08T17:37:38.682Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Power-Systems-Optimization-Course","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Power-Systems-Optimization-Course/repositories"},"packages":[],"commits":{"id":8350676,"full_name":"power-systems-optimization-course/power-systems-optimization","default_branch":"master","total_commits":146,"total_committers":6,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":24.333333333333332,"dds":0.4452054794520548,"past_year_total_commits":13,"past_year_total_committers":3,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":4.333333333333333,"past_year_dds":0.5384615384615384,"last_synced_at":"2026-04-18T16:01:12.762Z","last_synced_commit":"e2e8a9567cf68fce6a6e8cb54461a814a68f144b","created_at":"2025-01-20T12:59:16.215Z","updated_at":"2026-04-18T16:01:12.711Z","committers":[{"name":"Jesse Jenkins","email":"jesse.d.jenkins@gmail.com","login":"JesseJenkins","count":81},{"name":"Michael Davidson","email":"mrdavidson@ucsd.edu","login":"east-winds","count":41},{"name":"Gabe Mantegna","email":"gabe.mantegna@princeton.edu","login":"gmantegna","count":12},{"name":"JZL","email":"1739784+JZL","login":"JZL","count":6},{"name":"lbonaldo","email":"bonaldo.luca12@gmail.com","login":"lbonaldo","count":5},{"name":"Filippo Pecci","email":"peccifilippo@gmail.com","login":"filippopecci","count":1}],"past_year_committers":[{"name":"JZL","email":"1739784+JZL","login":"JZL","count":6},{"name":"Michael Davidson","email":"mrdavidson@ucsd.edu","login":"east-winds","count":6},{"name":"Gabe Mantegna","email":"30732358+gmantegna","login":"gmantegna","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/power-systems-optimization-course%2Fpower-systems-optimization/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-20T00:00:09.037Z","repositories_count":6214740,"commits_count":899518633,"contributors_count":34905798,"owners_count":1143550,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"power-systems-optimization-course/power-systems-optimization","html_url":"https://github.com/power-systems-optimization-course/power-systems-optimization","last_synced_at":"2026-03-25T01:03:14.408Z","status":null,"issues_count":2,"pull_requests_count":8,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":35303997.166666664,"issues_closed_count":0,"pull_requests_closed_count":6,"pull_request_authors_count":6,"issue_authors_count":1,"avg_comments_per_issue":0.5,"avg_comments_per_pull_request":0.125,"merged_pull_requests_count":3,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2025-01-20T12:59:16.885Z","updated_at":"2026-03-25T01:03:14.409Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/power-systems-optimization-course%2Fpower-systems-optimization","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/power-systems-optimization-course%2Fpower-systems-optimization/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":2},"pull_request_author_associations_count":{"NONE":5,"COLLABORATOR":3},"issue_authors":{"gschivley":2},"pull_request_authors":{"east-winds":3,"TomBearpark":1,"sambuddhac":1,"mconlow":1,"vilterp":1,"tyson-dao":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-08T00:00:09.900Z","repositories_count":14144339,"issues_count":34544907,"pull_requests_count":112858668,"authors_count":11229773,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":1},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{"gschivley":1},"past_year_pull_request_authors":{},"maintainers":[{"login":"east-winds","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/east-winds"}],"active_maintainers":[]},"events":{"total":{"DeleteEvent":1,"MemberEvent":1,"PullRequestEvent":1,"ForkEvent":29,"IssuesEvent":1,"WatchEvent":58,"PushEvent":15},"last_year":{"ForkEvent":8,"IssuesEvent":1,"WatchEvent":24,"PushEvent":6}},"keywords":[],"dependencies":[],"score":7.26403014289953,"created_at":"2025-01-20T12:59:14.150Z","updated_at":"2026-04-20T17:01:24.306Z","avatar_url":"https://github.com/Power-Systems-Optimization-Course.png","language":"Jupyter Notebook","category":"Sustainable Development","sub_category":"Education","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"Power Systems Optimization\n-\n\n[![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/east-winds/power-systems-optimization/mybinder)\n\nThese course materials are jointly developed by [Michael Davidson](http://mdavidson.org/) and [Jesse Jenkins](https://mae.princeton.edu/people/faculty/jenkins) for introducing constrained optimization models applied to power systems. The materials will be used for:\n- [MAE / ENE 539](https://registrar.princeton.edu/course-offerings/course-details?term=1212\u0026courseid=008273) Optimization Methods for Energy Systems Engineering (Advanced Topics in Combustion I) [Princeton]\n- [MAE 243](https://catalog.ucsd.edu/courses/MAE.html#mae243) Electric Power Systems Modeling [UC San Diego]\n\n### Description\n\nThis course will teach students constrained optimization problems and associated solution methods, how to implement and apply linear and mixed integer linear programs to solve such problems using [Julia](https://julialang.org/)/[JuMP](https://jump.dev/JuMP.jl/dev/), and the practical application of such techniques in energy systems engineering.\n\nThe course will first introduce students to the theory and mathematics of constrained optimization problems and provide a brief introduction to linear programming, including problem formation and solution algorithms.\n\nNext, to build hands-on experience with optimization methods for energy systems engineering, the course will introduce students to several canonical problems in electric power systems planning and operations, including: economic dispatch, unit commitment, optimal network power flow, and capacity planning.\n\nFinally, several datasets of realistic power systems are provided which students will use in conjunction with building a model for a course project that answers a specific power systems question.\n\n### Notebooks\n\n1. [Constrained Optimization](Notebooks/01-Constrained-Optimization.ipynb)\n\n2. [Using Julia and JuMP for Constrained Optimization](Notebooks/02-Anatomy-of-a-Model.ipynb)\n\n3. [Basic Capacity Expansion Planning](Notebooks/03-Basic-Capacity-Expansion.ipynb)\n\n4. [Economic Dispatch](Notebooks/04-Economic-Dispatch.ipynb)\n\n5. [Unit Commitment](Notebooks/05-Unit-Commitment.ipynb)\n\n6. [DC Optimal Network Power Flow](Notebooks/06-Optimal-Power-Flow.ipynb)\n\n7. [Complex Capacity Expansion Planning](Notebooks/07-Complex-Capacity-Expansion.ipynb)\n\n### Homeworks\n\n1. [Homework 1 - Building Your First Model](Homeworks/Homework-01.ipynb)\n\n2. [Homework 2 - Basic Capacity Expansion](Homeworks/Homework-02.ipynb)\n\n3. [Homework 3 - Unit Commitment](Homeworks/Homework-03.ipynb)\n\n4. [Homework 4 - Optimal Power Flow](Homeworks/Homework-04.ipynb)\n\n5. [Homework 5 - Complex Capacity Expansion](Homeworks/Homework-05.ipynb)\n\n### Project\n\n[Project dataset descriptions](Project/)\n\n1. [ERCOT 120-bus 500kV simulated system for optimal power flow and economic dispatch problems](Project/ercot_500kV/)\n\n2. [ERCOT 3-zone 2040 brownfield expansion system for capacity expansion planning problems](Project/ercot_brownfield_expansion) - (See [Notebook 7](Notebooks/07-Complex-Capacity-Expansion.ipynb) for description)\n\n3. [WECC 6-zone 2045 brownfield expansion system w/100% clean resources for capacity planning problems](Project/wecc_2045_all_clean_expansion)\n\n4. [WECC 12-zone 2020 current capacity for unit commitment and economic dispatch problems](Project/wecc_2020_unit_commitment)\n\n### Tutorials\n\n1. [Julia Tutorial](Tutorials/julia_tutorial.ipynb)\n\n2. [JuMP: Diagnosing infeasible models](Tutorials/jump_infeasibilities.ipynb)\n\n3. [Debugging a Julia script with VS Code](Tutorials/Debugging%20with%20VS%20Code.md)\n\n\n### License and copyright\n\nIf you would like to use these materials, please see the [license and copyright page](LICENSE.md).\n\n\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/308089","html_url":"https://ost.ecosyste.ms/projects/308089"}