Rename internal methods to _something; reformat code

This commit is contained in:
2021-05-27 20:45:15 -05:00
parent 11514b5de8
commit 7eb1019410
16 changed files with 339 additions and 234 deletions

View File

@@ -6,7 +6,7 @@ using UnitCommitment
@testset "convert" begin
@testset "EGRET solution" begin
solution = UnitCommitment.read_egret_solution("fixtures/egret_output.json.gz")
solution = UnitCommitment._read_egret_solution("fixtures/egret_output.json.gz")
for attr in ["Is on", "Production (MW)", "Production cost (\$)"]
@test attr in keys(solution)
@test "115_STEAM_1" in keys(solution[attr])
@@ -16,4 +16,4 @@ using UnitCommitment
@test solution["Startup cost (\$)"]["315_CT_6"][15:20] == [0., 0., 5665.23, 0., 0., 0.]
@test length(keys(solution["Is on"])) == 154
end
end
end

View File

@@ -5,7 +5,7 @@
using Test
using UnitCommitment
UnitCommitment.setup_logger()
UnitCommitment._setup_logger()
@testset "UnitCommitment" begin
include("instance_test.jl")

View File

@@ -3,51 +3,83 @@
# Released under the modified BSD license. See COPYING.md for more details.
using UnitCommitment, Test, LinearAlgebra
import UnitCommitment: Violation, _offer, _query
@testset "Screening" begin
@testset "Violation filter" begin
instance = UnitCommitment.read_benchmark("test/case14")
filter = ViolationFilter(max_per_line=1, max_total=2)
filter = UnitCommitment.ViolationFilter(max_per_line=1, max_total=2)
offer(filter, Violation(time=1,
monitored_line=instance.lines[1],
outage_line=nothing,
amount=100.))
offer(filter, Violation(time=1,
monitored_line=instance.lines[1],
outage_line=instance.lines[1],
amount=300.))
offer(filter, Violation(time=1,
monitored_line=instance.lines[1],
outage_line=instance.lines[5],
amount=500.))
offer(filter, Violation(time=1,
monitored_line=instance.lines[1],
outage_line=instance.lines[4],
amount=400.))
offer(filter, Violation(time=1,
monitored_line=instance.lines[2],
outage_line=instance.lines[1],
amount=200.))
offer(filter, Violation(time=1,
monitored_line=instance.lines[2],
outage_line=instance.lines[8],
amount=100.))
_offer(
filter,
Violation(
time=1,
monitored_line=instance.lines[1],
outage_line=nothing,
amount=100.,
),
)
_offer(
filter,
Violation(
time=1,
monitored_line=instance.lines[1],
outage_line=instance.lines[1],
amount=300.,
),
)
_offer(
filter,
Violation(
time=1,
monitored_line=instance.lines[1],
outage_line=instance.lines[5],
amount=500.,
),
)
_offer(
filter,
Violation(
time=1,
monitored_line=instance.lines[1],
outage_line=instance.lines[4],
amount=400.,
),
)
_offer(
filter,
Violation(
time=1,
monitored_line=instance.lines[2],
outage_line=instance.lines[1],
amount=200.,
),
)
_offer(
filter,
Violation(
time=1,
monitored_line=instance.lines[2],
outage_line=instance.lines[8],
amount=100.,
)
)
actual = query(filter)
expected = [Violation(time=1,
monitored_line=instance.lines[2],
outage_line=instance.lines[1],
amount=200.),
Violation(time=1,
monitored_line=instance.lines[1],
outage_line=instance.lines[5],
amount=500.)]
actual = _query(filter)
expected = [
Violation(
time=1,
monitored_line=instance.lines[2],
outage_line=instance.lines[1],
amount=200.,
),
Violation(
time=1,
monitored_line=instance.lines[1],
outage_line=instance.lines[5],
amount=500.,
),
]
@test actual == expected
end
@@ -57,19 +89,24 @@ using UnitCommitment, Test, LinearAlgebra
line.normal_flow_limit[t] = 1.0
line.emergency_flow_limit[t] = 1.0
end
isf = UnitCommitment.injection_shift_factors(lines=instance.lines,
buses=instance.buses)
lodf = UnitCommitment.line_outage_factors(lines=instance.lines,
buses=instance.buses,
isf=isf)
isf = UnitCommitment._injection_shift_factors(
lines=instance.lines,
buses=instance.buses,
)
lodf = UnitCommitment._line_outage_factors(
lines=instance.lines,
buses=instance.buses,
isf=isf,
)
inj = [1000.0 for b in 1:13, t in 1:instance.time]
overflow = [0.0 for l in instance.lines, t in 1:instance.time]
violations = UnitCommitment.find_violations(instance=instance,
net_injections=inj,
overflow=overflow,
isf=isf,
lodf=lodf)
violations = UnitCommitment._find_violations(
instance=instance,
net_injections=inj,
overflow=overflow,
isf=isf,
lodf=lodf,
)
@test length(violations) == 20
end
end
end

View File

@@ -7,7 +7,7 @@ using UnitCommitment, Test, LinearAlgebra
@testset "Sensitivity" begin
@testset "Susceptance matrix" begin
instance = UnitCommitment.read_benchmark("test/case14")
actual = UnitCommitment.susceptance_matrix(instance.lines)
actual = UnitCommitment._susceptance_matrix(instance.lines)
@test size(actual) == (20, 20)
expected = Diagonal([29.5, 7.83, 8.82, 9.9, 10.04,
10.2, 41.45, 8.35, 3.14, 6.93,
@@ -18,8 +18,10 @@ using UnitCommitment, Test, LinearAlgebra
@testset "Reduced incidence matrix" begin
instance = UnitCommitment.read_benchmark("test/case14")
actual = UnitCommitment.reduced_incidence_matrix(lines=instance.lines,
buses=instance.buses)
actual = UnitCommitment._reduced_incidence_matrix(
lines=instance.lines,
buses=instance.buses,
)
@test size(actual) == (20, 13)
@test actual[1, 1] == -1.0
@test actual[3, 1] == 1.0
@@ -63,8 +65,10 @@ using UnitCommitment, Test, LinearAlgebra
@testset "Injection Shift Factors (ISF)" begin
instance = UnitCommitment.read_benchmark("test/case14")
actual = UnitCommitment.injection_shift_factors(lines=instance.lines,
buses=instance.buses)
actual = UnitCommitment._injection_shift_factors(
lines=instance.lines,
buses=instance.buses,
)
@test size(actual) == (20, 13)
@test round.(actual, digits=2) == [
-0.84 -0.75 -0.67 -0.61 -0.63 -0.66 -0.66 -0.65 -0.65 -0.64 -0.63 -0.63 -0.64;
@@ -91,17 +95,23 @@ using UnitCommitment, Test, LinearAlgebra
@testset "Line Outage Distribution Factors (LODF)" begin
instance = UnitCommitment.read_benchmark("test/case14")
isf_before = UnitCommitment.injection_shift_factors(lines=instance.lines,
buses=instance.buses)
lodf = UnitCommitment.line_outage_factors(lines=instance.lines,
buses=instance.buses,
isf=isf_before)
isf_before = UnitCommitment._injection_shift_factors(
lines=instance.lines,
buses=instance.buses,
)
lodf = UnitCommitment._line_outage_factors(
lines=instance.lines,
buses=instance.buses,
isf=isf_before,
)
for contingency in instance.contingencies
for lc in contingency.lines
prev_susceptance = lc.susceptance
lc.susceptance = 0.0
isf_after = UnitCommitment.injection_shift_factors(lines=instance.lines,
buses=instance.buses)
isf_after = UnitCommitment._injection_shift_factors(
lines=instance.lines,
buses=instance.buses,
)
lc.susceptance = prev_susceptance
for lm in instance.lines
expected = isf_after[lm.offset, :]

View File

@@ -14,7 +14,7 @@ parse_case14() = JSON.parse(GZip.gzopen("../instances/test/case14.json.gz"),
json = parse_case14()
json["Generators"]["g1"]["Production cost curve (MW)"] = [100, 150, 200]
json["Generators"]["g1"]["Production cost curve (\$)"] = [10, 25, 30]
instance = UnitCommitment.from_json(json, repair=false)
instance = UnitCommitment._from_json(json, repair=false)
@test UnitCommitment.repair!(instance) == 4
end
@@ -23,7 +23,7 @@ parse_case14() = JSON.parse(GZip.gzopen("../instances/test/case14.json.gz"),
json["Generators"]["g1"]["Production cost curve (MW)"] = [100, 150]
json["Generators"]["g1"]["Production cost curve (\$)"] = [100, 150]
json["Generators"]["g1"]["Startup limit (MW)"] = 80
instance = UnitCommitment.from_json(json, repair=false)
instance = UnitCommitment._from_json(json, repair=false)
@test UnitCommitment.repair!(instance) == 1
end
@@ -31,7 +31,7 @@ parse_case14() = JSON.parse(GZip.gzopen("../instances/test/case14.json.gz"),
json = parse_case14()
json["Generators"]["g1"]["Startup costs (\$)"] = [300, 200, 100]
json["Generators"]["g1"]["Startup delays (h)"] = [8, 4, 2]
instance = UnitCommitment.from_json(json, repair=false)
instance = UnitCommitment._from_json(json, repair=false)
@test UnitCommitment.repair!(instance) == 4
end