Multi period Transmission Expansion Planning Module

This module is under development

This module provides functions for multi-period transmission expansion planning with investment states applied over time.

Functions are found in pyflow_acdc.ACDC_MultiPeriod_TEP.

Multi-period Multi-scenario Dynamic TEP

multi_period_MS_TEP(grid, NPV=True, n_years=10, Hy=8760, discount_rate=0.02, clustering_options=None, ObjRule=None, solver='bonmin', obj_scaling=1.0)

Solves dynamic transmission expansion planning across investment periods using clustered time frames/scenarios.

Parameter

Type

Description

Default

grid

Grid

Grid to analyze

Required

NPV

bool

Include NPV formulation for operational costs

True

n_years

int

Number of years for discounting

10

Hy

int

Hours per year

8760

discount_rate

float

Discount rate

0.02

clustering_options

dict

Time-series clustering configuration

None

ObjRule

dict

OPF objective weights

None

solver

str

Pyomo solver name

‘bonmin’

obj_scaling

float

Objective scaling factor

1.0

Returns

  • Model object

  • Model results

  • Timing information dictionary

  • Solver statistics dictionary

  • Dynamic TEP time-series results

Example

import pyflow_acdc as pyf

grid, res = pyf.NS_MTDC()
obj = {'Energy_cost': 1}
model, model_results, timing_info, solver_stats, ts_results = pyf.multi_period_MS_TEP(
    grid,
    ObjRule=obj,
    solver='bonmin'
)

Export Dynamic Investment Period Plots

export_and_save_inv_period_svgs(grid, Price_Zones=False, folder_name=None)

Exports one SVG network plot per investment period using the solved dynamic investment states.

Run OPF on One Investment Period

run_opf_for_investment_period(grid, investment_period, ObjRule=None, solver='ipopt', tee=False, limit_flow_rate=True, obj_scaling=1.0, export_excel=True, export_location='MP_investment_periods', file_name=None, print_table=False, decimals=3, plot_folium={})

Applies one dynamic investment-period state to the grid, runs OPF, and optionally exports period results to Excel and Folium map.

Run OPF on All Investment Periods

run_opf_for_all_investment_periods(grid, ObjRule=None, solver='ipopt', tee=False, limit_flow_rate=True, obj_scaling=1.0, export_excel=True, export_location=None, file_name_prefix=None, print_table=False, decimals=3, plot_folium=None)

Runs OPF for every dynamic investment period and exports one result file per period.