Break down model.jl

This commit is contained in:
2021-05-29 18:33:16 -05:00
parent 4e8426beba
commit 483c793d49
17 changed files with 545 additions and 465 deletions

View File

@@ -9,6 +9,8 @@ import DataStructures: PriorityQueue
time_limit::Float64
gap_limit::Float64
two_phase_gap::Bool
max_violations_per_line::Int
max_violations_per_period::Int
end
Lazy constraint solution method described in:
@@ -17,8 +19,8 @@ Lazy constraint solution method described in:
constraint filtering in large-scale security-constrained unit commitment.
IEEE Transactions on Power Systems, 34(3), 2457-2460.
Fields
=========
## Fields
- `time_limit`:
the time limit over the entire optimization procedure.
- `gap_limit`:
@@ -26,6 +28,13 @@ Fields
- `two_phase_gap`:
if true, solve the problem with large gap tolerance first, then reduce
the gap tolerance when no further violated constraints are found.
- `max_violations_per_line`:
maximum number of violated transmission constraints to add to the
formulation per transmission line.
- `max_violations_per_period`:
maximum number of violated transmission constraints to add to the
formulation per time period.
"""
struct _XaQiWaTh19
time_limit::Float64
@@ -35,11 +44,11 @@ struct _XaQiWaTh19
max_violations_per_period::Int
function _XaQiWaTh19(;
time_limit::Float64,
gap_limit::Float64,
two_phase_gap::Bool,
max_violations_per_line::Int,
max_violations_per_period::Int,
time_limit::Float64 = 86400.0,
gap_limit::Float64 = 1e-3,
two_phase_gap::Bool = true,
max_violations_per_line::Int = 1,
max_violations_per_period::Int = 5,
)
return new(
time_limit,