Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
v0.10-rc: iterate only over active connections (#314)
* FEATURE: Making the JuMP model sparse Previously, all matrices and vectors that were used to create the JuMP model were the maximum size of the whole network in terms of connections and terminals, e.g. even if a component only had one connection to the network, if the whole network was 3 phases, then 3 JuMP variables / constraints were used in every case. In this update only JuMP variables and constraints are created for the actual connections that exist on each component. This means that there are fewer cases where a problem is overdefined, and therefore larger cases can solve much faster. Single and two phase delta connected components are still not modeled in this sparse manor, and will be addressed in future updates. Several tests were found to be unstable, and need to be rewriten in the future, i.e. these tests would always pass locally, but fail on travis, which means the cases are probably poorly defined. This is in preparation for the addition of explicit neutral conductors. Also, some dangling function name changes and outstanding bugs were addressed, and support for older versions of JuMP was removed. Changes: - Refactor variables, constraints, objectives to support iterating over arbitrary connections/terminals (breaking) - Add `ref_add_connections!` that adds lists of connections to ref for each component (breaking) - Rename constraint and variable functions to better match PowerModels conventions (breaking) - variable_mc_gen_power_setpoint -> variable_mc_generator_power - variable_mc_gen_power_setpoint_on_off -> variable_mc_generator_power_on_off - constraint_mc_gen_setpoint -> constraint_mc_generator_power - constraint_mc_slack_power_balance -> constraint_mc_power_balance_slack - constraint_mc_shed_power_balance -> constraint_mc_power_balance_shed - constraint_mc_load_power_balance -> constraint_mc_power_balance - variable_mc_load_setpoint -> variable_mc_load_power - constraint_mc_load_setpoint -> constraint_mc_load_power - Updates objective function for MLD problem (breaking) - Add `correct_mc_voltage_angle_differences`, `correct_mc_thermal_limits` - Removed support for JuMP \< v0.21 (breaking) - Overrides `_objective_min_fuel_cost_polynomial_linquad` from PowerModels to support arbitrary connections on generators - Updated solution building functions to automatically parse arbitrarily-sized vectors of variables into solutions - Changed `Array{...,1}` to `Vector{...}` and `Array{...,2}` to `Matrix{...}` - Removes phase projection by default, but keeps phase projection for delta connected components for now (breaking) - Adds `apply_phase_projection_delta!` to project phases of delta connected components - Fixes grounding logic for generator and solar objects - Fixes bug in parsing of file paths on windows in redirect/compile dss commands Squashed commit of the following: commit 9a92736 Author: David M Fobes <[email protected]> Date: Mon Nov 2 11:07:06 2020 -0700 FIX: dss parser file path bug fixes bug in dss parser where whole file paths were not being passed during redirect/compile commands if `\` was used instead of `/`, i.e. dss files exist in subdirectories. commit 614d712 Author: David M Fobes <[email protected]> Date: Mon Nov 2 09:57:57 2020 -0700 FIX: unstable test commit a10bed8 Author: David M Fobes <[email protected]> Date: Fri Oct 30 14:13:48 2020 -0600 FIX: unstable unit tests on travis (work locally, need to debug) commit ed10967 Author: David M Fobes <[email protected]> Date: Thu Oct 29 14:59:48 2020 -0600 REVERT: storage test was changed unnecessarily commit 03c6816 Author: David M Fobes <[email protected]> Date: Thu Oct 29 14:40:09 2020 -0600 UPD: travis tests to julia 1.5 commit d3552c5 Author: David M Fobes <[email protected]> Date: Thu Oct 29 14:34:31 2020 -0600 UPD: changelog and version bump commit 259447f Author: David M Fobes <[email protected]> Date: Thu Oct 29 14:34:15 2020 -0600 REF: reorganize order of functions in objective.jl commit 40b8a19 Merge: 42ad101 6cca182 Author: David M Fobes <[email protected]> Date: Thu Oct 29 14:07:40 2020 -0600 Merge branch 'master' into feature-iterate-over-connections commit 42ad101 Author: David M Fobes <[email protected]> Date: Thu Oct 29 12:04:49 2020 -0600 Disable "3-bus SDPUBFKCLMX opf_bf" test (unstable) commit 31a37be Author: David M Fobes <[email protected]> Date: Tue Aug 25 07:09:58 2020 -0600 FIX: minor cleanup to matrix forms commit 339ee99 Author: David M Fobes <[email protected]> Date: Tue Aug 25 07:07:36 2020 -0600 ADD: solution processors Adds a couple of solution processors for converting ACR and LPUBFDiag voltage results to vm,va (if possible) commit 21d8882 Author: David M Fobes <[email protected]> Date: Tue Jul 28 17:26:43 2020 -0600 FIX: loop commit a6d2e7b Author: David M Fobes <[email protected]> Date: Tue Jul 28 15:58:05 2020 -0600 FIX: required objective functions commit a3b8004 Author: David M Fobes <[email protected]> Date: Tue Jul 28 15:57:04 2020 -0600 UPD: drop support for JuMP<0.21 commit d17fd59 Author: David M Fobes <[email protected]> Date: Tue Jul 28 15:54:44 2020 -0600 FIX: Relaxations commit ee2b74f Author: David M Fobes <[email protected]> Date: Tue Jul 28 10:50:00 2020 -0600 REF: rename variable_mc_gen_power_setpoint -> variable_mc_generator_power constraint_mc_gen_setpoint -> constraint_mc_generator_power constraint_mc_gen_current -> constraint_mc_generator_current constraint_mc_gen_current_real -> constraint_mc_generator_current_real constraint_mc_gen_current_imaginary -> constraint_mc_generator_current_imaginary constraint_mc_gen_setpoint_wye -> constraint_mc_generator_power_wye commit cda69e7 Author: David M Fobes <[email protected]> Date: Tue Jul 28 08:46:51 2020 -0600 ADD: delta projection commit b4a800b Author: David M Fobes <[email protected]> Date: Tue Jul 28 08:38:06 2020 -0600 FIX: transformer tests commit 17c3a6e Author: David M Fobes <[email protected]> Date: Mon Jul 27 16:12:33 2020 -0600 FIX: mld formulation objectives changed due to changes in objective function commit bc92a50 Author: David M Fobes <[email protected]> Date: Fri Jul 24 14:23:50 2020 -0600 WIP: FIX: MLD commit 776bb06 Author: David M Fobes <[email protected]> Date: Fri Jul 24 13:48:58 2020 -0600 REF: power_balance_shed to be consistent with others commit 6ca0396 Author: David M Fobes <[email protected]> Date: Fri Jul 24 13:48:31 2020 -0600 FIX: delta gen ACR commit b0a76e6 Author: David M Fobes <[email protected]> Date: Fri Jul 24 13:48:05 2020 -0600 FIX: load models for ACP commit a34408d Author: David M Fobes <[email protected]> Date: Fri Jul 24 13:47:47 2020 -0600 FIX: delta components commit d092cd9 Author: David M Fobes <[email protected]> Date: Fri Jul 24 13:46:57 2020 -0600 FIX: IVR commit e9551d1 Author: David M Fobes <[email protected]> Date: Fri Jul 24 13:46:29 2020 -0600 FIX: UBF formulations commit c9641ac Author: David M Fobes <[email protected]> Date: Fri Jul 24 13:45:34 2020 -0600 FIX: network_power_balance commit ba007d3 Author: David M Fobes <[email protected]> Date: Fri Jul 24 09:49:07 2020 -0600 FIX: ACR commit 5660e28 Author: David M Fobes <[email protected]> Date: Fri Jul 24 08:52:55 2020 -0600 REF: make power balance constraint implementation consistent commit 1930c3f Author: David M Fobes <[email protected]> Date: Fri Jul 24 08:51:56 2020 -0600 FIX: transformer eng2math commit 5c57994 Author: David M Fobes <[email protected]> Date: Fri Jul 24 08:51:14 2020 -0600 REF: make variable names consistent commit 517a64a Author: David M Fobes <[email protected]> Date: Fri Jul 24 08:00:51 2020 -0600 FIX: ACR delta components commit 662343e Author: David M Fobes <[email protected]> Date: Fri Jul 24 08:00:26 2020 -0600 REVERT: transformer eng2math commit 69a69c6 Author: David M Fobes <[email protected]> Date: Thu Jul 23 16:06:45 2020 -0600 WIP: upgrade to active terminal variables and constraints commit 1d9e384 Author: David M Fobes <[email protected]> Date: Tue Jul 14 16:22:51 2020 -0600 WIP: REF: per phase problem construction (unprojected) commit b83e765 Author: David M Fobes <[email protected]> Date: Fri Jul 10 15:14:40 2020 -0600 FIX: MLD objective commit bd0ec41 Author: David M Fobes <[email protected]> Date: Fri Jul 10 15:14:17 2020 -0600 FIX: Storage thermal limit commit a30ba49 Author: David M Fobes <[email protected]> Date: Fri Jul 10 15:14:02 2020 -0600 WIP: UPD: LPUBFDiag constraints for connections only commit 17b7a9d Author: David M Fobes <[email protected]> Date: Fri Jul 10 15:13:34 2020 -0600 WIP: UPD: APO constraints for connections only commit a480b04 Author: David M Fobes <[email protected]> Date: Fri Jul 10 15:13:02 2020 -0600 WIP: UPD: ACP constraints only for connections commit 81affab Author: David M Fobes <[email protected]> Date: Fri Jul 10 15:12:37 2020 -0600 WIP: UPD: variables to be created for only connections commit 00e9c48 Author: David M Fobes <[email protected]> Date: Fri Jul 10 15:11:59 2020 -0600 WIP: temp disable broken checks commit a5fa500 Author: David M Fobes <[email protected]> Date: Fri Jul 10 15:11:07 2020 -0600 FIX: _calc_branch_power_max commit 8d9e2bf Author: David M Fobes <[email protected]> Date: Fri Jul 10 15:10:47 2020 -0600 FIX: _calc_transformer_current_max_frto commit f61510a Author: David M Fobes <[email protected]> Date: Fri Jul 10 15:10:15 2020 -0600 FIX: _calc_load_vbounds commit e669d64 Author: David M Fobes <[email protected]> Date: Fri Jul 10 15:09:30 2020 -0600 WIP: update to use conns refs commit 4cd9e8a Author: David M Fobes <[email protected]> Date: Fri Jul 10 15:08:00 2020 -0600 RM: transformer calcs on branches commit be08089 Author: David M Fobes <[email protected]> Date: Fri Jul 10 15:04:24 2020 -0600 ADD: ref add bus connections to run and instantiate funcs commit 055e32f Author: David M Fobes <[email protected]> Date: Fri Jul 10 15:03:40 2020 -0600 ADD: storage injection bound calculator commit f04169b Author: David M Fobes <[email protected]> Date: Fri Jul 10 15:03:06 2020 -0600 ADD: bus connections to ref * FIX: ps, qs, energy were not getting converted into SI * FIX: Incremental compilation broken warning Instead of overwriting some objective functions from PowerModels, we instead created some multiconductor versions of them and still rely on some PowerModels helper functions for building the cost functions. Added: - objective_mc_min_fuel_cost - objective_mc_min_fuel_cost_pwl - objective_mc_variable_pg_cost - objective_mc_min_fuel_cost_polynomial - _objective_mc_min_fuel_cost_polynomial_linquad - _objective_mc_min_fuel_cost_polynomial_nl * UPD: Publication in README * FIX: bug in json parser * FIX: #315 - bug in dss parser Fixes bug in dss parser that skips some files with same names as previously parsed files even if full path to file is different Closes #315 Closes #307 Closes #305 Closes #304 Closes #302 Closes #298 Closes #296
- Loading branch information
983e461
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JuliaRegistrator register()
983e461
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Registration pull request created: JuliaRegistries/General/26068
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via: