Optimization with asymmetrical prices
9 次查看(过去 30 天)
显示 更早的评论
Hi!
I am solving an optimization problem where a storage device is used to whether to buy or sell electricity during different time periods. I trying to understand how to mathematically solve an optimization problem in Matlab where there are different price/ cost arrays for selling and purchasing energy accordingly. It basically depends on a sign of the specific storage-related parameter (whether to take or give energy).
How could I implement this kind of conditional pricing in an objective function using the Matlab optimization toolbox?
0 个评论
采纳的回答
Walter Roberson
2023-9-5
When you have any kind of situation like that, the objective function almost always has discontinuous first derivatives. You have abrupt changes of behaviour between buy and sell, rather than smooth transitions between . You do not, for example, buy and sell according to a sine wave or according to Bessel functions: you effectively react according to unpredictable non-smooth external stimuli and abruptly change state.
Any optimization routine that relies upon jacobians or hessians cannot deal with those kinds of systems.
You need an optimization routine such as Genetic Algorithm (ga) which does not require that the functions be smooth.
It seems to me that if you had 100% accurate knowledge of the future, that you could achieve absolute best optimization. But you will never have 100% accurate knowledge of the future -- so it seems to me that your real problem is to try to pick the best forecasting algorithm that predicts the future the most accurately, with ability to make (possibly large) corrections based upon the "actual" data. You would have to test such algorithms multiple times over different scenarios in order to decide which algorithm was best overall (which is not necessarily going to be the one that optimizes best for any one scenario.)
2 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Genetic Algorithm 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!