You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.2 KiB
33 lines
1.2 KiB
# UnitCommitment.jl: Optimization Package for Security-Constrained Unit Commitment
|
|
# Copyright (C) 2020, UChicago Argonne, LLC. All rights reserved.
|
|
# Released under the modified BSD license. See COPYING.md for more details.
|
|
|
|
using UnitCommitment
|
|
using JuMP
|
|
using HiGHS
|
|
using JSON
|
|
|
|
function storage_optimization_test()
|
|
@testset "storage_optimization" begin
|
|
instance =
|
|
UnitCommitment.read(fixture("case24-iberian-storage.json.gz"))
|
|
model = UnitCommitment.build_model(
|
|
instance = instance,
|
|
optimizer = HiGHS.Optimizer,
|
|
variable_names = true,
|
|
)
|
|
set_silent(model)
|
|
UnitCommitment.optimize!(model)
|
|
solution = UnitCommitment.solution(model)
|
|
# results must be valid
|
|
@test UnitCommitment.validate(instance, solution)
|
|
# storages are being used
|
|
charging_rates = solution["Storage charging rates (MW)"]
|
|
discharging_rates = solution["Storage discharging rates (MW)"]
|
|
@test sum(charging_rates["su1"]) > 0
|
|
@test sum(charging_rates["su2"]) > 0
|
|
@test sum(discharging_rates["su1"]) > 0
|
|
@test sum(discharging_rates["su2"]) > 0
|
|
end
|
|
end
|