- Fix no-buses bug in
calc_connected_components
(#933)
- In place building of basic network data (#915,#916)
- Performance improvements to
calc_connected_components
(#914) - Fix three winding transformer parsing in psse data (#917)
- Fix quote counting check in psse parser (#920)
- Fix bug in
calc_theta_delta_bounds
(#907)
- Update to new JuMP nonlinear interface (breaking)
- Fix tests for latest ipopt jll
- Add support for models with mixtures of PWL and polynomial cost functions (#829)
- Revised models to use two-sided constraints (#819) (breaking)
- Rewrite code for building objective functions (#778) (breaking)
- Made current limit modeling consistent with thermal limit modeling (#625) (breaking)
- Drop support for multiple conductors (#872) (breaking)
- Drop support for
run_*
functions (#878) (breaking) - Drop support for JuMP v0.22 and v0.23 (breaking)
- Drop support for JSON v0.18, v0.19, v0.20 (breaking)
- Add support for ACP and DCP formulation in OPF with PST variables (#543,#875)
- Fix implementation of
calc_theta_delta_bounds
when conductor parameter is used (#870) - Update tests for SCS v2.0
- Fix implementation of polynomial costs above quadratic
- Add tests for opf objective expression types
- Update tests for compat with Julia v1.9 (#861)
- Improved network data model documentation (#848)
- Faster PTDF matrix computation (#849)
- Improve linear algebra test robustness (#827)
- Fix
make_multinetwork
and add test (#823) - Fix SDP solution reporting consistency (#833)
- Fix solution output test for infeasible models
- Add specialized version of
sol_component_fixed
for PowerModels (#821) - Add support for Memento v1.4
- Fix
tnep
ne_branch solution values to be consistent with regular branches (#820)
- Add support for JuMP v1.0
- Update
correct_cost_functions!
to support PWL costs with a constant power value
- Added conversion of impedance and current loads from PSSE raw files into constant power loads (#792)
- Made case name recovery optional in PTI parsing
- nothing
- Fix
sol_component_value_edge
implementation and usage (#811)
- Add support for JuMP v0.23
- Update minimum Julia version to v1.6 (LTS)
- Replace CBC with HiGHS in tests
- Updates for SCS v0.9
- Rename
run_*
methods tosolve_*
and add depreciation warnings (#649) - Made case name recovery optional in PTI parsing
- Fixed Julia deprecation warning when calling sort on Dict
- Change
Int64
types toInt
- Update SCS version requirements
- Add support for Memento v1.3
- Add support for JuMP v0.22 and dropped support for JuMP v0.21 (#799) (breaking)
- Remove dependency on MathOptInterface package (#799)
- Improved support for PWL costs with on/off generators
- Added support for two-terminal HVDC lines to PSSE export (#754)
- Improved formulation of
relaxation_sin_on_off
constraint (#786)
- Added Jacobian calculation of basic network data (#762)
- Improved support in
build_pf
for slack buses with multiple generators (#785) - Fixed bug in
compute_ac_pf
when reporting slack busva
values - Fixed bug in
constraint_ohms_yt_from_on_off
for DCP models on branches with negative reactance values
- Fixed sign bug in BFA models (#779)
- Fixed
correct_component_refrence_bus!
when no active generators are present (#776) - Add support for Memento v1.2
- Fixed multi-network support in sparse SDP models (#769)
- Fixed data processing of PWL costs with identical points
- Fixed parsing of impedance correction keys in PSSE parser
- Relax test bounds to support cross-platform variation in Julia v1.6
- Update to InfrastructureModels v0.6 (#757) (breaking)
- Update native power flow solvers to output results dict (#739) (breaking)
- Improved multi-network support in data function (#764)
- Renamed
*_flow_cuts
to_branch_power_cuts
(#713) (breaking) - Dropped support for JuMP v0.19 and v0.20 (#673) (breaking)
- Removed ref bus index from AdmittanceMatrix (#760) (breaking)
- Removed data change tracking from
correct_network_data!
(breaking) - Removed
_extend_pwl_cost!
function (#716)
- Added support for matrix-based analysis of basic network data (#728)
- Added support for
relax_integrality
inrun_model
- Added
export_pti
to write a PSSE file (#752) - Added
parse_files
to create a multinetwork from multiples source files - Added support for converting matpower ramp rates into per-unit (#561)
- Fixed bug in dual reporting in
constraint_power_balance_ls
(#741) - Fixed sign convention for power injection in
calc_bus_injection
- Added a to file variant of
export_matpower
- Improved
correct_bus_types!
support for undefined bus type values - Improved PSSE parser robustness to invalid
CZ
,CW
andCM
parameters in transformers
- Added support for ACR formulation with storage
- Added support for LPAC formulations of OTS and TNEP problems (#708) (thanks to @jay-dave)
- Added
windv*
,nomv*
andcw
values toimport_all
on PSS/E data files (#629) - Strengthened checks for multi-network and multi-conductor in
run_model
- Fixed conversions for transformer tap values in PSSE parser (#629)
- Fixed keyword arguments in native AC Power Flow solver
- Fixed star bus
bus_type
values in three winding transformers - Fixed Matpower parser bug when reactive power cost data was present (#729)
- Improved robustness of
export_matpower
to extra model data (#707) - Improved the PWL cost data processing during model building (#709)
- Fixed bugs admittance matrix tools to support inactive buses
- Fixed PSSE support for multiple three-winding transformers at the same buses (#712)
- Fixed PSSE transformer status processing (#712)
- Updated to new function name convention, details in issue #701 (#555,#656) (breaking)
- Update to InfrastructureModels v0.5 (breaking)
- Added support for Memento v1.1
- Fixed storage reactive power dispatch model, added reactive power control variable (breaking)
- Added a native AC Power Flow solver in polar coordinates that uses NLSolve (#590)
- Added
ismulticonductor
check on data models - Made branch power flow expressions formulation agnostic (#684) (breaking)
- Changed the PWL cost implementation from a max formulation to a relaxed sos formulation
- Updated PWL cost data processing to require points that span a generators complete operating range (breaking)
- Updated
correct_bus_types!
to correct slack buses and focus on preparation for power flow studies (breaking) - Updated ref extensions API to use ref and data dictionaries, not power model types (#668) (breaking)
- Replaced
propagate_topology_status!
withsimplify_network!
(breaking) - Moved isolated component removal into
deactivate_isolated_components!
(#677) (breaking) - Removed InitializePowerModel and instantiate_model to use InfratructureModels versions (breaking)
- Removed export of some functions defined in InfratructureModels (breaking)
- Removed branch flow variables from generic Power Flow problem specification (breaking)
- Removed bus type modification from
check_reference_bus
(breaking)
- Made matpower cost data parser more robust to floating point numbers
- Fixed the type of derived "ncost" values in
export_matpower
- Updated to utilize generic base functions from InfrastructureModels
- Fixed the type of derived "ncost" values in
correct_cost_functions!
- Added support for Memento v0.13, v1.0
- Added export of
optimizer_with_attributes
from JuMP v0.21 - Added support for building storage models with branch flow formulations (#676)
- Added a linear branch flow formulation (#676)
- Fixed power balance duals in ACT formulation (#678)
- Added support for on/off storage in SOCWRPowerModel
- Fixed multinetwork solution building bug
- Fixed solution building bug in variable_demand_factor
- Add support for JuMP v0.21
- Standardized use of bounded parameter in variable creation (#651)
- Simplified branch series current variable indexing (breaking)
- Update solution building infrastructure (#77,#566,#627) (breaking)
- Moved multi-conductor support into PowerModelsDistribution (breaking)
- Fixed solution reporting bug with individual variables
- Fixed solution reporting bug when component status did not match bus status
- Add support for constant power factor load and shunt decision variables
- Add basic support for OPF with OLTC and PST variables
- Update to InfrastructureModels v0.4
- Add support for switches in propagate_topology_status! (#587) and export_matpower
- Added storage status to propagate_topology_status! (#662)
- Fixed PSD bug in cholesky factorization in sparse SDP formulation (#641)
- Made storage state constraints more robust in multinetwork data (#653)
- Changed post_* function names to build_* (#611) (breaking)
- Updated core function names to instantiate_model and build_result (breaking)
- Made problem naming more consistent (#644) (breaking)
- Cleaned up model optimization functions (#643) (breaking)
- Added native DC Power Flow solver and AdmittanceMatrix data structures
- Added PTDF-based OPF problem specification
- Added iterative flow limit cut OPF solvers (#619)
- Added IVRPowerModel (rectangular current-voltage formulation) (#622)
- Improved connected components computation time (#504)
- Removed
Inf
bounds from variables (#630) - Removed unused functions in
solution.jl
:get_solution
,add_generator_power_setpoint
,add_storage_setpoint
,add_branch_flow_setpoint
,add_dcline_flow_setpoint
(breaking) (#637) - Fixed a solution reporting bug when the optimizer result count is zero
- Added DCMPPowerModel for replication of Matpower's DC model (#612)
- Reduced memory allocations during PSSE data parsing (#617)
- Updates for SCS v0.6.3 (#634)
- Fixed quadratic terms in nonlinear objectives (#621)
- Fixed incorrect flow bounds based on current flow limits (#631)
- Added SOC formulation of the storage model
- Added support for optional line flow constraints (#576)
- Simplified PowerModel types (#192) (breaking)
- Improved multi-conductor support in the storage model (#572) (breaking)
- Renamed model_constructor to model_type (#192) (breaking)
- Made all component on/off variables conductorless (#390) (breaking)
- Require an explicit switch section in the data model (breaking)
- Fixed naming branch indicator variable (#551) (breaking)
- Made baseMVA not a global key in multinetwork models (breaking)
- Fixed bug in bus_storage_lookup (#598)
- Update to InfrastructureModels v0.3 and JuMP v0.20
- Fixed power balance duals in w-space formulations (#591)
- Dropped CI on Julia v1.0
- Fixed support for data without an explicit switch section
- Fixed support for single values in add_setpoint! and add_dual!
- Add switch component (#339)
- Added component status parameter lookup (#565)
- Relax JuMP Model type (#582)
- Fixed conductor semantics in storage devices (breaking)
- Fixed status-based filtering to support fractional values (#564)
- Fixed
va
default start point
- Added function for building pwl objective variables and constraints
- Added check_status to standard data reading checks (#547)
- Added storage on/off constraints (#552)
- Added an alternative storage complementary constraint that uses MIP instead of NLP (#552)
- Fixed a bug in branch status reporting (#553)
- Fixed a bug in
AbstractBFForm
version ofconstraint_voltage_angle_difference
(#557)
- Fixed a bug in add_setpoint! in the multiconductor case
- Significant updates to function naming details in #538 (#268,#454,#499,#533) (breaking)
- Added component status based filtering to solution building (#523)
- Added constraint_model_current to bfm formulations (breaking)
- Updated Matpower "bus_name" to map to bus parameter "name" (breaking)
- Updated slope and intercept data structure (#521) (breaking)
- Updated time_elapsed to be a network-wise parameter (#541) (breaking)
- Updated current variable name from cm to ccm (#366) (breaking)
- Added support for pre-computed buspair data (#524)
- Added source_id to Matpower parser (#512)
- Added logger_config! to configure the PowerModels logger (#402)
- Minor improvements to Matpower export function (#388)
- Removed inequality constraint from theta_ref constraint in the ACR formulation
- Removed bounds on binary variable constructors (#535)
- Added calc_gen_cost to compute the generator cost from the setpoint in the data model
- Added calc_dcline_cost to compute the dcline cost from the setpoint in the data model
- Fixed a bug that resulted in an extra call to ref_core!
- Update to use JuMP/MOI status values (#276) (breaking)
- Made power setpoint values required in storage model (#487) (breaking)
- Added support for extensible ref building (#263) (breaking)
- Updates PSS(R)E
source_id
to include string indicating originating component type (#511) (breaking) - Renamed data functions to indicate when modification can occur (#441) (breaking)
- Renamed objective functions to make dcline flow costs more explicit (#364) (breaking)
- Refactor connected_components to accept arbitrary edge-types with
edges
kwarg - Fixes bug in warnings inside storage constraints
- Add Bool to allowed data types in json parse of MultiConductorVector/Matrix
- Add handling of Inf/NaN values in JSON parser in MultiConductorVector/Matrix
- Update to JuMP v0.19/MathOptInterface (breaking)
- Added a test network with dangling buses, case5_db.m
- Fixed voltage bound persistence bug in acr formulation (#497)
- Minor fix solve method scope
- Added calc_power_balance function for computing bus balance from the data model
- Added calc_branch_flow functions for computing flows from the data model
- Added JSON parser with support for multiconductor values
- Added Base.norm for multiconductorvectors
- Improved starting point support for branch flow variables
- Improved starting point of piecewise linear cost function variables
- Minor improvement to piecewise linear cost function pre-processing
- Minor fix to multiconductor broadcasting
- Updated using to import
- Dropped support for Julia v0.6 and v0.7
- Added generator on/off constraints
- Added opf model with unit commitment (#475)
- Fixed multiconductor support for ACR formulation
- Removed support for Julia versions < 1.0
- Update syntax to be compatible with JuMP v0.19 / MathOptInterface
- Added all error messages to memento log
- Added ability to parse default values in PTI files
- Updated dict types to Dict{String,<:Any} (#466)
- Dropped lower bounds on unbounded voltage variables
- Refactored PTI parsing function names with
_
to indicate internal use only - Fixed minor typos in docs
- Fixed a minor bound tolerance bug in OBBT
- Fixed minor error in conic bfm models (#469)
- Fixed bug in parsing of PTI transformers (#459)
- Fixed bug in PTI parsing handling commas or comment characters inside of quotations
- Fixed bug in PTI parsing where quotation marks were not being properly stripped from String-type data
- Added support for heterogeneous cost functions
- Added automatic simplification of cost functions
- Improved support for polynomial cost functions
- Updated default cost function to linear when loading PSSE data
- Cleaned up generator data in Matpower files
- Cleaned up generator data in PSS(R)E PTI file parse
- Fixed source_id in PSS(R)E PTI parse of buses to be only bus id
- Fixed small PSS(R)E PTI parser errors (unicode handling, reserved characters in comments, error message handling)
- Added tracking of modifications in check_network_data
- Added validate option to parse_file
- Added silence() function to suppress info and warn messages
- Improved support for storage units in summary function
- Fixed print_summary in Julia v1.0
- Added LPAC cold-start approximation
- Improved support for linear cost functions (breaking)
- Reorganized power formulation types into core/types.jl
- Added an abstract type for all active power only models
- Minor revision of case5_clm, case5_npg and case5_strg test cases (breaking)
- Minor revision of top-level storage constraints (#413)
- Minor improvement to dictionary comprehensions
- Fixed the interpretation of ncost in Matpower data (thanks to @lthurner)
- Minor bug fix to line charging in check_branch_directions
- Minor improvement to error messaging during pti parsing
- Minor breaking changes #363, #391, #408, #429
- Added PowerModels specific replicate function
- Improved storage component data validation checks
- Add support for Julia v0.7 and v1.0 (thanks to @jd-lara)
- Add support for a generic storage component
- Added add_setpoint_fixed to improve solution reporting performance
- Added support for a user provided JuMP model
- Improved the Matpower data file export function
- Improved the optimal power balance problem specification
- Add SOCWRPowerModel support for the optimal power balance problem
- Added conductorsless option to add_setpoint
- Added support for conductor value in add_setpoint scaling
- Update tests for SCS v0.4
- Added SparseSDPWRMPowerModel model (thanks to @kersulis)
- Added Julia version upper bound
- Improved OBBT bound update logic
- Added support for current limits, issue #342
- Added a optimal power balance problem specification
- Added a network flow approximation formulation, NFAPowerModel
- Added conic variant of the SOCWRPowerModel model, SOCWRConicPowerModel (thanks to @kersulis)
- Added data simplification for piecewise linear cost functions
- Added sim_parallel_run_time to OBBT stats
- Made thermal limits optional in the data model
- Fixed a bug in quadratic conic objective functions
- Fixed a bug where dcline reactive variables entered active power only formulations
- Expanded documentation (mathematical model, formulations, references for formulations)
- Added optimality-based bound tightening (OBBT) functionality for the QC relaxations
- Added branch flow conic forms, e.g. AbstractBFConicForm, SOCBFConicPowerModel
- Update MINLP solvers used in testing
- Minor issues closed #328
- Strengthened the QCWRTri Power Flow formulation
- Added support for implicit single conductor to buspairs data
- Made add_setpoint more flexible when working with a mixture of data types
- Fixed a bug in TNEP voltage variable definitions
- Added support for asymmetric line charging in all formulations
- Added Matpower data file export function
- Added mathematical model to documentation
- Added parsing string data from IO objects
- Added support for network data with multiple conductors (breaking)
- Removed explicit series variables from branch flow model
- Improved helper functions ref, var, con to work with multiple networks and multiple conductors
- Minor robustness improvements to parsing PTI files
- Minor issues closed #316
- Removed Memento depreciation warnings
- Added warning when data is missing in a PTI file
- Minor tidying of matpower test cases
- Relaxed variable bounds in BFM to be consistent with BIM
- Added component_table function for building matrices from component data
- Added "source_id" to uniquely identify each component imported from a PTI file
- Added support for extending PowerModels data with all PTI data fields
- Extended support for PSS(R)E v33 data (three-winding transformers, two-terminal/vsc hvdc lines)
- Allow multinetwork as an optional parameter
- Removed multi-network filter option from objective functions (breaking)
- Removed option to run multi-network data in single-network models (breaking)
- Removed add_setpoint_bus_demand function (breaking)
- Changed parameters and improved performance of KCL constraints (breaking)
- Improved robustness of matpower data parsing and transformation
- Improved testing of convex relaxations
- Changed test MIP solver from GLPK to CBC
- Fixed bug where "info" messages were not printed by default
- Fixed bug in dcline cost function unit conversion
- Fixed bug where not all JuMP variables were anonymous
- Fixed minor bug in Power Flow models when the data does not specify a reference bus
- Minor issues closed #251
- Moved to Juniper for non-convex MINLP tests
- Fixed minor bug in non-convex MINLP formulations
- Dropped support for Julia v0.5 (breaking)
- Added basic support for PSS(R)E v33 data (buses, loads, shunts, generators, branches and two-winding transformers)
- Added support for table-like data summary, #146
- Added support for network topology processing
- Added basic support for Branch Flow formulation variants
- Added support for parsing PTI files into a Dict
- Refactored implementation of WRM formulation
- Updated branch mathematical model and Matpower parser to support asymmetrical line charging
- Added explicit load and shunt components to the PowerModels network data structure
- Refactored Matlab and Matpower parsing functions
- Leveraging InfrastructureModels package for Matlab data parsing, #233, #247
- Migrated logging tools from Logging to Memento
- Updated struct and type parameter syntax to Julia v0.6
- Fixed a mathematical bug when swapping the orientation of a transformer
- Minor issues closed #51, #131, #220
- Added support for convex piecewise linear cost functions
- Added lambda-based convex hull relaxation scheme for trilinear products
- Added QCWRTri Power Flow formulation
- Added kcl and thermal limit dual values in linear power flow formulations
- Fixed bug in QC-OTS formulation
- Standardized around branch name for pi-model lines (breaking)
- Added checking for inconsistent orientation on parallel branches
- Added support for multiple networks in the JuMP model (breaking)
- Removed epsilon parameter from constraint_voltage_magnitude_setpoint (breaking)
- Moved misc models to PowerModelsAnnex (breaking)
- Removed unnecessary NL constraints from ACR and ACT formulations
- Removed redundant quadratic constraint from DCPLL formulation
- Added warning messages for inconsistent voltage set points
- Fixed branch flow units transformation bug
- Added JuMP v0.18 compatibility
- Added pm.var and made all JuMP variables anonymous (breaking)
- Added support for SDP, ACR, and ACT Power Flow formulations
- Added cost model zero filtering to matpower parser
- Eliminated usage of pm.model.ext, #149
- Made solution default units per-unit (breaking)
- Removed deprecated bus-less constraint_theta_ref function (breaking)
- Renamed polar voltage variables v,t to vm,va (breaking)
- Renamed functions with phase_angle to voltage_angle (breaking)
- Renamed v_from and w_from variables to v_fr w_fr (breaking)
- Removed variable and constraint function return values (breaking)
- Made index_name an optional parameter in add_setpoint (breaking)
- Moved check_cost_models into the objective building function
- Fixed out of range bug in calc_theta_delta_bounds
- Fixed bug in voltage angle differences in AbstractACPForms
- Fixed bugs in AbstractDCPLLForm and added OPF test
- Added support for Matpower data with dclines (thanks to @frederikgeth, @hakanergun)
- Added support for QC-OTS
- Added support for multiple reference buses
- Added rectangular voltage formulation of AC-OPF
- Added w-theta formulation of AC-OPF
- Added data units checks to update_data
- Made branch flow parameter names consistent with Matpower
- Fixed bug in constants for w-space voltage angle difference constraints
- Fixed bug when no reference bus was specified
- Fixed dcline parsing bug
- Added JuMP v0.17 compatibility
- Reorganized documentation into Manual, Library, Developer, and Experimental Results
- Updated type declarations to Julia v0.6 syntax
- Moved documentation to Documenter.jl (thanks to @yeesian)
- Added basic OPF results to Documentation
- Extended pm.ref include all fields from pm.data
- Added JuMP v0.16 and Julia v0.6 compatibility
- Added missing function for AC-TNEP models
- Added checks that tap ratios are non-zero
- Made all power model forms abstract types, to support future extensions
- Made matpower parser more robust to cases with line flow values
- Fixed a bug that prevented parsing of bus_names when buses have non-contiguous ids
- Fixed bounds correction units when angmin and angmax are 0.0
- Updated to JuMP v0.15 syntax
- Replaced PowerModels set data types with "ref" dictionary
- Refactored Matpower data processing to simplify editing network data after parsing
- Unified network data and solution formats and made them valid JSON documents
- Replaced JSON test files with Matpower test files
- Added documentation on internal JSON data format to DATA.md
- Updated TNEP models to work with Matpower parsing extensions
- Strengthened convex formulations with Lifted Nonlinear Cuts (LNCs)
- Added ability to easily inspect the JuMP model produced by PowerModels
- Added constraint templates to provide an abstraction layer between the network data and network constraint definitions
- Moved system wide voltage angle difference bounds to the "ref" dictionary
- Refactored model definitions to be based on complex numbers
- Multiple improvements to Matlab file parsing
- Added support Matlab cell arrays
- Added support for Matpower bus_names
- Added ability for reading non-standard Matpower data elements
- Added JuMP version v0.14 upper bound
- Added Transmission Network Expansion Planning (tnep) problem.
- Added support for julia v0.5.0 and OS X
- Added line flows option for solution output
- Added initial documentation and helper functions
- Replaced Gurobi with Pajarito for MISOCP tests
- Complete re-write to type-based implementation using dynamic dispatch
- Incorporated abstract problem specifications
- Added type-based formulation abstractions
- Initial function-based implementation