Lời cảm ơn.1
MỤC LỤC.4
DANH MỤC HÌNH.6
DANH MỤC BẢNG.7
DANH MỤC CHỮ VIẾT TẮT .7
MỞ ĐẦU .8
CHƯƠNG I: TỔNG QUAN .10
1.1. Tổng quan về các phƯơng pháp vận hành hồ chứa.10
1.1.1.Phương pháp mô phỏng.10
1.1.2. Phương pháp tối ưu hóa .12
1.1.3. Nguyên cứu về giải bài toán tối ưu hóa bằng thuật toán di truyền (GA).15
1.1.4. Tổng quan về các nghiên cứu vận hành liên hồ chứa sông Ba. .17
1.2. Điều kiện tự nhiên và kinh tế xã hội lƯu vực sông Ba.20
1.2.1. Điều kiện tự nhiên.20
1.2.2. Điều kiện kinh tế xã hội .28
CHƯƠNG II: CƠ SỞ L THU ẾT THUẬT TOÁN DI TRU ỀN GA .31
2.1. Gi i thiệu phƯơng pháp giải GA.31
2.2. Các kỹ thuật trong giải thuật di truyền GA [32] .32
2.2.1. Kỹ thuật mã hóa.33
2.2.2. Khởi tạo quần thể .34
2.2.3. Hàm thích nghi .34
2.2.4. Phép chọn lọc .35
2.2.5. Phép lai ghép .35
2.2.6. Phép đột biến .37
2.3. Tổng quan về Matlab .38
2.3.1. Khái niệm về Matlab.38
90 trang |
Chia sẻ: mimhthuy20 | Lượt xem: 549 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu ứng dụng công nghệ gen vận hành liên hồ chứa sông ba mùa lũ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
trên nguồn lực sẵn có và nguồn lực bên
ngoài. Đảm bảo 90% nước sinh hoạt và công nghiệp vào năm 2015 cho 3 thị xã An
Khê và EaKa (mới thành lập) và thành phố Tuy Hoà và 100% vào năm 2020. Còn lại
các thị trấn đảm bảo cấp nước sinh hoạt đạt 100% vào năm 2015. Thông qua chương
trình nước sạch nông thôn phấn đấu đảm bảo 80% dân số sử dụng nước sạch vào năm
2015 và 100% vào năm 2020, đặc biệt quan tâm vùng sâu, vùng xa, vùng có đồng bào
dân tộc ít người
Đến năm 2020, tổng lượng nước yêu cầu : 3656,8. 106 m3, trong đó: nước cho nông
nghiệp và chăn nuôi: 2812,5.106 m3, chiếm 77 % tổng lượng nước yêu cầu; nước cho
nuôi trồng thuỷ sản: 52.106 m3, chiếm 1%; Nước cho công nghiệp, dân sinh: 164,1.106
m
3, chiếm 4%; nước môi trường, duy trì dòng chảy: 627,8.106 m3, chiếm 17 %.
31
CHƢƠNG II: CƠ SỞ L THU ẾT THUẬT TOÁN DI TRU ỀN GA
2.1. Gi i thiệu phƣơng pháp giải GA
Trong quá trình phát triển của loài người, con người luôn không ngừng cố gắng
tìm cách điều khiển và cải tạo thiên nhiên phục vụ cho cuộc sống của mình. Điều này
được thể hiện qua việc loài người không ngừng tìm kiếm phát minh ra các loại máy
móc thay thế cho lao động. Quá trình này có thể chia làm hai giai đoạn. Đầu tiên là giai
đoạn sử dụng các công cụ tính toán và logic truyền thống (Hard computing) đưa vào
máy móc tính chính xác và nhanh chóng trong quá trình thi hành. Ở giai đoạn tiếp theo,
với mong muốn thêm vào đó tính thông minh và khả năng quyết định mềm dẻo trong
các bài toán học từ mẫu dữ liệu ít ỏi cho trước, người ta sử dụng công cụ tính toán
mềm (Soft Computing) gồm 4 nội dung chính là: Fuzzy logic (FL), Neural Network
(NN), Genetic Algorithm (GA), Support Vector Machines (SVM). Trong đó giải thuật
di truyền có thể sử dụng độc lập hoặc là công cụ trợ giúp cho các lĩnh vực khác của
Soft Computing nhờ ưu điểm trong tìm kiếm toàn cục. Giải thuật di truyền có xuất xứ
từ học thuyết của Drawin về “Nguồn gốc của các giống loài”
- Các giống loài đều có xu hướng gia tăng và mở rộng về số lượng.
- Con cái thường đại diện cho cha mẹ nhưng không hoàn toàn giống cha mẹ.
- Sự thay đổi nhỏ của con cái ảnh hưởng lớn đến cơ hội sống sót
- Các các thể thích nghi hơn với môi trường mới có khả năng sống sót cao hơn
(chọn lọc tự nhiên)
Căn cứ vào học thuyết của Drawin, năm 1975, John Holland đã phát triển giải
thuật di truyền .
Việc sử dụng giải thuật di truyền có một số ưu điểm chính như:
- Sử dụng cơ chế song song ẩn: Sử dụng nhiều cá thể đồng thời tiến hóa nên
tránh khỏi cực trị địa phương;
32
- Dễ dàng thực hiện. Để giải quyết vấn đề mới chỉ cần thêm các nhiễm sắc thể
mới và hàm thích nghi mới. Các phép toán di truyền vẫn giữ nguyên.
Tuy nhiên, giải thuật di truyền cũng gặp một số khó khăn nhất định như:
- Khó khăn trong việc chọn và thực hiện cách mã hóa nhiễm sắc thể và biểu
diễn hàm thích nghi;
- Thời gian tính toán lâu hơn so với các thuật toán khác. Để khắc phục nhược
điểm này ngày nay các nhà khoa học đã kết hợp thuật toán với công cụ trợ giúp khác
làm thuật toán nhanh hội tụ. Cụ thể tại Luận văn này tác giả đã kết hợp GA với một mô
hình mô phỏng để rút ngắn thời gian tính toán của thuật toán di truyền.
2.2. Các kỹ thuật trong giải thuật di truyền GA [30]
Các kỹ thuật trong giải thuật di truyền được thể hiện trong sơ đồ khối sau:
33
Hình 2. 1 Sơ đồ khối thuật toán di truyền
2.2.1. Kỹ thuật mã hóa
Mã hóa trong giải thuật di truyền là biểu diễn các nhiễm sắc thể chứa thông tin
cho lời giải. Một số cách mã hóa được sử dụng là: Mã hóa nhị phân - Binary coding,
mã hóa k mức - K-nary coding, mã hóa theo số thực- Real-number coding. Quá trình
mã hóa có thể biểu diễn các đầu vào thành các dãy nhiễm sắc thể theo mảng một chiều
hoặc nhiều chiều.
Việc lựa chọn phương thức mã hóa tùy thuộc vào bài toán giải quyết. Thông
thường hay dùng mã hóa nhị phân .Ví dụ dưới đây mô tả cách mã hóa các số
No
Yes
34
thực thành các bit nhị phân:
VD: Cần mã hóa biến z [x,y] bằng một tập các bit nhị phân {a1,,aL}
{0,1}L
Ánh xạ : {0,1}L [x,y] sẽ được xác định như sau:
a1,....aL) = x +
1
0
)2..(
12
L
j
j
jLL
a
xy
],[ yx
Như vậy, theo cách mã hóa trên thì chỉ 2L giá trị đầu ra được xác định. L phụ thuộc
vào độ chính xác của lời giải (chính xác đến bao nhiêu chữ số thập phân),độ chính xác
càng cao thì nhiễm sắc thể có độ dài càng lớn và sự tiến hóa càng chậm.
2.2.2. Khởi tạo quần thể
Khi chọn được cách mã hoá phù hợp, người ta tiến hành mã hoá các biến đầu
vào thành các cá thể (nhiễm sắc thể), tập hợp các nhiễm sắc thể này sẽ tạo thành một
quần thể. Việc khởi tạo có thể bắt đầu với một quần thể bao gồm các cá thể được tạo ra
ngẫu nhiên hoặc sử dụng từ:
- Một quần thể cũ được lưu lại từ trước;
- Một tập các lời giải cung cấp bởi các chuyên gia;
- Một tập các lời giải cung cấp bởi các thuật toán tìm kiếm khác, đây là phương
pháp khởi tạo quần thể ban đầu mà Luận văn sử dụng.
2.2.3. Hàm mục tiêu
Sau khi khởi tạo quần thể hoặc ở thời điểm các thế hệ mới được tạo thành,
chúng ta phải sử dụng hàm mục tiêu để đánh giá độ thích nghi của mỗi nhiễm sắc thể
nhằm có cơ sở cho việc lựa chọn bố mẹ cho các phép lai tạo và đột biến. Như vậy, mục
đích của hàm mục tiêu là:
- Lựa chọn cá thể cha mẹ phù hợp;
- Kiểm tra sự hội tụ của giải thuật;
- Chọn các cá thể bị loại bỏ;
- Đảm bảo sự phân bố hợp lý của các quần thể.
35
Để đảm bảo sự phân bố hợp lý của các quần thể, thuận tiện cho giải thuật tìm
kiếm người ta sử dụng các phương pháp xác định độ thích nghi như sau:
- Fitness scaling – Xác định theo tỷ lệ thích nghi;
- Fitness windowing – Xác định theo phương pháp cửa sổ thích nghi;
- Fitness ranking – xác định theo thứ hạng thích nghi.
2.2.4. Phép chọn lọc
Ở mỗi một thế hệ, dựa trên giá trị của hàm mục tiêu, các cá thể có độ thích nghi
tốt sẽ được chọn lọc để tạo thành quần thể ở thế hệ mới và được chuẩn bị cho việc thực
hiện các phép toán lai tạo và đột biến sau này. Mục đích của phép chọn lọc là tập trung
sự tìm kiếm trên miền “hứa hẹn”. Phép chọn lọc bắt nguồn từ học thuyết của Darwin
về “Sự sống sót của các cá thể thích nghi nhất ” Một số phép chọn lọc thường được sử
dụng bao gồm:
- Roulette wheel Selection - Chọn lọc ngầu nhiên theo bánh xe Roulette,
- Fitness Proportionate Selection- Chọn lọc theo tỷ lệ thích nghi;
- Linear Ranking Selection- Chọn lọc theo thứ hạng tuyến tính;
- Local Tournament Selection- Chọn lọc theo cạnh tranh cục bộ.
2.2.5. Phép lai ghép
Trong giải thuật di truyền, số lượng các thể trong quần thể ở mỗi thế hệ là
không đổi. Phép chọn lọc đã chọn ra một số cá thể có độ thích nghi cao và loại bỏ đi
một số cá thể thích nghi thấp. Sự thiếu hụt của số lượng quần thể khi mất đi các cá thể
thích nghi thấp sẽ được bổ xung bằng việc lấy các cá thể có độ thích nghi cao là thế hệ
cha mẹ, tạo ra các thế hệ con cái bằng phép lai ghép và đột biến trên các cá thể thích
nghi cao này. Kết quả là thế hệ mới được hình thành giữ nguyên về số lượng bao gồm
các cá thể thích nghi cao và con cái của chúng qua các phép lai ghép và đột biến.
Phép lai ghép là tạo ra các nhiễm sắc thể con cái (offspring) từ các nhiễm sắc
thể cha mẹ (parent) được lựa chọn. Bao gồm các phương pháp lai ghép sau:
36
- Lai ghép một vị trí: Lựa chọn một cặp nhiễm sắc thể cha mẹ. Chọn ngẫu nhiên
một vị trí trên chuỗi nhiễm sắc thể và tiến hành ghép phần đầu của nhiễm sắc thể này
với phần đuôi của nhiễm sắc thể kia và ngược lại .
Vị trí lai ghép
Cha 1 4 3 9 7 1 2 5 6 8 Con 1 3 8 6 9 4 5 2 1 7
Cha 2 3 8 6 9 4 5 2 1 7 Con 2 4 3 9 7 1 5 2 1 7
Lai ghép cho chu i số nguyên hoán vị
Vị trí lai ghép
Cha 1 0 0 1 0 0 1 0 0 1 Con 1 1 0 0 1 0 0 0 0 1
Cha 2 1 0 0 1 0 0 1 0 0 Con 2 0 0 1 0 0 1 1 0 0
Lai ghép cho chu i nhị phân
- Lai ghép hai vị trí: Chọn ngẫu nhiên hai vị trí trên chuỗi nhiễm sắc thể cha
thứ I sau đó thay thế các gen nằm giữa hai vị trí này bằng các gen tương ứng của cá thể
cha thứ II để tạo thành cá thể con.
Vị trí lai ghép
Cha 1
Con
Cha 2
- Lai ghép ngẫu nhiên : Số lượng và vị trí lai ghép được chọn ngẫu nhiên
- Lai ghép theo thuật toán: tạo ra các nhiễm sắc thể con cái từ nhiễm sắc thể bố
mẹ dựa trên một thuật toán xác định.
7 8 9 3 4 6 2 5 1
7 8 3 9 4 6 2 5 1
3 5 8 2 1 7 9 4 6
37
2.2.6. Phép đột biến
Đột biến là thay đổi các bit trên chuỗi nhiễm sắc thể một cách ngẫu nhiên để tạo
tính đa dạng. Phép đột biến được điều khiển bởi xác xuất đột biến, Pm. Nếu không đột
biến, giải thuật chỉ tìm kiếm tại không gian khởi tạo.Tuy nhiên, nếu Pm quá lớn, quá
trình tìm kiếm trở thành tìm kiếm ngẫu nhiên. Ta xét một số phép đột biến sau:
a. Tạo đột biến hai gen gần nhau:
Hai cá thể gần nhau thì hoán vị cho nhau để tạo sự biến đổi hay đột biến:
* * Đột biến
4 3 9 7 1 2 5 6 8 4 9 3 7 1 2 5 6 8
b. Tạo đột biến hai gen cách xa nhau
Hai cá thể cách xa nhau thì được hoán vị cho nhau để tạo sự biến đổi:
* * Đột biến
4 3 9 7 1 2 5 6 8 4 5 9 7 1 2 3 6 8
c. Tạo đột biến ba gen cách xa nhau
Ba cá thể cách xa nhau sẽ hoán vị cho nhau để tạo nên sự biến đổi – trong cách
đột biến này thì có nhiều cá thể mới tạo thành một cách ngẫu nhiên:
* * * Đột biến
7 8 9 3 4 6 5 2 1 7 5 9 3 8 6 4 2 1
7 4 9 3 5 6 8 2 1
7 5 9 3 4 6 8 2 1
7 8 9 3 5 6 4 2 1
7 4 9 3 8 6 5 2 1
d. Tạo đột biến bằng cách dịch chuyển
Chọn ngẫu nhiên hai cá thể ,sau đó ch n một gen vào vị trí của gen còn lại để
tạo sự biến đổi:
38
* * Đột biến
7 8 9 3 4 6 5 2 1 7 5 8 9 3 4 6 2 1
7 9 3 4 6 5 8 2 1
e. Tạo đột biến bằng cách đảo ngược chu i con
Chọn ngẫu nhiên một dãy con gồm các gen của một cá thể cha thông qua việc
chọn hai gen tùy ý cách xa nhau. Sau đó đảo ngược dãy gồm các gen này để tạo sự đột
biến:
* * Đột biến
7 8 9 3 4 6 5 2 1 7 5 6 4 3 9 8 2 1
Trên đây là một số kỹ thuật được sử dụng trong giải thuật di truyền. Trong đó,
việc xác định kích thước quần thể ban đầu, xác xuất lai ghép, xác xuất đột biến là rất
quan trọng, ảnh hưởng nhiều đến kết quả của giải thuật. Việc xác định các thông số này
tùy theo từng đặc điểm của mỗi bài toán cụ thể.
2.3. Tổng quan về Matlab
2.3.1. Khái niệm về Matlab
Matlab là một ngôn ngữ lập trình thực hành bậc cao được sử dụng để giải các
bài toán về kỹ thuật. Matlab tích hợp được việc tính toán, thể hiện kết quả, cho phép
lập trình, giao diện làm việc rất dễ dàng cho người sử dụng. Dữ liệu cùng với thư viện
được lập trình sẵn cho phép người sử dụng có thể có được những ứng dụng sau đây.
• Sử dụng các hàm có sẵn trong thư viện, các phép tính toán học thông thường
• Cho phép lập trình tạo ra những ứng dụng mới.
• Cho phép mô phỏng các mô hình thực tế.
• Phân tích, khảo sát và hiển thị dữ liệu.
• Với phần mềm đồ hoạ cực mạnh
• Cho phép phát triển, giao tiếp với một số phần mềm khác như C++, Fortran.
39
2.3.2. Tổng quan về cấu trúc dữ liệu của MATLAB, các ứng dụng
Matlab là một hệ thống tương giao, các phần tử dữ liệu là một mảng( mảng này
không đòi hỏi về kích thước). Chúng cho phép giải quyết các vấn đề liên quan đến lập
trình bằng máy tính, đặc biệt sử dụng các phép tính về ma trận hay véc tơ và có thể sử
dụng ngôn ngữ C hoặc Fortran lập trình rồi thực hiện ứng dụng lập trình đó bằng các
câu lệnh gọi từ MATLAB. MATLAB được viết tắt từ chữ matrix laboratory tức là thư
viện về ma trận, từ đó phần mềm MATLAB được viết nhằm cung cấp cho việc truy
cập vào phần mềm ma trận một cách dễ dàng, phần mềm ma trận này được phát triển
bởi các công trình Linpack và Eispack. Ngày nay MATLAB được phát triển bởi
Lapack và Artpack tạo nên một nghệ thuật phần mềm cho ma trận.
2.4. Thuật toán di truyền GA trong Matlab
Có hai cách có thể sử dụng thuật toán di truyền trong Matlab:
- Gọi các chức năng giải thuật toán di truyền từ command line (dòng lệnh);
- Sử dụng Genetic Algorithm Tool (hộp công cụ): Một giao diện ứng dụng đồ
họa làm công cụ cho thuật toán di truyền, cho phép giải trực tiếp mà không cần phải
viết dòng lệnh. Luận văn đã lựa chọn công cụ này để giải bài toán tối ưu hóa vận hành
liên hồ chứa sông Ba mùa lũ.
2.4.1.Giải thuật di truyền bằng command line
Gọi thuật toán di truyền với các cấu trúc dưới đây sử dụng command line:
x = ga(fitnessfun, nvars)
x = ga(fitnessfun, nvars, options)
x = ga(problem)
[x, fval] = ga(...)
[x, fval, reason] = ga(...)
[x, fval, reason, output] = ga(...)
[x, fval, reason, output, population] = ga(...)
[x, fval, reason, output, population, scores] = ga(...)
40
Ở đây tác giả chỉ mô tả cấu trúc của 2 hàm thông dụng nhất:
+ x = ga(fitnessfun, nvars):
Sử dụng GA giải bài toán tối ưu hóa, fitnessfun là hàm mục tiêu tiến tới min,
nvars là chiều dài vectơ x.
+ x = ga(fitnessfun, nvars, options):
Cấu trúc này có thêm yếu tố options: là tham số của hàm mục tiêu.
Kết quả được cho bởi:
- fval: Giá trị của của hàm mục tiêu
- x: Điểm mà hàm mục tiêu đạt fval.
2.4.2. Giải thuật di truyền sử dụng Genetic Algorithm Tool
GA và Direct search Toolbox là một tập hợp các hàm, chính là chức năng mở
rộng của Optimization Toolbox (công cụ tối ưu hóa) trong môi trường tính toán số
Matlab. GA và Direct search Toolbox (thuật toán di truyền và hộp công cụ tìm kiếm
trực tiếp) bao gồm các thủ tục để giải bài toán tối ưu hóa có sử dụng:
- GA;
- Direct search.
Các thuật toán này cho phép giải quyết một loạt các vấn đề tối ưu hóa nằm ngoài
phạm vi tiêu chuẩn của Toolbox tối ưu hóa. Công cụ chủ yếu là Matlab M-file, tạo ra
các báo cáo MATLAB thực hiện các thuật toán tối ưu hóa chuyên ngành.
41
Hình 2. 2 Giao diện Genetic Algorithm Tool trong Matlab
Để sử dụng khả năng của GA và Direct search Toolbox, hàm mục tiêu và các điều
kiện phải được khai báo dưới dạng hàm function viết thành M-file riêng để tính toán
hàm mà mình muốn tối ưu hóa hoặc kết hợp với các Toolbox khác.
Fitness function: Hàm mục tiêu mà bạn muốn tìm giá trị nhỏ nhất, có thể viết trực
tiếp vào Genetic Algorithm Tool hoặc lập bằng M-file. Cửa sổ M-file là một cửa sổ
dùng để soạn thảo chương trình ứng dụng, để thực thi chương trình viết trong M-file
bằng cách gõ tên của file chứa chương trình đó trong cửa sổ Command window. Khi
42
một chương trình được viết trong M-file, thì tuỳ theo ứng dụng cụ thể, tuỳ theo người
lập trình mà chương trình có thể viết dưới dạng sau:
+ Dạng Script file: Tức là chương trình gồm tập hợp các câu lệnh viết dưới dạng
liệt kê, không có biến dữ liệu vào và biến lấy giá trị ra.
+ Dạng hàm function có biến dữ liệu vào và biến ra.
Number of variables: Số lượng các biến trong Fitness function.
Khởi tạo quần thể ban đầu
Khởi tạo quần thể ban đầu gồm các chuỗi nhiễm sắc thể, được quy định bởi các
chỉ số:
- Population type: Chỉ định loại dữ liệu đầu vào của hàm mục tiêu, bạn có thể
nhập Population type theo các loại sau:
+ Double Vector ('doubleVector') – Sử dụng tùy chọn này nếu mỗi cá thể trong
quần thể là là loại nhân đôi. Đây là mặc định.
+ Bit string ('bitstring') -- Sử dụng tùy chọn này nếu cá thể trong quần thể là là
loại bit.
+ Custom ('custom') -- Sử dụng tùy chọn này tạo ra quần thể thuộc loại được tạo
ra bởi Creation function
- Population size: Kích thước quần thể. Nếu là một vector, các thuật toán di
truyền tạo ra nhiều nhóm quần thể, số lượng quần thể là độ dài của vector. Kích thước
của mỗi quần thể là các mục tương ứng của vector. Kích thước quần thể tốt nhất
thường khoảng 20-200 cá thể.
- Creation function: Chỉ rõ hàm tạo ra quần thể ban đầu cho GA. Có các tùy
chọn sau:
+ Uniform: Tạo ra một quần thể ban đầu ngẫu nhiên với một phân bố đều. Đây
là mặc định.
+ Custom: Cho phép viết ra hàm của riêng người sử dụng, hàm này tạo ra các
dữ liệu thuộc loại đã chỉ định trong Population type của các loại được chỉ định trong
43
loại hình quần thể. Chỉ định dùng Creation function nếu bạn đang sử dụng Genetic
Algorithm Tool.
- Initial population: Chỉ định một quần thể ban đầu cho GA. Mặc định là [],
trong trường hợp này GA sử dụng Creation function để tạo ra quần thể ban đầu (Initial
population). Nếu bạn nhập quần thể ban đầu là một mảng thì mảng này phải có số hàng
= kích thước quần thể, cột = số biến, trong trường hợp này GA không gọi Creation
function.
- Initial scores: Chỉ định dung lượng cho quần thể ban đầu.
- Initial range: Chỉ định phạm vi của vecto quần thể ban đầu được tạo ra từ
Creation function. Nếu bạn nhập Initial range là một ma trận có 2 hàng và số cột = số
biến. Mỗi cột có dạng là [a1;b1] ở đây a1 là biên dưới của biến (véc tơ), b1 là biên trên
của biến ([a1;b1] là miền xác định của biến 1). Nếu bạn chỉ định Initial range là một
vecto hàng có chiều dài biến không đổi (các biến có miền xác định là giống nhau bằng
vecto).
Điều kiện dừng GA (Stopping criteria)
Các tiêu chí để dừng thuật toán:
- Generations: Chỉ định số lần lặp (số lượng thế hệ) của thuật toán di truyền,
thuật toán sẽ dừng lại khi đạt đến số lượng thế hệ chỉ định;
- Time limit: Giới hạn thời gian chạy thuật toán di truyền;
- Fitness limit: Thuật toán dừng lại nếu giá trị hàm mục tiêu là tốt nhất, nhỏ
hơn hoặc bằng giá trị thích nghi giới hạn;
- Stall generations: Thuật toán dừng lại nếu không có sự cải thiện mức độ thích
của các giá trị qua số thế hệ được chỉ định bởi Stall generations;
- Stall time: Thuật toán dừng lại nếu không có sự cải thiện trong các giá trị
thích nghi tốt nhất trong khoảng thời gian quy định bởi Stall time.
44
- Ngoài ra Genetic Algorithm Tool còn một số chỉ số khác như Fitness scalling,
Selection, Mutation, Crossover, Tuy nhiên đối với bài toán có sử dụng GA không
quá phức tạp thì các chỉ số này thường để ở giá trị mặc định.
45
CHƢƠNG III: T I ƢU H A VẬN HÀNH LIÊN HỒ CHỨA SÔNG BA MÙA
LŨ BẰNG THUẬT TOÁN DI TRU ỀN TRONG MÔI TRƢỜNG MATLAB
Để sử dụng thuật toán di truyền giải bài toán tối ưu hóa vận hành liên hồ chứa
sông Ba mùa lũ, tác giả đã sử dụng mô hình HEC-RESSIM để mô phỏng, thiết lập rất
nhiều phương án vận hành liên hồ chứa sông Ba mùa lũ để xác định đầu vào cho
Genetic Algorithm Tool, cụ thể là xác định Initial population (quần thể ban đầu). Việc
thiết lập quần thể ban đầu cho GA bằng HEC-RESSIM nhằm tạo ra quần thể ban đầu
gần với nghiệm, giúp GA nhanh hội tụ, rút ngắn thời gian chạy thuật toán và tăng tính
hiệu quả của bài toán tối ưu hóa. Cuối cùng, sử dụng HEC-RESSIM để kiểm định kết
quả chạy ra từ Genetic Algorithm Tool.
3.1. Quy trình cắt lũ.
Với mục tiêu là phòng, chống và giảm đến mức thấp nhất các thiệt hại của lũ lụt,
ngập úng khu vực trung và hạ lưu sông Ba, tập trung chủ yếu cho vùng đồng bằng hạ
lưu ven biển Tuy Hoà và thành phố Tuy Hoà, nhằm ổn định dân cư, đảm bảo sản xuất
tạo đà phát triển kinh tế xã hội bền vững và an ninh quốc phòng. Tác giả sử dụng trận
lũ năm 2009 để mô phỏng các phương án vận hành liên hồ chứa sông Ba.
Vận hành liên hồ chứa thủy điện có hai giai đoạn quan trọng:
- Giai đoạn xả nước đón lũ: Trước mỗi con lũ phải xả một lượng nước nhất
định để tạo dung tích đón lũ. Các hồ chứa khu vực miền Trung thường nhỏ, không có
dung tích phòng lũ có sẵn mà hầu hết phải tạo ra dung tích đón lũ dùng để cắt lũ. Luận
văn sử dụng mực nước đón của 5 hồ chứa lưu vực sông Ba (bảng 3.1) theo Quy trình
vận hành liên hồ chứa mới nhất của Thủ tướng Chính phủ ban hành ngày 7/7/2014.
Bảng 3. 1 Mực nước đón lũ của các hồ
Hồ S ng Ba Hạ
Krông
Hnăng
Sông Hinh Ayun Hạ Kanak
Mực nước
hồ (m)
102 251.5 204.5 202 506
46
- Giai đoạn cắt lũ: Sử dụng dung tích trước lũ đã tạo được, cắt lũ sao cho đạt
hiệu quả cao nhất, tức là hạ lưu lượng nhỏ nhất và hồ đảm bảo an toàn nhất. Mực nước
trước lũ không cắt được toàn bộ con lũ mà chỉ cắt được một phần, do đó việc lựa chọn
thời điểm cắt lũ hiệu quả là rất cần thiết và đó là bài toán của thuật toán di truyền.
Luận văn chỉ tập trung vào giai đoạn 2, giai đoạn 1 tiếp nhận kết quả của đề tài
“Nghiên cứu xây dựng công nghệ điều hành hệ thống liên hồ chứa đảm bảo ngăn lũ,
chậm lũ, an toàn vận hành hồ chứa và sử dụng hợp lý tài nguyên nước về mùa kiệt lưu
vực sông Ba”của PGS.TS. Nguyễn Hữu Khải (đề tài KC.08.30/06-10).
Vận hành liên hồ chứa với các nguyên tắc:
- Đảm bảo an toàn chống lũ cho hạ du: Ứng với các dạng lũ thiết kế hạ du, hệ
thống hồ có khả năng đưa mực nước tại Củng Sơn về dưới mức an toàn. Tuỳ thuộc vào
tình huống lũ xẩy ra trên hệ thống, điều hành phối hợp cắt lũ giữa các hồ sao cho hạ
thấp mực nước hạ lưu là cao nhất. Nguyên lý chung là các hồ thượng lưu (Kanak,
Ayun hạ), các hồ nằm trên nhánh sông (Krông Hnăng, Sông Hinh) cắt lũ trước. Hồ
sông Ba hạ là công trình cuối cùng điều tiết khi các hồ thượng lưu không có khả năng
cắt lũ bảo đảm an toàn hạ du, đồng thời tránh nguy cơ rủi ro vỡ đập hệ thống.
- Đảm bảo an toàn công trình: Ứng với các dạng lũ thiết kế công trình, hệ
thống hồ có khả năng cắt lũ đưa mực nước tại Củng Sơn xuống thấp nhất mà vẫn bảo
đảm an toàn cho công trình: Trường hợp các hồ đã đạt ở mực nước dâng bình thường
(MNDBT) sau khi tham gia cắt lũ giữ mực nước tại Củng Sơn dưới mức an toàn cho
phép. Dự báo lũ tiếp tục lên đe doạ hệ thống công trình, các hồ chuyển sang trạng thái
cắt lũ bảo đảm công trình. Dung tích phòng lũ cao từ MNDBT đến mực nước thiết kế
(MNTK) được sử dụng vừa hỗ trợ cắt lũ hạ du, vừa cắt lũ bảo đảm công trình. Khi hồ
đạt MNTK các cửa xả sâu, xả mặt phải được mở hết.
47
3.2. M ph ng phƣơng án vận hành liên hồ chứa s ng Ba m a lũ bằng m hình
HEC – RESSIM
Mô hình HEC-RESSIM được Trung tâm Thuỷ văn công trình Hoa Kỳ phát triển
lên từ mô hình HEC-5 [25]. Bao gồm các công cụ: mô phỏng, tính toán, lưu trữ số liệu,
quản lý, đồ hoạ và báo cáo hệ thống nguồn nước. HEC dùng HEC-DSS (Data Storage
System) để lưu trữ và sửa đổi các hệ thống số liệu vào ra. RESSIM là phần kế tiếp của
HEC-5 (mô phỏng các hệ thống ngăn chặn và kiểm soát lũ) bao gồm 3 môđun. Mỗi
Q
t
Q
t
Q
t
Q
t
Q
t
Z
t
Q
t
An Khê-Kanak
Yayun hạ
Krông Năng
Sông Hinh
sông Ba hạ
Trạm Củng Sơn
Trạm Tuy Hòa
Biển Đông
Zat
Khu vực bảo vệ
Hình 3. 1 Sơ đồ hệ thống trong bài toán phòng lũ hạ du
48
môđun có 1 mục đích riêng và tập hợp các công việc thực hiện qua bảng chọn (menu,
toolbar) và biểu đồ.
- Môđun thiết lập lưu vực (Watershed setup): cung cấp 1 sườn chung để thiết
lập và định nghĩa lưu vực nghiên cứu cho các ứng dụng khác nhau. Một lưu vực bao
gồm hệ thống sông suối, các công trình thuỷ lợi (hồ chứa, đập chắn, dẫn dòng), vùng
ảnh hưởng ngập lụt, và hệ thống các tram quan trắc đo đạc thuỷ văn, khí tượng.
- Môđun mạng lưới hồ (Reservoir Network): xây dựng sơ đồ mạng lưới sông,
mô tả các thành phần vật lý, điều hành của hồ chứa và các phương án lựa chọn cần
phân tích trong môđun này. Dựa vào các định hình mô tả ở môđun trên để tạo cơ sở
cho 1 hệ thống hồ chứa hoàn chỉnh.
- Môđun mô phỏng (Simulation): Phần tính toán và hiển thị kết quả được thực
hiện trong môđun này. Trước hết phải tạo ra 1 cửa sổ thời gian mô phỏng, thời đoạn
tính toán và sau đó các thành phần lựa chọn sẽ được phân tích. Ta cũng có thể lựa chọn
các phương án, nhập và sửa số liệu, các đặc tính của các thành phần tham gia trong hệ
thống. Khi mô phỏng được thực hiện qua việc tính toán và phân tích kết quả sử dụng
đồ hoạ và biểu bảng.
Mô hình HEC-RESSIM được xây dựng để đánh giá vai trò của hồ chứa trong hệ
thống nhằm trợ giúp nghiên cứu quy hoạch nguồn nước, đặc biệt trong vai trò kiểm
soát lũ và xác định dung tích hiệu dụng trong bài toán đa mục tiêu của hệ thống.
Trong luận văn này, tác giả sử dụng mô hình HEC-RESSIM [22] đã được hiệu
chỉnh và kiểm định từ đề tài KC.08.30/06-10, chạy mô phỏng các phương án vận hành
liên hồ chứa sông Ba cho trận lũ năm 2009 [9].
49
Hình 3. 2 Sơ đồ hệ thống 5 hồ chứa trên Sông Ba
Từ mô hình đã được hiệu chỉnh và kiểm định tác giả thay đổi lượng cắt lũ đối
với trận lũ năm 2009 của 5 hồ theo rất nhiều phương án, sử dụng điểm nút là Củng Sơn
khống chế lượng lũ đổ về hạ lưu. Cắt lũ đồng thời tại 5 hồ chứa Kanak, Ayun hạ,
Krông Hnăng, Sông Hinh và Ba Hạ nhằm cắt đỉnh lũ tại Củng Sơn đồng thời đảm bảo
an toàn cho công trình.
Tiến hành cắt lũ tại 5 hồ theo quy tắc: dung tích phòng lũ được giữ nguyên đến
một lúc nào đó mới sử dụng để cắt lũ. Lúc bắt đầu lũ thì dòng chảy đến hồ bao nhiêu
xả bấy nhiêu, giữ hồ ở MNĐL, chỉ đến một ngưỡng lưu lượng nào đó, gọi là Q cắt lũ,
mới tiến hành cắt lũ. Kết quả chạy mô phỏng 20 phương án chọn ra từ rất nhiều
phương án vận hành liên hồ chứa sông Ba cho trận lũ năm 2009 mà tác giả đã chạy mô
phỏng được trình bày tại phụ lục của luận văn.
50
3.3. Sử dụng Genetic Algorithm Tool để tối ƣu hóa vận hành liên hồ chứa s ng Ba
m a lũ.
3.3.1. Thiết lập hàm mục tiêu
Giá trị hàm mục tiêu ở đây là lưu lượng khống chế tại Củng Sơn cho trận lũ năm
2009. Biến
Các file đính kèm theo tài liệu này:
- luanvanthacsi_chuaphanloai_213_9568_1870062.pdf