Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 77 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
77
Dung lượng
1,75 MB
Nội dung
ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐIỆN – ĐIỆN TỬ LUẬN VĂN THẠC SĨ Nhận dạng điểm làm việc tối ưu lò nhiệt điện từ liệu điều khiển để nâng cao hiệu suất nhà máy nhiệt điện ĐỖ TÀI KHANG Khang.DT202257M@sis.hust.edu.vn Ngành Kỹ thuật Điều khiển Tự động hóa Chun ngành Tự động hố nâng cao Giảng viên hướng dẫn: TS Phạm Quang Đăng Viện: Kỹ thuật Điều khiển Tự động hóa Chữ ký GVHD HÀ NỘI, 03/2023 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ Họ tên tác giả luận văn : Đỗ Tài Khang Chuyên ngành : Nhận dạng điểm làm việc tối ưu lò nhiệt điện từ liệu điều khiển để nâng cao hiệu suất nhà máy nhiệt điện : Kỹ thuật Điều khiển Tự động hóa Mã số HV : 20202257M Đề tài luận văn Tác giả, Người hướng dẫn khoa học Hội đồng chấm luận văn xác nhận tác giả sửa chữa, bổ sung luận văn theo biên họp Hội đồng ngày 28 tháng 04 năm 2023, với nội dung sau: Chỉnh sửa thích: hình 4.4 hình 4.7 Bổ sung trích dẫn nguồn gốc số ảnh tư liệu: hình 2.2, hinh 2.4, hình 3.1, hình 3.3 Bổ sung thêm kết luận chất lượng, hiệu suất đạt chương Sửa lỗi tả luận văn Ngày 16 tháng 05 năm 2023 Giáo viên hướng dẫn Tác giả luận văn CHỦ TỊCH HỘI ĐỒNG ĐỀ TÀI LUẬN VĂN Họ tên giáo viên hướng dẫn chính: TS Phạm Quang Đăng Cơ quan: Viện Kỹ thuật Điều khiển Tự động hoá – Trường Đại học Bách Khoa Hà Nội Email: dang.phamquang@hust.edu.vn ĐT: Nội dung Đề tài chuyên ngành: Kỹ thuật Điều khiển Tự động hóa Tên đề tài: “Nhận dạng điểm làm việc tối ưu lò nhiệt điện từ liệu điều khiển để nâng cao hiệu suất nhà máy nhiệt điện” Giáo viên hướng dẫn Ký ghi rõ họ tên Lời cảm ơn Qua đây, tác giả xin gửi lời cảm ơn đến TS Phạm Quang Đăng, người hướng dẫn tác giả hoàn thành luận văn thạc sĩ Xin cảm ơn TS Phạm Thị Lý cung cấp liệu hoạt động lò nhà máy nhiệt điện Hải Phòng Lời cuối cùng, xin cảm ơn toàn thể thầy tham gia giảng dạy khóa cao học 2020B cán nghiên cứu viện Kỹ thuật Điều khiển Tự động hóa,trường Điện – Điện tử, Đại học Bách khoa Hà Nội giúp tác giả tích lũy nhiều kiến thức quý báu, phục vụ cho công tác nghiên cứu sau lĩnh vực Điều khiển Tự động hóa Xin chân thành cảm ơn! Tóm tắt nội dung luận văn Đề tài: “Nhận dạng điểm làm việc tối ưu lò nhiệt điện từ liệu điều khiển để nâng cao hiệu suất nhà máy nhiệt điện” Nội dung luận văn giải vấn đề sau: Phân tích vấn đề nâng cao hiệu suất lị nhiệt điện Giới thiệu tốn tối ưu hóa thời gian thực, kỹ thuật máy học tối ưu hóa sử dụng luận văn Thực mơ hình hóa, chạy mơ thuật tốn tối thiểu hàm lượng oxy dư trình cháy dựa liệu thực từ nhà máy Đánh giá thiết kế khả ứng dụng vào thực tiễn Phương pháp nghiên cứu công cụ sử dụng Phương pháp nghiên cứu: Kết hợp phương pháp phân tích lý thuyết mơ dựa liệu thực tế Chương trình mơ phát triển môi trường googlecolab python3 Kết Luận văn phù hợp với yêu cầu đặt ra, có tính khoa học ứng dụng thực tiễn tình hình nghiên cứu nước Hướng mở rộng luận văn giải hồn thiện tốn tối ưu hóa thời gian thực hiệu suất lị nhiệt điện Sinh viên thực Ký ghi rõ họ tên MỤC LỤC MỤC LỤC .xi DANH MỤC TỪ VIẾT TẮT xiii DANH MỤC HÌNH VẼ xv DANH MỤC BẢNG BIỂU xvii TỔNG QUAN VỀ NHÀ MÁY VÀ HỆ THỐNG ĐIỀU KHIỂN LÒ HƠI ĐỐT PHUN TRONG NHÀ MÁY NHIỆT ĐIỆN THAN 1.1 Tổng quan công nghệ nhiệt điện Phân loại nhà máy nhiệt điện theo tua bin Phân loại nhà máy nhiệt điện theo áp suất 1.2 Cơng nghệ đốt than lị nhà máy nhiệt điện Công nghệ đốt than phun (Pulverized Coal – PC) Cơng nghệ đốt tầng sơi tuần hồn (CFB) 1.3 Cấu tạo chung nguyên lý làm việc nhà máy nhiệt điện đốt than phun áp suất cận tới hạn Cấu tạo nhà máy nhiệt điện đốt than Nguyên lý hoạt động nhà máy nhiệt điện đốt than 1.4 Cấu tạo nguyên lý hoạt động lò đốt phun Giới thiệu chung Cấu tạo chung nguyên lý hoạt động Quá trình biến đổi lượng lò đốt than phun 1.5 Hệ thống điều khiển lị đốt than phun có bao Lò đối tượng điều khiển [2] Hệ thống điều khiển lò 14 Hiệu suất lò 15 1.6 Điều khiển q trình cháy lị nhiệt điện 16 Các giai đoạn trình cháy 16 Các yếu tố ảnh hưởng đến trình cháy 17 Các mạch vịng điều khiển q trình cháy lị 18 NÂNG CAO HIỆU SUẤT LỊ HƠI NHIỆT ĐIỆN 23 2.1 Vấn đề nâng cao hiệu suất lò 23 Các loại tổn thất lò 23 Các giải pháp nâng cao hiệu kinh tế vận hành lò 26 2.2 Điều khiển trình nâng cao tối ưu hoá thời gian thực 27 Phân cấp chức điều khiển trình 27 Điều khiển dự báo (Model Predictive Control - MPC) 29 Tối ưu hóa thời gian thực (Real-time Optimization - RTO) 33 THUẬT TOÁN SUPPORT VECTOR REGRESSION VÀ GIẢI THUẬT DI TRUYỀN 35 3.1 Mô hình hóa đối tượng dựa liệu 35 3.2 Phương pháp Support Vector Regression 36 3.3 Giải thuật di truyền 40 Giới thiệu giải thuật di truyền 40 Định nghĩa giải thuật di truyền [4] [5] 40 Các phương thức tiến hoá giải thuật di truyền 41 Giải thuật di truyền toán tối ưu 42 TỐI ƯU HỐ THỜI GIAN THỰC HIỆU SUẤT LỊ HƠI 45 4.1 Điều khiển tối ưu hóa hiệu suất lị 45 4.2 Triển khai RTO liệu thực 47 Mơ hình hàm lượng Oxy dư công suất phát 47 Hàm mục tiêu giải thuật tối ưu hóa 51 Mô đánh giá kết 53 KẾT LUẬN 55 TÀI LIỆU THAM KHẢO 57 PHỤ LỤC 59 TÓM TẮT LUẬN VĂN THẠC SĨ 65 DANH MỤC TỪ VIẾT TẮT Ký hiệu Tiếng Anh Dịch nghĩa PCS Process Control System Hệ thống điều khiển trình APC Advanced Process Control Điều khiển trình nâng cao MPC Model predictive Control Điều khiển dự báo mơ hình RTO Real-time Optimization Tối ưu hóa thời gian thực SVM Support Vector Machine Máy véc-tơ hỗ trợ SVR Support Vector Regression Hồi quy véc-tơ hỗ trợ GAs Genetic Algorithms Giải thuật di truyền DCS Distributed Control System Hệ thống điều khiển phân tán PC Pulverized Coal Công nghệ đốt than phun CFB Circulating Fluidized Bed Cơng nghệ lị sơi tuần hồn DANH MỤC HÌNH VẼ Hình 1.1 Sơ đồ ngun lý lò đốt than phun Hình 1.2 Sơ đồ ngun lý lị tầng sơi tuần hồn Hình 1.3 Cấu hình tổ máy nhiệt điện đốt than Hình 1.4 Giản đồ cơng nghệ (Process Diagram) tổ máy nhà máy nhiệt điện Hình 2.1 Lị nhà máy nhiệt điện Hình 2.2 Các đầu vào lị 10 Hình 2.3 Cân lượng nước cấp nước cộng với lượng nước xuống 11 Hình 2.4 Cân khối lượng nhiên liệu cộng gió khối lượng tro xỉ cộng khói 11 Hình 2.5 Cân khối lượng thành phần hóa học 12 Hình 2.6 Cân thành phần hóa học 12 Hình 2.7 Cân lượng đầu vào đầu lị 13 Hình 2.8 Q trình cháy buồng lửa lị 14 Hình 2.9 Các trình lò nhiệt điện 16 Hình 2.10 Lưu đồ P&ID hệ thống điều khiển khói gió 18 Hình 2.11 Đặc tính lượng đặt nồng độ oxy dư 20 Hình 2.12 Mạch vòng điều khiển O2 dư 20 Hình 2.13 Phân bố áp suất lò 21 Hình 2.14 Sơ đồ cấu trúc điều khiển khói gió 21 Hình 3.1 Cân lượng vào lò 23 Hình 3.2 Phân cấp hệ thống tự động hóa cơng nghiệp 28 Hình 3.3 Sách lược điều khiển dự báo 29 Hình 3.4 Cấu trúc chung MPC 30 Hình 3.5 Quỹ đạo đặt quỹ đạo tham chiếu 32 Hình 3.6 Xác định phiếm hàm mục tiêu 33 Hình 3.7 Cấu trúc chung RTO 34 Hình 4.1 Thuật toán SVM 36 Hình 4.2 Mơ tả thuật toán SVR 37 Hình 4.3 Hàm xấp xỉ với số bậc khác 38 Hình 4.4 Hiệu chỉnh thuật tốn SVR với tham số 38 Hình 4.5 Dữ liệu biến đổi dạng tuyến tính 39 Hình 5.1 Lưu đồ giải thuật 43 Hình 6.1 Quá trình cháy lò 45 Hình 6.2 Tối ưu hóa thời gian thực hiệu suất lò 46 Hình 6.3 Sự phụ thuộc cơng suất phát theo số tham số 48 Hình 6.4 Mơ hình hóa cơng suất phát 48 Hình 6.5 Cơng suất phát thực công suất phát dự báo 49 Hình 6.6 Sự phụ thuộc hàm lượng Oxy dư theo tham số 50 Hình 6.7 Mơ hình hàm lượng Oxy dư 50 Hình 6.8 Nồng độ Oxy thực nồng độ Oxy dự báo 51 Hình 6.9 Hàm lượng Oxy dư sau tối ưu hóa 53 trọng số có vai trị hiệu chỉnh hàm mục tiêu nồng độ Oxy dư nằm dải – 5% lớn, giá trị hàm mục tiêu tăng nhanh theo sai lệch nồng độ Oxy dư so với dải tối ưu Việc tối thiểu hàm mục tiêu PT 4.4 tìm điểm làm việc có hàm lượng Oxy dư nhỏ nhất, nhiên đầu vào W fpred k ,Wapred k phải đảm bảo ràng buộc công suất phát: PT 4.5 Phpred k Ph k P Trong đó: Phpred k công suất đầu dự báo thời điểm k Ph k công suất đầu chu kì k liệu Ràng buộc PT 4.5 xử lý tương tự ràng buộc Oxy cách thêm vào thành phần J kP hàm mục tiêu PT 4.4 P pred k P k h h J 0 P k If Phpred k Ph k P PT 4.6 If Phpred k Ph k P Như hàm mục tiêu tổng quát có dạng: J k J kO2 J kP PT 4.7 4.2.2.2 Giải thuật tối ưu hóa Giải thuật xây dựng dựa thuật tốn trình bày mục 3.3, hai đại lượng lưu lượng nhiên liệu Wf [0, 100%] lưu lượng gió Wa2 [min, max] chuẩn hóa khoảng [0, 1] để thuận tiện trình tìm kiếm 52 Mơ đánh giá kết Hình 4.9 Hàm lượng Oxy dư sau tối ưu hóa Hàm lượng Oxy dư tối ưu hóa với điều kiện khác chênh lệch công suất phát P Bộ liệu gồm 664 mẫu 531 mẫu dùng để training mơ hình, 133 mẫu dùng để mơ tốn tối ưu hóa Hình 4.9 kết mô thay đổi biên độ chênh lệch cơng suất phát đầu ra, thấy biên độ dao động lớn, hàm lượng Oxy dư cải thiện Hàm lượng Oxy dư cải thiện 1.2% 1.6% tương ứng với biên độ chênh lệch 3% 5% Như vậy, thiết kế góp phần cải thiện hàm lượng Oxy dư Tuy nhiên, độ xác mơ hình dự báo cơng suất phát hàm lượng Oxy dư chưa cao Trong số nghiên cứu, hàm lượng Oxy dư dự báo xác lên tới 98%, hạn chế cơng tác dự báo liệu chưa phản ánh đầy đủ biến trình thực tế vận hành Có thể thấy, mức độ sai lệch dự báo tương đối lớn, nhiên mức độ cải thiện nồng độ Oxy dư sau tối ưu hóa tốt, thiết kế cần thực tối ưu hóa sở thay đổi giá trị toàn biến đầu vào trình cháy để giảm thiểu nồng độ Oxy dư Tuy nhiên lượng đặt vòng điều khiển tối ưu hóa mang tính chất định hướng cho cơng tác vận hành nên kết thiết kế mang lại giá trị định triển khai thực tiễn 53 Kết phân tích cho thấy khả làm việc hiệu thuật toán SVR việc mơ hình hóa dự báo q trình với nhiều đầu vào cơng nghệ Giải thuật di truyền thuận lợi cho việc mở rộng biến đầu vào tốn tối ưu hóa Bên cạnh giải pháp sử dụng mạng nơ-ron, thuật toán SVR số thuật tốn máy học khác cơng cụ hữu hiệu cho tốn lĩnh vực điều khiển tự động hóa 54 KẾT LUẬN Luận văn “Nhận dạng điểm làm việc tối ưu lò nhiệt điện từ liệu điều khiển để nâng cao hiệu suất nhà máy nhiệt điện” giải vấn đề sau: Phân tích vấn đề tối ưu hiệu suất lị Trình bày tốn tối ưu hóa thời gian thực cho q trình cơng nghệ, thuật tốn SVR GAs Thiết kế cấu trúc điều khiển tối ưu hóa Mơ hình hóa hàm lượng Oxy dư, cơng suất phát, mô kết tối ưu hiệu suất lò Định hướng phát triển: Giải tổng thể tốn tối ưu hóa thời gian thực, thực tối thiểu tất tổn thất phân tích Giải tốn tối ưu hóa cho trường hợp thay đổi tất đầu vào công nghệ q trình cháy lị Cơng bố kết đạt Hà Nội, ngày 16 tháng 05 năm 2023 Học viên thực Đỗ Tài Khang 55 TÀI LIỆU THAM KHẢO [1] Đỗ Văn Thắng, Vận hành thiết bị lò tuabin nhà máy nhiệt điện, Hà Nội: Nhà xuất giáo dục, 2010 [2] Bùi Quốc Khánh, Nguyễn Duy Bình, Phạm Quang Đăng, Phạm Hồng Sơn, Hệ điều khiển DCS cho nhà máy sản xuất điện năng, Hà Nội: Nhà xuất Khoa học Kỹ thuật, 2013 [3] E FerikS., "Automation technology in hydrocarbon fuel processing plant," 2011 [4] D S Sayad, "saedsayad.com," 2010 [Online] Available:https://www.saedsayad.com/support_vector_machine_reg.htm [Accessed 26 03 2023] [5] B S A J Smola, "A tutorial on support vector regression," Statistics and Computing , vol 14, p 199–222, 2004 [6] Lại Khắc Lãi, Đặng Ngọc Trung, "Ứng dụng giải thuật di truyền cho toán tối ưu đa mục tiêu," Tạp chí Khoa học & Cơng nghệ, pp 213-218, 2010 [7] Lê Thị Ngọc Hiếu, "Giải toán tối ưu theo giải thuật di truyền," Tạp chí Khoa học Đồng Nai, ISSN 2354-1482, pp 85-93, 2016 [8] J Juselius, Advanced Condition Monitoring Methods in Thermal Power Plants, Master Thesis, Lappeenranta University of Technology, 2018 [9] K K H K S H.Aiki, "Boiler Digital Twin Applying Machine Learning," Mitsubishi Heavy Industries Technical Review , p Vol 55 No 4, December 2018 [10] H C K L.Zheng, "Combining Support Vector Regression and Ant Colony Optimization to Reduce NOx Emissions in Coal-Fired Utility Boilers," Energy & Fuels , vol 22, p 1034–1040, 2008 57 [11] J J Y.Ding, "Optimizing Boiler Control in Real-Time with Machine Learning for Sustainability," CIKM’18, October 22-26, 2018, Torino, Italy, pp 2147-2154 [12] Y S A Ch.Wang, "Optimizing Combustion of Coal Fired Boilers for Reducing NOx Emission using Gaussian Process," Energy, vol 10.1016, 2018 [13] J Z Q G P.Tan, "Modeling and reduction of NOX emissions for a 700 MW coalfired boiler with the advanced machine learning method," Energy, vol 94, pp 672679, 2016 [14] K H.Zhou, Combustion Optimization Based on Computational Intelligence, Springer, 2018 [15] M S R T D Khandelwal, "Data-driven Modelling of Dynamical Systems Using Tree Adjoining Grammar and Genetic Programming," arXiv, p 904.03152v1, Apr 2019 [16] D D C M D.Adams, "Prediction of SOxeNOx emission from a coal-fired CFB power plant with machine learning: Plant data learned by deep neural network and least square support vector machine," Journal of Cleaner Production, vol 270, p 122310, 2020 [17] Z Zh.Tang, "The multi-objective optimization of combustion system operations based on deep data-driven models," Energy, vol 182, pp 37-47, 2019 [18] Michail Petrov, Sevil Ahmed, Alexander Ichtev, Albena Taneva, "Fuzzy–neural Model Predictive Control of Multivariable Processes," 2010 58 PHỤ LỤC Mã nguồn chương trình phân tích, mô import numpy import numpy as np import pandas import pandas as pd import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline !pip install geneticalgorithm from geneticalgorithm import geneticalgorithm as ga !pip3 install pygad import pygad import pygad.nn import pygad.gann from geneticalgorithm import geneticalgorithm as ga import math from math import sqrt, pi, exp from sklearn.model_selection import train_test_split from sklearn.svm import SVR url = 'https://raw.githubusercontent.com/Dokhanghnvn/Dokhang/main/data_021 0_final.csv?token=GHSAT0AAAAAACBSKAYQXBAT6SF5FWZDN52SZCDMVEQ' df = pd.read_csv(url) df.drop(['Unnamed: 0'], axis=1, inplace=True) data = df.copy(deep=True) print(data.info()) print(data.columns) #========================================================================= X_P = data.filter(items=['luu luong nhien lieu (%)', 'lenh dieu khien may cap M2 (m/s)', 'lenh dieu khien may cap M1 (m/s)', 'luu luong gio cap dau bo say khong nhan h A (m3/h)', 'luu luong gio cap nhanh A (m3/h)', 'luu luong gio cap nhanh B (m3/h)', 'luu luong gio cap dau bo say khong nhan h B (m3/h)', 'luu luong gio cap dau bo say khong nhan h A (m3/h)', 'luu luong gio cap tuong phai vao (m3/h)', 59 'luu luong gio cap tuong trai vao (m3/h)', 'ap luc buong lua (Pa)', 'ap luc buong lua (Pa)', 'ap luc buong lua (P a)']) y_P = data['cong suat may phat (Mw)'] np.random.seed(0) X_P_train, X_P_test, y_P_train, y_P_test = train_test_split(X_P, y_P, test _size=0.2) P_model = SVR(kernel='linear') P_model.fit(X_P_train, y_P_train) print(P_model.score(X_P_train, y_P_train)) print(P_model.score(X_P_test, y_P_test)) #========================================================================= X_O2 = data.drop(['oxy_du', 'luu luong than (%)'], axis=1) y_O2 = data['oxy_du'] X_O2 = np.around(X_O2, decimals=3) y_O2 = np.around(y_O2, decimals=3) np.random.seed(0) X_O2_train, X_O2_test, y_O2_train, y_O2_test = train_test_split(X_O2, y_O2 , test_size=0.2) O2_model = SVR(kernel='poly') O2_model.fit(X_O2_train.drop(['cong suat may phat (Mw)'], axis=1), y_O2_tr ain) print(O2_model.score(X_O2_train.drop(['cong suat may phat (Mw)'], axis=1), y_O2_train)) # ======================================================================== # Define Cost Function def Cost(s): nhien_lieu = s[0] + nhien_lieu_ref[time] nhien_lieu = np.around(nhien_lieu, decimals=3) # than = s[1]*100 # than = np.around(than, decimals=3) wind_2 = s[1]*wind_2_max wind_2 = np.around(wind_2, decimals=3) # Calculation of oxy X_O2_time = (X_control.head(time+1)).tail(1) X_O2_time['luu luong gio cap dau bo say khong nhanh A (m3/h)'] = wind_2 X_O2_time['luu luong nhien lieu (%)'] = nhien_lieu # X_O2_time['luu luong than (%)'] = than X_O2_time = np.around(X_O2_time, decimals=3) 60 oxy = O2_model.predict(X_O2_time)[0] oxy = np.around(oxy, decimals=3) # Calculation of cost_value if oxy5: cost_2 = 1000*(oxy-5)**2 + (oxy-4)**2 else: cost_2 = (oxy-4)**2 cost_value = cost_2 return(cost_value) # ======================================================================== def fitness_func(ga_instance, solution, sol_idx): global GANN_instance, data_inputs, data_outputs predictions = pygad.nn.predict(last_layer=GANN_instance.population_net works[sol_idx], data_inputs=data_inputs, problem_type=" regression") solution_fitness = 1.0/numpy.mean(numpy.abs(predictions - data_outputs )) return solution_fitness def callback_generation(ga_instance): global GANN_instance, last_fitness population_matrices = pygad.gann.population_as_matrices(population_net works=GANN_instance.population_networks, population_vec tors=ga_instance.population) GANN_instance.update_population_trained_weights(population_trained_wei ghts=population_matrices) print("Generation = {generation}".format(generation=ga_instance.genera tions_completed)) rint("Fitness = {fitness}".format(fitness=ga_instance.best_solution ()[1])) print("Change = {change}".format(change=ga_instance.best_solution( )[1] - last_fitness)) last_fitness = ga_instance.best_solution()[1].copy() # ======================================================================== 61 # Holds the fitness value of the previous generation last_fitness = data = numpy.array(pandas.read_csv(url)) # Preparing the NumPy array of the inputs data_inputs = numpy.asarray(data[:, 1:12], dtype=numpy.float32) # Preparing the NumPy array of the outputs data_outputs = numpy.asarray(data[:, 13:15], dtype=numpy.float32) # The length of the input vector for each sample (i.e number of neurons i n the input layer) num_inputs = data_inputs.shape[1] #========================================================================= optimal_nhien_lieu = [] optimal_than = [] optimal_wind_2nd = [] X_control = X_O2_test[0:30].copy(deep=True) X_control.drop(['cong suat may phat (Mw)'], axis=1, inplace=True) X_control = np.around(X_control, decimals=3) wind_2_max = 352 # X_P_time = pd.DataFrame(np.reshape(np.array([1, 2]), (1,2)), columns=['n hien_lieu', 'than']) X_P_time = pd.DataFrame(np.array([1]), columns=['nhien_lieu']) P_run = np.array(X_O2_test['cong suat may phat (Mw)']) nhien_lieu_run = np.array(X_control['luu luong nhien lieu (%)']) nhien_lieu_ref = nhien_lieu_run – 10 # ======================================================================== #Creating an initial population num_solutions = # A solution or a network can be used interchangeably GANN_instance = pygad.gann.GANN(num_solutions=num_solutions, num_neurons_input=num_inputs, num_neurons_hidden_layers=[2], num_neurons_output=1, hidden_activations=["relu"], output_activation="None") population_vectors = pygad.gann.population_as_vectors(population_networks= GANN_instance.population_networks) initial_population = population_vectors.copy() num_parents_mating = # Number of solutions to be selected as parents in the mating pool num_generations = 500 # Number of generations 62 mutation_percent_genes = # Percentage of genes to mutate This parameter has no action if the parameter mutation_num_genes exists parent_selection_type = "sss" # Type of parent selection: steady_state_sel ection crossover_type = "two_points" # Type of the crossover operator mutation_type = "random" # Type of the mutation operator keep_parents = # Number of parents to keep in the next population means keep all parents and means keep nothing init_range_low = -1 init_range_high = ga_instance = pygad.GA(num_generations=num_generations, num_parents_mating=num_parents_mating, initial_population=initial_population, fitness_func=fitness_func, mutation_percent_genes=mutation_percent_genes, init_range_low=init_range_low, init_range_high=init_range_high, parent_selection_type=parent_selection_type, crossover_type=crossover_type, mutation_type=mutation_type, keep_parents=keep_parents, on_generation=callback_generation) ga_instance.run() #========================================================================= # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations ga_instance.plot_fitness(plot_type="scatter") # Returning the details of the best solution solution, solution_fitness, solution_idx = ga_instance.best_solution() print("Parameters of the best solution : {solution}".format(solution=solut ion)) print("Fitness value of the best solution = {solution_fitness}".format(sol ution_fitness=solution_fitness)) print("Index of the best solution : {solution_idx}".format(solution_idx=so lution_idx)) if ga_instance.best_solution_generation != -1: 63 print("Best fitness value reached after {best_solution_generation} generat ions.".format(best_solution_generation=ga_instance.best_solution_generatio n)) # Predicting the outputs of the data using the best solution predictions = pygad.nn.predict(last_layer=GANN_instance.population_network s[solution_idx], data_inputs=data_inputs, problem_type="regression") print("Predictions of the trained network : {predictions}".format(predicti ons=predictions)) # Calculating some statistics abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) print("Absolute error : {abs_error}.".format(abs_error=abs_error)) #========================================================================= nhien_lieu_controlled = nhien_lieu_predictions+ nhien_lieu_ref[time] nhien_lieu_controlled = np.around(nhien_lieu_controlled, decimals=3) optimal_nhien_lieu.append(nhien_lieu_controlled) # # # than_controlled = Than _predictions than_controlled = np.around(than_controlled, decimals=3) optimal_than.append(than_controlled) wind_2_controlled = wind_2_predictions wind_2_controlled = np.around(wind_2_controlled, decimals=3) optimal_wind_2nd.append(wind_2_controlled) #========================================================================= #===============================FINISHED================================== #========================================================================= 64 TÓM TẮT LUẬN VĂN THẠC SĨ Đề tài: “Nhận dạng điểm làm việc tối ưu lò nhiệt điện từ liệu điều khiển để nâng cao hiệu suất nhà máy nhiệt điện” (Identifying the optimum working point of a boiler from control data to improve the efficiency of the thermal power plant) Tác giả luận văn: Đỗ Tài Khang Khóa: 2020B Người hướng dẫn: TS Phạm Quang Đăng Từ khóa (Keyword): Real-time Optimization, Advanced Process Control, Combustion Optimization, Support Vector Regression, Genetic Algorithms Nội dung tóm tắt: a) Lý chọn đề tài Tại Việt Nam, tổng kết năm 2022, tổng cộng suất điện nước đạt 77800MW, nhiệt điện than đạt 252312MW chiếm 32,5% Trong quy hoạch điện VIII điều chỉnh tới năm 2030, sản lượng điện than chiếm tới 31.4% tổng sản lượng điện toàn hệ thống, nhiệt điện nói chung nhiệt điện than nói riêng giữ vai trò chủ lực cung cấp điện cho kinh tế Một rào cản cho việc phát triển nhiệt điện than vấn đề phát thải nhiều khí độc hại tổn thất lượng Hiện nay, nhiều nhà máy sử dụng công nghệ cũ, chưa nâng cấp, dẫn đến tổn thất kinh tế tác động xấu tới môi trường, đặt nhu cầu cấp thiết việc nâng cấp hệ thống điều khiển quy trình vận hành nhà máy Về bản, hiệu làm việc nhà máy nhiệt điện định hiệu suất lò hơi, nơi diễn trình chuyển hóa lượng nhiệt Đã có nhiều nghiên cứu nhằm nâng cao hiệu suất lò mà bật số nghiên cứu gần theo định hướng ứng dụng trí tuệ nhân tạo cơng tác điều khiển vận hành lị Với khả tự học từ sở liệu, cập nhật liên tục thay đổi từ trình sản xuất để đưa định điều khiển tối ưu, hệ thống điều khiển thơng minh ứng dụng trí tuệ nhân tạo hứa hẹn giải pháp mạnh mẽ giúp cải thiện đáng kể hiệu suất lò hơi, qua nâng cao hiệu kinh tế nhà máy nhiệt điện than Xuất phát từ thực tiễn đó, tác giả lựa chọn đề tài “Nhận dạng điểm làm việc tối ưu lò nhiệt điện từ liệu điều khiển để nâng cao hiệu suất nhà máy nhiệt điện” để thực luận văn 65 b) Mục đích nghiên cứu luận văn, đối tượng, phạm vi nghiên cứu Mục đích thực đề tài: phân tích, đánh giá đưa thiết kế cụ thể ứng dụng trí tuệ nhân tạo tối ưu hóa hiệu suất lị nhiệt điện Luận văn cần làm rõ vấn đề nâng cao hiệu suất lò hơi, xử lý tốn tối ưu hóa thời gian thực cho lò dựa ứng dụng kỹ thuật máy học tối ưu hóa Thiết kế cụ thể đánh giá qua mô liệu thực tế từ nhà máy Đối tượng nghiên cứu: lò đốt than phun nhà máy nhiệt điện Phạm vi nghiên cứu: Nâng cao hiệu suất làm việc lò đốt than phun nhà máy nhiệt điện cách ứng dụng thuật toán lĩnh vực trí tuệ nhân tạo: Support Vector Regression (SVR) giải thuật di truyền (Genetic Algorithms - GA) c) Tóm tắt đọng nội dung đóng góp tác giả Nội dung luận văn chia thành chương: Chương 1: Tổng quan nhà máy hệ thống điều khiển lò đốt phun nhà máy nhiệt điện than Nội dung trình bày khái quát hoạt động nhà máy nhiệt điện q trình chuyển hóa trao đổi lượng nhà máy nhiệt điện chạy than, hoạt động lò hơi, hệ thống điều khiển lò thực tế Chương 2: Nâng cao hiệu suất lò nhiệt điện Chương phân tích tổng thể phương án nâng cao hiệu suất lò hơi, vấn đề tối ưu hóa hiệu suất lị hơi, giới thiệu chức điểu khiển trình nâng cao tối ưu hóa thời gian thực cho q trình cơng nghệ Chương 3: Thuật toán Support Vector Regression giải thuật di truyền Thuật toán Support Vector Regression, thuật toán hồi quy phổ biến lĩnh vực trí tuệ nhân tạo Trong luận văn, thuật toán SVR sử dụng để mơ hình hóa cơng suất phát hàm lượng Oxy dư Giải thuật di truyền kỹ thuật khoa học máy tính nhằm giải tốn tối ưu tổ hợp Chương 4: Tối ưu hóa thời gian thực hiệu suất lò Chương triển khai tốn tối ưu hóa thời gian thực hiệu suất lò hơi, đưa cấu trúc cụ thể, xây dựng mơ hình, thuật tốn tối ưu hóa, mơ đánh giá thiết kế Chương trình phân tích mơ phát triển mơi trường googlecolab, python3 Đóng góp mới: Luận văn đưa thiết kế cụ thể cho tốn tối ưu hóa thời gian thực hiệu suất lò Ứng dụng kỹ thuật Support Vector Regression (SVR) việc mơ hình hóa q trình cơng nghệ giải thuật di truyền để giải tốn tối ưu hóa thời gian thực 66 d) Phương pháp nghiên cứu Phương pháp nghiên cứu: Kết hợp phương pháp phân tích lý thuyết phân tích mơ liệu thực tế e) Kết luận Luận văn phù hợp với yêu cầu đặt ra, có tính khoa học ứng dụng thực tiễn tình hình nghiên cứu nước Luận văn giải vấn đề sau: Phân tích vấn đề tối ưu hiệu suất lị Trình bày tốn tối ưu hóa thời gian thực cho q trình cơng nghệ, thuật tốn SVR GAs Thiết kế cấu trúc điều khiển tối ưu hóa Mơ hình hóa hàm lượng Oxy dư, cơng suất phát, mô kết tối ưu hiệu suất lò Định hướng phát triển: Giải tổng thể tốn tối ưu hóa thời gian thực, thực tối thiểu tất tổn thất phân tích Giải tốn tối ưu hóa cho trường hợp thay đổi tất đầu vào công nghệ q trình cháy lị 67