Make papers into modules, instead of structs; add StartupCostsFormulation

This commit is contained in:
2021-06-01 14:20:36 -05:00
parent ecb13dba7c
commit 8cdd88d6de
23 changed files with 181 additions and 97 deletions

View File

@@ -5,18 +5,21 @@
abstract type TransmissionFormulation end
abstract type RampingFormulation end
abstract type PiecewiseLinearCostsFormulation end
abstract type StartupCostsFormulation end
struct Formulation
pwl_costs::PiecewiseLinearCostsFormulation
ramping::RampingFormulation
startup_costs::StartupCostsFormulation
transmission::TransmissionFormulation
function Formulation(;
pwl_costs::PiecewiseLinearCostsFormulation = Gar1962(),
ramping::RampingFormulation = MorLatRam2013(),
pwl_costs::PiecewiseLinearCostsFormulation = Gar1962.PwlCosts(),
ramping::RampingFormulation = MorLatRam2013.Ramping(),
startup_costs::StartupCostsFormulation = MorLatRam2013.StartupCosts(),
transmission::TransmissionFormulation = ShiftFactorsFormulation(),
)
return new(pwl_costs, ramping, transmission)
return new(pwl_costs, ramping, startup_costs, transmission)
end
end