Azzera filtri
Azzera filtri

EV charging price optimization

5 visualizzazioni (ultimi 30 giorni)
Anwar
Anwar il 17 Feb 2024
Commentato: Torsten il 20 Feb 2024
I am currently working on EV charging price optimization. In the fitness function we have the price of charging, battery values (voltage capacity power) and we have Sv, it represents the selection variable of the state of the vehicle "1" for charging state "-1" for discharging and " 0 " for neither charging nor discharging. The main idea is finding the best combination between those three states during 10 intervals to get the best charging price and my question is : what's the correct form of code this part to make the optimization algorithm find the optimal distribution of "1","-1","0" to attain the best price. I have heard a lot of suggestions "rand form,loops.." and I wasn't sure about the adequate form to choose,thank you so much !
function [F, J, x, R] = costfunction(x)
dx = diff(x);%charged value
ds = -dx;%discharged value
V = 360; %voltage of the battery
Q = [80, 80, 80, 80, 80, 80, 80, 80, 80, 80]; %capacity of the battery
N = 0.5; %charging effeciency
M = 1; %dicharging effeciency
R = [1, 5, 6, 7, 2, 9, 5, 9, 3,7];% Price of electricity of the 10 intervals
Sv = [, , , , , , , , ]; %%that is the variable that should be a combination of 1 ,-1 or 0 during 10 intervals
%%for example Sv can be: Sv = [1,-1 ,0 ,-1 , 1, -1,0 ,-1 ,1,1]%%
C = (V * dx .* Q .* R * (1 / N)) .* ((1 + Sv) / 2) .* Sv.^2; % charging cost of one interval
D = (V * ds .* Q .* R * (1 / M)) .* ((-1 + Sv) / 2) .* Sv.^2;% discharging cost of one interval
J = C + D;%Final cost of one interval
y = sum(J);%Final cost at the end of 10 intervals
end
  7 Commenti
Anwar
Anwar il 20 Feb 2024
It is x and Sv(k)
Torsten
Torsten il 20 Feb 2024
Of course you can do this. If you use "ga" to solve, the only thing you must have in mind is that if you define integer variables as the Sv, you cannot have nonlinear equality constraints in your problem formulation.

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Get Started with Optimization Toolbox in Help Center e File Exchange

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by