ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA - HỒ MINH THÔNG ỨNG DỤNG THUẬT TỐN DI TRUYỀN TRONG TÍNH TỐN TỐI ƯU CHI PHÍ XÂY DỰNG MẠNG LƯỚI CẤP NƯỚC CHUYÊN NGÀNH: XÂY DỰNG CƠNG TRÌNH THỦY LUẬN VĂN THẠC SĨ Tp.Hồ Chí Minh, tháng 12 năm 2010 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CÁN BỘ HƯỚNG DẪN KHOA HỌC : CÁN BỘ CHẤM NHẬN XÉT : CÁN BỘ CHẤM NHẬN XÉT : Luận văn thạc sĩ bảo vệ hội đồng chấm bảo vệ luận văn thạc sĩ Trường Đại học Bách Khoa, Đại học Quốc Gia Tp.Hồ Chí Minh, ngày 25 tháng năm 2011 a TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KỸ THUẬT XÂY DỰNG CỘNG HÒA XÃ HỘI CHỦ NGHIÃ VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc Tp HCM, ngày tháng năm NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: HỒ MINH THÔNG Phái: Nam Ngày, tháng, năm sinh: 11/12/1982 Nơi sinh: Tp.Hồ Chí Minh Chun ngành: XÂY DỰNG CƠNG TRÌNH THỦY MSHV: 02007751 TÊN ĐỀ TÀI: ỨNG DỤNG THUẬT TOÁN DI TRUYỀN TRONG TÍNH TỐN TỐI ƢU CHI PHÍ XÂY DỰNG MẠNG LƢỚI CẤP NƢỚC NHIỆM VỤ LUẬN VĂN: - Nghiên cứu phương pháp thuật toán di truyền (Genetic Algorithm) ứng dụng tốn tìm kiếm tối ưu - Nghiên cứu ứng dụng cơng cụ Epanet2 Toolkit tính tốn thủy lực mạng lưới - Lập mơ hình tính tốn máy tính, so sánh với kết tính tốn chi phí từ mơ hình tác giả khác - Áp dụng mơ hình để tính tốn cho mạng lưới cấp nước thực tế NGÀY GIAO NHIỆM VỤ: NGÀY HOÀN THÀNH NHIỆM VỤ: 6/12/2010 HỌ TÊN CÁN BỘ HƢỚNG DẪN: PGS.TS HUỲNH THANH SƠN Nội dung đề cương Luận văn thạc sĩ Hội Đồng Chuyên Ngành thông qua CÁN BỘ HƢỚNG DẪN CHỦ NHIỆM BỘ MÔN QUẢN LÝ CHUYÊN NGÀNH KHOA QL CHUYÊN NGÀNH b Lời cảm ơn Khi tơi viết dịng trải qua bảy năm, kể từ tân sinh viên đại học tơi hồn thành luận văn thạc sĩ Bảy năm người sinh viên học viên việc tiếp thu kiến thức khoa học vô tận từ thầy cô Tôi xin chân thành cảm ơn thầy Huỳnh Thanh Sơn, người tận tình hướng dẫn giúp đỡ nhiều để tơi hồn thành luận văn Tơi xin cảm ơn thầy Nguyễn Thống, thầy Lê Đình Hồng thầy cô khác Bộ môn Kỹ thuật Tài nguyên nước; lời cảm ơn chân thành gởi đến thầy khơng kiến thức q báu truyền đạt cho suốt năm học tập trường, mà lẽ sống mà học thầy cô Để hồn thành luận văn này, thân tơi nỗ lực nhận quan tâm quý báu từ bạn bè đồng nghiệp Xin gởi lời cảm ơn đến học viên lớp Xây dựng Cơng trình thủy 2007, nhiệt tình động viên đóng góp cho tơi lúc học tập khó khăn trở ngại Xin gởi lời cám ơn đến đồng nghiệp công tác Công ty TNHH MTV Cấp nước Trung An, tạo thời gian hỗ trợ cho nhiều công tác để tơi thực hồn thành luận văn Và đặc biệt, xin gởi lời cám ơn đến gia đình, hỗ trợ tơi nhiều vật chất tinh thần, sát cánh bên tôi, nguồn động viên lớn cho tơi việc hồn thành luận văn Thành phố Hồ Chí Minh, ngày tháng 12 năm 2010, Hồ Minh Thông i Tóm tắt Luận văn trình bày phương pháp tính tốn chi phí tối ưu xây dựng mạng lưới cấp nước Chương trình Epanet sử dụng nghiên cứu cho việc mô thủy lực mạng lưới, kết hợp với thuật tốn di truyền phương pháp chi phí phạt để tìm chi phí tối ưu khả thi Điều kiện tốn bao gồm đường kính ống, có giới hạn đường kính thương mại có sẵn, cao trình nguồn cấp, vận tốc đường ống áp lực nút mạng lưới Kết nhận từ nghiên cứu cho thấy phù hợp với kết từ mơ hình nghiên cứu tác giả khác Abstract This thesis presents an approach to calculate the optimal cost of construction of pipe network in water distribution systems Epanet 2.0 program is used in this study to simulate hydraulic pipe networks This program combines with the genetic algorithm (GA) and the penalty function method to find a feasible optimal cost The constraints include pipe sizes, which are limit of the commercial available sizes, resevoir levels, pipe flow velocities and nodal pressures in the network The result of this study is accord with the results of studies from the other authors ii Mục lục Chƣơng Giới thiệu chung 1.1 Đặt vấn đề 1.2 Các nghiên cứu nước 1.2.1 Khái quát 1.2.2 Các nghiên cứu nước 1.2.3 Các nghiên cứu nước 1.3 Mục tiêu phạm vi nghiên cứu 1.4 Nội dung nghiên cứu Chƣơng Cơ sở lý thuyết mơ hình tính tốn thủy lực 2.1 Các biểu thức thủy lực dùng tính tốn mạng lưới cấp nước 2.1.1 Tổn thất đường ống 2.1.2 Áp lực nút 2.1.3 Các ràng buộc 2.2 Cơ sở lý thuyết tính tốn mạng lưới vịng 2.2.1 Các định luật cân 2.2.2 Số phương trình tính tốn 2.3 Các phương pháp tính tốn thủy lực mạng lưới vịng 2.3.1 Tính toán thủy lực mạng lưới phương pháp điều chỉnh lưu lượng mạng lưới vòng 2.3.2 Tính tốn thủy lực mạng lưới phương pháp phần tử hữu hạn 12 2.4 Cơ sở tính tốn kinh tế - kỹ thuật mạng lưới cấp nước 13 2.4.1 Chi phí xây dựng mạng lưới cấp nước 13 2.4.2 Quan hệ lưu lượng – vận tốc – chi phí 14 2.5 Chương trình Epanet cơng cụ tính tốn thủy lực Epanet Toolkit 16 2.5.1 Tổng quan chương trình Epanet 16 2.5.2 Giới thiệu công cụ tính tốn thủy lực – Epanet Toolkit 17 2.5.3 Sơ đồ tính tốn sử dụng Epanet Toolkit 17 iii 2.5.4 Ứng dụng Epanet Toolkit ngôn ngữ lập trình Visual Basic 18 2.5.5 Các hàm thuộc Epanet Toolkit dùng lập trình tính tốn ứng dụng Visual Basic 6.0 19 2.5.6 Ứng dụng Epanet Toolkit lập trình tính tốn tối ưu mạng lưới cấp nước 20 Chƣơng Cơ sở lý thuyết chƣơng trình tính tốn theo thuật tốn di truyền 3.1 Tổng quan 21 3.2 Thuật toán di truyền 23 3.2.1 Cơ sở hình thành lý thuyết 23 3.2.2 Lịch sử phát triển 23 3.2.3 Các khái niệm 24 3.3 Mơ hình chế thuật toán di truyền 25 3.3.1 Mơ hình thuật tốn di truyền 25 3.3.2 Các tham số thuật toán di truyền 27 3.3.3 Các toán tử thuật toán di truyền 27 3.4 Hàm chi phí phạt (Penalty Cost) 30 3.4.1 Tổng quan hàm phạt (Penalty Function) 30 3.4.2 Chi phí phạt (Penalty Cost) ứng dụng tốn tìm kiếm chi phí tối ưu 31 3.5 Sơ đồ khối tính tốn 32 3.6 Giao diện kết cấu chương trình 34 3.6.1 Giao diện chương trình 34 3.6.2 Kết cấu chương trình 34 3.7 Khởi tạo toán 35 3.7.1 Tập tin mô tả mạng lưới 35 3.7.2 Tập tin chi phí 35 3.7.3 Các thông số sử dụng TTDT 35 3.7.4 Khởi tạo quần thể ban đầu 36 3.8 Tính chi phí 36 3.8.1 Hàm mục tiêu chi phí 36 3.8.2 Quy trình tính tốn chi phí 38 iv 3.9 Tạo quần thể tổ hợp thuật toán di truyền 38 3.9.1 Quy trình thực tạo hệ Pt+1 từ hệ Pt 38 3.9.2 Cơ chế chọn lọc 38 3.9.3 Cơ chế lai ghép 40 3.9.4 Cơ chế đột biến 40 3.10 Điều kiện dừng 40 Chƣơng Kiểm nghiệm chƣơng trình 41 4.1 Bài toán (Two loop network) 41 4.1.1 Mơ tả tốn 41 4.1.2 Giải tốn chương trình lập 43 4.2 Bài toán (Hanoi network) 45 4.2.1 Mơ tả tốn 45 4.2.2 Giải tốn chương trình lập 47 4.3 Nhận xét kết luận 50 Chƣơng Ứng dụng thực tế 52 5.1 Ứng dụng 52 5.1.1 Mô tả mạng lưới 52 5.1.2 Kết tính tốn 56 5.1.3 Kết luận 62 5.2 Ứng dụng 63 5.2.1 Mô tả mạng lưới 63 5.2.2 Kết tính tốn 66 5.2.3 Kết luận 70 Kết luận kiến nghị 72 Tài liệu tham khảo 74 Phụ lục 76 v Chương Giới thiệu chung 1.1 Đặt vấn đề Hệ thống cấp nước bao gồm mạng lưới cấp nước, bể chứa, trạm xử lý, trạm bơm… sở hạ tầng thiếu việc phát triển kinh tế xã hội Hiệu hoạt động hệ thống cấp nước quan trọng việc thiết kế mạng lưới cấp nước Mạng lưới cấp nước có hình thù khác tùy thuộc vào nhiều yếu tố chế độ làm việc mạng lưới khác Trên mạng lưới cịn có tham gia cơng trình điều hịa, dự trữ trạm bơm Do đó, việc thực tối ưu thiết kế mạng lưới phức tạp mối quan hệ phi tuyến dòng chảy đoạn ống Vận tốc kinh tế đoạn ống phụ thuộc vào lưu lượng tính tốn thân đoạn ống đó, mà cịn phụ thuộc vào lưu lượng chung tồn mạng lưới, hình thù mạng lưới vị trí đoạn ống mạng lưới Mỗi thay đổi vận tốc v đoạn ống kéo theo thay đổi tiêu toàn mạng lưới Trong thực tế thiết kế mạng lưới cấp nước, đường kính ống thường xác định theo vận tốc kinh tế trung bình, dựa vào lưu lượng phân bố đoạn ống điều kiện làm việc an toàn mạng lưới phương pháp dùng biểu đồ, dùng bảng lưu lượng tới hạn hay công thức kinh nghiệm… tất phương pháp gần đúng, thực tính tốn vận tốc kinh tế hay đường kính ống kinh tế q trình phức tạp khó khăn Ngồi ra, gọi tổng giá thành Wt thời gian tính tốn t, ta có biểu thức tổng chi phí vốn đầu tư cho mạng lưới cấp nước sau: Wt = GXD + t.GQL Hay tổng chi phí vốn đầu tư cho năm thời hạn tính tốn t là: Wt = đó: GXD + GQL t - GXD: chi phí xây dựng mạng lưới cấp nước - GQL: chi phí quản lý hàng năm mạng lưới Chi phí quản lý bao gồm: chi phí sửa chữa hàng ngày, chi phí điện bơm nước, chi phí quản lý, chi phí lương chi phí cục khác Trong chi phí sửa chữa hàng ngày tính theo % p chi phí xây dựng Nếu ta tách chi phí sửa chữa hàng ngày (p.GXD) khỏi chi phí quản lý chi phí quản lý cịn lại G’QL, cơng thức xác định tổng chi phí vốn đầu tư cho năm thời gian tính tốn là: 1 W= t p GXD + G’QL Từ công thức ta thấy giá thành xây dựng hệ thống cấp phân phối nước xác định chủ yếu giá thành xây dựng mạng lưới cấp nước, phụ thuộc vào chiều dài đường kính đoạn ống Cịn giá thành xây dựng trạm bơm chiếm phần nhỏ, theo kinh nghiệm vào khoảng 1525% tổng giá thành, công trình khác khơng ảnh hưởng đến đánh giá kinh tế tổng thể cơng trình hệ thống cấp nước Ngồi việc thực tính tốn thủy lực mạng lưới cấp nước để xác định giá trị thủy lực mạng lưới, cần thiết phải thực thêm tính tốn kinh tế kỹ thuật mạng lưới nhằm tìm chi phí xây dựng kinh tế nhất, hay nói cách khác cần phải thực tối ưu hóa việc thiết kế mạng lưới cấp nước Phương án cho tổng chi phí nhỏ Wmin phương án xác định vận tốc kinh tế hay đường kính kinh tế đoạn ống Những vấn đề trình bày cho thấy việc nghiên cứu tối ưu hóa thiết kế mạng lưới cấp nước vấn đề thật cần thiết quan tâm nhiều giới Ở Việt Nam, việc nghiên cứu vấn đề chưa quan tâm nhiều, mục đích luận văn nhằm tìm phương pháp tính tốn tối ưu, ứng dụng vào thực tế thiết kế mạng lưới cấp nước 1.2 Các nghiên cứu nƣớc 1.2.1 Khái quát Trên giới, vấn đề thiết kế tối ưu mạng lưới cấp nước có nhiều chuyên gia ngành nghiên cứu ứng dụng từ lâu Tuy nhiên trước thời kỳ máy tính chưa phát triển nhà nghiên cứu chủ yếu đưa cơng thức kinh nghiệm để tính tốn đường kính ống kinh tế dựa vào lưu lượng đoạn ống Khi máy tính lúc phát triển hơn, chun gia sử dụng cơng cụ máy tính để phát triển thuật tốn tuyến tính, phi tuyến, thuật toán di truyền… sâu vào nghiên cứu vấn đề khác ảnh hưởng đến việc thiết kế tối ưu vận hành tối ưu mạng lưới cấp nước nhiều trường hợp Van Vuuren (2005) [7] đưa bảng phân loại loại hình thiết kế tối ưu hóa mạng lưới cấp nước sau: 26.81 20.87 33 17.55 14.32 60 21.03 21.89 26.18 17.05 34 17.39 11.8 61 20.08 17.43 27.21 21.79 35 16.61 11.36 62 19.87 16.54 28.76 28.24 36 16.91 11.9 63 19.13 16.26 27.65 26.55 37 18.23 16.56 64 19.67 20.08 10 26.88 20.99 38 16.21 14.7 65 18.75 17.58 11 25.17 16.05 39 14.46 12.91 66 17.67 15.23 12 23.65 13.53 40 14.57 11.92 67 16.8 12.88 13 23.08 13.33 41 15.78 11.39 68 18.69 14.11 14 22.32 12.86 42 13.79 11.03 69 19.32 16.93 15 21.45 11.77 43 12.86 11.1 70 20.17 19.08 16 21.05 11.66 44 12.73 11.47 71 15.43 12.36 17 22.16 12.67 45 13.19 11.8 72 15.55 12.14 18 24.62 17.06 46 12.64 11.55 73 15.99 12.88 19 24.8 21.24 47 13.22 12.7 74 14.88 11.2 20 26.14 25.02 49 16.92 16.31 75 14.63 11.06 21 22.91 22.6 50 16.91 16.56 76 14.71 11.52 22 24.73 24.63 51 12.68 12.63 77 14.23 11.35 23 28.06 27.98 52 11.2 11.22 78 14.61 11.09 24 27.3 25.68 53 11.37 11.2 79 14.61 11.15 25 23.84 22.89 55 13.47 14.33 80 18.01 15.91 26 22.01 21.7 56 19.11 18.4 81 15.23 12.36 27 19.93 17.98 57 18.94 18.23 54 16 16.58 28 20.86 19.67 58 11.46 13.65 51' 11.01 11.08 Đường kính tính tốn nút tổ hợp đường kính so sánh với đường kính ban đầu thể bảng 5.8: Bảng 5.8 So sánh đường kính trường hợp Ống Đường kính (m) Cũ Mới 200 200 200 Ống Đường kính (m) Cũ Mới 45 300 200 200 46 300 300 200 47 300 200 300 250 Ống Đường kính (m) Cũ Mới 92 200 200 200 93 300 350 200 200 94 200 200 48 300 250 95 200 200 200 49 300 200 96 200 250 200 50 300 200 97 200 200 67 400 250 51 300 200 98 400 400 300 200 52 300 200 99 300 250 600 500 53 300 300 100 200 200 10 600 600 54 300 300 101 200 250 11 500 600 56 300 200 102 200 300 12 500 500 57 300 200 103 250 200 13 400 600 58 300 200 104 200 200 14 400 200 59 300 200 105 200 250 15 400 200 60 300 350 106 200 200 16 300 200 61 300 350 107 200 200 17 300 400 62 200 250 108 250 200 18 300 300 63 200 200 109 200 200 19 600 600 64 200 200 110 200 200 20 600 500 65 200 200 111 200 200 21 500 600 66 200 200 112 200 200 22 500 350 67 200 200 113 200 200 23 400 500 68 200 200 115 400 250 24 400 500 69 300 300 116 400 250 25 300 200 70 300 300 117 350 250 26 300 250 71 200 200 118 300 200 27 250 250 72 200 200 119 500 400 28 250 200 73 200 200 120 500 200 29 250 350 74 200 250 121 500 200 30 250 300 76 200 200 122 500 200 31 300 400 77 300 250 123 350 200 32 300 250 78 250 200 124 400 500 33 300 200 79 250 200 125 400 400 34 200 200 80 250 200 126 300 200 35 200 200 81 400 400 127 500 600 36 200 200 82 400 350 128 300 600 37 400 200 83 300 200 129 300 200 38 300 250 84 400 500 130 300 500 39 400 200 85 400 350 131 300 250 40 400 200 86 300 200 132 300 300 41 300 250 87 300 200 133 200 250 42 300 200 88 300 350 134 200 200 68 43 300 250 89 400 200 135 200 200 44 200 200 91 300 200 136 200 250 200 250 200 200 200 200 200 250 250 250 200 200 400 500 600600 600 600 200 200 200 200 200 500 250 200 200 200 250 200 200 300 400200 200 250 200 200200 350 350 500 200 200 500 200 200 250 250 250 200 400 200 200 300 250 250 300 200 250 200 250 300 200 200 200 200 250 200 200 200 200 200 200 200 400 200 200 350 350 200 350 300 250 200 200 350 200 300 200 200 500 250 500 350 250 400 500 400 600 500 300 250 350 200 600 200 200 200 200 200 200 600 300 200 200 200 600 200 200 200 200 200 200 200 200 250 250 200 200 200 200 200 Hình 5.11 Đường kính đoạn ống phân bố lại 69 Chi phí tính tốn trường hợp ban đầu trường hợp sau: Đường kính (mm) Chi phí (10 VNĐ/mét) 200 Bảng 5.9 So sánh chi phí Mạng hữu Mạng thiết kế Chiều dài Chi phí Chiều dài Chi phí 1.3 26670 34671 50440 65572 250 1.7 6870 11679 12880 21896 300 2.1 32000 67200 4950 10395 350 2.6 690 1794 4450 11570 400 3.2 11760 37632 3410 10912 500 4.1 4530 18573 4650 19065 600 5.4 1960 10584 3700 19980 Tổng chi phí (106VNĐ) : 182133 159390 5.2.3 Kết luận Với áp lực thấp mạng 11m cỡ đường kính lựa chọn (Ø200, Ø250, Ø300 Ø350, Ø400, Ø500 Ø600), chương trình phân bố lại đường kính với chi phí xây dựng mạng lưới giảm từ 182.133.000.000VNĐ ban đầu 159.390.000.000VNĐ (giảm 12,5%) Cũng ứng dụng trình bày, số tuyến ống thẳng, ứng dụng gặp phải phân bố đường kính đoạn ống tuyến khơng mang tính “nối tiếp” nhiều tuyến ống thẳng, đoạn ống có đường kính xen kẽ hình 5.11 Do phân bố đường kính tối ưu trường hợp mang tính tham khảo cho việc thiết kế mạng lưới thực tế Trong trường hợp toán mở rộng bổ sung thêm 02 loại đường kính lựa chọn Ø100 Ø150, với áp lực thấp mạng 11m, chi phí giảm cịn 148.135.000.000VNĐ (giảm 18,7%) hình 5.12 70 100 150 300 100 150 250 400 200 150 300 100 500 600 600 600 500 400 600 400 500 350 350 100 600 150 100 100 150 200 200 200 150 500350 150 100 100 500 350 350 200 100500 300 500 600 200 100 350 400 350 250 100 500 350 100 150 350 100 100 350 350 250 350 300 300 200 150 250 150 100 200 250 400 300 200 150 250 100 150 200 150 100 250 150 100 400 500 100 300 100 100 150 300 100 200 100 600 150 300 200 150 100 100 100 350 150 100 150 400 400 100 250 100 600 350 300 150 100 100 300 100 100 200 200 150 250 200 200 250 150 150 100 Hình 5.12 Đường kính đoạn ống phân bố lại có bổ sung cỡ đường kính Ø100 Ø150 71 Kết luận kiến nghị Kết luận Kết so sánh từ toán kiểm nghiệm cho thấy kết nhận từ mơ hình tương ứng với kết tác giả khác Việc ứng dụng thuật toán di truyền giúp tìm kết tương đối tối ưu từ số lượng hữu hạn tổ hợp ban đầu, giảm thiểu thời gian tính tốn tốn Phương pháp chi phí phạt ngồi việc giúp gia tăng tốc độ hội tụ giúp gia tăng khơng gian tìm kiếm lời giải cho tốn, tránh rơi vào lời giải tối ưu cục Chương trình Epanet cho thấy bên cạnh chương trình tính tốn thủy lực mạng lưới miễn phí cịn công cụ hỗ trợ đắc lực môi trường lập trình theo ngơn ngữ khác Một số nhận xét q trình giải tốn sau: - Tốc độ hội tụ độ xác lời giải tối ưu phụ thuộc vào số lượng tổ hợp thực tế số lượng tổ hợp lựa chọn ngẫu nhiên ban đầu - Số lượng tổ hợp tính tốn hệ q lớn làm giảm tốc độ tính tốn, q nhỏ có khả tìm lời giải tương đối tối ưu - Cần phải tính tốn sơ trước tổng lưu lượng lớn chảy qua đoạn ống (thường đoạn ống đầu nguồn), từ có giới hạn số lượng đường kính thương mại có sẵn Việc ngồi việc đảm bảo vận tốc đoạn ống hợp lý (Vmin V Vmax) giúp giảm số lượng tổ hợp không hợp lý - Hệ số phạt hàm chi phí phạt q cao nhanh chóng loại bỏ trường hợp không thỏa mãn, nhiên làm giảm khơng gian tìm kiếm lời giải Hạn chế mơ hình: - Trên số tuyến ống thẳng, phân bố đường kính đoạn ống mạng lưới sau tính tốn khơng mang tính “nối tiếp”, đoạn ống có đường kính xen kẽ Do phân bố đường kính tối ưu trường hợp mang tính tham khảo hướng tuyến cho việc thiết kế phân bố đường kính đoạn ống mạng lưới 72 - Mơ hình áp dụng cho tốn thiết kế phát triển mạng lưới cấp nước mới, mơ hình chưa thể cố định đường kính số đoạn ống theo yêu cầu toán lựa chọn cải tạo ống cũ mục - Yêu cầu áp lực thấp yêu cầu chung cho tất nút lấy nước tính tốn mơ hình Do mơ hình bị hạn chế giải tốn có nhiều u cầu áp lực khác Kiến nghị Việt Nam quốc gia phát triển, q trình thị hóa diễn với tốc độ nhanh chóng Song song với q trình thị hóa tốn xây dựng hạ tầng sở mà việc xây dựng hệ thống cấp nước chiếm vị trí quan trọng Việc quy hoạch hệ thống cấp nước hợp lý, cho đảm bảo yêu cầu chi phí xây dựng chi phí vận hành tương ứng, vấn đề ảnh hưởng trực tiếp đến q trình hoạt động kinh tế cơng ty cấp nước, hay nói cách khác ảnh hưởng đến giá thành nước cung cấp cho người dân Việc thiết kế mạng lưới cấp nước với chi phí tối ưu vấn đề Việt Nam Mơ hình trình bày luận văn bước nghiên cứu Do thời gian đến, mơ hình cần điều chỉnh tiếp tục phát triển thêm mặt giao diện thuật toán để khắc phục việc hạn chế nêu, cho ứng dụng nhiều trường hợp thực tế việc thiết kế mạng lưới cấp nước 73 Tài liệu tham khảo [1] Dragan A.Savic and Godfrey A.Walters (1997) “Genetic algorithms for least-cost design of water distribution networks”, Journal of Hydraulic Engineering, ASCE, 501509, 67-77 [2] A.J.Abebe and D.P.Solomatine (1998) “Application of Global optomization to the design od pipe networks”, 3rd International conference on Hydroinfomatics, Copenhagen, August 1998 [3] Maria da Conceicão and Joaquim Sousa (1999) “Water distribution network design optimization: simulated annealing approach”, Journal of Hydraulic Engineering, ASCE, 215-221 [4] Niu Zhi-guan Zhang hongwei (2002) “Application of Lingo to the solution of water suppky System optimal operation model”, Transaction of Tianjin University, Vol No.4 [5] Shie-Yui Liong and Md.Atiquzzaman (2004) “ Optimal design of water distribution network using shuffled complex evolution”, Journal of the Institution of Enineers, Singapore, Vol44 Issue 2004 [6] Hossen M.V.Samani and Alireza Mottaghi (2006) “Optimization of water distribution networks using interger linear programming”, Journal of Hydraulic Engineering, ASCE, 501-509 [7] Mvan Dijk, SJ van Vuuren and JE van Zyl (2008) “Optimising water distribution system using a weighted penalty in genetic algorithm”, ISSN 0378-4738, Water SA Vol 34 No October 2008 [8] Avi Ostfeld and Ariel Tubaltzev (2008) “Ant Colony Optimization for Least-Cost Design and Operation of Pumping Water Distribution Systems”, Journal of Water Resources Planning And Management © ASCE / March/April 2008 / 107 [9] Ozgur Yeniay (2005) “Penalty function methods for contrained optimizaion with genetic algorithms”, Mathematicaland Computaion Application, Vol 10, No 1, pp 4556, 2005 [10] Zongwoo Geem (2005), “Optimal cost design of water distribution networks using harmony search”, Engineering Optimization Vol 38, No 3, April 2006, 259– 280 74 [11] Phan Vĩnh Cẩn (2006), “Một số yếu tố ảnh hưởng đến toán tối ưu hố mạng lưới đường ống cấp nước thị”, Tạp chí Xây dựng, số 6/2006 [12] P.Tuấn (2008) “Tối ưu hoá việc xây dựng trạm bơm khu tăng áp - cấp nước”, Tạp chí Xây dựng, số 9/2008 [13] Larry W.Mays, Water Distribution System Handbook, McGraw Hill, 2000 [14] Unites States Environmental Protection Agency (EPA), Water Distribution System Analysis: Field Studies, Modeling and Management, Epa/600/R-06/028, 2005 [15] Quy hoạch mạng lưới cấp nước thành phố Nam Định, thông tin cá nhân [16] Nguyễn Thống, Cấp thoát nước, NXB Xây dựng 2005 [17] Dương Thanh Lượng, Giáo trình Hệ thống cấp nước, NXB Xây dựng 2006 [18] Nguyễn Văn Tín, Nguyễn Thị Hồng Đỗ Hải, Cấp nước - Tập 1: Mạng lưới cấp nước, NXB Khoa học Kỹ thuật, 2005 [19] Lê Đình Hồng, Bài giảng môn học: Quy hoạch Quản lý nguồn nước, Đại học Bách Khoa Tp.HCM [20] Võ Minh Châu, Bài giảng mơn học: Cấp nước, Đại học Bách Khoa Tp.HCM [21] Hồ Long Phi, Bài giảng môn học: Cấp thoát nước, Đại học Bách Khoa Tp.HCM [22] Nguyễn Đình Thúc, Lập trình tiến hóa, NXB Giáo dục 75 Phụ lục Mã lập trình phần thuật tốn di truyền với ngôn ngữ Visual Basic 6.0 Public Type Individual RealDiameter() As Single RealCostD() As Single Fitness As Single Penalty As Single TotalCost As Single ProbOfFit As Single CumProbOfFit As Single Pmincount As Single Vmaxcount As Single End Type Public Type Population NumOfIndivid As Long GenomeLen As Long Individuals() As Individual Parents() As Individual SelectedIndivid() As Individual OffspringCross() As Individual OffspringMut() As Individual NoOfParents As Long NoOfMutated As Long NoOfSelectedIndivid As Long ProbMut As Single ProbCross As Single Generation As Long StopEvolution As Boolean End Type Global PopuMain As Population Public Sub BuildPopu(Popu As Long, Generation As Long, ProbCross As Single, ProbMut As Single, Dcard As Single, Rbest As Single) PopuMain.NumOfIndivid = Popu PopuMain.Generation = Generation PopuMain.ProbCross = ProbCross PopuMain.ProbMut = ProbMut DiscardNum = Dcard R = Rbest PopuMain.StopEvolution = False End Sub Public Sub GenomeString() PopuMain.GenomeLen = noLink ReDim PopuMain.Individuals(PopuMain.NumOfIndivid) As Individual Dim tempDC As Long For i = To PopuMain.NumOfIndivid ReDim PopuMain.Individuals(i).RealDiameter(noLink) ReDim PopuMain.Individuals(i).RealCostD(noLink) For j = To noLink tempDC = RndNum(1, noDCost) PopuMain.Individuals(i).RealDiameter(j) = ListDCostVal(tempDC).Ddesign PopuMain.Individuals(i).RealCostD(j) = ListDCostVal(tempDC).CostDdesign Next j Next i End Sub Public Sub GAProcessing() GeneLoop = Do While Not PopuMain.StopEvolution = True 76 DoEvents GeneLoop = GeneLoop + CalObjFitness ExcelBook.Worksheets("Result").Cells(3 + GeneLoop, 3).Value = GeneLoop ExcelBook.Worksheets("Result").Cells(3 + GeneLoop, 4).Value = MinFitCost(GeneLoop) StopCriteria If PopuMain.StopEvolution = True Then Exit Sub Cal_Prob_CumProb Reproduction Loop End Sub Public Sub CalObjFitness() ReDim CostD(PopuMain.NumOfIndivid, noLink), PenaltyNode(PopuMain.NumOfIndivid, noNode), Pcount(noNode), Vcount(noLink) For i = To PopuMain.NumOfIndivid For j = To noLink ENsetlinkvalue j, EN_DIAMETER, PopuMain.Individuals(i).RealDiameter(j) Next j ENsolveH PopuMain.Individuals(i).Penalty = For k = To noNode - ENgetnodevalue k, EN_PRESSURE, myNode(k).Pressure Pcount(k) = myNode(k).Pressure If Pcount(k) >= Pmin Then PenaltyNode(i, k) = Else PenaltyNode(i, k) = a * (Pmin - Pcount(k)) ^ + b * Sgn(Pmin Pcount(k)) End If PopuMain.Individuals(i).Penalty = PopuMain.Individuals(i).Penalty + PenaltyNode(i, k) Next k PopuMain.Individuals(i).Pmincount = ArrayMin(Pcount, 1, noNode noReservoirTank, 1) For j = To noLink ENgetlinkvalue j, EN_VELOCITY, myLink(j).Velocity Vcount(j) = myLink(j).Velocity Next j PopuMain.Individuals(i).Vmaxcount = ArrayMax(Vcount, 1, noLink, 1) PopuMain.Individuals(i).Fitness = For j = To noLink CostD(i, j) = myLink(j).Length * PopuMain.Individuals(i).RealCostD(j) PopuMain.Individuals(i).Fitness = PopuMain.Individuals(i).Fitness + CostD(i, j) Next j PopuMain.Individuals(i).TotalCost = PopuMain.Individuals(i).Fitness + PopuMain.Individuals(i).Penalty Next i ReDim ReDim ReDim ReDim ReDim SelectedIndivid(PopuMain.NumOfIndivid) SelectedCost(PopuMain.NumOfIndivid) SortSelectedCost(PopuMain.NumOfIndivid) SortSelectedIndivid(PopuMain.NumOfIndivid) SortNoOfSelectedIndivid(PopuMain.NumOfIndivid) For i = To PopuMain.NumOfIndivid SelectedCost(i) = PopuMain.Individuals(i).TotalCost SelectedIndivid(i) = i Next i Call Sort(SelectedCost, SelectedIndivid, PopuMain.NumOfIndivid, SortSelectedCost, SortSelectedIndivid, SortNoOfSelectedIndivid) ReDim MinFitCost(GeneLoop), SumFitness(PopuMain.NumOfIndivid) 77 MinFitCost(GeneLoop) = SortSelectedCost(1) RemainIndivid = (1 - DiscardNum) * PopuMain.NumOfIndivid SumFitness(0) = BestString = For i = To RemainIndivid PopuMain.Individuals(i).Pmincount = PopuMain.Individuals(SortSelectedIndivid(i)).Pmincount PopuMain.Individuals(i).Vmaxcount = PopuMain.Individuals(SortSelectedIndivid(i)).Vmaxcount PopuMain.Individuals(i).TotalCost = SortSelectedCost(i) SumFitness(i) = SumFitness(i - 1) + PopuMain.Individuals(i).TotalCost For j = To noLink PopuMain.Individuals(i).RealDiameter(j) = PopuMain.Individuals(SortSelectedIndivid(i)).RealDiameter(j) PopuMain.Individuals(i).RealCostD(j) = PopuMain.Individuals(SortSelectedIndivid(i)).RealCostD(j) Next j If PopuMain.Individuals(i).TotalCost = MinFitCost(GeneLoop) Then BestString = BestString + End If Next i End Sub Public Sub StopCriteria() If BestString >= R * RemainIndivid Or PopuMain.Generation = GeneLoop Then PopuMain.StopEvolution = True End IfEnd Sub Public Sub Cal_Prob_CumProb() Dim CumProb() As Single ReDim CumProb(RemainIndivid) CumProb(0) = For i = To RemainIndivid PopuMain.Individuals(i).ProbOfFit = [PopuMain.Individuals(RemainIndivid).TotalCost - PopuMain.Individuals(i).TotalCost] / [RemainIndivid * PopuMain.Individuals(RemainIndivid).TotalCost - SumFitness(RemainIndivid)] CumProb(i) = CumProb(i - 1) + PopuMain.Individuals(i).ProbOfFit PopuMain.Individuals(i).CumProbOfFit = CumProb(i) Next i End Sub Public Sub Reproduction() Selection SelectParents CrossOver Mutation End Sub Public Sub Selection() Dim TempRnd As Single, TempIndi As Long Randomize For i = 10 To PopuMain.NumOfIndivid TempRnd = Rnd If TempRnd PopuMain.Individuals(k - 1).CumProbOfFit) And (TempRnd