An Improved Interval Fuzzy Modeling Method: Applications to the Estimation of Photovoltaic/Wind/Battery Power in Renewable Energy Systems
Abstract
:1. Introduction
- (a)
- The four design stages of the proposed imIFML technique are described in detail. The third and fourth stages, which suitably adjust the approximated lower and upper bounds of the imIFML technique to fit the reference bounds closely, are newly developed. The modified linear programming scheme in the imIFML technique is unique and has good efficacy.
- (b)
- The performance of the proposed imIFML is significantly less conservative than the coIFML, especially in cases of large variation in data. Robustness and applicability are inherited from the coIFML. In addition, computation in the imIFML technique is not exceedingly complex.
- (c)
- The proposed imIFML technique is suitable for estimating solar PV, wind and battery power in a demonstrative renewable energy system over 24 h under large variation and strong nonlinearities in the measured data, which was used for a REMS. The specific test cases considered in this study are for users in private EMSs. Because the proposed imIFML technique is based on a modified linear programming scheme, computation in this modeling technique is not very complicated. Therefore, the proposed imIFML can be performed well with a pretty modern personal computer. In our study, all the three test cases are easily conducted with a desktop computer, and the processing time is within a few minutes.
- (d)
- Sample MATLAB Optimization Toolbox code for developing fuzzy models is provided for reference in future experiments and related applications.
2. Backgrounds of Interval Fuzzy Model
3. Design Stages of Proposed Improved Interval Fuzzy Modeling
3.1. Design Stage 1: The coIFML with First-Order Model and Linear Programming
3.2. Design Stage 2: Determine the Actual Boudnaries of Data, and Reference Lower and Upper Bounds
3.3. Design Stage 3: Initially Adjust the Scaling Parameters in the Modified Linear Programming
3.4. Design Stage 4: Automatically Fine-Tune the Parameters in the Modified Linear Programming
3.5. Additional Limits for Application Cases in Estimating Solar PV and Wind Power
4. Simulation Results
4.1. Test Case 1: Estimating the Power of a Battery Bank
4.2. Test Case 2: Estimating the Output Power of Solar PV Arrays
4.3. Test Case 3: Estimating the Output Power of Wind Turbine
5. Additional Discussions
6. Conclusions
Acknowledgments
Author Contributions
Conflicts of Interest
Appendix A
load batterypower.dat; % load the two-dimensional data of the battery power in Test Case 1. |
N = length(batterypower); % N is the size of the measured two-dimensional data, N = 280 |
x = batterypower(:,1); % horizontal data axis (time in hour) |
y = batterypower(:,2); % vertical data axis (battery power in per-unit value) |
k = 24; % k is the number of fuzzy clusters (membership functions), k = 24 |
if (k > N) k = N; end % limit by the condition k ≤ N |
%% ===== Fuzzification: Membership functions (for all design stages) ===== |
Eta = zeros(N, k); % initial matrix [row, column] |
Eta(:,1) = fRfunction(x,[min(x),Cluster_centers(1+1)]); % Equation (13) |
for j=2:1:(k − 1), |
Eta(:,j) = fTriangle(x,[Cluster_centers(j − 1),Cluster_centers(j),Cluster_centers(j + 1)]); % Equation (14) |
end |
Eta(:,k) = fLfunction(x,[Cluster_centers(k−1),max(x)]); % Equation (15) |
%% ========== for the Lower Bound (in the design stage 1) ========== |
A1_lb = zeros(N,2*k+1); % initial matrix [row, column] |
A2_lb = zeros(N,2*k+1); % initial matrix [row, column] |
for i = 1:1:k, % k is the number of fuzzy clusters (membership functions), k = 24 |
A1_lb(:,2*i−1) = -Eta(:,i).*x; % left side of Equation (20) |
A1_lb(:,2*i) = -Eta(:,i); |
A2_lb(:,2*i−1) = Eta(:,i).*x; % left side of Equation (20) |
A2_lb(:,2*i) = Eta(:,i); |
end |
A1_lb(:,2*k+1) = -ones(N,1); % left side of Equation (20) |
A2_lb(:,2*k+1) = -zeros(N,1); % left side of Equation (20) |
A_lb = [A1_lb; A2_lb]; % inequality constraint matrix in Equation (20) |
a_lb = [−y; y]; % right side vector of inequality constraints in Equation (20) |
c_lb = zeros(2*k+1,1); c_lb(2*k+1,1) = 1; % objective function coefficient in Equation (20) |
[xsol_lb, fval_lb] = linprog(c_lb, A_lb, a_lb); % execute linear programming with command linprog |
Lower_phi = zeros(k,2); % initial matrix [row, column] |
for i = 1:1:k, % k is the number of fuzzy clusters (membership functions), k = 24 |
Lower_phi(i,1) = xsol_lb(2*i−1,1); % import the return vector solved by the command linprog |
Lower_phi(i,2) = xsol_lb(2*i,1); % import the return vector solved by the command linprog |
end |
Value1 = zeros(N,2); % initial matrix [row, column] |
Value1 = (Eta*Lower_phi).*[x,ones(N,1)]; % intermediate value to compute the lower bound in (18) |
Lower_Bound = zeros(N,1); % initial value for the lower bound |
for i = 1:1:N, |
Lower_Bound(i,1) = Value1(i,1) + Value1(i,2); % determine the lower bound of the coIFML |
end |
%% ========== for the Upper Bound (in the design stage 1) ========== |
A1_ub = zeros(N,2*k+1); % initial matrix [row, column] |
A2_ub = zeros(N,2*k+1); % initial matrix [row, column] |
for i = 1:1:k, % k is the number of fuzzy clusters (membership functions), k = 24 |
A1_ub(:,2*i−1) = Eta(:,i).*x; % left side of Equation (24) |
A1_ub(:,2*i) = Eta(:,i); |
A2_ub(:,2*i−1) = -Eta(:,i).*x; % left side of Equation (24) |
A2_ub(:,2*i) = -Eta(:,i); |
end |
A1_ub(:,2*k+1) = -ones(N,1); % left side of Equation (24) |
A2_ub(:,2*k+1) = -zeros(N,1); % left side of Equation (24) |
A_ub = [A1_ub; A2_ub]; % inequality constraint matrix in Equation (24) |
a_ub = [y; −y]; % right side vector of the inequality constraints in Equation (24) |
c_ub = zeros(2*k+1,1); c_ub(2*k+1,1) = 1; % objective function coefficient in Equation (24) |
[xsol_ub, fval_ub] = linprog(c_ub, A_ub, a_ub); % execute the linear programming with linprog |
Upper_phi = zeros(k,2); % initial matrix [row, column] |
for i = 1:1:k, |
Upper_phi(i,1) = xsol_ub(2*i−1,1); % import the return vector solved by the command linprog |
Upper_phi(i,2) = xsol_ub(2*i,1); % import the return vector solved by the command linprog |
end |
Value2 = zeros(N,2); % initial matrix [row, column] |
Value2 = (Eta*Upper_phi).*[x,ones(N,1)]; % intermediate value for computing upper bound in (22) Upper_bound = zeros(N,1); % initial value for the upper bound |
for i = 1:1:N, |
Upper_bound(i,1) = Value2(i,1) + Value2(i,2); % determine the upper bound of the coIFML |
end |
Appendix B
%% ========== for the Lower Bound (in the design stage 3) ========== |
R_lb = abs(Lower_bound_REF - Lower_bound)/max(abs(Lower_bound_REF − Lower_bound)); |
% Equation (26) |
lower_gain_A = 0.8*max(abs(Lower_bound_REF(lower_bound_index) − Lower_bound(lower_bound_index)))/max(abs(y)); |
% Equation (30) |
alpha_lb = sign(y).* ones(N,1); % initial matrix |
alpha_lb = sign(y) * lower_gain_A; % Equation (32) |
for i = 1:1:N, |
A_lb_sc(i,1) = 1 + alpha_lb(i,1) * R_lb(i,1); % Equation (33) |
end |
A_lb = [A1_lb; A2_lb]; % inequality constraint matrix, Equation (28) |
a_lb = [−y.*A_lb_sc; y.*A_lb_sc] ; % right side vector of inequality constraints, Equation (28) |
c_lb = zeros(2*k+1,1); c_lb(2*k+1,1) = 1; % objective function coefficient, Equation (28) |
[xsol_lb, fval_lb] = linprog(c_lb, A_lb, a_lb); % execute modified linear programming with linprog |
Lower_phi = zeros(k,2); % initial matrix |
for i = 1:1:k, % k = 24, is the number of fuzzy clusters (membership functions) |
Lower_phi(i,1) = xsol_lb(2*i-1,1); % import the return vector solved by the command linprog |
Lower_phi(i,2) = xsol_lb(2*i,1); % import the return vector solved by the command linprog |
end |
Value1 = zeros(N,2); % initial matrix; N is the size of the two-dimensional data, N = 280 |
Value1 = (Eta*Lower_phi).*[x,ones(N,1)]; % intermediate value to compute the lower bound in (18) |
Lower_bound= zeros(N,1); % initial matrix |
for i = 1:1:N, |
Lower_bound(i,1) = Value1(i,1) + Value1(i,2); % determine the lower bound of the imIFML |
end |
%% ========== for the Upper Bound (in the design stage 3) ========== |
R_ub = abs(Upper_bound - Upper_bound_REF) / max(abs(Upper_bound - Upper_bound_REF)); |
% Equation (27) |
upper_gain_A = 0.8*max(abs(Upper_bound(upper_bound_index) − Upper_bound_REF(upper_bound_index)))/max(abs(y)); |
% Equation (31) |
alpha_ub = sign(y) .* ones(N,1); % initial matrix |
alpha_ub = sign(y) * upper_gain_A; % Equation (34) |
for i = 1:1:N, |
A_ub_sc(i,1) = 1 - alpha_ub(i,1) * R_ub(i,1); % Equation (35) |
end |
A_ub = [A1_ub; A2_ub]; % inequality constraint matrix, Equation (29) |
a_ub = [y.*A_ub_sc; -y.*A_ub_sc]; % right side vector of inequality constraints, Equation (29) |
c_ub = zeros(2*k+1,1); c_ub(2*k+1,1) = 1; % objective function coefficient, Equation (29) |
[xsol_ub, fval_ub] = linprog(c_ub, A_ub, a_ub) % execute modified linear programming with linprog |
Upper_phi = zeros(k,2); |
for i = 1:1:k, % k is the number of fuzzy clusters (membership functions), k = 24 |
Upper_phi(i,1) = xsol_ub(2*i-1,1); % import the return vector solved by the command linprog |
Upper_phi(i,2) = xsol_ub(2*i,1); % import the return vector solved by the command linprog |
end |
Value2 = zeros(N,2); % initial matrix; N is the size of the two-dimensional data, N = 280 |
Value2 = (Eta*Upper_phi).*[x,ones(N,1)]; % intermediate value to compute the upper bound in (22) |
Upper_bound = zeros(N,1); % initial matrix |
for i = 1:1:N, |
Upper_bound(i,1) = Value2(i,1) + Value2(i,2); % determine the upper bound of the imIFML |
end |
References
- Wan, C.; Zhao, J.; Song, Y.; Xu, Z.; Lin, J.; Hu, Z. Photovoltaic and Solar Power Forecasting for Smart Grid Energy Management. CSEE J. Power Energy Syst. 2015, 1, 38–46. [Google Scholar] [CrossRef]
- Ren, Y.; Suganthan, P.N.; Srikanth, N. Ensemble methods for wind and solar power forecasting—A state-of-the-art review. Renew. Sustain. Energy Rev. 2015, 50, 82–91. [Google Scholar] [CrossRef]
- Nielsen, H.; Nielsen, T.; Madsen, H. An overview of wind power forecast types and their use in large-scale integration of wind power. In Proceedings of the 10th International Workshop on Large-Scale Integration of Wind Power into Power Systems, Aarhus, Denmark, 25–26 October 2011. [Google Scholar]
- James, E.P.; Benjamin, S.G.; Marquis, M. A unified high-resolution wind and solar dataset from a rapidly updating numerical weather prediction model. Renew. Energy 2017, 102, 390–405. [Google Scholar] [CrossRef]
- Baharin, K.A.; Abdul Rahman, H.; Hassan, M.Y.; Gan, C.K. Short-term forecasting of solar photovoltaic output power for tropical climate using ground-based measurement data. J. Renew. Sustain. Energy 2016, 8, 053701. [Google Scholar] [CrossRef]
- Tascikaraoglu, A.; Uzunoglu, M. A review of combined approaches for prediction of short-term wind speed and power. Renew. Sustain. Energy Rev. 2014, 34, 243–254. [Google Scholar] [CrossRef]
- Hammer, A.; Kuhnert, J.; Weinreich, K.; Lorenz, E. Short-Term Forecasting of Surface Solar Irradiance Based on Meteosat-SEVIRI Data Using a Nighttime Cloud Index. Remote Sens. 2015, 7, 9070–9090. [Google Scholar] [CrossRef]
- Sperati, S.; Alessandrini, S.; Pinson, P.; Kariniotakis, G. The “Weather Intelligence for Renewable Energies” Benchmarking Exercise on Short-Term Forecasting of Wind and Solar Power Generation. Energies 2015, 8, 9594–9619. [Google Scholar] [CrossRef] [Green Version]
- Das, U.K.; Tey, K.S.; Seyedmahmoudiana, M.; Mekhilef, S.; Idris, M.Y.I.; Van Deventer, W.; Horan, B.; Stojcevski, A. Forecasting of photovoltaic power generation and model optimization: A review. Renew. Sustain. Energy Rev. 2018, 81, 912–928. [Google Scholar] [CrossRef]
- Gao, R.; Gao, Z. Pitch control for wind turbine systems using optimization, estimation and compensation. Renewable Energy 2016, 91, 501–515. [Google Scholar] [CrossRef]
- Perng, J.W.; Chen, G.Y.; Hsieh, S.C. Optimal PID Controller Design Based on PSO-RBFNN for Wind Turbine Systems. Energies 2014, 7, 191–209. [Google Scholar] [CrossRef]
- Wang, F.; Mi, Z.; Su, S.; Zhao, H. Short-Term Solar Irradiance Forecasting Model Based on Artificial Neural Network Using Statistical Feature Parameters. Energies 2012, 5, 1355–1370. [Google Scholar] [CrossRef]
- Elena Dragomir, O.; Dragomir, F.; Stefan, V.; Minca, E. Adaptive Neuro-Fuzzy Inference Systems as a Strategy for Predicting and Controling the Energy Produced from Renewable Sources. Energies 2015, 8, 13047–13061. [Google Scholar] [CrossRef]
- Das, U.K.; Tey, K.S.; Seyedmahmoudian, M.; Idna Idris, M.Y.; Mekhilef, S.; Horan, B.; Stojcevski, A. SVR-Based Model to Forecast PV Power Generation under Different Weather Conditions. Energies 2017, 10, 876. [Google Scholar] [CrossRef]
- Monteiro, C.; Santos, T.; Fernandez-Jimenez, L.A.; Ramirez-Rosado, I.J.; Terreros-Olarte, M.S. Short-Term Power Forecasting Model for Photovoltaic Plants Based on Historical Similarity. Energies 2013, 6, 2624–2643. [Google Scholar] [CrossRef]
- Mehran, K. Takagi-Sugeno Fuzzy Modeling for Process Control. School of Electrical, Electronic and Computer Engineering, Newcastle University, 2008. Available online: https://www.staff.ncl.ac.uk/damian.giaouris/pdf/IA%20Automation/TS%20FL%20tutorial.pdf (accessed on 22 February 2018).
- Hadjili, M.L.; Kara, K. Modelling and control using Takagi-Sugeno fuzzy models. In Proceedings of the 2011 Saudi International Electronics, Communications and Photonics Conference, Riyadh, Saudi Arabia, 24–26 April 2011. [Google Scholar]
- Babuska, R.; Roubos, J.A.; Verbruggen, H.B. Identification of MIMO Systems by Input-Output TS Fuzzy Models. In Proceedings of the 1998 IEEE International Conference on Fuzzy Systems, Anchorage, AK, USA, 4–9 May 1998. [Google Scholar]
- Babuška, R. Fuzzy Modeling for Control; Springer: Berlin, Germany, 1998; pp. 49–74. ISBN 978-94-011-4868-9. [Google Scholar]
- Liu, X.; Gao, Z.; Chen, M. Takagi–Sugeno Fuzzy Model Based Fault Estimation and Signal Compensation with Application to Wind Turbines. IEEE Trans. Ind. Electron. 2017, 64, 5678–5689. [Google Scholar] [CrossRef]
- Chen, Y.W.; Yang, J.B.; Pan, C.C.; Xu, D.L.; Zhou, Z.J. Identification of Uncertain Nonlinear Systems: Constructing Belief Rule-Based Models. Knowl.-Based Syst. 2015, 73, 124–133. [Google Scholar] [CrossRef]
- Ping, J.; Liu, F.; Song, Y. A Hybrid Multi-Step Model for Forecasting Day-Ahead Electricity Price Based on Optimization, Fuzzy Logic and Model Selection. Energies 2016, 9, 1–27. [Google Scholar]
- Skrjanc, I.; Blazic, S.; Agamennoni, O. Identification of Dynamical Systems with A Robust Interval Fuzzy Model. Automatica 2005, 41, 327–332. [Google Scholar] [CrossRef]
- Oblak, S. Interval Fuzzy Modelling in Fault Detection For A Class of Processes with Interval-Type Parameters. In Proceedings of the 2005 International Conference on Computer as a Tool, Belgrade, Serbia, 21–24 November 2005. [Google Scholar]
- Oblak, S.; Skrjanc, I.; Blazic, S. On Applying Interval Fuzzy Model to Fault Detection and Isolation For Nonlinear Input-Output Systems with Uncertain Parameters. In Proceedings of the 2005 IEEE Conference on Control Applications, Toronto, ON, Canada, 28–31 August 2005. [Google Scholar]
- Oblak, S.; Skrjanc, I.; Blazic, S. Fault detection for nonlinear systems with uncertain parameters based on the interval fuzzy model. Eng. Appl. Artif. Intell. 2007, 20, 503–510. [Google Scholar] [CrossRef]
- Oblak, S.; Skrjanc, I.; Blazic, S. A New Fault-Detection System for Nonlinear Systems Based on an Interval Fuzzy Model. In Proceedings of the European Control Conference 2007, Kos, Greece, 2–5 July 2007. [Google Scholar]
- Ghiasi, T.S.; Zarabadipour, H.; Shoorehdeli, M.A. Interval Fuzzy Modeling Applied to Model Based Fault Detection of an Active Suspension System. In Proceedings of the 2011 IEEE International Conference on Fuzzy Systems, Taipei, Taiwan, 27–30 June 2011. [Google Scholar]
- Skrjanc, I. Fuzzy Confidence Interval For pH Titration Curve. Appl. Math. Model. 2011, 8, 4083–4090. [Google Scholar] [CrossRef]
- Nagode, K.; Škrjanc, I. Modelling and Internal Fuzzy Model Power Control of a Francis Water Turbine. Energies 2014, 7, 874–889. [Google Scholar] [CrossRef]
- Saez, D.; Avila, F.; Olivares, D.; Canizares, C.; Marin, L. Fuzzy Prediction Interval Models for Forecasting Renewable Resources and Loads in Microgrids. IEEE Trans. Smart Grid 2015, 6, 548–556. [Google Scholar] [CrossRef]
- Valencia, F.; Collado, J.; Saez, D.; Marin, L.G. Robust Energy Management System for a Microgrid Based on a Fuzzy Prediction Interval Model. IEEE Trans. Smart Grid 2016, 7, 1486–1494. [Google Scholar] [CrossRef]
- Valencia, F.; Sáez, D.; Collado, J.; Ávila, F.; Marquez, A.; Espinosa, J.J. Robust Energy Management System Based on Interval Fuzzy Models. IEEE Trans. Control Syst. Technol. 2016, 24, 140–157. [Google Scholar] [CrossRef]
- Babuska, R.; Van der Veen, P.J.; Kaymak, U. Improved Covariance Estimation for Gustafson-Kessel Clustering. In Proceedings of the 2002 IEEE International Conference on Fuzzy Systems, Honolulu, HI, USA, 12–17 May 2002. [Google Scholar]
- Panda, S.; Sahu, S.; Jena, P.; Chattopadhyay, S. Comparing Fuzzy-C Means and K-Means Clustering Techniques: A Comprehensive Study. Adv. Comput. Sci. Eng. App. 2012, 166, 451–460. [Google Scholar]
- Geletu, A. Solving Optimization Problems Using the Matlab Optimization Toolbox—A Tutorial; The Technische Universität Ilmenau: Ilmenau, Germany, 13 December 2007. [Google Scholar]
- Duckham, M.; Kulikb, L.; Worboys, M.; Galton, A. Efficient Generation of Simple Polygons For Characterizing The Shape of A Set of Points In The Plane. Pattern Recognit. 2008, 41, 3224–3236. [Google Scholar] [CrossRef]
- Boundary Function. MATLAB User’s Guide, Version 8.4 (R2014b), 2014. Available online: www.mathworks.com/help/matlab/ref/boundary.html (accessed on 6 February 2018).
- Pelland, S.; Galanis, G.; Kallos, G. Solar and photovoltaic forecasting through post-processing of the Global Environmental Multiscale numerical weather prediction model. Prog. Photovolt. Res. Appl. 2013, 21, 284–296. [Google Scholar] [CrossRef]
- Diagnea, M.; Davidb, M.; Bolandc, J.; Schmutza, N.; Lauret, P. Post-processing of solar irradiance forecasts from WRF Model at Reunion Island. Sol. Energy 2014, 105, 99–108. [Google Scholar] [CrossRef]
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Thao, N.G.M.; Uchida, K. An Improved Interval Fuzzy Modeling Method: Applications to the Estimation of Photovoltaic/Wind/Battery Power in Renewable Energy Systems. Energies 2018, 11, 482. https://doi.org/10.3390/en11030482
Thao NGM, Uchida K. An Improved Interval Fuzzy Modeling Method: Applications to the Estimation of Photovoltaic/Wind/Battery Power in Renewable Energy Systems. Energies. 2018; 11(3):482. https://doi.org/10.3390/en11030482
Chicago/Turabian StyleThao, Nguyen Gia Minh, and Kenko Uchida. 2018. "An Improved Interval Fuzzy Modeling Method: Applications to the Estimation of Photovoltaic/Wind/Battery Power in Renewable Energy Systems" Energies 11, no. 3: 482. https://doi.org/10.3390/en11030482
APA StyleThao, N. G. M., & Uchida, K. (2018). An Improved Interval Fuzzy Modeling Method: Applications to the Estimation of Photovoltaic/Wind/Battery Power in Renewable Energy Systems. Energies, 11(3), 482. https://doi.org/10.3390/en11030482