Ứng dụng kỹ thuật máy học trong tối ưu hóa hiệu suất lò hơi nhiệt điện

71 21 0
Ứng dụng kỹ thuật máy học trong tối ưu hóa hiệu suất lò hơi nhiệt đ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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ Ứng dụng kỹ thuật máy học tối ưu hóa hiệu suất lị nhiệt điện TRỊNH VĂN CẢNH Canh.TVCA190096@sis.hust.edu.vn Ngành Kỹ thuật Điều khiển Tự động hóa 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 HÀ NỘI, 2020 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ Ứng dụng kỹ thuật máy học tối ưu hóa hiệu suất lị nhiệt điện TRỊNH VĂN CẢNH Canh.TVCA190096@sis.hust.edu.vn Ngành Kỹ thuật Điều khiển Tự động hóa Giảng viên hướng dẫn: TS Phạm Quang Đăng Chữ ký GVHD Viện: Kỹ thuật Điều khiển Tự động hóa HÀ NỘI, 2020 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 : Trịnh Văn Cảnh Đề tài luận văn : Ứng dụng kỹ thuật máy học tối ưu hóa hiệu suất lị nhiệt điện Chuyên ngành : Kỹ thuật Điều khiển Tự động hóa Mã số HV : CA190096 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… với nội dung sau: • Bổ sung phần dẫn dắt đầu chương chương • Phát biểu cụ thể tốn tối ưu hóa chương • Sửa lỗi tả luận văn Ngày tháng 11 năm 2020 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ảng viên TS Phạm Quang Đăng hướng dẫn Cơ quan Viện Kỹ thuật Điều khiển Tự động hóa Trường Đại học Bách khoa Hà Nội Email dang.phamquang@hust.edu.vn ĐT: 098.368.3518 Nội dung Đề tài chuyên ngành: Kỹ thuật Điều khiển Tự động hóa Tên đề tài: Ứng dụng kỹ thuật máy học tối ưu hóa hiệu suất lị nhiệt điện Hà Nội, ngày 21 tháng 10 năm 2020 Giáo viên hướng dẫn Lời cảm ơn Qua đây, tác giả xin gửi lời cảm ơn đến tiến sĩ 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 nghiên cứu sinh 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 tồn thể thầy tham gia giảng dạy khóa cao học 2019A cán nghiên cứu viện Kỹ thuật Điều khiển Tự động hóa, trường Đạ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: Ứng dụng kỹ thuật Máy học tối ưu hóa hiệu suất lò nhiệt điện a) 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 toá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 b) 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 c) Kết Luận văn phù hợp với 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 HỌC VIÊN Trịnh Văn Cảnh MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT iii DANH MỤC BẢNG BIỂU iv DANH MỤC HÌNH VẼ, ĐỒ THỊ v LỜI NÓI ĐẦU 1 Lý lựa chọn đề tài Tình hình nghiên cứu nước Mục tiêu, phạm vi nghiên cứu Tóm tắt nội dung luận văn CHƯƠNG 1: LÒ HƠI TRONG NHÁ MÁY NHIỆT ĐIỆN 1.1 Tổng quan nhà máy nhiệt điện 1.1.1 Giới thiệu chung 1.1.2 Chu trình nhiệt nhà máy nhiệt điện ngưng đốt than 1.2 Lò nhiệt điện 1.3 Hệ thống điều khiển lò 1.3.1 Nhiệm vụ điều khiển 1.3.2 Điều khiển q trình cháy lị 11 CHƯƠNG 2: NÂNG CAO HIỆU SUẤT LÒ HƠI NHIỆT ĐIỆN 17 2.1 Vấn đề nâng cao hiệu suất lò 17 2.1.1 Các loại tổn thất lò 17 2.1.2 Các giải pháp nâng cao hiệu kinh tế vận hành lò 21 2.2 Điều khiển trình nâng cao tối ưu hóa thời gian thực 23 2.2.1 Phân cấp chức điều khiển trình 23 2.2.2 Điều khiển dự báo (Model Predictive Control - MPC) 24 2.2.3 Tối ưu hóa thời gian thực (Real-time Optimization - RTO) 29 CHƯƠNG 3: THUẬT TOÁN SUPPORT VECTOR REGRESSION 31 3.1 Mơ hình hóa đối tượng dựa liệu 31 3.2 Phương pháp Support Vector Regression 32 CHƯƠNG 4: THUẬT TOÁN TỐI ƯU HÓA BẦY KIẾN 37 4.1 Từ kiến thực đến kiến nhân tạo 37 4.1.1 Kiến thực 37 4.1.2 Kiến nhân tạo 38 4.2 Thuật tốn tối ưu hóa bầy kiến miền liên tục (ACOR) 39 CHƯƠNG 5: TỐI ƯU HĨA THỜI GIAN THỰC HIỆU SUẤT LỊ HƠI 44 i 5.1 Điều khiển tối ưu hóa hiệu suất lò 44 5.2 Triển khai RTO liệu thực 46 5.2.1 Mô hình hàm lượng Oxy dư cơng suất phát 47 5.2.2 Hàm mục tiêu giải thuật tối ưu hóa 51 5.2.3 Mô đánh giá kết 52 KẾT LUẬN 54 TÀI LIỆU THAM KHẢO 55 PHỤ LỤC 57 ii DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ 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ợ ACO Ant Colony Optimization Tối ưu hóa bầy kiến iii DANH MỤC BẢNG BIỂU Bảng 2.1 Các tổn thất lò 18 Bảng 5.1 Tham số hoạt động lò .46 iv DANH MỤC HÌNH VẼ, ĐỒ THỊ Hình 1.1 Sơ đồ chu trình nhiệt Hình 1.2 Lị nhà máy nhiệt điện Hình 1.3 Các đầu vào lò 10 Hình 1.4 Quá trình cháy buồng lửa lị 11 Hình 1.5 Các trình lò nhà máy nhiệt điện 12 Hình 1.6 Lưu đồ P&ID hệ thống điều khiển khói gió 14 Hình 1.7 Mạch vòng điều khiển O2 dư 15 Hình 1.8 Mạch vịng điều khiển áp suất âm buồng đốt 16 Hình 2.1 Cân lượng vào lò 17 Hình 2.2 Phân cấp hệ thống tự động hóa cơng nghiệp 24 Hình 2.3 Sách lược điều khiển dự báo [19] 25 Hình 2.4 Cấu trúc chung MPC [19] 26 Hình 2.5 Quỹ đạo đặt quỹ đạo tham chiếu 28 Hình 2.6 Xác định phiếm hàm mục tiêu 29 Hình 2.7 Cấu trúc chung RTO 30 Hình 3.1 Thuật tốn SVM 32 Hình 3.2 Mơ tả thuật tốn SVR 33 Hình 3.3 Hàm xấp xỉ với số bậc khác 34 Hình 3.4 Hiệu chỉnh thuật toán SVR với tham số  35 Hình 3.5 Dữ liệu biến đổi dạng tuyến tính 36 Hình 4.1 Thí nghiệm cầu đơi [21] 37 Hình 4.2 Bảng lưu trữ vệt mùi [23] 40 Hình 5.1 Quá trình cháy lò 44 Hình 5.2 Tối ưu hóa thời gian thực hiệu suất lò 45 Hình 5.3 Sự phụ thuộc cơng suất phát theo số tham số 47 Hình 5.4 Mơ hình hóa cơng suất phát 48 Hình 5.5 Công suất phát thực công suất phát dự báo 48 Hình 5.6 Sự phụ thuộc hàm lượng Oxy dư theo tham số 49 Hình 5.7 Mơ hình hàm lượng Oxy dư 50 Hình 5.8 Nồng độ Oxy thực nồng độ Oxy dự báo 50 Hình 5.9 Hàm lượng Oxy dư sau tối ưu hóa 52 v 5.2.1 Mơ hình hàm lượng Oxy dư cơng suất phát a) Cơng suất phát Hình 5.3 mơ tả phụ thuộc số tham số theo công suất phát Từ liệu thấy nhà máy thường vận hành dải công suất 200 – 300 MW, vùng làm việc có hiệu suất cao theo thiết kế Trong biến đầu vào, cơng suất phát thể quan hệ tuyền tính chặt chẽ với lưu lượng nhiên liệu Hình 5.3 Sự phụ thuộc công suất phát theo số tham số 47 Cơng suất phát mơ hình hóa theo tham số [2-14] bảng 5.1 Mơ hình SVR với tham số hình 5.4 đạt độ xác 97.94% (hình 5.5) Wf SVR (kernel=‘linear’, C=1, epsilon=0.1 ) P Wa2 Tham số hoạt động lò Tham số [2-14] Bảng 5.1 Hình 5.4 Mơ hình hóa cơng suất phát Hình 5.5 Cơng suất phát thực cơng suất phát dự báo 48 b) Hàm lượng Oxy dư Hình 5.6 mô tả phụ thuộc hàm lượng Oxy dư theo số tham số vận hành Có thể thấy hàm lượng Oxy dư giảm tăng công suất phát nhà máy Do công suất phát phụ thuộc vào lưu lượng nhiên liệu, nên quan hệ phụ thuộc hàm lượng Oxy dư theo công suất phát lưu lượng nhiên liệu tương đồng Hình 5.6 Sự phụ thuộc hàm lượng Oxy dư theo tham số 49 Hàm lượng Oxy dư mơ hình hóa theo tham số [2-14] bảng 5.1, Mơ hình SVR với tham số hình 5.4 đạt độ xác 97.06% (hình 5.5) Wf SVR (kernel=‘poly’, C=1, epsilon=0.1 ) O2 Wa2 Tham số hoạt động lò Tham số [2-14] Bảng 5.1 Hình 5.7 Mơ hình hàm lượng Oxy dư Hình 5.8 Nồng độ Oxy thực nồng độ Oxy dự báo 50 5.2.2 Hàm mục tiêu giải thuật tối ưu hóa a) Hàm mục tiêu Tại chu kì trích mẫu hàm lượng Oxy dư dự báo theo mơ hình SVR: O2pred ( k ) = SVR (W fpred ( k ) ,Wapred ( k ) ) (5.3) Trog đó: • O2pred ( k ) hàm lượng Oxy dư dự báo chu kì trích mẫu k • W fpred ( k ) ,Wapred ( k ) lượng đặt nhiên liệu gió tối ưu cần tìm chu kì k Thông thường hàm lượng Oxy dư tối ưu nằm dải 3-5%, hàm mục tiêu có dạng: J kO2 ( O pred ( k ) − )2  2  = ( O2pred ( k ) − ) +  ( O2pred ( k ) − 3)  pred 2 pred ( O2 ( k ) − ) +  ( O2 ( k ) − 5) If 3%  O2pred ( k )  5% If O2pred ( k )  3% (5.4) If O2pred ( k )  5% Với: • J kO2 hàm mục tiêu •  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 hàm mục tiêu (5.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: Phpred ( k ) − Ph ( k )  P (5.5) 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 51 Ràng buộc (5.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 (5.4)  ( P pred ( k ) − P ( k ) )2 h h  P Jk =   0  If Phpred ( k ) − Ph ( k )  P pred h If P ( k ) − Ph ( k )  P (5.6) Như hàm mục tiêu tổng quát có dạng: J k = J kO2 + J kP (5.7) b) 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 4.2, 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 5.2.3 Mơ đánh giá kết Hình 5.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 5.7 kết mô 52 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 0.9% 1.2% tương ứng với biên độ chênh lệch 10% 20% 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 lớn mức độ cải thiện nồng độ Oxy dư sau tối ưu hóa, 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 Kết phân tích cho thấy khả làm việc hiệu thuật tốn SVR việc mơ hình hóa dự báo trình với nhiều đầu vào cơng nghệ Thuật tốn ACOR thuận lợi cho việc mở rộng biến đầu vào toá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 toán máy học khác cơng cụ hữu hiệu cho toán lĩnh vực điều khiển tự động hóa 53 KẾT LUẬN Luận văn “Ứng dụng kỹ thuật máy học tối ưu hóa hiệu suất lò 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 ACOR • 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 54 TÀI LIỆU THAM KHẢO [1] 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 [2] W Y S J.P.Wang, "Industrial Big Data Analytics: Challenges, Methodologies, and Applications," arXiv, p 1807.01016, Jul 2018 [3] Y S A Ch.Wang, "Optimizing Combustion of Coal Fired Boilers for Reducing NOx Emission using Gaussian Process," Energy, vol 10.1016, 2018 [4] W Z Y.Gu, "Online adaptive least squares support vector machine and its application in utility boiler combustion optimization systems," Journal of Process Control, vol 21, pp 1040-1048, 2011 [5] 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 [6] C E R Z Y E S Z X R L M Fengqi Si, "Optimization of coal-fired boiler SCRs based on modified support vector machine models and genetic algorithms," Fuel, vol 88, p 806–816, 2009 [7] W Z G H.Pan, "Optimization of industrial boiler combustion control system based on genetic algorithm," Computers and Electrical Engineering, vol 000, pp 1-11, 2018 [8] K L F G Z N Yuguang, "Case-based reasoning based on grey-relational theory for the optimization of boiler combustion systems," ISA Transactions, pp 0019-0578, 2020 [9] J Juselius, Advanced Condition Monitoring Methods in Thermal Power Plants, Master Thesis, Lappeenranta University of Technology, 2018 [10] Z Zh.Tang, "The multi-objective optimization of combustion system operations based on deep data-driven models," Energy, vol 182, pp 37-47, 2019 [11] C Z B J.Song, "Improved artificial bee colony-based optimization of boiler combustion considering NOx emissions, heat rate and fly ash recycling for on-line applications," Fuel, vol 172, pp 20-28, 2016 [12] C R J A.A.M.Rahat, "Data-driven multi-objective optimisation of coalfired boiler combustion systems," Applied Energy, vol 229, pp 446-458, 2018 55 [13] V K P.llamathi, "Modeling and Optimization of Unburned Carbon in CoalFired Boiler Using Artificial Neural Network and Genetic Algorithm," Journal Of Energy Resources Technology, vol 135, pp 032201(1-5), 2013 [14] 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 [15] L L N N.H.Linh, "Nghiên cứu trình cháy bột than nâng cao hiệu đốt than trộn lò đốt than phun mơ hình mơ phỏng," NLN, vol 133, 01/2017 [16] N L.D.Dung, "Nghiên cứu tối ưu hóa q trình cháy bột than lị SG 130-40-450 phương pháp mơ số CFD," Tạp chí Khoa học Cơng nghệ Đại học Đà Nẵng , vol 9(118), pp 15-19, 2017 [17] "Modeling and optimization of NOX emission in a coal-fired power plant using advanced machine learning methods," The 6th International Conference on Applied Energy – ICAE2014, vol 61, p 377 – 380 , 2014 [18] Đ V Thắng, Vận hành thiết bị lò tuabin nhà máy nhiệt điện, Nhà xuất giáo dục, 2010 [19] E Camacho C Bordons, Model Predictive Control, Springer-Verlag, 1999 [20] B S A J Smola, "A tutorial on support vector regression," Statistics and Computing , vol 14, p 199–222, 2004 [21] C Solnon, Ant Colony Optimization and Constraint Programming, Wiley, 2010 [22] I C J Riadi, Cognitive Ant Colony Optimization A New Framework in Swarm Intelligence, Ph.D.Thesis, University of Salford, 2014 [23] A V V.K.Ojha, "ACO for Continuous Function Optimization: A Performance Analysis," arXiv, p 1707.01812v1, Jul 2017 [24] 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 [25] J Z Q G P.Tan, "Modeling and reduction of NOX emissions for a 700 MW coal-fired boiler with the advanced machine learning method," Energy, vol 94, pp 672-679, 2016 [26] 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 [27] K H.Zhou, Combustion Optimization Based on Computational Intelligence, Springer, 2018 56 PHỤ LỤC Mã nguồn chương trình phân tích, mơ import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline import math from math import sqrt, pi, exp from sklearn.model_selection import train_test_split from sklearn.svm import SVR from google.colab import drive drive.mount('drive') from google.colab import files url = 'https://raw.githubusercontent.com/kant1310/Boiler/master/dat a_0210_final.csv?token=APRAL5XYAFS46O2SLPOERNC7PPX3E' 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 nhanh 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 nhanh B (m3/h)', 'luu luong gio cap dau bo say khong nhanh A (m3/h)', 'luu luong gio cap tuong phai vao (m3/h )', 'luu luong gio cap tuong trai vao (m3/h )', 'ap luc buong lua (Pa)', 'ap luc buong lua (Pa)', 'ap luc buong lua (Pa)']) 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') 57 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_O 2, 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_train) print(O2_model.score(X_O2_train.drop(['cong suat may phat (Mw)'], a xis=1), y_O2_train)) print(O2_model.score(X_O2_test.drop(['cong suat may phat (Mw)'], ax is=1), y_O2_test)) # ================================================================= # Define Cost Function def Cost(s): nhien_lieu = s[0]*20/4 + 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/4 wind_2 = np.around(wind_2, decimals=3) # =============================================================== # Calculation of power # =============================================================== # 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 (m 3/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) 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) 58 # ================================================================= # Declare Parameters of ACOR k = 10 # Archive size m = 10 # New solutions n = # Dimension si = 0.9 # Evaporation rate q = 0.3 # Standard diviation of selection distribution # ================================================================= # Calculating Selection Probability Vector weight_vector = np.zeros([k]) const_1 = 1/q/k/(sqrt(2*pi)) const_2 = 1/2/q/q/k/k for i in range(1,k+1): weight_vector[i-1] = const_1*exp(const_2*(-1)*(i-1)) sel_prob = weight_vector/(np.sum(weight_vector)) sel_prob.sort() # sel_prob # ================================================================= # Roulette Wheel Selection based on selection probability vector def RouletteWheelSelection(p_vector): r = np.random.uniform(0, 1) acc = idx = -1 while acc < r: idx += acc += p_vector[idx] return idx #================================================================== #===========================CALCULATION OF WIND_2_ND=============== #================================================================== optimal_nhien_lieu = [] optimal_than = [] optimal_wind_2nd = [] X_control = X_O2_test.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)), colu mns=['nhien_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 for time in range(X_control.shape[0]): 59 # =============================================================== # Initial Solution Archive # Create global matrix for calculation pop = np.zeros([k+m, n+1]) # Init k solutions pop[0:k, 0:n] = np.random.uniform(0, 4, [k, n]) # Calculate fitness values for i in range(0,k): pop[i, n] = Cost(pop[i, 0:n]) # Sorting k solutions in descending order pop[0:k] = pop[0:k][np.argsort(-1*pop[0:k, n])] # =============================================================== # Construction of m New Solutions based-on k Solutions max_iter = 5000 count = min_cost = 1000 for loop in range(max_iter): for i in range(k,k+m): for j in range(0,n): # Choose a based-solution among k solutions index = RouletteWheelSelection(sel_prob) # Calculate expectation and standard deviation mu = pop[index, j] sigma = si * (np.sum(np.absolute(np.subtract(pop[0:k, j], m u)))/(k-1)) # Calculate S_ij s_ij = np.random.normal(mu, sigma) while (s_ij4): s_ij = np.random.normal(mu, sigma) pop[i,j] = s_ij # Calculate cost values pop[i, n] = Cost(pop[i, 0:n]) # Sorting k+m solutions pop[0:k+m] = pop[0:k+m][np.argsort(-1*pop[0:k+m, n])] # Truncating m-last solutions pop[0:k] = pop[m:m+k] pop[k:k+m] = # Evaluating stoping criteria if pop[k-1, n] 5: count = break else: min_cost = pop[k-1, n] nhien_lieu_controlled = pop[k-1,0]*20/4 + nhien_lieu_ref[time] 60 nhien_lieu_controlled = np.around(nhien_lieu_controlled, decimals =3) optimal_nhien_lieu.append(nhien_lieu_controlled) # # # than_controlled = pop[k-1,1]*100 than_controlled = np.around(than_controlled, decimals=3) optimal_than.append(than_controlled) wind_2_controlled = wind_2_max*pop[k-1,1]/4 wind_2_controlled = np.around(wind_2_controlled, decimals=3) optimal_wind_2nd.append(wind_2_controlled) #================================================================== #========================CALCULATION OF WIND_2_ND_FINISHED========= #================================================================== 61 ... 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. .. 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 toán tối thiểu hàm lượng oxy... tối ưu hóa bầy kiến Nội dung trình bày thuật tốn tối ưu hóa bầy kiến miền liên tục Chương 5: 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ò

Ngày đăng: 07/12/2021, 23:20

Mục lục

  • TÀI LIỆU THAM KHẢO

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

  • Đang cập nhật ...

Tài liệu liên quan