Optimization with time-dependent constraint

9 次查看(过去 30 天)
I am trying to find the optimal operation of a battery to perform energy arbitrage, which consists in charging energy when prizes are low and discharging when prizes are high.
The information that I have is:
P_bat = 10 %Battery power in MW
E_bat = 40 %Battery capacity in MWh
price = rand (1,24) %1x24 array with hourly energy prices in USD/MWh
And the results I would expect from the optimization are:
d %1x24 array with energy discharged every hour in MWh
c %1x24 array with energy charged every hour in MWh
SOC %1x24 with the battery State of Charge in MWh (initial value 0)
I have identified f as the function that I have to minimize to obtain maximum profit
Which has these constraints:
But there is another important constraint to the problem:
I am basing my code in this answer in the forum, but since the state of charge in a certain hour depends on its value on the previous hour, I am unable to translate this into the constraints function. I hope you can help me.

采纳的回答

Alan Weiss
Alan Weiss 2022-1-24
For an example of a similar problem, see Optimal Dispatch of Power Generators: Problem-Based.
Alan Weiss
MATLAB mathematical toolbox documentation

更多回答(1 个)

Torsten
Torsten 2022-1-24
Use "linprog" and define the 24 equalities
SOC_i - (SOC_i-1 + c_i - d_i) = 0 (i=1,...24)
in the matrix Aeq with SOC_1,...,SOC_24 as additional unknowns.

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

产品


版本

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by