BỘ NGHỊCH LƯU ĐA BẬC VÀ PHƯƠNG PHÁP ĐIỀU KHIỂN
Bộ nghịch lưu đa bậc nối diode
Cấu hình các bộ nghịch lưu đa bậc được biểu diễn như sau:
Hình 1.1: Cấu trúc bộ nghịch lưu đa bậc dạng nối diode
Bộ biến đổi nối diode m bậc gồm m-1 tụ phía DC và có thể tổng hợp được m bậc điện áp ngõ ra Điện áp nguồn 1 chiều tổng là Vdc, điện áp trên mỗi tụ phái đầu vào là Vdc/m, điện áp đặt trên mỗi linh kiện cũng tương ứng với điện áp trên mỗi tụ là Vdc/3, thông qua các diode mắc đối song
Bộ nghịch lưu đa bậc nguồn áp nối diode có các ưu điểm là:
- Khi số bậc đủ lớn, hài bậc cao sẽ đủ thấp để không cần sử dụng bộ lọc
- Hiệu suất cao vì các khóa bán dẫn có thể được điều khiển ở tần số đóng ngắt cơ bản
- Phương pháp điều khiển đơn giản cho hệ thống kết nối dạng đối song
Tuy nhiên, có thể nhận thấy rằng với cấu hình này, khi yêu cầu số bậc điện áp càng cao (m càng lớn) sẽ dẫn đến khó khăn khi thiết kế hệ thống trên thực tế, do số lượng diode tỉ lệ bình phương với m Bên cạnh đó, khó điều khiển lượng công suất tịch cực cho các bộ biến đổi đơn.
Bộ nghịch lưu đa bậc nối tụ
Cấu hình cơ bản của một bộ nghịch lưu áp đa bậc dạng nối tụ như sau:
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng
Hình 1.2: Cấu trúc bộ nghịch lưu đa bậc dạng nối tụ
Các mức điện áp xác định trong bộ biến đổi đa bậc nối tụ tương tự như trường hợp nối diode Điện áp pha của bộ biến dổi có m bậc gồm cả bậc làm chuẩn Phía đầu vào cần m-1 tụ cho bộ biến đổi có m bậc điện áp ngõ ra
Với cấu hình nối tụ:
- Khi số lượng tụ tích điện lớn sẽ có khả năng duy trì trong khoảng thời gian nhất định khi mất điện
- Cung cấp nhiều tổ hợp đóng cắt dự phòng để có thể duy trì việc cân bằng các bậc điện áp khác nhau
- Khi số bậc đủ cao, thành phần hài đủ nhỏ để loại bỏ các bộ lọc
- Có thể điều khiển lượng công suất tích cực hoặc phản kháng, giúp cho bộ nghịch lưu áp này có thể sử dụng cho ứng dụng HVDC
Tuy nhiên, cần một lượng lớn các tụ điện dẫn đến sự cồng kềnh và tốn kém của hệ thống Bên cạnh đó việc điều khiển bộ nghịch lưu này tương đối phức tạp với tần số và tổn thất đóng cắt cao khi truyền tải công suất thực.
Bộ nghịch lưu đa bậc dạng module ghép tầng
Dạng module ghép tầng với nguồn DC độc lập được biểu diễn như sau:
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng
Hình 1.3: Cấu trúc bộ nghịch lưu đa bậc dạng module ghép tầng với nguồn DC độc lập
Mỗi module là các bộ nghịch lưu cầu 1 pha (H-bridge) được cấp nguồn độc lập Các module này được ghép nối tiếp với nhau, có nhiệm vụ tổng hợp giá trị điện áp mong muốn từ các nguồn DC độc lập như battery hay pin mặt trời Điện áp phía đầu ra được tổng hợp từ tất cả các module để tạo thành nhiều bậc điện áp Khi số lượng các module này đủ lớn, sự chênh lệch điện áp giữa các bậc sẽ nhỏ lại, nghĩa là sóng điện áp đầu ra sẽ mịn hơn và tổng độ méo dạng sóng hài bậc cao sẽ được giảm thiểu từ đó có thể giảm lược việc sử dụng các bộ lọc sóng hài Ưu điểm của bộ nghịch lưu này là tận dụng được các nguồn độc lập và tránh được việc sử dụng quá nhiều diode hay tụ cân bằng áp nên sẽ giúp thu nhỏ kích thước, và cũng như tránh được vấn đề mất cân bằng điện áp tụ so với trường hợp sử dụng dạng nối tụ Tuy nhiên, chi phí để đầu tư cho các nguồn DC độc lập này cũng là một vấn đề đáng quan tâm, nhưng khi nguồn năng lượng tái tạo đang phát triển mạnh như hiện nay thì việc sử dụng bộ nghịch lưu đa bậc ghép tầng với nguồn độc lập lại cho thấy khả năng ứng dụng cao Do đó, trong báo cáo này lựa chọn sử dụng cấu hình dạng module ghép tầng để kiểm chứng các phương pháp điều khiển tối ưu
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng
Về mặt điện áp, mỗi module tạo ra 3 giá trị điện áp khác nhau: -Vdc,0, Vdc nhờ vào việc điều khiển 4 khóa công suất S1, S2, S3, S4
- Vout = 0, S1 và S2 hoặc S3 và S4 đóng
Số bậc của điện áp ngõ ra bằng 2*m+1 với m là số module được ghép nối tiếp Hình ảnh dưới đây mô tả về nguyên lý hoạt động của một module dạng H-bridge cơ bản:
Hình 1.4: Nguyên lý hoạt động của 1 module H-bridge ở 2 mức điện áp Vdc và -Vdc
Để đảm bảo hiệu suất của bộ biến đổi, các phương pháp điều khiển được sử dụng nhằm đạt được điện áp đầu ra theo mong muốn Những phương pháp này tập trung vào việc giảm thành phần hài bậc cao, giảm tần suất đóng cắt, đảm bảo chuyển mạch an toàn, tránh chế độ điện áp chung và khả năng tương thích với vi xử lý để dễ dàng điều khiển và tối ưu hóa hệ thống.
Có các phương pháp điều khiển điều biến độ rộng xung thường áp dụng:
- Điều biến độ rộng xung trên cơ sở sóng mang (Carrier-Based PWM Method-
- Điều biến độ rộng xung trên cơ sở sóng mang tam giác theo nguyên lý dịch pha (Phase-shifted triangle carriers-PS)
- Điều biến độ rộng xung sử dụng vector không gian điện áp tổng (Space- Vector PWM)
- Điều biến độ rộng xung tối ưu hay nhiều bước (multistep)
Trong bài này áp dụng phương pháp điều khiển PWM tối ưu, ứng dụng các giải thuật metaheuristic để tìm ra giá trị góc đóng cắt phù hợp Ví dụ sau minh họa
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng về gía trị góc đóng cắt cho bộ nghịch lưu 11 bậc với tỉ số điêu biên thay đổi từ 0.2 đến 1 với bước nhảy bằng 0.2:
Hình 1.5: Phương pháp điều khiển PWM tối ưu [7]
Trong đó, điện áp hình sin đầu ra được tổng hợp từ 5 thành phần điện áp của các module ghép nối tiếp với nhau
Tỉ số điều biên ma là tỉ số giữa thành phần điện áp ngõ ra trên thành phần điện áp ngõ vào Trong trường hợp này, mỗi mô dun được cấp nguồn DC độc lập và ghép tầng với nhau, do đó, điện áp ngõ vào Vin = 5Vdc Khi tỉ số điều biên là ma =1 thì điện áp ngõ ra đạt biên độ là 5Vdc
Với bộ nghịch lưu 3 pha, thành phần hài bậc 3*n (n=1,2,3 ) tự triệt tiêu , các thành phần hài bậc cao được biểu diễn là tổng hợp các thành phần (5 ), (7 ), (11 ), (13 ) … Để tìm ra thành phần hài này, tiến hành phân tích Fourier thành phần điện áp đầu ra ta có:
( ) = ∑ , , ( )( ( ) + ( ) + ⋯ + ( ))sin ( ) (1) Thành phần biên độ điện áp cơ bản: = ∑ ( ) = 5 (2)
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng
Hệ số méo dạng toàn phần THD được xác định như sau:
Với là biên độ của thành phần cơ bản, là biên độ của hài bậc n và có giá trị phụ thuộc vào góc kích khóa bán dẫn:
Với n = 6k±1(k = 1,2,3, ) Để giảm thiểu THD ở tín hiệu điện áp ngõ ra, hàm mục tiêu F(θ) = ( , , ) với 0 < < < < < cho n bậc sóng hài phải được tối thiểu với điều kiện ràng buộc của SHE Về mặt toán học ta có các điều kiện sau:
Các phương pháp điều khiển cụ thể sẽ được trình bày kỹ hơn trong các phần sau
Từ mối liên hệ giữa hệ số méo dạng toàn phần và góc kích của các khóa bán dẫn như trên, các phương pháp metaheuristic là GA và GWO sẽ được áp dụng để tìm ra giá trị phù hợp cho các góc kích để vừa đảm bảo về mặt sóng hài, vừa hạn chế được những bất cập của các phương pháp truyền thống như Rewton Rhapshon
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng
CÁC THUẬT TOÁN METAHEURISTIC
CÁC THUẬT TOÁN METAHEURISTIC
Các thuật toán metaheuristic là những thuật toán được đúc kết từ tự nhiên, bắt chước từ những đặc tính tốt nhất trong thiên nhiên thông qua chọn lọc tự nhiên và sự thích nghi xã hội Những bài toán này có thể mô tả ở mức độ trừu tượng, thường đưa ra lời giải gần tối ưu trong không gian tìm kiếm và được phân thành
2 loại: thuật toán dựa trên quỹ đạo và thuật toán dựa trên dân số, sự khác biệt dựa trên số lời giải dự kiến được sử dụng trong mỗi bước lặp của thuật toán Các phương pháp GA và GWO được nhắc đến ở trên là những ví dụ điển hình của thuật toán dựa trên quần thể/dân số (population-based)
2.1 Thuật toán gen di truyền (Genetic Algorithm: GA)
Lấy cảm hứng từ qúa trình di truyền và chọn lọc tự nhiên, thuật toán di truyền
Thuật toán di truyền (GA) thực hiện thông qua 6 bước: Khởi tạo giá trị ban đầu, đánh giá và gán giá trị cho cá thể, chọn cá thể phù hợp nhất, trao đổi chéo, đột biến, chèn lại, rồi lặp lại quá trình này cho đến khi đạt được độ chính xác mong muốn Trong ứng dụng giải thuật GA để tìm góc đóng cắt tối ưu cho bộ nghịch lưu đa bậc ghép tầng, quá trình thực hiện tuân theo 6 bước này.
Hình 2.1: Các thuật ngữ cơ bản trong giải thuật gen di truyền
- Khởi tạo quần thể (Population): là một tập hợp tất cả các lời giải cho bài toán
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng
- Nhiễm sắc thể (NST) (Chromosome): là một trong các lời giải của bài toán, cụ thể ở đây là một tập hợp các giá trị góc đóng cắt cho các module
- Gen (Gene): Một phần tử vị trí của nhiễm sắc thể Nếu các giá trị góc kích được giữ ở dạng số thực thì các gen này chính là vị trí của 1 trong các góc đóng cắt trong NST, tương tự, nếu giá trị góc kích này được mã hóa thành dạng mã nhị phân [0,1] thì giá gen là vị trí của các phần tử 0,1 trong chuỗi bit ứng với 1 NST
- Allele: giá trị của 1 phần tử tại vị trí gene
- Genotype: quần thể trong không gian tính toán, có thể là tập hợp các chuổi mã nhị phân
- Phenotype: quần thể trong không gian thực, tập hợp các góc đóng cắt
- Hàm Fitness: thông thường là hàm mục tiêu, tại đó, kiểm tra các lời giải có đạt được mục tiêu đặt ra ban đầu hay không? ( tìm cực tiểu hay cực đại hoặc đảm bảo lời giải nhỏ hơn một giá trị đặt hoặc đi hết số vòng lặp tối da của bài toán, để tìm ra điều kiện dừng của bài toán.)
- Toán tử di truyền (genetic operator): là các hoạt động tổ hợp gen nhằm mục đích tạo ra thế hệ mới: chọn lọc, Lai ghép, đột biến,
Các bước thực hiện được tổng quá qua lưu đồ sau:
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng
Hình 2.3: Quá trình thực hiện giải thuật GA
- Lựa chọn cách biểu diễn các lời giải, khi cách biểu diễn này không phù hợp có thể dẫn đến hiệu suất không cao Có các dạng thể hiện của genotype là dạng các chuỗi bits, dạng số thực, dạng số nguyên, và biểu diễn theo thứ bậc Đôi lúc việc sử dụng mã nhị phân sẽ gây ra những thay đổi đáng kể khi thay đổi giá trị 1 bit, do đó giải pháp là sữ dụng mã gray Đối với việc biểu diễn là số thực sẽ gây ra những hạn chế về mặt tính toán Biểu diễn bằng số nguyên thường sử dụng cho dạng dữ liệu là rời rạc Biểu diễn dạng thứ bậc thông thường áp dụng cho những bài toán với đầu ra biểu diễn theo thứ tự
- Khởi tạo quần thể: kích thước của quần thể cần tránh thay đổi trong quá trình thực hiện vì có thể gây ra hiện tiện hội tụ sớm, kích thước quần thể nếu quá lớn có thể làm chậm quá trình tính toán, nếu quá nhỏ có thể khó tìm ra được giá trị tối ưu Do đó kích thước của quần thể như: số lượng NST, số lượng gen trong 1 NST cần được lựa chọn bằng cách thử và sai trong quá trình thực nghiệm để tìm ra giá trị phù hợp với dữ liệu đầu vào Cách khởi tạo có thể là ngẫu nhiên toàn bộ quần thể hoặc đưa vào một số NST đã biết và lấy ngẫu nhiên phần còn lại của quần thể
- Hàm fitness: tính toán mức độ phù hợp của một NST, không nên để quá phức tạp để có thể đánh giá nhanh
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng
Lựa chọn thế hệ mới là quá trình lựa chọn các cá thể có độ phù hợp cao từ quần thể để tạo ra quần thể mới Sau khi tính toán giá trị hàm Fitness, ta thu được fitness score của từng cá thể Các giá trị này sẽ được đánh giá và lựa chọn để tạo ra quần thể mới thông qua các phương pháp lựa chọn khác nhau.
+ Bánh xe Roullete: Roulette wheel selection: tạo vòng quay roullete dựa trên tỉ lệ phần trăm của các NST trong toàn bộ quần thể, cố định một điểm trên vòng quay, tiến hành quay bánh xe, mỗi lần quay chọn được 1 phần tử cho quần thể mới là giá trị đối diện điểm cố định Như vậy sau n lần quay (n là số lượng NST) sẽ có được một quần thể mới Các cá thể có fitness score cao thì diện tích chiếm chỗ trong vòng quay lớn, xác suất quay trúng sẽ cao hơn
Hình 2.4: Lựa chọn quần thể mới bằng bánh xe Roullete
+ Lấy mẫu chung ngẫu nhiên: Schotastic Universal Sampling: tương tự bánh xe Roullete, nhưng thay vì 1 điểm cố định người ta sử dụng 2 điểm cố định + Lựa chọn theo giải đấu (Tournament selection): mỗi lần chọn k phần tử (k cố định) ngẫu nhiên trong quần thể, chọn ra phần tử có fitness score cao nhất Sau n lần chọn, ta có được quần thể mới Có thể áp dụng với giá trị âm
+ Lựa chọn theo xếp hạng: sử dụng khi các cá thể có xác suất xuất hiện gần như nhau, lúc này bánh xe Roullete được chia thành các phần đều nhau Phương pháp lựa chọn này thường không cho phép lựa chọn thế hệ sau tốt + Lựa chọn ngẫu nhiên: Phương pháp này thường không cho thấy kết quả tốt và ít được áp dụng
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng
- Lai ghép (crossover): lựa chọn nhiều hơn 1 NST để tiến hành lai ghép, sinh ra thế hệ mới Xác suất tiến hành lai ghép là Pc, theo nghiên cứu của Kenneth
De Jong thì giá trị này nên là 0.6 Có các phương pháp lai ghép sau:
+ Lai ghép 1 điểm: chọn ngẫu nhiên 1 điểm tráo đầu và đuôi của 2 NST cho nhau tại vị trí điểm chọn
+ Lai ghép nhiều điểm: tương tự phương pháp trên nhưng thay vì 1 điểm thì
2 hoặc nhiều điểm được lựa chọn
+ Uniform crossover: mỗi gen được phân tách rời rạc và tiến hành tráo vị trí các gen của 2 cá thế bố và mẹ với nhau
+ Tổng hợp theo số học: các cá thể con tại vị trí k là tổ hợp toán học của bố và mẹ tại vị trí tương ứng: child = αx + (1 − α)y
+ Lai ghép theo bậc Davis: tạo 2 điểm lai ghép ngẫu nhiên, từ phần tử cha thứ nhất chọn ra những điểm nằm giữa 2 điểm đã chọn, mang qua vị trí tương ứng ở thế hệ con Từ phần tử cha thứ 2, lấy những giá trị nằm ngoài điểm lai ghép, xáo trộn và điền vào phần còn lại ở thế hệ con đầu tiên Thực hiện tương tự với phần tử cha thứ 2 để thu được phần tử con thứ 2
Ngoài ra có nhiều phương pháp lai ghép khác như: Partial Mapped, Order base, Shuffle crossover, Ring crossover, Age based, fitness based,…
- Đột biến (mutation): một chỉnh sửa nhỏ trong NST để tạo ra một giải pháp mới Xác suất đột biến Pm thường nhỏ hơn rất nhiều so với xác suất lai ghép
QUÁ TRÌNH TIẾN HÀNH
QUÁ TRÌNH TIẾN HÀNH
3.1 Xây dựng giải thuật GA
Do tính chất bài toán là việc tìm các giá trị góc kích cho khóa bán dẫn, các góc này nằm trong khoảng giá trị (-pi/2,pi/2) và là các số thập phân Việc biểu diễn lời giải dưới dạng số thực gây ra những hạn chế về mặt tính toán Do đó trong bài báo cáo này, các lời giải sẽ được biểu diễn dạng chuỗi bit, các giá trị thực của các góc (radian) sẽ được chuyển đổi thông qua hàm dịch mã (encode) và giải mã (decode)
Dựa vào các bước đã trình bày trong phần 2.1, quá trình xây dựng giải thuật GA trong matlab được tiến hành như lưu đồ sau:
Hình 3.1: Các bước thực hiện giải thuật GA
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng
3.1.1 Khởi tạo quần thể Đối với việc lựa chọn góc kích, các giá trị được lựa chọn hoàn toàn ngẫu nhiên Với bộ nghịch lưu 11 bậc, số lượng góc kích cần tìm ứng với mỗi tỉ số điều biên là 5 Do đó lựa chọn kích thước quần thể là 20÷30 NST
Do cần chuyển đổi giữa dạng mã nhị phân và số thực, độ chính xác của các giá trị góc này ảnh hưởng đến chất lượng điện áp ngõ ra Để đạt độ chính xác là 3 chữ số thập phân tương ứng với giá trị nguyên nằm trong khoảng [0÷15708], do đó độ dài chuổi bit của mỗi giá trị góc kích được tính như sau:
2 x ≥ 15708 x ≥ 14 Như vậy, mỗi giá trị góc kích có độ dài 14 bits, mỗi nhiễm sắc thể gồm 5 góc kích nên có độ dài 70 bits
Các giá trị góc kích được tạo một cách ngẫu nhiên bằng hàm random trong matlab như sau: theta1 = (randi([0,15708],1,SearchAgents)); theta2 = (randi([0,15708],1,SearchAgents)); theta3 = (randi([0,15708],1,SearchAgents)); theta4 = (randi([0,15708],1,SearchAgents)); theta5 = (randi([0,15708],1,SearchAgents));
Với “SearchAgents” là kích thước quần thể và được chọn là 20 nhiễm sắc thể
3.1.3 Tính fitness score Để đạt được mục tiêu là giảm thiểu thành phần hài bậc cao của điện áp ngõ ra cho bộ nghịch lưu 11 bậc, hàm fitness cho bài toán được đưa ra như sau:
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng Các giá trị góc được giữ ở dạng số thực để có thể áp dụng được vào hàm fitness này
3.1.4 Lựa chọn quần thể mới Để lựa chọn thế hệ sau cho quẩn thể các giá trị góc đóng cắt, phương pháp lựa chọn bằng giải đấu và bánh xe Roullete được áp dụng, tuy nhiên lựa chọn giải đấu (Tournemen) cho thấy kết quả tốt hơn Quá trình được mô tả như lưu đồ hình 3.2
Hình 3.2: Lựa chọn quần thể mới bằng giải thuật Tournement
Cụ thể, mỗi lần chọn ngẫu nhiên 5 phần tử trong quần thể, chọn ra phần tử có fitness score cao nhất Sau 20 lần lặp sẽ chọn được một quần thể mới gồm tập hợp những cá thể có điểm cao nhất Như vậy chỉ cần sau vài lần lặp, những cá thể có điểm cao sẽ xuất hiện ngày càng nhiều
Trong bài toán này, phương pháp lai ghép lựa chọn là phương pháp thông dụng nhất-lai ghép 1 điểm Nghĩa là chọn ngẫu nhiên 1 điểm trên một NST, tráo đầu và đuôi của 2 NST cho nhau tại vị trí điểm chọn Từ bước này, các giá trị góc được dịch mã để đưa về dạng các bit 0,1
Xác suất lai ghép được lựa chọn là 0.5
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng Các bước tiến hành hoán vị như sau:
B1 Khởi tạo ngẫu nhiên 20 phần tử có giá trị trong khoảng [1,20]
B2 Tính lượng NST hoán vị trong mỗi lần lặp như sau:
Với size(Positions) chính là số lượng quần thể và bằng 20 Như vậy mỗi lần lặp sẽ có N/2 cặp NST được hoán vị cho nhau, tạo ra N/2 cặp cá thể con tương ứng
Tại bước 1, các cá thể có giá trị x trong quần thể ngẫu nhiên sẽ ghép đôi với các cá thể có giá trị x+1 và hoán vị vị trí ngẫu nhiên trong khoảng [2,69] Sau khi thực hiện hoán vị cho toàn bộ các cặp bố mẹ, các NST con sẽ thay thế vị trí của cặp bố mẹ tại x và x+1 tương ứng Khi lặp lại quá trình này N/2 lần, ta thu được quần thể mới gồm các cá thể con từ các cặp bố mẹ có fitness score cao, góp phần cải thiện chất lượng tổng thể của quần thể.
Báo cáo áp dụng phương pháp đảo bit cho bài toán tìm giá trị góc đóng cắt tối ưu
Số lượng bit được lựa chọn trong mỗi lần lặp là nbit = 70*SearchAgents*pm, với pm là xác suất đột biến (rất nhỏ so với pc), giá trị này được chọn là 0.005 Đầu vào của bước này là quần thể sau khi đã được tiến hành lai ghép
Khi tiến hành đột biến,
B1 Khởi tạo ngẫu nhiên một vector có kích thước là (1, 20*70) với giá trị trong khoảng [0,pi/2]
B2 Lặp 20*70 vòng lặp, so sánh giá trị của vector ngẫu nhiên tại bước 1 tại vị trí thứ i với pm, nếu giá trị thỏa mãn điều kiện là nhỏ hơn pm, vị trí đó được lựa chọn đột biến sau khi hoàn tất quá trình ta có được vector vị trí (indexArray) có kích thước là count phần tử
B3 Số lượng bit đột biến là giá trị nhỏ nhất giữa nbit và số lượng phần tử được chọn ở B2 mutationNum = min(nbit, count)
B4 Lặp mutationNum lần, tại vị trí thứ i trong indexArray, tiến hành đảo bit, các bit có giá trị 0 được đảo thành 1 và ngược lại
Quá trình lặp hoàn tất, quần thể mới thu được gồm các phần tử có fitness score cao đã được lai ghép và đột biến
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng Giá trị của vị trí sau khi tính toán được đưa vào kiểm tra và áp dụng các điều kiện biên để không bị vượt ra khỏi không gian tìm kiếm Các điều kiện này sẽ được lấy từ bảng tham chiếu từ hình 3 ứng với các khoảng giá trị của tỉ số điều biên m
Các giá trị được giải mã để đưa về dạng số thực và đưa về bước 2 để tính fitness score
Bài toán có điều kiện dừng là khi đạt số vòng lặp tối đa, với max_iteration được chọn là 200, 250 và 300
3.2 Xây dựng giải thuật GWO
Tương tự như GA, thuật toán GWO cũng cần trải qua các bước khởi tạo quần thể, tính fitness score, cập nhật lại vị trí (tương đương với bước tạo quần thể mới) và dừng khi đạt được số vòng lặp tối đa Trong ứng dụng tìm góc kích tối ưu cho bộ nghịch lưu đa bậc ghép tầng (cụ thể là 5 bậc), các bước thực hiện thuật toán GWO cụ thể như sau:
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng
Hình 3.3: Các bước thực hiện giải thuật GWO
Tương tự như giải thuật GA phía trên, quần thể được lựa chọn cho GWO có kích thước 20 phần tử, số vòng lặp lớn nhất là 200, 250, 300, ma trận tọa độ được khởi tạo trong matlab như sau:
Hàm mục tiêu (fitness) cũng tương tự như giải thuật GA:
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng ( ) = ∑ cos( ) − + ∑ cos(5 ) + ∑ cos(7 ) +
Phần tử có điểm cao nhất sau khi tính toán được gán cho alpha, phần tử cao thứ
2 là beta, phần tử cao thứ 3 là delta
3.2.3 Cập nhật lại vị trí
B1 Để cập nhật lại vị trí, a giảm từ 2 về 0
B2 Cho biến chạy lần lượt từng phần tử trong quần thể, lần lượt tính toán các giá trị A1, C1, A2, C2, A3,C3, D_alpha, D_beta, D_delta
B3 Các giá trị X1, X2, X3 được tính theo công thức (5), và vị trí tại vòng lặp lúc này được cập nhật lại theo công thức (6)
KẾT QUẢ MÔ PHỎNG
KẾT QUẢ MÔ PHỎNG
4.1 Kết quả mô phỏng với phương pháp GA
Khảo sát sự thay đổi giá trị góc kích được tính toán từ giải thuật GA khi tỉ số điều biên thay đổi từ 0.4 đến 1 với kiểu mã hóa dạng mã nhị phân có kết quả như sau:
Hình 4.1: Giá trị các góc đóng cắt khi tỉ số điều biên thay đổi từ 0.4 đến 1 với dạng mã hóa bằng mã nhị phân
Hình 4.2: Thành phần điện áp cơ bản đầu ra thay đổi khi thay đổi tỉ số điều biên
Hình 4.3: Điện áp 3 pha ngõ ra của bộ nghịch lưu 11 bậc được điều khiển bởi giải thuật GA
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng Các giá trị góc đóng cắt này có xu hướng giảm dần và hội tụ về các quỹ đạo xác định khi tăng dần tỉ số điều biên Tuy nhiên do đặc tính của giải thuật GA có các bước hoán vị và đột biến, các đột biến này có thể gây ra những thay đổi lớn cho kết quả đầu ra và ảnh hưởng đến khả năng hội tụ, có thể tồn tại những trường hợp khi kết quả chưa đủ nhỏ nhưng số bước lặp đã đạt đến giới hạn nên tạo ra những điểm nhiễu Do có sự xuất hiện các giá trị nhiễu này nên thành phần điện áp cơ bản khi thay đổi tỉ số điều biên cũng có những dao động xung quanh giá trị đặt Mặt khác tốc độ tính toán còn chậm do khối lượng tính toán lớn và tốn thời gian vào việc dịch mã và giải mã các NST Để giải quyết vấn đề này, việc ứng dụng mã Gray cho thấy lợi thế hơn vì sự thay đổi các giá trị 0 và 1 trong mã Gray cho sự thay đổi ít hơn về giá trị thực của góc kích Hình ảnh dưới đây minh họa kết quả sau khi cập nhật lại phương pháp GA với mã gray
Hình 4.4: Góc kích thay đổi theo tỉ số điều biên với dạng mã hóa bằng mã gray
Kết quả cho thấy các giá trị góc đóng cắt thu được ít bị nhiễu hơn so với trường hợp dùng mã nhị phân thành phần điện áp cơ bản cũng bám sát quỹ đạo tuyến tính hơn so với trường hợp trên Có thể thấy, việc ứng dụng mã Gray thay cho mã nhị phân trong trường hợp này mang lại hiệu quả rõ rệt Tuy nhiên, vấn đề thời gian tính toán chậm sẽ tiếp tục được nghiên cứu và cải thiện và trình bày trong các phần tiếp theo
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng
4.2 Kết quả mô phỏng với phương pháp GWO
Khảo sát sự thay đổi góc kích khi tỉ số điều biên thay đổi từ 0.01 đến 1 với giải thuật GWO:
Hình 4.5: Góc kích thay đổi khi tỉ số điều biên thay đổi từ 0.01 đến 1 ứng với phương pháp GWO
Trong khoảng tỉ số điều biên nhỏ hơn 0,3, thuật toán GWO không tìm được giá trị tối ưu do các giá trị bị nhiễu kéo theo điện áp trong khoảng này không tuyến tính Tuy nhiên, ở các khoảng tỉ số điều biên khác, các giá trị góc kích bám sát quỹ đạo với ít điểm nhiễu Ngoài ra, GWO còn có ưu điểm là khối lượng tính toán ít, thời gian tính toán nhanh.
4.3 So sánh kết quả mô phỏng giữa GA với GWO
Tính hiệu quả của 2 phương pháp GA và GWO sẽ được đánh giá thông qua các chỉ tiêu: thời gian chạy, tốc độ hội tụ, giá trị sóng hài của điện áp đầu ra và xét về mức độ hội tụ trên từng khoảng tỉ số điều biên khi chạy từ 0.01 đến 1
4.3.1 Đánh giá về mặt sóng hài Đồ thị dưới đây biểu thị giá trị các góc kích thay đổi khi thay đổi tỉ số điều biên từ 0.01 đến 1 ứng với phương pháp GA và GWO được so sánh cùng điều kiện ban đầu (cùng số vòng lặp, cùng kích thước quần thể)
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng a Sự thay đổi giá trị góc đóng cắt của khối điều khiển bộ nghịch lưu theo tỉ số điều biên khi áp dụng giải thuật GA b Sự thay đổi giá trị góc đóng cắt của khối điều khiển bộ nghịch lưu theo tỉ số điều biên khi áp dụng giải thuật GWO
Hình 4.6: So sánh giải thuật GA và GWO khi tỉ số điều biên thay đổi từ 0.01 đến 1
Quỹ đạo thành phần alpha1 và alpha2 từ giải thuật GWO bị phân tán và không tuân theo quỹ đạo như kết quả từ giải thuật GA khi tỉ số điều biên nhỏ hơn 0.3 Tuy nhiên, với khoảng tỉ số điều biên trên 0.3 quỹ đạo của các giá trị góc đóng cắt từ giải thuật GA lại tồn tại nhiều điểm nhiễu lệch khỏi quỹ đạo
Về mặt điện áp ngõ ra, thành phần điện áp cơ bản đầu ra của GA (Hình 4.7a) và GWO (Hình 4.7b) cho thấy một số đánh giá như sau:
- Khi tỉ số điều biên thay đổi từ 0.01 đến 0.3, GWO cho thành phần điện áp cơ bản dao động nhiều quanh quỹ đạo tuyến tính (đường màu vàng) và gần như lệch hẳn về phía trên quỹ đạo này, trong khi đó, quỹ đạo điện áp cơ bản từ giải thuật GA cho thấy mức độ sai lệch khỏi quỹ đạo là nhỏ hơn và ít dao động hơn
- Khi tỉ số điều biên thay đổi từ 0.3 đến 1, cả hai giải thuật cho giá trị điện áp cơ bản bám sát quỹ đạo tuyến tính
- Mức độ sai lệch của quỹ đạo điện áp quanh đường thẳng tuyến tính được xác định bằng giá trị R 2 và RMSE, kết quả cũng cho thấy R 2 của GA (0.9978) là lớn hơn GWO (0.9937) và RMSE của GA(0.1899) nhỏ hơn GWO (0.3053) càng chứng tỏ rằng GA bám sát quỹ đạo lý tưởng hơn
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng a Thành phần điện áp cơ bản của bộ nghịch lưu khi áp dụng giải thuật điều khiển GA b Thành phần điện áp cơ bản của bộ nghịch lưu khi áp dụng giải thuật điều khiển GWO
Kết quả mô phỏng trong mô hình simulink của bộ nghịch lưu ghép tầng 11 bậc trong báo cáo cho độ méo dạng sóng hài của 2 phương pháp ứng với tỉ số điều biên khác nhau được tổng hợp lại như bảng sau:
Bảng 4.1: So sánh về tổng độ méo dạng sóng hài (THD) của GA và GWO khi cùng số vòng lặp và tỉ số điều biên ma GA(%) GWO(%)
1 3.91 3.91 Đồ thị so sánh về giá trị sóng hài của 3 phương pháp được biểu diễn như sau:
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng
Hình 4.7: So sánh THA% của 2 phương pháp khi tỉ số điều biên thay đổi từ 0.01-1
Kết quả thống kê cho thấy GA và GWO cho giá trị THD(%) tương tự nhau, dao động quanh giá trị 5% khi tỉ số điều biên lớn hơn 0.6 Tuy nhiên trong khoảng giá trị này, GA lại cho giá trị THD(%) tương đối thấp hơn so với giá trị tương ứng của giải thuật GWO
Khi tỉ số điều biên nhỏ hơn 0.6, 2 phương pháp đều cho giá trị THD(%) tương đối lớn, trong khi GWO có giá trị THD(%) lớn nhất là 40.21% khi tỉ số điều biên bằng 0.1 thì GA có giá trị THD(%) nhỏ hơn là 32.39% Theo tiêu chuẩn IEC 61000, quy định về sóng hài và giới hạn sóng hài cho các cấp điện áp tương ứng, đối với cấp điện áp phân phối 400kV, mức THD(%) cho phép là 5% Như vậy 2 phương pháp tồn tại các vùng tỉ số điều biên thỏa mãn điều kiện là 0.6, 0.85 và [0.95,1]
Từ Hình 4.8 có thể thấy, đường màu xám biểu diễn THD(%) theo tỉ số điều biên của phương pháp GWO và đường màu cam biểu diễn THD(%) theo tỉ số điều biên của phương pháp GA Về tổng quát:
(1) Nhìn chung khi tỉ số điều biên thay đổi, giá trị THD(%) của cả 2 phương pháp cho kết quả tương tự nhau
(2) Khi ma>0.6, giá trị THD(%) của 2 phương pháp dao động quanh mức 5%
Và ngược lại, khi ma ≤ 0.6 giá trị THD(%) của 2 phương pháp tăng dần từ
NGHIÊN CỨU CẢI TIẾN VỀ MẶT THỜI GIAN
NGHIÊN CỨU CẢI TIẾN VỀ MẶT THỜI GIAN
Thông thường, để dịch mã và giải mã cần thực hiện các bước sau:
B1 Chuyển từ decimal sang binary: theta1Bin = dec2bin(theta1,14);
B2 Chuyển từ binary sang mã gray: theta1Gray(i,:) = bin2gray(theta1Bin(i,:));
Với “bin2gray” thực hiện phép xor của 2 bit liền kề để thu được giá trị bit ở dạng gray function g = bin2gray(b) g = char(zeros(1,size(b,1))); g(1) = b(1); for i = 2:length(b); x = xor(str2numc(b(i-1)),str2numc(b(i))); g(i) = num2strc(x); end end
B1 Chuyển từ gray sang binary: x1binf = gray2bin(xbin(1:14));
B2 Chuyển từ binary sang decimal: x1 = (1/10000)*bin2dec(x1binf);
The "gray2bin" function converts gray code to binary code by performing an exclusive OR (XOR) operation on adjacent bits The function takes a gray code input and returns a binary code output The output is initialized to a string of zeros with a length equal to the input size The first bit in the output is set to the first bit in the input For each subsequent bit, the XOR operation is performed on the previous output bit and the current input bit to obtain the current output bit The function converts the XOR result to a string and updates the output accordingly.
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng end
Các hàm bin2dec,dec2bin, num2str, str2num là những hàm có sẵn trong matlab
5.3 Nghiên cứu áp dụng machine learning
Phương pháp machine learning sẽ được áp dụng vào 2 quá trình là dịch mã và giải mã, do đó cần xây dựng 2 mạng khác nhau Từ quá trình tìm hiểu về các phương pháp học máy áp dụng cho bài toán hồi quy, RNN và LSTM[8] với khả năng ghi nhớ cho thấy tính hiệu quả rõ rệt so với các phương pháp khác Đặc biệt, nhờ vào các bước truyền thẳng và truyền ngược, LSTM có khả năng ghi nhớ tốt hơn RNN, mặc dù độ phức tạp cao hơn RNN, và cho kết quả dự báo với độ chính xác cao hơn RNN Do đó, LSTM là phương pháp được lựa chọn để áp dụng vào bài toán giảm thời gian chạy Có 2 mô hình cần được xây dựng:
- Mạng LSTM cho phép dịch từ mã gray sang decimal
- Mạng LSTM cho phép dịch từ decimal sang mã gray
Chi tiết về đầu vào, đầu ra và số lượng neuron, số lớp được chọn như sau:
5.3.1 Mạng LSTM dịch mã Gray sang Decimal
Bảng 5.1: Cấu hình mạng LSTM chuyển từ mã Gray sang Decimal
1 'input' Sequence Input Sequence input with 1 dimensions
2 'LSTM' LSTM LSTM with 70 hidden units
Với input là các chuỗi bit dạng gray với độ dài là 11bit, số mẫu lựa chọn đảm bảo phủ hết các giá trị có thể xảy ra nên sẽ lớn hơn 2^11, do đó số lượng data của tập train được chọn là 2500 Kích thước tập input lúc này là 2500*1 cell, với mỗi cel có kích thước 1x11
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
Tập dữ liệu đầu ra dùng để đào tạo có kích thước tương đương với tập dữ liệu đầu vào, gồm 2500 dòng và 1 cột Giá trị trong tập dữ liệu đầu ra là các số thập phân được chuyển đổi từ các chuỗi bit ở tập dữ liệu đầu vào.
Quá trình training sau 350 epochs đạt được như sau:
Hình 5.1: RMSE và Loss của quá trình training mạng LSTM chuyển từ mã Gray sang
Decimal với đầu vào 2500 data, 350 epochs, 70 neurons ở lớp ẩn
Với RMSE của tập test là 3.305 ( tập test có số lượng mẫu là 100, đầu vào và đầu ra tương tự như tập train là 100x1 cell )
5.3.2 Mạng LSTM dịch từ Decimal sang mã Gray
Mạng để training cho bài toán ngược này được chọn tương tự như mạng cho bài toán thuận, chỉ khác nhau là đây là bài toán với nhiều đầu vào và nhiều đầu ra, và dữ liệu đầu vào, đầu ra khác so với bài toán thuận
Bảng 5.2: Cấu hình mạng LSTM chuyển từ Decimal sang mã Gray
1 'input' Sequence Input Sequence input with 1 dimensions
2 'LSTM' LSTM LSTM with 125 hidden units
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng
Vì bài toán yêu cầu chuyển số thập phân sang mã Gray, dữ liệu đầu vào là chuỗi số thập phân, đầu ra là chuỗi bit ở dạng Gray Để giải quyết bài toán, các số thập phân được mã hóa one-hot để tạo vector trọng số, thể hiện vị trí của số đó trong chuỗi ký tự [0,1,2,3,4,5,6,7,8,9,’’].
Do đó bài toán này có tập train là 10000x1 cell, mỗi cell là 1 mảng có kích thước 6x11 ( các số ở hệ thập phân sau khi áp dụng giải thuật one-hot encoded), đầu ra là 10000x1 cell, mỗi cell có kích thước 1x11 (chuỗi mã gray tương ứng) Kết quả sau khi train như sau:
Hình 5.2: RMSE và Loss của quá trình training mạng LSTM chuyển từ Decimal sang Gray với đầu vào 10000 data, 90 epochs, 125 neurons ở lớp ẩn
RMSE dừng lại ở giá trị 0.35 ( do tập giá trị đầu ra là các bit 0,1, nên RMSE có giá trị nhỏ nhưng mức độ sai số cao)
Các mạng trên sau khi đào tạo được lưu vào các mô hình net.mat để áp dụng cho bài toán tìm góc kích tối ưu Tuy nhiên thời gian chạy khi áp dụng các mô hình này lại chokết quả không như kỳ vọng khi thời gian chạy lâu hơn so với trước đó do thời gian load model trained trong mỗi vòng lặp lớn hơn nhiều so với thời gian thực hiện việc giải mã từ gray sang binary và thời gian chuyển từ binary sang decimal và ngược lại, mặt khác lời giải của bài toán về độ chính xác cũng không tốt, vì chỉ cần một sai số nhỏ trong phép dịch mã và giải mã cũng giống như một phép đột biến trong quá trình di truyền, khi sai số quá nhiều phép đột
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng biến xảy ra với xác suất lớn hơn làm kết quả về mặt sóng hài của bài toán không tối ưu
Một số kết luận khi áp dụng mô hình LSTM như sau:
- Thời gian load model phụ thuộc nhiều vào kích thước của mạng
- Kích thước một mạng phụ thuộc vào khối lượng tính toán: số lượng bit của dữ liệu đầu vào, số lượng epochs, số lượng các neuron ở các lớp ẩn
- Yếu tố ảnh hưởng nhiều nhất đến kích thước mạng là số lượng neuron ở các lớp ẩn
- Mặt khác, khi càng giảm thời gian load model tương ứng với việc giảm kích thước mạng thì độ chính xác của bài toán cũng giảm theo
- Đối với mạng LSTM cho bài toán ngược thì cho độ chính xác kém và việc load model vào chương trình cũng tốn nhiều thời gian hơn so với việc không sử dụng model
Cần lựa chọn một cấu hình mạng khác cho độ chính xác cao hơn và khối lượng tính toán ít hơn để thời gian load model đảm bảo yêu cầu đặt ra
Ngoài ra báo cáo có nghiên cứu các phương pháp khác như SVM [9], regression tree[10], tuy nhiên thời gian áp dụng các mô hình đều lớn hơn thời gian tính toán thông thường từ 5 đến 10 lần, do đó trong trường hợp này, việc áp dụng các giải thuật của machine learning là không tối ưu
5.4 Phương pháp sử dụng bảng tham chiếu
Bảng tham chiếu có vai trò ghi lại tất cả các trường hợp góc kích có thể xảy ra, kích thước bảng tỷ lệ thuận với số bit được lựa chọn (11 bit hoặc 14 bit) Độ chính xác của bảng tham chiếu tăng theo số bit, do đó số bit càng lớn thì độ chính xác càng cao.
Bảng tham chiếu gồm 2 cột: cột thứ nhất chứa giá trị thực của các giá trị trong không gian tìm kiếm ( từ 1 đến 16383 (2^14-1)) và cột thứ 2 chứa giá trị ở mã gray với chiều dài 14 bit Cột 1 tương ứng với chỉ số của các giá trị trong cột 2, mỗi giá trị này chỉ xuất hiện 1 lần duy nhất và không trùng lặp nhau như mô tả ở Hình 5.3
LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng
GVHD: PGS.TS Phan Quốc Dũng
Hình 5.3: Minh họa cho bảng tham chiếu
Khi chưa áp dụng bảng tham chiếu, quá trình tiến hành cần trải qua 2 bước là: (1) bước dịch mã từ dạng số thực thành mã nhị phân + mã nhị phân thành mã Gray và ngược lại (2) từ mã gray thành mã nhị phân + từ mã nhị phân về dạng số thực các giá trị thực này được chia cho 10000 để đưa về miền giá trị của bài toán [0, /2] Thông thường, các quá trình dịch mã và giải mã này được thực hiện bằng cách xor các bit để chuyển từ gray sang mã nhị phân và ngược lại, sau đó áp dụng hàm dec2bin/bin2dec trong matlab để đưa về miền giá trị tương ứng