Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 111 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
111
Dung lượng
4,16 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ HUỲNH VĂN BÉ SỬ DỤNG THUẬT TOÁN GSA ĐỂ TÍNH TỐN ĐIỀU PHỐI TỔ MÁY PHÁT ĐIỆN NGÀNH: KỸ THUẬT ĐIỆN – 60520202 S K C0 Tp Hồ Chí Minh, tháng 10/2015 Luan van LÝ LỊCH KHOA HỌC I LÝ LỊCH SƠ LƯỢC: Họ & Tên: Huỳnh Văn Bé Giới Tính: Nam Ngày,tháng,năm sinh: 20 – 02 – 1977 Nơi Sinh: Cần Thơ Q qn: P.Trà Nóc – Q.Bình Thủy – TPCT Dân tộc: Kinh Địa liên lạc: Khu Tập Thể Nhà Máy Nhiệt Điện Cần Thơ, Tỉnh lộ 917 – Phường Trà Nóc, Quận Bình Thủy, TPCT Điện thoại: 0909565599 Email: bevhanh@gmail.com II QUÁ TRÌNH ĐÀO TẠO: Trung học chuyên nghiệp: Hệ đào tạo: Thời gian đào tạo từ ……/…… đến ……/ … Nơi học (trường, thành phố): Ngành học: Đại học: Hệ đào tạo: Tại chức Thời gian đào tạo từ 08/1998 đến 08/ 2003 Nơi học (trường, thành phố): Trường Đại Học sư phạm Kỹ thuật Tp.HCM Ngành học: Điện khí hóa cung cấp điện Tên đồ án, luận án môn thi tốt nghiệp: i Luan van Ngày & nơi bảo vệ đồ án, luận án thi tốt nghiệp: Người hướng dẫn: III QUÁ TRÌNH CÔNG TÁC CHUYÊN MÔN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC: Thời gian Nơi công tác Công việc đảm nhiệm 1998 - 2003 Trường Đại Học Sư Phạm Kỹ Đang theo học đại học Thuật Tp.HCM 2004 - 2005 Công ty thủy sản Thuận Hưng Tổ phó tổ điện 2005 - 2006 Công ty LD TOTAL GAS Cần Thơ Cán kỹ thuật 2007 - 2015 Công ty Nhiệt Điện Cần Thơ Kỹ sư vận hành ii Luan van LỜI CAM ĐOAN Tôi cam đoan luận văn tốt nghiệp “sử dụng thuật tốn gsa để tính tốn điều phối tổ máy phát” tự thực hướng dẫn Thầy TS Trương Việt Anh, kết số liệu hoàn toàn trung thực Ngoài tài liệu tham khảo dẫn cuối luận văn em đảm bảo không chép công trình hay luận văn tốt nghiệp người khác Nếu phát có sai phạm với điều cam đoan trên, em xin hoàn toàn chịu trách nhiệm Cần Thơ, ngày 19 tháng 08 năm 2015 (Ký tên ghi rõ họ tên) Huỳnh Văn Bé iii Luan van LỜI CẢM ƠN Lời xin chân thành cảm ơn TS Trương Việt Anh tận tình quan tâm, giúp đỡ hướng dẫn tơi hồn thành luận văn theo qui định Xin chân thành cảm ơn q Thầy, Cơ Bộ Môn Điện – Điện Tử, khoa điện, truyền đạt kiến thức kinh nghiệm nghiên cứu khoa học tạo điều kiện cho trình học tập nghiên cứu Xin chân thành cám ơn bạn học viên lớp Kỹ thuật điện 13B, bạn bè đồng nghiệp, người thân gia đình tạo điều kiện thuận lợi hỗ trợ động viên, giúp đỡ tơi hồn thành luận văn tiến độ đạt yêu cầu mục tiêu đề Cần Thơ, ngày 19 tháng 08 năm 2015 Học viên Huỳnh Văn Bé iv Luan van TÓM TẮT Trong hệ thống điện thực tế, nhà máy nhiệt điện thường khơng đạt khoảng cách tính từ tâm phụ tải nguồn nhiên liệu để vận hành nhà máy khác nhau, trước tổ máy nhiệt điện sử dụng loại nhiên liệu ngày tổ máy nhiệt điện sử dụng nhiều loại nhiên liệu khác để phát điện Vì cần tính tốn cụ thể lặp kế hoạch sản xuất điện hiệu cho tương lai Luận văn trình bày phương pháp tối ưu hóa để giải tốn điều độ cơng suất kinh tế cho tổ máy phát nhiệt điện nhằm thoả mãn mục tiêu: Xác định công suất hoạch định tổ máy với chi phí vận hành nhỏ với điều kiện ràng buộc giới hạn công suất Luận văn áp dụng lý thuyết sở tìm cực trị phương pháp Lagrange kết hợp với thuật tốn tìm trọng lực (GSA) để giải tốn xác định cơng suất phát loại nhiên liệu sử dụng để đốt lò tối ưu Để kiểm chứng tính đắn phương pháp, việc tính tốn mơ thực liệu có sẵn tạp chí khoa học thực tế từ tổ máy phát nhiệt điện tổng công ty phát điện Hiệu đề tài áp dụng để điều phối tổ hợp máy phát nhiệt điện trình tham gia vào thị trường điện tới v Luan van ABSTRACT In the present electricity system, thermo power plants are never built up in the same distances from load center Besides, the types of fuel used to operate the thermo power plants are different In the past, each to thermo power plant used only one type of fuel; however, many types of fuel can be employed to generate electricity nowadays Therefore, it is necessary to proper calculation and make effective plan for electricity production in future The thesis illustrates an optimal method to deal with moderating the productivity of thermal units in order to meet a demand, which is to determine planned productivity of each to may with a minimum cost in the condition of productivity limitation: In the thesis, the researcher has applied theoretical basic of gavity to determine the ouput capacity and the optimal fuel for furnace To verify the reliability of the method, simulation calculations was carried out basing on the data from published articles and the data collected from O Mon Thermo Power Plant The results of the study can be applied in moderating the work of units thermo in future vi Luan van MỤC LỤC Lý lịch khoa học i Lời cam đoan iii Lời cảm ơn iv Tóm tắt v Abstract vi Mục lục vii Danh sách hình x Danh sách bảng xi Chương 1: GIỚI THIỆU LUẬN VĂN 01 1.1 Đặt vấn đề 01 1.2 Mục tiêu nhiệm vụ luận văn 02 1.2.1 Mục tiêu luận văn 02 1.2.2 Nhiệm vụ luận văn 03 1.3 Phạm vi nghiên cứu 03 1.4 Phương pháp nghiên cứu 03 1.5 Điểm luận văn 04 1.6 Bố cục luận văn 04 Chương 2: NGHIÊN CỨU TỔNG QUAN 05 2.1 Tổng quan ngành điện Việt Nam 05 2.1.1 Đặc điểm ngành điện 05 2.1.2 Cấu trúc ngành điện Việt Nam 06 2.1.3 Quy hoạch phát triển nguồn phát điện 08 2.2 Các vấn đề vận hành máy phát 11 2.2.1 Khái quát 11 2.2.2 Tối ưu hàm phi tuyến 11 2.2.2.1 Tối ưu tham số không ràng buộc 11 vii Luan van 2.2.2.2 Tối ưu hóa thơng số ràng buộc 13 2.3 Các giải thuật tối ưu hóa 15 2.3.1 Giải thuật di truyền 15 2.3.1.1 Tổng quan thuật toán di truyền 15 2.3.1.2 Lưu đồ giải thuật thuật toán GA 18 2.3.2 Thuật toán bầy đàn (PSO) 18 2.3.2.1 Tổng quan thuật toán bầy đàn 18 2.3.2.2 Lưu đồ giải thuật thuật toán PSO 21 2.3.3 Thuật tốn tìm trọng lực (GSA) 22 2.3.3.1 Tổng quan thuật tốn tìm trọng lực 22 2.3.3.2 Lưu đồ giải thuật thuật toán GSA 27 2.4 So sánh giải thuật 28 2.4.1 Thực so sánh GSA PSO: 28 2.4.2 So sánh GSA với PSO RGA 29 Chương 3: XÂY DỰNG BÀI TOÁN ĐIỀU PHỐI TỔ MÁY 41 3.1 Giới thiệu 41 3.2 Đặc tính máy phát điện Tuabin 41 3.3 Xây dựng toán điều phối tối ưu 42 3.3.1 Đặc tính cơng suất ngõ vào ngõ 43 3.3.2 Đơn vị nhiên liệu đầu vào Tuabin 44 3.3.3 Xây dựng hàm chi phí 44 3.3.4 Xây dựng hàm theo mục tiêu đề 46 3.3.5 Xây dựng hàm ràng buộc 47 3.4 Thành lập toán 47 3.5 Phương pháp giải toán 48 viii Luan van 3.5.1 Tính tối ưu chi phí cho tổ máy phát khơng giới hạn cơng suất phát 48 3.5.2 Tính tối ưu chi phí cho tổ máy phát có giới hạn công suất phát 50 3.6 Áp dụng giải thuật tính tốn theo mục tiêu đề xuất 51 3.6.1 Tính tốn theo giải thuật PSO 51 3.6.2 Tính tốn theo giải thuật GSA 53 Chương 4: KIỂM CHỨNG GIẢI THUẬT ĐỀ XUẤT 55 4.1 Thực tính tốn điều phối tổ máy 55 4.1.1 Mô tả hệ thống 55 4.1.1.1 Thực tính tốn theo giải thuật GSA 56 4.1.1.2 Thực tính tốn theo giải thuật PSO 57 4.2 Thực so sánh hai giải thuật 57 4.2.1 So sánh kết tính tốn hai giải thuật thu 57 4.2.2 So sánh kết từ đồ thị hai giải thuật thu 57 4.3 Áp dụng giải thuật đề xuất tính tốn điều phối hệ thống 12 máy phát 59 4.3.1 Mô tả hệ thống 59 4.3.2 Thực tính tốn 60 4.4 Áp dụng tính tốn cho phân xưởng vận hành Ơ Mơn 62 4.4.1 Mơ tả tốn 62 4.4.2 Thực tính tốn 64 Chương 5: KẾT LUẬN VÀ ĐỀ XUẤT 65 5.1 Kết luận 65 5.2 Đề xuất 66 Tài liệu tham khảo 68 Phụ lục 71 ix Luan van 85 Phụ lục fit = -prod1; case {38}, %Alpine sum1 = 0; for i=1:1:D sum1 = sum1 + abs(x(i)*sin(x(i)) + 0.1*x(i)); end fit = sum1; case {39}, % Branin fit = (x(2)-(5.1/(4*pi^2))*x(1)^2+5*x(1)/pi-6)^2+10*(1-1/(8*pi))*cos(x(1))+10; case {40}, % Easom fit = -cos(x(1))*cos(x(2))*exp(-((x(1) - pi)^2 + (x(2) - pi)^2)); case {41}, % Goldstein and Price fit = (1+(x(1) + x(2) + 1)^2*(19-14*x(1) + 3*x(1)^2 - 14*x(2) + 6*x(1)*x(2) + 3*x(2)^2))*(30+(2*x(1)-3*x(2))^2*(18-32*x(1)+12*x(1)^2+48*x(2)36*x(1)*x(2)+27*x(2)^2)); case {42}, % Shubert sum0 = 0; sum1 = 0; for j=1:1:5 sum0 = sum0 + j*cos((j+1)*x(1) + j); sum1 = sum1 + j*cos((j+1)*x(2) + j); end fit = sum0*sum1; case {43}, % Hartmann a = [3 10 30; 0.1 10 35; 10 30; 0.1 10 35]; c = [1 1.2 3.2]; p = [0.3689 0.117 0.2673; 0.4699 0.4387 0.747; 0.1091 0.8732 0.5547; 0.0381 0.5743 0.8828]; sum1 = 0; for i=1:1:4 sum0 = 0; for j=1:1:3 sum0 = sum0 + a(i,j)*(x(j) - p(i,j))^2; end sum1 = sum1 + c(i)*exp(-sum0); end HVTH: Huỳnh Văn Bé CBHD: PGS.TS Trương Việt Anh Luan van 86 Phụ lục fit = -sum1; case {44}, % Shekel function % Matlab Code by A Hedar (Nov 23, 2005) % The number of variables n = % The parameter m should be adjusted m = 5,7,10 % The default value of m = 10 % m = 10; a = ones(10,4); a(1,:) = 4.0*a(1,:); a(2,:) = 1.0*a(2,:); a(3,:) = 8.0*a(3,:); a(4,:) = 6.0*a(4,:); for j = 1:2; a(5,2*j-1) = 3.0; a(5,2*j) = 7.0; a(6,2*j-1) = 2.0; a(6,2*j) = 9.0; a(7,j) = 5.0; a(7,j+2) = 3.0; a(8,2*j-1) = 8.0; a(8,2*j) = 1.0; a(9,2*j-1) = 6.0; a(9,2*j) = 2.0; a(10,2*j-1)= 7.0; a(10,2*j)= 3.6; end c(1) = 0.1; c(2) = 0.2; c(3) = 0.2; c(4) = 0.4; c(5) = 0.4; c(6) = 0.6; c(7) = 0.3; c(8) = 0.7; c(9) = 0.5; c(10)= 0.5; s = 0; for j = 1:m; p = 0; for i = 1:4 p = p+(x(i)-a(j,i))^2; end s = s+1/(p+c(j)); end fit = -s; case {45}, % Levy n = D; for i = 1:n; z(i) = 1+(x(i)-1)/4; end s = sin(pi*z(1))^2; for i = 1:n-1 s = s+(z(i)-1)^2*(1+10*(sin(pi*z(i)+1))^2); end fit = s+(z(n)-1)^2*(1+(sin(2*pi*z(n)))^2); HVTH: Huỳnh Văn Bé CBHD: PGS.TS Trương Việt Anh Luan van 87 Phụ lục case {46}, % Michalewicz n = D; m = 10; s = 0; for i = 1:n; s = s+sin(x(i))*(sin(i*x(i)^2/pi))^(2*m); end fit = -s; case {47}, % Shifted Griewank sum1 = 0; sum2 = 1; f = -180; offset_5 = [-2.7626840e+002 -1.1911000e+001 -5.7878840e+002 2.8764860e+002 -8.4385800e+001 -2.2867530e+002 -4.5815160e+002 2.0221450e+002 -1.0586420e+002 -9.6489800e+001 -3.9574680e+002 5.7294980e+002 -2.7036410e+002 -5.6685430e+002 -1.5242040e+002 5.8838190e+002 -2.8288920e+002 -4.8888650e+002 -3.4698170e+002 4.5304470e+002 -5.0658570e+002 -4.7599870e+002 -3.6204920e+002 2.3323670e+002 -4.9198640e+002 -5.4408980e+002 -7.3445600e+001 5.2690110e+002 -5.0225610e+002 -5.3723530e+002]; for d=1:1:D xd = x(d) - offset_5(d); sum1 = sum1 + xd*xd; sum2 = sum2 * cos(xd/sqrt(d)); end fit = f + 1.0 + sum1/4000.0 - sum2; case {48}, % Gear Train y = floor(x); fit = ((1/6.931) - ((y(1)*y(2))/(y(3)*y(4))))^2; for i = 1:1:4 HVTH: Huỳnh Văn Bé CBHD: PGS.TS Trương Việt Anh Luan van 88 Phụ lục if y(i) > 60 || y(i) < 12 fit = fit + 1e6; end end case {49}, % Pressure Vessel qd = 0.0625; % Granularity is 0.0625 y1 = qd*floor(0.5 + x(1)/qd); y2 = qd*floor(0.5 + x(2)/qd); fit = 0.6224*y1*x(3)*x(4) + 1.7781*y2*x(3)^2 + 3.1661*y1^2*x(4) + 19.84*y1^2*x(3); if (-y1 + 0.0193*x(3)) > % disp('1x'); fit = fit + 1e6; end if (-y2 + 0.00954*x(3)) > % disp('2x'); fit = fit + 1e6; end if (-pi*x(3)^2*x(4) - (4/3)*pi*x(3)^3 + 1296000) > % disp('3x'); fit = fit + 1e6; end % % % % % % % % % if (x(4) - 240) > % disp('4x'); fit = fit + 1e6; end if (1.1 - y1) > % disp('4x'); fit = fit + 1e6; end HVTH: Huỳnh Văn Bé CBHD: PGS.TS Trương Việt Anh Luan van 89 % % % % % % Phụ lục if (0.6 - y2) > % disp('4x'); fit = fit + 1e6; end case {50}, % Tripod if x(1) fit = fit + 1e6; end if (s_p - s_pm) > fit = fit + 1e6; end if (s_p - Fp/K) > fit = fit + 1e6; end if (s_w - ((Fmax - Fp)/K)) > fit = fit + 1e6; end case {52}, % Mr small load=1150; C1=561+7.92*x(1)+0.001562*x(1)*x(1); C2=310+7.85*x(2)+0.001940*x(2)*x(2); C3=93.6+9.564*x(3)+0.005784*x(2)*x(3); fit=C1+C2+C3+100000*abs(load-x(1)-x(2)-x(3)); otherwise, error('No such function'); fit = -1; end end HVTH: Huỳnh Văn Bé CBHD: PGS.TS Trương Việt Anh Luan van 91 Phụ lục function [best_x, best_f, max_FEs,BestChart] = PSO(x, f, FE_max, fun, err, LB, UB, opt_f) % Standard PSO 2007 % Developed by: Dr Mahamed G.H Omran (omran.m@gust.edu.kw) 7-May-2011 % Inputs: % x : swarm % f : swarm fitness % FE_max : maximum number of function evaluations % fun : function specifier % err : admissible error % LB : Lower bound % UB : Upper bound % opt_f : global optimum for fun % Outputs: % best_x : best solution % best_f : least error (best fitness - opt_f) % max_FEs : number of function evaluations to reach the admissible error % In order to run this program you have to create a function called "func" % that has the following structure % function [fit] = func(x, fun) % where x is a D-dimensional vector representing a particle and fun is a % function specifier Within the body of this function you have to % something like this: % % D = length(x); % % switch(fun) % case {1}, % Sphere function % fit = sum(x.^2); % case {2}, % Rastrigin % fit = 10*D + sum(x.^2 - 10*cos(2.*pi.*x)); % end % end BestChart=[]; % Setting PSO parameters HVTH: Huỳnh Văn Bé CBHD: PGS.TS Trương Việt Anh Luan van 92 Phụ lục w = 1/(2*log(2)); c1 = 0.5 + log(2); c2 = c1; % N : swarm size (should be set to floor(10 + 2*sqrt(D))) % D : problem dimension [N D] = size(x); % personal best experience p_x = zeros(size(x)); % personal best fitness p_f = zeros(size(f)); % velocity v = zeros(size(x)); % initialize the personal experience p_x = x; p_f = f; % index of the global best particle [best_f, g] = min(p_f); % initialize velocities for i=1:1:N r_p = LB + rand(1,D) * (UB - LB); v(i,:) = 0.5*(r_p - x(i,:)); end %PSO_run = zeros(1,t_max); %a PSO run FEs = 0; max_FEs = 0; count = 1; % K neighbors for each particle based on Clerc description % http://clerc.maurice.free.fr/pso/random_topology.pdf % P (Method 2) K = 3; while FEs < FE_max HVTH: Huỳnh Văn Bé CBHD: PGS.TS Trương Việt Anh Luan van 93 Phụ lục % In the C version, random permutation is applied here This is % currently not implemented in this code if count > % No improvement in the best solution So randomize topology L = eye(N,N); for s = 1:1:N for k=1:1:K rr = + rand*(N - 1); r = floor(rr + 0.5); L(s,r) = 1; end end end % if for i = 1:1:N % Find the best informant MIN = Inf; for s=1:1:N if (L(s,i) == 1) if p_f(s) < MIN MIN = p_f(s); g_best = s; end end end % Velocity update equation v(i,:) = w*v(i,:) + c1*rand(1,D).*(p_x(i,:) - x(i,:)) + c2*rand(1,D).*(p_x(g_best,:) - x(i,:)); % Position update equation x(i,:) = x(i,:) + v(i,:); HVTH: Huỳnh Văn Bé CBHD: PGS.TS Trương Việt Anh Luan van 94 Phụ lục %Check for constraint violations %epsilon=0.001; for j = 1:1:D if x(i,j) > UB(j) x(i,j) = UB(j); v(i,j) = 0; end if x(i,j) < LB(j) x(i,j) = LB(j); v(i,j) = 0; end %gen=gen+x(i,j); end %j % calculate fitness of particle i f(i) = func(x(i,:), fun); %end % FEs = FEs + 1; end %i FEs = FEs + 1; % Update personal best for i=1:1:N if f(i)