Need help for solving an Optimization problem
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have written a code for my problem My problem is Min L
Subject to:
0 ≤ Qt ≤ Qm
St = St-1 + It - Qt
Sd ≤ St ≤ Sm
Qt ≤ L
%Read the excel file containing time series inflow data
data = xlsread('Reservoir.xlsx');
t = data(:,1); % days
I(:,1) = data(:,2); % m^3
T = data(end,1); % days
S_0 = data(1,5); % m^3
S_d = data(2,5); % m^3
S_m = data(3,5); % m^3
Q_m = data(4,5); % m^3
L = optimvar('L',1,'LowerBound',0,'UpperBound',Q_m);
Q = optimvar('Q',T,'LowerBound',0,'UpperBound',Q_m);
S = optimvar('L',T,'LowerBound',S_d,'UpperBound',S_m);
waterbalance = optimconstr(T,1);
for t = 1:T
if t == 1
storage = S_0;
else
storage = S(t-1);
end
waterbalance(t) = S(t) == storage + I(t) - Q(t);
end
discharge = optimconstr(T,1);
for t= 1:T
discharge(t) = Q(t)<=L;
end
prob.Constraints.waterbalance = waterbalance;
prob.Constraints.discharge = discharge;
prob = optimproblem;
prob.Objective = L;
sol = solve(prob)
I need the minimized value for L. But i am getting answer as 0. Please help me.
4 commentaires
Réponse acceptée
Torsten
le 29 Oct 2018
Modifié(e) : Torsten
le 29 Oct 2018
- Take L, Qt, St as variables to be solved for.
- Define upper bounds ub and lower bounds lb to account for
0 ≤ Qt ≤ Qm
Sd ≤ St ≤ Sm
- Define matrix Aeq and vector beq to account for
St - St-1 + Qt = It
- Define matrix A and vector b to account for
Qt - L ≤ 0
- Define the vector f as (1,0,0,...,0).
- Call linprog.
Best wishes
Torsten.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Linear Least Squares 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!