How can i use MATLAB linear programming platform(Linprog) with recurssive functions?

5 次查看(过去 30 天)
I am working M.Sc. Thesis research on a load dispatch problem for Ethiopian power system that consists of mainly 15 hydroelectric power plants, 4 wind power plants, 5 geothermal plants and 2 solar power plants. The objective function bases itself on minimizing the power production cost. All types of power plants listed above have their own property and I have already formulated the model based on those properties.
Both the objective function as well as equality and non-equality constraints are all linear, discrete and deterministic. I am working for a year time with hourly resolution and using MATLAB platform to optimize the problem. The problem is already classified as large scale linear programming.
Given this information my problem is as follows:
I have a hydraulic continuity equation of the form:
V(t) =V(t-1) + In(t) – Q(t) –S(t)
Where V(t) = the reservoir level (volume) in time period t In(t),Q(t), S(t) = Inflow, Discharge and spill in time period t respectively In addition other equality and inequality constraints are included in the equation.
The decision (unknown) variables of the whole model are V, Q and S. I was attempting to use the function Linprog to solve the equation. But linprog accepts only coefficients of equation in matrix form which makes it difficult for the above equation since V(t) and V(t-1) can’t be differentiated as there is no time dimension. Is there any way I can represent such function in MATLAB linear programming platform? IF not what else can I do?
Regards Ashenafi

采纳的回答

John D'Errico
John D'Errico 2014-7-27
编辑:John D'Errico 2014-7-27
Linear programming uses linear algebra, i.e., matrices. It does not solve for a general function of time.
So discretize the problem in time, so that each time step adds additional variables. This will make the problem larger of course, since you will have a complete set of variables for each time step. That it makes the problem big may be an issue for you, but that is life.
It is why they call it research, because if it was easy, someone else would have done it already.
  1 个评论
Ashenafi Alemu
Ashenafi Alemu 2014-7-27
Dear John:
Thanx for the response. But if i discretize the problem it wont be an optimization since the optimal decision bases itself only on values for that time step (in my case for that hr) rather than looking at the whole time step (a year).
I know Dynamic programming can help for such a problem but i cant find any ready made function(like linprog for the linear programming)that can help me solve the dynamic programming on MATLAB? do you know any?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Linear Programming and Mixed-Integer Linear Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by