Áp dụng thuật toán gravitational search algorithm tính toán phân bố công suất tối ưu trong hệ thống điện

114 252 2
Áp dụng thuật toán gravitational search algorithm tính toán phân bố công suất tối ưu trong hệ thống điện

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM - VÕ KHÁNH DƯƠNG ÁP DỤNG THUẬT TOÁN GRAVITATIONAL SEARCH ALGORITHM TÍNH TỐN PHÂN BỐ CƠNG SUẤT TỐI ƯU TRONG HỆ THỐNG ĐIỆN LUẬN VĂN THẠC SỸ Chuyên ngành: KỸ THUẬT ĐIỆN Mã số ngành: 60520202 TP HỒ CHÍ MINH, Tháng năm 2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM - VÕ KHÁNH DƯƠNG ÁP DỤNG THUẬT TỐN GRAVITATIONAL SEARCH ALGORITHM TÍNH TỐN PHÂN BỐ CƠNG SUẤT TỐI ƯU TRONG HỆ THỐNG ĐIỆN LUẬN VĂN THẠC SỸ Chuyên ngành: KỸ THUẬT ĐIỆN Mã số ngành: 60520202 CÁN BỘ HƯỚNG DẪN KHOA HỌC: PGS.TS.NGÔ CAO CƯỜNG THS.LÊ ĐÌNH LƯƠNG TP HỒ CHÍ MINH, Tháng năm 2016 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ TP HCM Cán hướng dẫn khoa học : PGS.TS.NGÔ CAO CƯỜNG Luận văn Thạc sĩ bảo vệ Trường Đại học Công nghệ TP HCM ngày 25 tháng 09 năm 2016 Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm: T T P G T S T S P G T S C h P bi P bi Ủ v Xác nhận Chủ tịch Hội đồng đánh giá Luận sau Luận văn sửa chữa (nếu có) Chủ tịch Hội đồng đánh giá Luận văn TRƯỜNG ĐH CƠNG NGHỆ TP HCM CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM PHÒNG QLKH – ĐTSĐH Độc lập – Tự – Hạnh phúc TP HCM, ngày 31 tháng 07 năm 2016 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Võ Khánh Dương Giới tính: Nam Ngày, tháng, năm sinh: 16/10/1991 Nơi sinh: Quảng Ngãi Chuyên ngành: Kỹ Thuật Điện MSHV:1441830033 I- Tên đề tài: Áp dụng thuật tốn Gravitational Search Algorithm tính tốn phân bố cơng suất tối ưu hệ thống điện II- Nhiệm vụ nội dung:  Nghiên cứu lý thuyết thuật toán GSA từ cơng trình cơng bố trước tạp chí khoa học giới  Nghiên cứu cách áp dụng thuật tốn GSA vào tính tốn hệ thống điện  Xây dựng giải thuật GSA giải tốn điều phối kinh tế cơng suất ED  Lập trình tính tốn điều phối tối ưu mạng điện  Nhận xét, đánh giá kết thu được, so sánh với kết dùng giải thuật khác cơng bố tạp chí khoa học giới III- Ngày giao nhiệm vụ : 23/01/2016 IV- Ngày hoàn thành nhiệm vụ : 31/07/2016 V- Cán hướng dẫn : PGS.TS Ngơ Cao Cường Thạc sĩ Lê Đình Lương CÁN BỘ HƯỚNG DẪN KHOA QUẢN LÝ CHUYÊN NGÀNH BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐH CÔNG NGHỆ TP HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc TP Hồ Chí Minh, ngày 28 tháng 10 năm 2016 BẢN CAM ĐOAN Họ tên học viên: VÕ KHÁNH DƯƠNG Ngày sinh: 16/10/1991 Nơi sinh: Quảng Ngãi Trúng tuyển đầu vào năm: 2014 Là tác giả luận văn: Áp dụng thuật tốn Gravitational Search Algorithm tính tốn phân bố cơng suất tối ưu hệ thống điện Chuyên ngành: Kỹ Thuật Điện Mã ngành: 60520202 Bảo vệ ngày: 25 tháng 09 năm 2016 Điểm bảo vệ luận văn: 8,7 Tôi cam đoan chỉnh sửa nội dung luận văn thạc sĩ với đề tài theo góp ý Hội đồng đánh giá luận văn Thạc sĩ Các nội dung chỉnh sửa: - Chỉnh sửa bố cục lời mở đầu chương đề tài khơng bị trùng lắp mặt nội dung - Bổ sung sơ đồ thứ tổng quan mạng điện nút, 13 nút 40 nút Người cam đoan (Ký, ghi rõ họ tên) Cán Hướng dẫn (Ký, ghi rõ họ tên) i LỜI CAM ĐOAN Tôi xin cam đoan Luận văn tốt nghiệp: “Áp dụng thuật toán Gravitational Search Algorithm tính tốn phân bố cơng suất tối ưu hệ thống điện” đề tài nghiên cứu thân tự thực hiện, không chép hình thức Những kết số liệu Luận văn lấy từ nguồn tài liệu thống có uy tín tơi trích dẫn đầy đủ ghi chép rõ ràng phần tài liệu tham khảo Tơi hồn tồn chịu trách nhiệm trước nhà trường cam đoan TP.HCM, Ngày 31 tháng 07 năm 2016 Học viên thực VÕ KHÁNH DƯƠNG ii LỜI CẢM ƠN Lời đầu tiên, Em xin cảm ơn Quý Thầy Cô trường Đại học Cơng Nghệ Thành phố Hồ Chí Minh, người tận tình truyền đạt kiến thức chuyên ngành cho em, kiến thức xã hội suốt thời gian em học tập trường Em xin chân thành cảm ơn Thầy Ngô Cao Cường Thầy Lê Đình Lương, người tận tình dìu dắt, bổ sung kiến thức thực tế, nhiệt tình giúp đỡ hướng dẫn em suốt thời gian làm Luận văn tốt nghiệp Cuối cùng, Em xin chúc Thầy Cô giáo trường lời chúc sức khỏe công tác tốt Chúc thầy, cô Phòng Quản lý khoa học Đào tạo sau đại học lời chúc tốt đẹp TP.HCM, Ngày 31 tháng 07 năm 2016 Học viên thực VÕ KHÁNH DƯƠNG TÓM TẮT Trong năm gần đây, phát triển khoa học công nghệ khiến cho nhu cầu lượng hệ thống điện tăng cao làm cho hệ thống ngày phức tạp Điều phối kinh tế (ED), vấn đề tối ưu hóa phi tuyến hệ thống lượng, có vị trí quan trọng hoạt động kinh tế hệ thống điện Trong việc giải vấn đề ED, mục tiêu để giảm thiểu tổng chi phí nhiên liệu, đáp ứng yêu cầu vật lý ràng buộc khác Luận văn trình bày lý thuyết thuật toán Gravitational Search Algorrithm (GSA) nêu tổng quan thuật toán tối ưu khác áp dụng để giải tốn ED Trên sở đó, áp dụng thuật toán Gravitational Search Algorithm (GSA) giải toán điều phối kinh tế hệ thống điện sau:  Bài toán ED hệ thống nút xét đến điểm van cơng suất có tổng cơng suất nhu cầu phụ tải PD = 850 (MW), tổn thất PL = (MW)  Bài toán ED hệ thống 13 nút xét đến điểm van cơng suất có tổng công suất nhu cầu phụ tải PD = 1800 (MW), tổn thất PL = (MW)  Bài toán ED hệ thống 40 nút xét đến điểm van cơng suất có tổng cơng suất nhu cầu phụ tải PD = 10500 (MW), tổn thất PL = (MW) Tiến hành so sánh kết tính tốn thuật toán GSA với kết thuật toán khác rút nhận xét kinh nghiệm lập trình để áp dụng cho phù hợp với toán khác Vạch hướng phát triển nghiên cứu, hướng tiếp cận để tiếp tục cải thiện thuật toán GSA đưa đến kết tốt hơn, ứng dụng vào tốn có quy mơ lớn phức tạp hệ thống điện ABSTRACT In recent years, the developments in technology cause more energy demand in power systems and make these systems more complicated The Economic Dispatch (ED) problem, one of the nonlinear optimization problems in electrical power systems, has an important role in the economical operation of the power system For solving the ED problem, the objective is to minimize the total fuel cost, while satisfying the various physical and operational constraints This thesis presents the theory of algorithms Gravitational Search Algorrithm (GSA) and provides an overview of different optimization algorithms which have been applied to solve the ED problem Based on which, apply the Gravitational Search Algorithm algorithm (GSA) to solve the problems of economic coordination (ED) in the electrical system as follows:  The problem of ED 3-units system considering the capacity valve points with the total capacity of the load demand PD = 850 (MW), losses PL = (MW)  The problem of ED 13-units system considering the capacity valve points with the total capacity of the load demand PD = 1800 (MW), losses PL = (MW)  The problem of ED 40-units system considering the capacity valve points with the total capacity of the load demand PD = 10500 (MW), losses PL = (MW) Conducted comparing the results of the algorithm calculates the GSA with the results of other algorithms draws comment and programming experience to apply for matching other problems Outlines the development of research, new approaches to further improve GSA algorithm leads to better results, as well as apply to the more complex problem in the power system end else if best>Fbest %maximization Fbest=best;Lbest=X(best_X,:); end end BestChart=[BestChart Fbest]; MeanChart=[MeanChart mean(fitness)]; %Calculation of M eq.14-20 [M]=massCalculation(fitness,min_flag); %Calculation of Gravitational constant eq.13 G=Gconstant(iteration,max_it,alfa,G0); %Calculation of accelaration in gravitational field eq.7-10,21 a=Gfield(M,X,G,Rnorm,Rpower,ElitistCheck,iteration,max_it); %draw DrawGSA(Lbest, BestChart, tPosMin, tElapsed, AxesPower, AxesBestCost); %Agent movement eq.11-12 [X,V]= move(X,a,V); end %iteration  Code File Move: %This function updates the velocity and position of agents function [X,V]=move(X,a,V) %movement [N,dim]=size(X); V=rand(N,dim).*V+a; %eq 11 X=X+V; %eq 12  Code File Test_function_range: function [down,up,dim]=test_functions_range(F_index) %If lower bounds of dimensions are the same, then 'down' is a value %Otherwise, 'down' is a vector that shows the lower bound of each dimension %This is also true for upper bounds of dimensions %Insert your own boundaries with a new F_index dim=30; if F_index==1 down=-100;up=100; end if F_index==2 down=-10;up=10; end if F_index==3 down=-100;up=100; end if F_index==4 down=-100;up=100; end if F_index==5 down=-30;up=30; end if F_index==6 down=-100;up=100; end if F_index==7 down=-1.28;up=1.28; end if F_index==8 down=-500;up=500; end if F_index==9 down=-5.12;up=5.12; end if F_index==10 down=-32;up=32; end if F_index==11 down=-600;up=600; end if F_index==12 down=-50;up=50; end if F_index==13 down=-50;up=50; end if F_index==14 down=-65.536;up=65.536;dim=2; end if F_index==15 down=-5;up=5;dim=4; end if F_index==16 down=-5;up=5;dim=2; end if F_index==17 down=[-5 0];up=[10 15];dim=2; end if F_index==18 down=-2;up=2;dim=2; end if F_index==19 down=0;up=1;dim=3; end if F_index==20 down=0;up=1;dim=6; end if F_index==21 down=0;up=10;dim=4; end if F_index==22 down=0;up=10;dim=4; end if F_index==23 down=0;up=10;dim=4; end % Duong add if F_index==24 down = [0 0 60 60 60 60 60 60 40 40 55 55 ].'; up = [680 360 360 180 180 180 180 180 180 120 120 120 120].'; dim = 1; end  Code File getOptions: function options = getOptions() options = struct( %variables 'Vars', struct( 'Dim', 0, %dim: Dimension of the test function 'NbOfAgents', 0, %N: Number of agents 'Rnorm', 2, %Rnorm: Norm in eq.8 'Rpower', 1, %Rpower: Power of R in eq.7 'MinFlag', 1, 'ElitistCheck', 0, 'Alpha', 10, 'G0', 100, 'Iterations', 1000, 'PD', 0), 'Parameters', struct() );  Code File Fig: function varargout = fig(varargin) % FIG MATLAB code for fig.fig % FIG, by itself, creates a new FIG or raises the existing % singleton* % H = FIG returns the handle to a new FIG or the handle to % the existing singleton* % FIG('CALLBACK',hObject,eventData,handles, ) calls the local % function named CALLBACK in FIG.M with the given input arguments % FIG('Property','Value', ) creates a new FIG or raises the % existing singleton* Starting from the left, property value pairs are % applied to the GUI before fig_OpeningFcn gets called An % unrecognized property name or invalid value makes property application % stop All inputs are passed to fig_OpeningFcn via varargin % *See GUI Options on GUIDE's Tools menu Choose "GUI allows only one % instance to run (singleton)" % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help fig % Last Modified by GUIDE v2.5 19-Jul-2016 13:37:48 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, 'gui_Singleton', gui_Singleton, 'gui_OpeningFcn', @fig_OpeningFcn, 'gui_OutputFcn', @fig_OutputFcn, 'gui_LayoutFcn', [] , 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % - Executes just before fig is made visible function fig_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to fig (see VARARGIN) % Choose default command line output for fig initialize_gui(hObject,handles,true); handles = guidata(hObject); handles.output = hObject; bTitle = get(handles.axespower,'Title'); set(bTitle, 'String', 'Power'); bxLabel = get(handles.axespower,'xLabel'); set(bxLabel, 'String', 'Power Units'); byLabel = get(handles.axespower,'yLabel'); set(byLabel, 'String', 'Power'); pTitle = get(handles.axesbestcost,'Title'); set(pTitle, 'String', 'Best Fuel Cost(GSA)'); pxLabel = get(handles.axesbestcost,'xLabel'); set(pxLabel, 'String', 'Iteration'); pyLabel = get(handles.axesbestcost,'yLabel'); set(pyLabel, 'String', 'Fuel Cost($/h)'); % Update handles structure guidata(hObject, handles); % UIWAIT makes fig wait for user response (see UIRESUME) % uiwait(handles.figure1); % - Outputs from this function are returned to the command line function varargout = fig_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; function update_display(hObject,handles, data) handles.options.Parameters = data.Parameters; handles.options.Vars.Iterations = data.Iterations; handles.options.Vars.Alpha = data.Alpha; handles.options.Vars.NbOfAgents = data.NbOfAgents; handles.options.Vars.G0 = data.G0; handles.options.Vars.PD = data.PD; handles.options.Vars.Dim = size(handles.options.Parameters.Pmin, 2); set(handles.iteration, 'String', handles.options.Vars.Iterations); set(handles.dimension, 'String', handles.options.Vars.NbOfAgents); set(handles.alpha, 'String', handles.options.Vars.Alpha); set(handles.G0, 'String', handles.options.Vars.G0); set(handles.PD, 'String', handles.options.Vars.PD); data = [[1:handles.options.Vars.Dim]', handles.options.Parameters.Pmin', handles.options.Parameters.Pmax', handles.options.Parameters.a', handles.options.Parameters.b', handles.options.Parameters.c', handles.options.Parameters.e', handles.options.Parameters.f']; cName = {'units','Pmin', 'Pmax', 'a', 'b', 'c', 'e', 'f'}; set(handles.uitable1,'ColumnWidth',{60},'data', data, 'ColumnName', cName) guidata(hObject, handles); % -function initialize_gui(hObject, handles, isreset) % If the metricdata field is present and the reset flag is false, it means % we are we are just re-initializing a GUI by calling it from the cmd line % while it is up So, bail out as we dont want to reset the data handles = guidata(hObject); if isfield(handles, 'options') && ~isreset return; end handles.options = getOptions(); data = load('13_units_data_test.mat'); set(handles.units, 'SelectedObject', handles.thirteenunits); update_display(hObject,handles, data.data); handles = guidata(hObject); % Update handles structure guidata(hObject, handles); function iteration_Callback(hObject, eventdata, handles) % hObject handle to iteration (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of iteration as text % str2double(get(hObject,'String')) returns contents of iteration as a double iterations = str2double(get(hObject, 'String')); if isnan(iterations) set(hObject, 'String', 0); errordlg('Input must be a number','Error'); end handles = guidata(hObject); % Save the new density value handles.options.Vars.Iterations = iterations; guidata(hObject,handles); % - Executes during object creation, after setting all properties function iteration_CreateFcn(hObject, eventdata, handles) % hObject handle to iteration (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function dimension_Callback(hObject, eventdata, handles) % hObject handle to dimension (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of dimension as text % str2double(get(hObject,'String')) returns contents of dimension as a double dimension = str2double(get(hObject, 'String')); if isnan(dimension) set(hObject, 'String', 0); errordlg('Input must be a number','Error'); end handles = guidata(hObject); % Save the new density value handles.options.Vars.NbOfAgents = dimension; guidata(hObject,handles) % - Executes during object creation, after setting all properties function dimension_CreateFcn(hObject, eventdata, handles) % hObject handle to dimension (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function alpha_Callback(hObject, eventdata, handles) % hObject handle to alpha (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of alpha as text % str2double(get(hObject,'String')) returns contents of alpha as a double alpha = str2double(get(hObject, 'String')); if isnan(alpha) set(hObject, 'String', 0); errordlg('Input must be a number','Error'); end handles = guidata(hObject); % Save the new density value handles.options.Vars.Alpha = alpha; guidata(hObject,handles) % - Executes during object creation, after setting all properties function alpha_CreateFcn(hObject, eventdata, handles) % hObject handle to alpha (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function G0_Callback(hObject, eventdata, handles) % hObject handle to G0 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of G0 as text % str2double(get(hObject,'String')) returns contents of G0 as a double G0 = str2double(get(hObject, 'String')); if isnan(G0) set(hObject, 'String', 0); errordlg('Input must be a number','Error'); end handles = guidata(hObject); % Save the new density value handles.options.Vars.G0 = G0; guidata(hObject,handles) % - Executes during object creation, after setting all properties function G0_CreateFcn(hObject, eventdata, handles) % hObject handle to G0 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function PD_Callback(hObject, eventdata, handles) % hObject handle to PD (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of PD as text % str2double(get(hObject,'String')) returns contents of PD as a double PD = str2double(get(hObject, 'String')); if isnan(PD) set(hObject, 'String', 0); errordlg('Input must be a number','Error'); end handles = guidata(hObject); % Save the new density value handles.options.Vars.PD = PD; guidata(hObject,handles) % - Executes during object creation, after setting all properties function PD_CreateFcn(hObject, eventdata, handles) % hObject handle to PD (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % - Executes on button press in runstop function runstop_Callback(hObject, eventdata, handles) % hObject handle to runstop (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %data = get(handles.figure1,'UserData'); handles = guidata(hObject); [Fbest,Lbest] = GSA(handles.options, handles.axespower,handles.axesbestcost); cName = 'Power'; f1 = @(x) sprintf('P %d',x); rNames = cellfun(f1, num2cell(1:size(Lbest,2)),'UniformOutput', false); rNames{size(Lbest,2)+1} = 'Total'; data = [Lbest sum(Lbest)]; set(handles.uitable2,'ColumnWidth',{75},'data',data','ColumnName',cName, 'RowName', rNames); %legend(handles.axesbestcost,sprintf('Best Cost = %0.3f',Fbest)) % - Executes during object creation, after setting all properties function units_CreateFcn(hObject, eventdata, handles) % hObject handle to units (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % - Executes when selected object is changed in units function units_SelectionChangeFcn(hObject, eventdata, handles) % hObject handle to the selected object in units % eventdata structure with the following fields (see UIBUTTONGROUP) % EventName: string 'SelectionChanged' (read only) % OldValue: handle of the previously selected object or empty if none was selected % NewValue: handle of the currently selected object % handles structure with handles and user data (see GUIDATA) handles = guidata(hObject); if (hObject == handles.thirteenunits) data = load('13_units_data_test.mat') update_display(hObject,handles, data.data); % Update handles structure handles = guidata(hObject); guidata(hObject, handles); elseif (hObject == handles.fourtyunits) data = load('40_units_data_test.mat') update_display(hObject,handles, data.data); % Update handles structure handles = guidata(hObject); guidata(hObject, handles); else data = load('3_units_data_test.mat'); update_display(hObject,handles, data.data); % Update handles structure handles = guidata(hObject); guidata(hObject, handles); end % -function Untitled_1_Callback(hObject, eventdata, handles) % hObject handle to Untitled_1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -function Untitled_2_Callback(hObject, eventdata, handles) % hObject handle to Untitled_2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -function Untitled_3_Callback(hObject, eventdata, handles) % hObject handle to Untitled_3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)  Code File Draw GSA: %DrawSwarm >> Internal function of psotoolbox % Purpose: To draw a visual display of the Swarm % You shouldn't need to mess around with this fn if u don't wanna change the visualization % see also: pso.m function DrawGSA(X, Fbest, tPosMin, tElapsed, AxesPower, AxesBestCost) bar(AxesPower,X); plot(AxesBestCost,Fbest); xl = xlim(AxesBestCost); yl = ylim(AxesBestCost); x = xl(1) + (xl(2) - xl(1))/2; y = yl(1) + (yl(2) - yl(1))/2; strtelapsed = ['time/iter=', num2str(tElapsed), ' / ', num2str(tPosMin), '=', num2str(tElapsed/tPosMin)]; strbestcost = ['best cost=', num2str(Fbest(tPosMin))]; str = {strtelapsed,strbestcost}; text(x, y, str,'VerticalAlignment', 'middle', 'HorizontalAlignment','center'); % bTitle = get(AxesPower,'Title'); % set(bTitle, 'String', 'Power'); % bxLabel = get(AxesPower,'xLabel'); % set(bxLabel, 'String', 'Power xLabel'); % byLabel = get(AxesPower,'yLabel'); % set(byLabel, 'String', 'Power yLabel'); % pTitle = get(AxesBestCost,'Title'); % set(pTitle, 'String', 'Best Cost'); % pxLabel = get(AxesBestCost,'xLabel'); % set(pxLabel, 'String', 'Best Cost xLabel'); % pyLabel = get(AxesBestCost,'yLabel'); % set(pyLabel, 'String', 'Best Cost yLabel'); drawnow; ... HỌC CÔNG NGHỆ TP HCM - VÕ KHÁNH DƯƠNG ÁP DỤNG THUẬT TOÁN GRAVITATIONAL SEARCH ALGORITHM TÍNH TỐN PHÂN BỐ CƠNG SUẤT TỐI ƯU TRONG HỆ THỐNG ĐIỆN LUẬN VĂN THẠC SỸ Chuyên ngành: KỸ THUẬT ĐIỆN... tổng quan thuật toán tối ưu khác áp dụng để giải toán ED Trên sở đó, áp dụng thuật tốn Gravitational Search Algorithm (GSA) giải toán điều phối kinh tế hệ thống điện sau:  Bài toán ED hệ thống nút... vào năm: 2014 Là tác giả luận văn: Áp dụng thuật toán Gravitational Search Algorithm tính tốn phân bố cơng suất tối ưu hệ thống điện Chuyên ngành: Kỹ Thuật Điện Mã ngành: 60520202 Bảo vệ ngày:

Ngày đăng: 08/01/2019, 14:27

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan