Model Building and Execution

NEMStorageUnderUncertainty.run_modelMethod
run_model(
    optimizer::MathOptInterface.OptimizerWithAttributes,
    storage::NEMStorageUnderUncertainty.StorageDevice,
    prices::Vector{<:AbstractFloat},
    times::Vector{Dates.DateTime},
    binding_end_time::Dates.DateTime,
    τ::Float64,
    formulation::NEMStorageUnderUncertainty.StorageModelFormulation,
    degradation::NEMStorageUnderUncertainty.DegradationModel;
    silent,
    time_limit_sec,
    string_names
) -> Any

Summary

Runs a model using data in prices, times and τ (interval duration in hours). The type of model constructed and run is dependent on the formulation

Arguments

  • optimizer: A solver optimizer
  • storage: StorageDevice
  • prices: Energy prices in /MW/hr that corresponds to prices at times
  • times: Times to run model for
  • binding_end_time: Binding period end time
  • τ: Interval duration in hours
  • formulation: A model formulation (StorageModelFormulation)

Returns

  • A JuMP model if the solution is optimal (within solver tolerances)
  • A JuMP model with warning if a time/iteration limit is hit
  • Throws and error if infeasible/unbounded/etc.

Methods

run_model(
    optimizer,
    storage,
    prices,
    times,
    binding_end_time,
    τ,
    formulation,
    degradation;
    silent,
    time_limit_sec,
    string_names
)

defined at /home/runner/work/NEMStorageUnderUncertainty/NEMStorageUnderUncertainty/src/model/build_and_run.jl:338.

source