V2H Optimization: No feasible solution found
5 ビュー (過去 30 日間)
古いコメントを表示
I have some troubles to code an optimization Problem in Matlab. Since this is my first optimization i am a bit lost. This code is not running because "Linprog stopped because no point satisfies the constraints.". But I fail to see which constraint is prohibiting the code from running.
T = length(PV); % Anzahl der Zeitschritte
% Problem
prob = optimproblem;
% battery storage system parameter
BSS_Pmax = 11; % max power
BSS_Emax = 100; % max energy
% battery variables
BSS_ch = optimvar('BSS_ch', T, 'LowerBound', 0, 'UpperBound', BSS_Pmax);
BSS_disch = optimvar('BSS_disch', T, 'LowerBound', 0, 'UpperBound', BSS_Pmax);
BSS_SOC = optimvar('BSS_SOC', T, 'LowerBound', 0, 'UpperBound', BSS_Emax);
% other variables
Grid_Import = optimvar('Grid_Import', T, 'LowerBound', 0);
% battery constraints
prob.Constraints.energyStorage = optimconstr(T);
prob.Constraints.energyStorage = BSS_SOC(1) == 0;
prob.Constraints.energyStorage = BSS_SOC(2:T) == BSS_SOC(1:T-1) - BSS_disch(2:T) + BSS_ch(2:T);
% energy flow
prob.Constraints.EnergyBalance = Grid_Import == Bedarf - PV - BSS_disch + BSS_ch;
% cost funtion
cost = Grid_Import .* Price;
prob.ObjectiveSense = 'minimize';
prob.Objective = sum(cost);
% solve
[x, fval] = solve(prob);
% optional display
%disp(x.BSS_ch);
%disp(x.BSS_disch);
0 件のコメント
採用された回答
Torsten
2024 年 5 月 21 日
編集済み: Torsten
2024 年 5 月 21 日
Use
energyStorage = optimconstr(T);
energyStorage(1) = BSS_SOC(1) == 0;
energyStorage(2:T) = BSS_SOC(2:T) == BSS_SOC(1:T-1) - BSS_disch(2:T) + BSS_ch(2:T);
prob.Constraints.energyStorage = energyStorage;
instead of
% battery constraints
prob.Constraints.energyStorage = optimconstr(T);
prob.Constraints.energyStorage = BSS_SOC(1) == 0;
prob.Constraints.energyStorage = BSS_SOC(2:T) == BSS_SOC(1:T-1) - BSS_disch(2:T) + BSS_ch(2:T);
I can't check your constraints since I cannot execute your code. So I don't know if the above modification solves your problem.
6 件のコメント
その他の回答 (0 件)
参考
カテゴリ
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!