Power balance in a microgrid
5 views (last 30 days)
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));
Alan Weiss on 15 Jul 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.
MATLAB mathematical toolbox documentation