How can i use MATLAB linear programming platform(Linprog) with recurssive functions?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Ashenafi Alemu
le 27 Juil 2014
Commenté : Ashenafi Alemu
le 27 Juil 2014
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
0 commentaires
Réponse acceptée
John D'Errico
le 27 Juil 2014
Modifié(e) : John D'Errico
le 27 Juil 2014
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.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Calculus dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!