v0.7.0
- Add
powerio-probfor complete numerical problem instances (#238). Its
default build is matrix free; thematrixfeature adds sparse projections,
DC OPF bundle output. - Move DC OPF instance types and bundle output out of
powerio-matrix. - Keep solver formulations and KKT operators outside
powerio-prob. - Demote
powerio-jsonfrom the public case format surface (#229). It leaves
the CLI format help and the generated format tables;pio_parse_str(..., "powerio-json", ...)andpio_to_format(..., "powerio-json", ...)keep
working as ABI v4 compatibility aliases, andpio_to_json/pio_from_json
are the documented balanced model JSON API. NetworkPackage::from_balancedis format neutral. Source adapters, such as
GOC3 operating point extraction, run only for parsed reader input through
from_parsed_balanced.- Building a SCOPF instance from text requires an explicit source format.
- Add AC OPF problem instances (#248):
powerio-probgainsAcOpfInstance
andbuild_ac_opf_instance, carrying pi model branch data with separate tap
and shift, per terminal charging, bus shunts, active and reactive demand,
voltage bands, generator PQ bounds, and quadratic cost including the
constant term (GenCost::quadratic_with_constant). Relaxations such as SOC
forms consume the same instance. Matrix free; C ABI and Python exposure is
#249. powerio-probfirst publish review fixes: reserve membership sets now
assign zone indices from the same document order as the reserve rows
(sorted order previously crossedn_p/n_qbetween the two tables and
diverged fromsrc/goc3.jlpast nine zones); a GOC3 branch with
r = x = 0is rejected by name instead of writing NaN into the wire
rows; a missingdevice_typedefaults toproducer, the balanced
reader's rule; the AC instance folds self-loop branch admittance into
the bus shunt vectors, matchingbuild_ybus; both instance builders
reject a non-positive base MVA before scaling; the DC OPF bundle
directory name stays confined to the output directory, and the bundle
manifest reports the powerio core version (powerio::VERSION, new).
SCOPF row structs andDcOpfOutputsare#[non_exhaustive].- DSS reader:
linecode=now sets a line's conductor count the way the
engine's FetchLineCode does, the later ofphases=/linecode=winning.
A 4-wire line without an explicitphases=keeps its neutral instead of
truncating the terminal map to 3 against a 4x4 linecode
(frederikgeth/BMOPFTools.jl#332); thanks @frederikgeth
What's Changed
- Add C ABI construct/attach for operating point series by @samtalki in #239
- Add powerio-prob with matrix free DC OPF instances by @samtalki in #240
- Move GOC3 SCOPF instances into powerio-prob by @samtalki in #242
- Expose SCOPF instances over C and Python by @samtalki in #243
- Remove oversized GOC3 fixture and shorten C setter by @samtalki in #245
- DSS reader: take a line's conductor count from its linecode by @samtalki @frederikgeth in #247
- Enforce problem instance boundaries by @samtalki in #246
- Add AC OPF problem instances to powerio-prob by @samtalki in #251
- docs: rewrite public documentation for v0.7 by @samtalki in #244
- Fix powerio-prob review findings before the first publish by @samtalki in #253
Full Changelog: v0.6.3...v0.7.0