Power balance in a microgrid
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am trying to optimize the sizing of a microgrid which caters for the demand with renewables (solar PV and wind), diesel generator (DG) and a battery. It has a dump load, to absorb excess generation if exists after catering the power demand and charging the battery. I use the power balance equation as follows (which is an equality constraint in the optimization problem). Here, at any time step (k), power balance equation is as follows. U_dg is a binary variable to denote the switch on/off condition of the DG. I have formed the power balance (total generation = total demand) as a part of 'nonlinconstr' function.
[c,ceq] = nonlinconstr(x) (Reference: https://mathworks.com/help/optim/ug/nonlinear-equality-and-inequality-constraints.html?s_tid=mwa_osa_a)
I have used the static penalty approach to handle the constraints. My final fitness function is defined as Fitness_function = Fitness_function + nonlinconstr(x); However, I observed that, this equality constraint is always violated and therefore, I get extremely high costs for the fitness function.
I realized that similar problems have been solved by many researchers. It is much appreciated, if someone can assist me in solving this issue.
Is there any other way to approach this, other than the static penalty approach?
% total generation - total demand = 0;
ceq = P_pv(k)+P_wind(k)+P_battery(k)+P_dg(k)*U_dg(k)-(P_load(k)+P_dump(k));
0 commentaires
Réponses (1)
Alan Weiss
le 15 Juil 2022
Usually the way to include this type of equality constraint is to use the approach shown in Integer and Logical Modeling. For an example, see Optimal Dispatch of Power Generators: Problem-Based or the equivalent Optimal Dispatch of Power Generators: Solver-Based.
Alan Weiss
MATLAB mathematical toolbox documentation
3 commentaires
Alan Weiss
le 15 Juil 2022
I was suggesting that you reformulate your problem to not have a nonlinear constraint like that. Make an indicator variable for when you have a dump load, and write an equation using that indicator variable for the dump load. That way, you will not rely on the solver to attempt to satisfy an equality constraint, which in general is very hard for a solver to accomplish.
Alan Weiss
MATLAB mathematical toolbox documentation
Voir également
Catégories
En savoir plus sur Get Started with Optimization Toolbox 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!