{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/optimal-power-flow-using-graph-neural","title":"Optimal Power Flow Using Graph Neural Networks","arxiv_id":"1910.09658","date":"2019-10-21","proceeding":null,"authors":[],"abstract":"Optimal power flow (OPF) is one of the most important optimization problems\nin the energy industry. In its simplest form, OPF attempts to find the optimal\npower that the generators within the grid have to produce to satisfy a given\ndemand. Optimality is measured with respect to the cost that each generator\nincurs in producing this power. The OPF problem is non-convex due to the\nsinusoidal nature of electrical generation and thus is difficult to solve.\nUsing small angle approximations leads to a convex problem known as DC OPF, but\nthis approximation is no longer valid when power grids are heavily loaded. Many\napproximate solutions have been since put forward, but these do not scale to\nlarge power networks. In this paper, we propose using graph neural networks\n(which are localized, scalable parametrizations of network data) trained under\nthe imitation learning framework to approximate a given optimal solution. While\nthe optimal solution is costly, it is only required to be computed for network\nstates in the training set. During test time, the GNN adequately learns how to\ncompute the OPF solution. Numerical experiments are run on the IEEE-30 and\nIEEE-118 test cases.","url_abs":"http://arxiv.org/abs/1910.09658v1","url_pdf":"http://arxiv.org/pdf/1910.09658v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"optimal-power-flow-using-graph-neural","repo_url":"https://github.com/BNN-UPC/GNNPapersPowerNets","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"unanswered"}},{"paper_slug":"optimal-power-flow-using-graph-neural","repo_url":"https://github.com/tomyvazquez/doraa-uy","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"imitation-learning","task_name":"Imitation Learning"},{"task_slug":null,"task_name":"valid"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1910.09658","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1910.09658"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/BNN-UPC/GNNPapersPowerNets","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tomyvazquez/doraa-uy","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":20},"by_repo_kind":{"listed":{"samples":20,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"9684c22eafd4c345","entry":"absolute_feas_error","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/IEEE/entrenamiento/src/metric.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/IEEE/entrenamiento/src/metric.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9684c22eafd4c345"}},{"code_sha256_prefix":"8ffd20070371caaf","entry":"bus_pos","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/URU/entrenamiento/src/Loss.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/URU/entrenamiento/src/Loss.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8ffd20070371caaf"}},{"code_sha256_prefix":"c20cfc00778112ae","entry":"check_AC_flow","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/IEEE/entrenamiento/src/utils.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/IEEE/entrenamiento/src/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c20cfc00778112ae"}},{"code_sha256_prefix":"0bc49f272d48aac8","entry":"constraint_violation_power_flow","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/IEEE/entrenamiento/src/Loss.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/IEEE/entrenamiento/src/Loss.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0bc49f272d48aac8"}},{"code_sha256_prefix":"348e4f04f679cb34","entry":"evaluate","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/IEEE/entrenamiento/src/train_eval.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/IEEE/entrenamiento/src/train_eval.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"348e4f04f679cb34"}},{"code_sha256_prefix":"20264dbd7cd72af0","entry":"find_best_run","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/IEEE/entrenamiento/src/find_best_run.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/IEEE/entrenamiento/src/find_best_run.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"20264dbd7cd72af0"}},{"code_sha256_prefix":"b1ea19e462a3c45f","entry":"find_best_run_from_tfevents","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/IEEE/entrenamiento/src/find_best_run.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/IEEE/entrenamiento/src/find_best_run.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b1ea19e462a3c45f"}},{"code_sha256_prefix":"46f8c6740020e124","entry":"get_Ybus","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/IEEE/entrenamiento/src/utils.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/IEEE/entrenamiento/src/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"46f8c6740020e124"}},{"code_sha256_prefix":"9a7ae36e45a95d92","entry":"get_Yline","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/IEEE/entrenamiento/src/utils.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/IEEE/entrenamiento/src/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9a7ae36e45a95d92"}},{"code_sha256_prefix":"932c634b3d93be5c","entry":"get_max_min_values","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/IEEE/entrenamiento/src/Loss.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/IEEE/entrenamiento/src/Loss.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"932c634b3d93be5c"}},{"code_sha256_prefix":"fd88df33831b6622","entry":"get_max_min_values","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/URU/entrenamiento/src/Loss.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/URU/entrenamiento/src/Loss.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fd88df33831b6622"}},{"code_sha256_prefix":"7f01ad9b482422c0","entry":"get_max_q","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/IEEE/entrenamiento/src/Loss.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/IEEE/entrenamiento/src/Loss.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7f01ad9b482422c0"}},{"code_sha256_prefix":"57cf95c88ec0e901","entry":"get_max_q","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/URU/entrenamiento/src/Loss.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/URU/entrenamiento/src/Loss.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"57cf95c88ec0e901"}},{"code_sha256_prefix":"77dc409702e10352","entry":"get_stats","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/IEEE/entrenamiento/src/metric.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/IEEE/entrenamiento/src/metric.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"77dc409702e10352"}},{"code_sha256_prefix":"19a1e8e969cd43fe","entry":"get_stats","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/URU/entrenamiento/src/metric.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/URU/entrenamiento/src/metric.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"19a1e8e969cd43fe"}},{"code_sha256_prefix":"792918ce2e8274a3","entry":"load_data","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/IEEE/entrenamiento/src/Data_loader.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/IEEE/entrenamiento/src/Data_loader.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"792918ce2e8274a3"}},{"code_sha256_prefix":"d840ef5583c37f36","entry":"load_data","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/URU/entrenamiento/src/Data_loader.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/URU/entrenamiento/src/Data_loader.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d840ef5583c37f36"}},{"code_sha256_prefix":"02fafc337e3894cb","entry":"non_linearity","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/IEEE/entrenamiento/src/arquitecturas.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/IEEE/entrenamiento/src/arquitecturas.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"02fafc337e3894cb"}},{"code_sha256_prefix":"8b040a1c396bff89","entry":"relative_feas_error","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/IEEE/entrenamiento/src/metric.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/IEEE/entrenamiento/src/metric.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8b040a1c396bff89"}},{"code_sha256_prefix":"e7dc5d3011a0ef63","entry":"run_epoch","repo":"tomyvazquez/doraa-uy","repo_kind":"listed","path":"no-supervisado/IEEE/entrenamiento/src/train_eval.py","file_url":"https://github.com/tomyvazquez/doraa-uy/blob/HEAD/no-supervisado/IEEE/entrenamiento/src/train_eval.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e7dc5d3011a0ef63"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}