You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Define the minimum operating time (in time steps) for the water_power turbine
313
314
if p.s.water_power.minimum_operating_time_steps_individual_turbine >1
315
+
@warn"Setting minimum_operating_time_steps_individual_turbine to greater than 1 requires an optimization solver that can handle indicator constraints."
316
+
317
+
if p.s.settings.solver_name in solvers_incompatible_with_indicator_constraints
318
+
throw(@error("A solver that can handle indicator constraints must be used if minimum_turbine_off_time_steps is set to greater than 1"))
319
+
end
320
+
314
321
print("\n Adding minimum operating time constraint \n")
315
322
@variable(m, indicator_min_operating_time[t in p.techs.water_power, ts in p.time_steps, dv in dvs], Bin)
316
323
for dv in dvs
@@ -332,6 +339,12 @@ function add_water_power_constraints(m,p)
332
339
333
340
# Define the minimum operating time for the maximum water flow (in time steps) for a water_power turbine
334
341
if p.s.water_power.minimum_operating_time_steps_at_local_maximum_turbine_output >1
342
+
@warn"Setting minimum_operating_time_steps_at_local_maximum_turbine_output to greater than 1 requires an optimization solver that can handle indicator constraints."
343
+
344
+
if p.s.settings.solver_name in solvers_incompatible_with_indicator_constraints
345
+
throw(@error("A solver that can handle indicator constraints must be used if minimum_turbine_off_time_steps is set to greater than 1"))
346
+
end
347
+
335
348
print("\n Adding a constraint for the minimum operating time at a local maximum water flow \n")
336
349
@variable(m, indicator_turn_down[t in p.techs.water_power_turbines, ts in p.time_steps, dv in dvs], Bin)
337
350
for dv in dvs
@@ -354,6 +367,12 @@ function add_water_power_constraints(m,p)
354
367
end
355
368
356
369
if p.s.water_power.minimum_turbine_off_time_steps >1
370
+
@warn"Setting minimum_turbine_off_time_steps to greater than 1 requires an optimization solver that can handle indicator constraints."
371
+
372
+
if p.s.settings.solver_name in solvers_incompatible_with_indicator_constraints
373
+
throw(@error("A solver that can handle indicator constraints must be used if minimum_turbine_off_time_steps is set to greater than 1"))
374
+
end
375
+
357
376
print("\n Adding minimum off duration for the turbines \n")
358
377
@variable(m, indicator_turbine_turn_off[t in p.techs.water_power_turbines, ts in p.time_steps], Bin)
359
378
for t in p.techs.water_power_turbines, ts in1:Int(length(p.time_steps)- p.s.water_power.minimum_turbine_off_time_steps -1 )
0 commit comments