How matias-vm/acopf works
This repository contains three power-system optimization workflows: AC optimal power flow and SOCP relaxations, single- and multi-period cutting-plane relaxations, and DC optimal power flow. Users provide a case and configuration; each workflow parses network data, formulates or refines an optimization model, and reports a solution. The graph preserves the README’s documented period and model variants. Source excerpts confirm only some entry-point wiring, so uncertain links in unsampled modules are omitted.
Main entry points: src/main.py AC entry point · src/main.py Cut-plane entry · cutplane.py Cut-plane model · src/main.py DC entry point
Components 27
AC and SOCP
- AC entry point
ampl_acopf/singleperiod/src/main.py - Network reader
ampl_acopf/singleperiod/src/reader.py - AC solver
ampl_acopf/singleperiod/src/ac.py - SOCP solver
ampl_acopf/singleperiod/src/socp.py - Multi-period entry
ampl_acopf/multiperiod/src/main_mtp.py - Network reader
ampl_acopf/multiperiod/src/reader.py - AC time model
ampl_acopf/multiperiod/src/ac_mtp.py - AC variant
ampl_acopf/multiperiod/src/ac_mtp2.py - SOCP time model
ampl_acopf/multiperiod/src/socp_mtp.py
Cutting Plane
- Cut-plane entry
cutplane/singleperiod/src/main.py - Network reader
cutplane/singleperiod/src/reader.py - Cut-plane model
cutplane/singleperiod/src/cutplane.py - Cut generation
cutplane/singleperiod/src/cuts.py - Multi-period entry
cutplane/multiperiod/src/main_mtp.py - Network reader
cutplane/multiperiod/src/reader.py - Time cut-plane model
cutplane/multiperiod/src/cutplane_mtp.py - Time cut generation
cutplane/multiperiod/src/cuts_mtp.py
DCOPF
- DC entry point
dcopf/singleperiod/src/main.py - Network reader
dcopf/singleperiod/src/reader.py - DC formulation
dcopf/singleperiod/src/dc.py - Multi-period entry
dcopf/multiperiod/src/main_mtp.py - Network reader
dcopf/multiperiod/src/reader.py - Time DC model
dcopf/multiperiod/src/dc_mtp.py
Other components
- Analyst
- Case and config
- AMPL solver
- Gurobi solver
Connections 25
- Analyst → Case and config: provides
- Case and config → AC entry point: configures
- AC entry point → Network reader: reads case
- AC entry point → AC solver: dispatches
- AC entry point → SOCP solver: dispatches
- AC solver → AMPL solver: solves with
- SOCP solver → AMPL solver: solves with
- Case and config → Multi-period entry: configures
- AC time model → AMPL solver: solves with
- AC variant → AMPL solver: solves with
- SOCP time model → AMPL solver: solves with
- Case and config → Cut-plane entry: configures
- Cut-plane entry → Network reader: reads case
- Cut-plane entry → Cut-plane model: runs
- Cut-plane model → Cut generation: adds cuts
- Cut-plane model → Gurobi solver: optimizes with
- Case and config → Multi-period entry: configures
- Time cut-plane model → Time cut generation: adds cuts
- Time cut-plane model → Gurobi solver: optimizes with
- Case and config → DC entry point: configures
- DC entry point → Network reader: reads case
- DC entry point → DC formulation: formulates
- DC formulation → Gurobi solver: optimizes with
- Case and config → Multi-period entry: configures
- Time DC model → Gurobi solver: optimizes with