Optimization with time-dependent constraint
15 次查看(过去 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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/871680/image.png)
Which has these constraints:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/871685/image.png)
But there is another important constraint to the problem:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/871690/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/871695/image.png)
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.
0 个评论
采纳的回答
更多回答(1 个)
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 Center 和 File Exchange 中查找有关 Problem-Based Optimization Setup 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!