0
Tải bản đầy đủ (.pdf) (99 trang)

Mô hình toán học của hệ thống xử lý nước thải

Một phần của tài liệu NGHIÊN CỨU THUẬT TOÁN TÌM NGHIỆM TỐI ƯU TOÀN CỤC TRONG QUÁ TRÌNH LUYỆN MẠNG NƠ - RON - ỨNG DỤNG ĐỂ NHẬN DẠNG, ĐIỀU KHIỂN ĐỐI TƯỢNG ĐỘNG HỌC PHI TUYẾN (Trang 67 -67 )

- Xét hệ thống xử lý nƣớc thải (có tính axít) từ một quá trình công nghệ trong các nhà máy.

- Nguyên lý hoạt động của hệ thống là cho thêm chất lỏng có tính kiềm vào nƣớc thải, sau đó trộn đều để trung hoà tính axít của nƣớc thải. Chất lỏng có tính kiềm cho

T Hệ thống xử lý nƣớc thải Mạng nơron

e(k)

P w, b

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/

vào phải đảm bảo các điều kiện nhƣ: Muối tạo thành là muối vô hại, không ảnh hƣởng đến môi trƣờng.

Sơ đồ công nghệ hệ thống xử lý nƣớc thải nhƣ hình 3.3:

Tín hiệu đầu ra của hệ thống đƣợc định nghĩa nhƣ sau: y = [H+] - [OH-], với [H+] là nồng độ ion H+,

[OH-] là nồng độ ion OH-

Nhiệm vụ điều khiển là tín hiệu đầu ra ở trạng thái xác lập y tiến đến 0 khi đó nƣớc thải là trung tính và có độ pH =7.

Gọi p là độ pH của chất thải trong bể. Ta có quan hệ: y = 10-p

- 10pK0 Trong đó: K0 = [H+]*[OH-] = 10-14 g/l, p = - log[H+]

Mô hình toán học của quá trình xử lý nƣớc thải nhƣ sau: Vy= F(a-y) - u(b+y)

V là thể tích của bể chứa (L)

F là tốc độ dòng chảy của chất thải có axít (L/sec) a nồng độ mol/l của nƣớc thải có tính axít (moles/L) b nồng độ mol/l của ba zơ (moles/L)

u là tốc độ dòng chảy của bazơ (L/sec)

Phƣơng trình hệ thống là: Vy= Fa - Fy - ub – uy

Các thông số của hệ thống xử lý nƣớc thải đƣợc mô hình hoá nhƣ sau. Máy trộn

u

Nƣớc thải có tính axit

Nƣớc thải trung tính

Hình 3.3: Sơ đồ hệ thống xử lý nước thải

Máy trộn

u

Nƣớc thải có tính axit

Nƣớc thải trung tính Chất lỏng có tính kiềm

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/

Thông số Giá trị Đơn vị

a 0.001 moles/L

b 0.001 moles/L

F 0.1 L/sec

V 2 L

Giới hạn của tín hiệu điều khiển u là: [0 … 2] L/sec.

Thay các giá trị trên vào mô hình đƣợc phƣơng trình hệ thống nhƣ sau:

y = 0.00005 - 0.05y - 0.0005u – 0.5uy

Hệ thống xử lý nƣớc thải là một đối tƣợng động học phi tuyến. Thể hiện tính phi tuyến ở khâu nhân giữa tín hiệu vào và tín hiệu ra. Tính động học ở điểm có đạo hàm và đầu ra đƣợc đƣa ngƣợc trở lại đầu vào.

3.3.3. Ứng dụng mạng nơ-ron và thuật toán vượt khe để nhận dạng đối tượng

Tập mẫu vào ra

Tập mẫu vào ra đƣợc tạo ra trong simulink bằng cách cho tín hiệu ngẫu nhiên là tín hiệu vào u vào mô hình toán học và thu đƣợc tín hiệu ra y. Mô hình đƣợc xây dựng từ mô hình toán học của đối tƣợng bằng cách sử dụng các khối toán học của Matlab Simulink và đƣợc chỉ ra trong hình vẽ sau.

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/

Tín hiệu vào là tín hiệu ngẫu nhiên p. Tín hiệu vào ngẫu nhiên có giới hạn về biên độ từ 0 đến 2 L/sec với thời gian lấy mẫu là 0.1s.

Phát tín hiệu ngẫu nhiên vào đƣợc một bộ tín hiệu đầu vào p, đầu ra thu đƣợc bộ tín hiệu ra t. Tổng thời gian đặt là 100 s. Do đó sẽ tạo ra đƣợc 1000 bộ mẫu vào ra dƣới dạng một mảng dữ liệu.

Chọn cấu trúc mạng nơ-ron để nhận dạng bể xử lý nước thải

Cấu trúc mạng nơ-ron của mô hình hệ thống xử lý nƣớc thải đƣợc chọn nhƣ sau: Mạng gồm có hai lớp: Lớp vào có 4 nơ-ron và lớp ra có 1 nơ-ron, và tất cả các lớp đều sử dụng hàm sigmoid làm hàm kích hoạt.

Bộ thông số (p,t) gồm 1000 mẫu lấy ở trên đƣợc dùng để huấn luyện mạng nơ- ron của mô hình đối tƣợng.

Chương trình huấn luyện mạng nơ-ron của mô hình đối tượng.

Trong đó p, t đƣợc lấy từ mô hình simulink ở trên. Sau khi huấn luyện mạng nơ-ron theo thuật toán lan truyền ngƣợc kết hợp bƣớc học vƣợt khe (Phụ lục 2), các thông số của mạng nơ-ron nhƣ sau:

net.iw{1,1} = [-2.6255 0.2811 -0.6148 0.5481]' net.lw{1,2} = [-1.4697 2.7814 1.9926 1.1968]' net.lw{2,1} = [0.0035 0.6984 0.1139 -0.0320]

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/

Ta thấy sai lệch rất nhỏ nên mô hình mạng nơ-ron này đƣợc sử dụng để mô hình cho bể xử lý nƣớc thải, từ đó ta có thể thiết kế bộ điều khiển.

3.4. Ví dụ 3 : Thiết kế bộ điều khiển cho bể xử lý nƣớc thải theo mô hình mẫu 3.4.1. Thiết kế bộ điều khiển nơ-ron theo mô hình mẫu 3.4.1. Thiết kế bộ điều khiển nơ-ron theo mô hình mẫu

Thiết kế bộ điều khiển nơ-ron theo mô hình mẫu bao gồm các bƣớc thực hiện:

Bước 1: Tạo 1 tập mẫu P,T lấy trên mô hình mẫu bằng cách phát 1 tín hiệu đầu

vào P (P là tín hiệu ngẫu nhiên) và quan sát tín hiệu ra T dùng tập mẫu P,T để huấn luyện mạng nơ-ron cho bộ điều khiển „„NN Controller‟‟.

Bước 2: Chọn cấu trúc mạng nơ-ron NN controller.

Bước 3: Kết hợp 2 mạng NN controller va mạng NN plant tạo thành mạng NN

system sau đó dùng tập mẫu P,T huấn luyện mạng NN system sao cho hàm mục tiêu J

=

N 1 k 2

)

k

(

e

N

1

là bé nhất (trong quá trình luyện mạng thì các thông số w của NN plant giữ cố định, chỉ chỉnh định các thông số w của NN controller). Sau khi huấn luyện xong NN controller thì ta lắp vào sơ đồ trên hình 3.6 để điều khiển hệ thống xử lý

nƣớc thải.

Sơ đồ huấn luyện bộ điều khiển nơ-ron NN Controller

Hình 3.6: Sơ đồ huấn luyện bộ điều khiển nơ-ron NN Controller

Sau khi huấn luyện mạng nơ-ron ta đƣợc tham số bộ điều khiển bằng mạng nơ-ron. Bộ tham số này đƣợc tìm ra theo phƣơng pháp sử dụng mô hình mẫu. Sau đó ta sử dụng để điều khiển hệ thống xử lý nƣớc thải.

Mô hình

mẫu

NN

Controller

NN

Plant

System

P

T

e

Y

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/

Hình 3.7: Sơ đồ hệ thống điều khiển

3.4.2. Mô hình mạng nơ-ron của bộ điều khiển

Cấu trúc mạng nơ-ron của bộ điều khiển:

Mạng gồm có ba lớp: lớp vào có 4 nơ-ron, sử dụng hàm tansig; lớp ẩn có 5 nơ- ron, sử dụng hàm tansig; lớp ra có một nơ-ron, sử dụng hàm pureline; khâu TDL1 có đƣờng dây trễ là 1.

Mô hình mẫu của hệ thống xử lý nước thải

Hàm truyền đạt của mô hình mẫu đƣợc chọn nhƣ sau. G(s) = 0.001

55s1

- Đồ thị hàm trọng lƣợng của mô hình mẫu.

- Sau 250 giây thì hệ thống đạt đƣợc trạng thái xác lập với tín hiệu ra bằng không.

Mô hình mẫu trong simulink.

Phát tín hiệu ngẫu nhiên vào mô hình mẫu ta thu đƣợc chuỗi giá trị p, đầu ra thu đƣợc chuỗi giá trị t. Bộ thông số (p,t) gồm 1000 mẫu đƣợc dùng để huấn luyện bộ điều khiển nơ-ron.

Hình 3.8: Hàm trọng lượng của mô hình mẫu

P NN Y

Controller

HT Xử lý nƣớc thải

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/

Hình 3.9: Mô hình mẫu trong Simulink

- Sau khi huấn luyện ta có các thông số của bộ điều khiển nơ ron:

net.iw{1,1} = 1.0e+003 *[-0.4220 1.9542 -1.8371 -0.8361]'; net.lw{1,3} =[-2.1672 0.9400 0.5578 1.9932]'; net.lw{1,5} =[0.2532 -0.4862 -1.1192 0.5167]'; net.b{1} = [2.2229 -0.7450 -0.7357 -2.2132]'; net.b{2} = [-1.8333 0.0276 -1.8474]'; net.lw{2,1} = [0.8660 -0.3013 1.5635 0.4370; -0.4278 0.8825 1.3020 0.8247; -1.3695 0.8132 -0.3626 -0.8475]; net.b{3} = -0.1232; net.lw{3,2} = [0.0442 -0.2783 -0.0546]; net.iw{1,1} = 1.0e+003 *[-0.4220 1.9542 -1.8371 -0.8361]'; net.lw{1,3} =[-2.1672 0.9400 0.5578 1.9932]'; net.lw{1,5} =[0.2532 -0.4862 -1.1192 0.5167]'; net.lw{2,1} = [0.8660 -0.3013 1.5635 0.4370; -0.4278 0.8825 1.3020 0.8247; -1.3695 0.8132 -0.3626 -0.8475];

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/

Sai lệch giữa tín hiệu đầu ra của mô hình đối tƣợng với đầu ra của mô hình mẫu rất nhỏ.

3.5. Ví dụ 4 : Kết hợp giải thuật di truyền và thuật toán vƣợt khe trong quá trình luyện mạng nơ-ron để nhận dạng chữ viết trình luyện mạng nơ-ron để nhận dạng chữ viết

Thuật toán kết hợp giải thuật vƣợt khe và giải thuật di truyền cho mạng MLP ứng dụng cho nhận dạng chữ đƣợc đề xuất trong hình 2.8. Nó bao gồm hai giai đoạn luyện mạng. Giai đoạn đầu tiên sử dụng thuật toán di truyền với bƣớc truyền thẳng nhằm đẩy nhanh toàn bộ quá trình luyện mạng. Thuật toán di truyền thực hiện tìm kiếm toàn cục và tìm kiếm tối ƣu gần điểm ban đầu (trọng lƣợng vector) cho giai đoạn thứ hai. Trong đó, mỗi nhiễm sắc thể đƣợc sử dụng để mã hóa các trọng số của mạng nơron. Hàm thích nghi (hàm mục tiêu) cho các thuật toán di truyền đƣợc xác định là tổng bình phƣơng lỗi (TSSE) của mạng nơron tƣơng ứng. Do đó, bài toán sẽ trở thành tối ƣu hóa không giới hạn nhằm tìm một tập hợp các biến quyết định giảm thiểu hàm mục tiêu. Trong giai đoạn thứ 2 sẽ sử dụng thuật toán lan truyền ngƣợc với các bƣớc học đƣợc thay đổi theo thuật toán vƣợt khe đã đƣợc đề xuất ở trên.

Việc cài đặt thuật toán trên Matlab đƣợc tiến hành nhƣ sau:

/*Giai đoạn 1*/

Khởi tạo các nhiễm sắc thể một cách ngẫu nhiên cho thế hệ hiện tại, khởi tạo các tham số làm việc và đặt nhiễm sắc thể đầu tiên là nhiễm sắc thể tốt nhất

best_chromosome.

a- Lặp từ i=1 đến kích thƣớc quần thể, thực hiện công việc sau:

- Khởi tạo sub_total_fitness bằng 0 và sub_best_chromosome là rỗng

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/

b- Lặp từ j=1 đến độ dài của nhiễm sắc thể, thực hiện các công việc sau:

- Thực hiện thủ thục truyền thẳng cho mạng MLP (sử dụng hàm hoạt hóa là sigmoid).

- Tính toán hàm mục tiêu (lỗi hệ thống của mạng nơ-ron)

- Tính toán lỗi tổng cộng total_fitness bằng cách tích lũy sub_total_fitness c- Lƣu best_chromosome vào sub_best_chromosome

d- So sánh các sub_best_chromosome với nhau và đặt sub_best_chromosome lớn nhất là best_chromosome.

e- Lặp từ i=0 đến kích thƣớc quần thể/2, thực hiện các thủ tục sau:

- Khởi tạo sub_total_fitness bằng 0 và sub_best_chromosome là rỗng - Lặp từ j=1 tới độ dài nhiễm sắc thể, thực hiện các công việc sau:

* Chọn các nhiễm sắc thể cha mẹ sử dụng phƣơng pháp lựa chọn theo bánh xe roulette

* Áp dụng các phép lai tạo và đột biến

- Lặp từ k=1 đến độ dài nhiễm sắc thể, thực hiện các công việc sau: * Thực hiện thủ tục truyền thẳng cho mạng MPL

* Tính toán các giá trị hàm mục tiêu cho các nhiễm sắc thể cha mẹ. - Tính toán sub_total_fitness bằng cách tích lũy giá trị hàm mục tiêu của mỗi

nhiễm sắc thể.

- Lƣu best_chromosome vào sub_best_chromosome

g- Thay thế thế hệ cũ bằng thế hệ mới nếu thỏa mãn điều kiện dừng.

/*Giai đoạn 2 */

- Đặt best_chromosome là véc tơ trọng số khởi tạo, thiết lập cấu trúc mạng rron MLP. - Tính toán đầu ra thực tế của mạng MLP truyền thẳng.

- Tính toán lỗi giữa đầu ra thực tế và đầu ra mong muốn.

- Cập nhật các trọng số bằng thuật toán lan truyền ngƣợc, cập nhật các hệ số học bằng thuật toán vƣợt khe.

END

Các kết quả thực nghiệm

Mạng MLP đƣợc luyện với bộ các ký tự mẫu chữ với kích thƣớc 7 x 5 đƣợc trình bày ở ví dụ 1. Các giá trị ban đầu nhƣ số đầu vào (35), số lƣợng lớp ẩn (1), số nơron lớp ẩn (5), các kỹ thuật luyện mạng khác nhau, mã hóa đầu vào và đầu ra nhằm khởi tạo các trọng số đã đƣợc đề cập ở trên. Để kiểm tra khả năng của mạng cho quá trình nhận dạng chữ, chúng tôi đề xuất một tham số đánh giá chất lƣợng của mạng là tỷ lệ lỗi nhận dạng đƣợc tính theo công thức:

Số các kí tự đã kiểm tra – Số ký tự đã nhận dạng

Tỷ lệ lỗi (FR) = x 100%

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/

Test 1: Luyện mạng MLP theo thuật toán BP thuần túy

Các tham số luyện mạng:

Kích thƣớc ký tự = 5 x 7 Số đầu ra = 10 Số đầu vào = 35 Số nơron lớp ẩn = 5 Độ chính xác mong muốn = 90% Tỷ lệ học : 0.6 Lỗi hệ thống mong muốn=0.06

Kết quả luyện mạng như sau:

Số chu kỳ luyện 20 60 100 130 200

Tỷ lệ lỗi 93.33% 60.33% 40.67% 37.33% 0%

TSSE 0.8136 0.6848 0.2834 0.2823 0.06

Test 2: Luyện mạng MLP theo thuật toán BP kết hợp với thuật toán vượt khe và di truyền

Các tham số luyện mạng:

Kích thƣớc quần thể = 20 Xác suất lai tạo = 0.46 Mã hóa bằng số thực Độ dài nhiễm sắc thể = 225 Độ chính xác mong muốn = 90% Số thế hệ: 20

Lỗi hệ thống mong muốn=0.06

Kết quả luyện mạng như sau:

Số thế hệ 1 5 10 15 20

Tổng thích nghi 9.5563 8.1638 6.1383 5.724 5.697

Số chu kỳ luyện 5 10 15 20 33

Tỷ lệ lỗi 93.33% 60.33% 40.67% 37.33% 0%

TSSE 0.4956 0.3274 0.1387 0.0864 0.0589

Nhƣ vậy, lỗi hệ thống ở test 1 khi sử dụng luyện mạng MLP bằng giải thuật BG thuần túy là 0.06 sau 200 chu kỳ luyện mạng. Đối với test 2, sau 20 thế hệ đã đạt đến yêu cầu của bài toán. Giá trị thích nghi trung bình đạt đƣợc là 5.679. Kết quả của giai đoạn 1 đƣợc sử dụng để khởi tạo trọng số cho giai đoạn 2. Với sự thay đổi bƣớc học theo giải thuật vƣợt khe, sau 33 chu kỳ luyện mạng lỗi hệ thống đã đạt đến mục đích 0.0589 và độ chính xác của quá trình nhận dạng là 100% . Hoạt động của mạng MLP thuần túy và mạng MLP có kết hợp giải thuật vƣợt khe và di truyền cho nhận dạng chữ đƣợc thể hiện trên hình 3.11.

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/

3.6. Kết luận chƣơng 3

Chƣơng 3 đã nêu ra những ví dụ rất điển hình trong nhận dạng và điều khiển, từ bài toán tối ƣu tĩnh đến đối tƣợng động học phi tuyến để từ đó thấy đƣợc ƣu điểm trong quá trình tìm nghiệm tối ƣu toàn cục của thuật toán vƣợt khe cũng nhƣ sự kết hợp của nó với các thuật toán khác.

3.7. Hƣớng phát triển tiếp theo

Một trong những khó khăn của bài toán tối ƣu trong thực tế giải bài toán quy hoạch phi tuyến là hàm mục tiêu J(u) có dạng „lòng khe‟, khi hàm tối ƣu hóa có cấu trúc „khe‟ thì các mặt đẳng mức J(u) = const bị kéo dài hoặc cong. Do vậy ở hầu hết các điểm trong không gian Rn

, vec-tơ gradient J‟(u) trực giao với mặt đẳng mức sẽ tạo thành góc gần bằng π/2 với „trục lòng khe‟, nếu với bài toán min, chuyển động theo hƣớng đối gradient thì khoảng cách tới điểm tối ƣu u* sẽ giảm xuống không đƣợc bao nhiêu.

Ở đây nhóm tác giả đề xuát phƣơng pháp kết hợp cách tính bƣớc học theo nguyên lý vƣợt khe với phƣơng pháp tựa phân giác vƣợt khe. Phƣơng pháp tựa phân giác vƣợt khe có ý chính là sau mỗi bƣớc chuyển động theo hƣớng đối gradient gA vƣợt qua lòng khe từ điểm A tới điểm B, ta không đi theo hƣớng đối gradient tại điểm B mà đi theo hƣớng tựa phân giác của góc giữa gA và gB.

Số hóa bởi Trung tâm Học liệu - ĐHTN

http://www.lrc-tnu.edu.vn/

PHỤ LỤC 1: MÃ NGUỒN CHƢƠNG TRÌNH LUYỆN MẠNG NƠ-RON VỚI BƢỚC HỌC VƢỢT KHE ĐỂ NHẬN DẠNG CHỮ VIẾT

dinhnghia.h

/*

*=======================================================================* *---*

Một phần của tài liệu NGHIÊN CỨU THUẬT TOÁN TÌM NGHIỆM TỐI ƯU TOÀN CỤC TRONG QUÁ TRÌNH LUYỆN MẠNG NƠ - RON - ỨNG DỤNG ĐỂ NHẬN DẠNG, ĐIỀU KHIỂN ĐỐI TƯỢNG ĐỘNG HỌC PHI TUYẾN (Trang 67 -67 )

×