Giải thuật Thụ phấn hoa (Flower Pollination Algorithm - FPA)

Một phần của tài liệu Áp dụng giải thuật tìm kiếm sinh vật lai tối ưu vị trí đặt tụ bù trong lưới điện phân phối có xét đến nhiều mức phụ tải khác nhau (Trang 65 - 82)

Chương 3. THÀNH LẬP BÀI TOÁN TỐI ƯU VỊ TRÍ TỤ ĐIỆN (OCP)TRONG LƯỚI ĐIỆN PHÂN PHỐI

3.3. Một số phương pháp đã được sử dụng để giải bài toán OCP

3.3.3. Giải thuật Thụ phấn hoa (Flower Pollination Algorithm - FPA)

Giải thuật Thụ phấn hoa được giới thiệu bởi Yang. Nó được lấy cảm hứng từ sự thụ phấn của các loại thực vật có hoa [50]. Nó chỉ có một tham số chính p (xác suất chuyển đổi), điều này làm cho thuật toán dễ triển khai hơn và nhanh đạt một lời giải tối ưu hơn. Hơn nữa, sự chuyển đổi này giữa thụ phấn địa phương và toàn cục có thể đảm bảo sự thoát ra từ lời giải cực tiểu toàn cục. FPA được đề xuất để giải bài toán giảm tổn thất công suất tác dụng, giảm chi phí vận hành và cải thiện chất lượng điện áp của hệ thống điện phân phối. Các vị trí tụ shunt kỳ vọng dự kiến thu được ban đầu bằng cách kiểm tra các nút của hệ số nhạy tổn thất (loss sensitivity factors – LFSs) cao hơn và chỉ số ổn định điện áp (voltage stability indexes (VSIs) nhỏ hơn. Sau đó FPA được giới thiệu để xác định các vị trí và dung lượng tối ưu của tụ điện từ các vị trí xác định.

Hệ số nhạy tổn thất được cho bởi phương trình sau:

2  k 2 ik k k

loss ik

V R Q Q

P

 

 

(3.34) Phương trình chỉ số ổn định điện áp VSI được định nghĩa như sau:

VSI(k) Vi 44Pk.XikQk.Rik 24 Pk.RikQk.Xik.Vi 2 (3.35) Trong đó, Pik-loss là tổn thất trên đường dây ik; PkQk là tổng công suất tác dụng và công suất phản kháng được cấp phía sau nút k; Vk là độ lớn điện áp tại nút k;

RikXik là điện trở và điện kháng của đường dây truyền tải giữa nút i và nút k.

Các bước thực hiện của FPA như sau:

Bước 1. Sự thụ phấn toàn cục được thể hiện trong quá trình thụ phấn sinh học và thụ phấn chéo, như các loài thụ phấn mang phấn hoa, bay theo một chuyến bay Lévy.

Bước 2. Sự thụ phấn cục bộ được thể hiện dưới dạng thụ phấn phi sinh học và tự thụ phấn vì quá trình này không yêu cầu bất kỳ tác nhân thụ phấn nào.

Bước 3. Độ bền của hoa, có thể được phát triển bởi côn trùng, là ngang hàng với xác suất sinh sản tỷ lệ với sự giống nhau của hai bông hoa liên quan.

Bước 4. Sự tương tác của thụ phấn cục bộ và toàn cục được kiểm soát bởi xác suất chuyển đổi p ∈ [0, 1], thiên về thụ phấn cục bộ.

Bước thụ phấn toàn cục và bước tồn tại của hoa có thể được miêu tả bởi phương trình:

   lt

t l t

l x L g x

x 1      (3.36) Với xlt là phấn hoa l, và g* là giải pháp tốt nhất hiện tại được tìm thấy trong số tất cả các giải pháp ở thế hệ hiện tại. Ở đây γ là hệ số tỷ lệ kiểm soát kích thước bước.

Trên thực tế, L(λ) là kích thước bước dựa trên chuyến bay Levy tương ứng với độ mạnh của quá trình thụ phấn. Vì khoảng cách xa có thể được bao phủ bằng cách sử dụng các bước khoảng cách khác nhau, một chuyến bay Lévy có thể được sử dụng để bắt chước hành vi này một cách hiệu quả; nghĩa là, L> 0 từ một sự phân phối Lévy:

,( 0)

1 ) 2 / sin(

)

~ (  1  0 

s s

L s



(3.37) Trong đó Γ(λ) là hàm gamma tiêu chuẩn, và sự phân phối này có giá trị cho những bước rộng s > 0.

Với sự thụ phấn cục bộ, cả Bước 2 và 3 có thể được trình bày như sau:

tp

t n t

l t

l x x x

x 1     (3.38) Trong đó xnt và xpt là phấn hoa từ những bông hoa khác nhau của những loài thực vật giống nhau, bắt chước sự kiên định của hoa trong một giới hạn khu vực lân

cận. Với một chuyến đi ngẫu nhiên cục bộ, xnt và xpt đến từ cùng loài, thì ε được rút ra từ một sự phân phối đều là [0, 1].

Lưu đồ thực hiện của giải thuật FPA như sau:

Hình 3.2. Lưu đồ của FPA.

3.3.4. Giải thuật di truyền

Giải thuật di truyền (Genetic Algorithm – GA) [52] được xây dựng bởi Holland vào năm 1975 dựa vào nền tảng tiến hóa tự nhiên của nhà bác học Charles Darwin. GA là một phân ngành của giải thuật tiến hóa, sử dụng các nguyên lý của tiến hóa tự nhiên và di truyền dân số để tìm kiếm và đi đến một giải pháp chất lượng cao gần toàn cục.

Các biến thiết kế yêu cầu được mã hóa thành chuỗi nhị phân dưới dạng tập hợp các gen tương ứng với nhiễm sắc thể trong các hệ thống sinh học. Không giống như các kỹ thuật tối ưu hóa truyền thống yêu cầu một điểm bắt đầu, GA sử dụng một tập hợp các điểm làm điều kiện ban đầu. Mỗi điểm được gọi là nhiễm sắc thể. Một nhóm các nhiễm sắc thể được gọi là một quần thể. Số lượng nhiễm sắc thể trong quần thể thường được chọn là từ 30 đến 300. Mỗi nhiễm sắc thể (NST) là một chuỗi mã nhị phân (gen) và có thể chứa các chuỗi con. Giá trị của một chuỗi được đánh giá bởi chức năng fitness, được bắt nguồn từ chức năng khách quan và được sử dụng trong các hoạt động di truyền liên tiếp. Trong mỗi quy trình lặp (được gọi là thế hệ), một chuỗi các chuỗi mới với hiệu suất được cải thiện được tạo bằng ba toán tử GA (cụ thể là tái tạo, trao đổi chéo và đột biến).

Ưu điểm của GA là khả năng tìm kiếm và phát hiện một lời giải toàn cục trong quá trình tối ưu. Đặc biệt GA còn có khả năng tìm ra lời giải toàn cục đối với nhiều dạng hàm như hàm khả vi hoặc không khả vi, liên tục hay gián đoạn, tuyến tính hay phi tuyến.

Trong bài toán tìm vị trí tối ưu tụ bù với hàm mục tiêu là cực tiểu chi phí tổn thất công suất và tổn thất năng lượng sau khi đặt tụ, các ràng buộc bao gồm giới hạn điện áp, chất lượng điện năng, vị trí và dung lượng tụ bù. Mô hình của thuật toán GA bài toán cực tiểu chi phí tổn thất như sau:

Min F

(3.39)

Trong đó:

Floss: là chi phí do tổn thất năng lượng Fcost: là chi phí của bộ tụ bù tĩnh

Fcapacity: là chi phí tương ứng với tổn thất : tổn thất của cả hệ thống

: vector điện áp nút ở hài bậc h L: mức hài cao nhất được xem xét C: dung lượng của bộ tụ bù được kết nối

KA: số tiền tiết kiệm trên mỗi MW do cắt giảm tổn thất KE: chi phí mỗi MWh

T: chu kỳ của tải (giờ/năm)

SC: tổ hợp nút có thể để đặt bộ tụ shunt Kcfp: chi phí cho mỗi bộ tụ tĩnh Cfi

Hàm ràng buộc:

- Giới hạn điện áp:

, i = 1,…,n (3.40)

- Giới hạn độ méo dạng của sóng điện áp:

, i = 1, …, n (3.41)

- Giới hạn số lượng tụ bù ở nút i:

, i = 1 ,…, n. (3.42) - Giới hạn số lượng tụ bù trên xuất tuyến:

, i = 1,…,n. (3.43) Trong đó:

: biên dưới và biên trên của điện áp hiệu dụng

( )

i: số nút, h: bậc hài

THDv: tổng độ méo dạng hài của điện áp

umaxUmax: là số lượng tụ bù tối đa cho phép ở mỗi nút và toàn bộ xuất tuyến

: số tụ bù tĩnh ở nút i

SC: là tập hợp các nút ứng viên có thể để đặt tụ bù Các bước của thuật toán của GA:

Bước 1. Nhập các thông số hệ thống. Nhập quần thể ban đầu với Nchrom nhiễm sắc thể (NST).

Bước 2. Đặt số vòng lặp và giá trị thông số ban đầu (Nch = Nit = NR = 1 và FMIN = a high number).

Bước 3. Tiến trình Fitness

3A. Chạy phân bố công suất cho NST Nch và lưu kết quả.

3B. Tính toán hàm phạt sử dụng kết quả phân bố công suất ở trên. Tính toán hàm fitness cho NST Nch. Đặt Nch = Nch + 1.

3C. Nếu thì quay lại bước 3A.

Bước 4. Tiến trình tái tạo (Reproduction process)

4A. Xác định tổng fitness (tổng của tất cả các giá trị fitness cho tất cả các NST).

4B. Chọn tỷ lệ phần trăm của “roulette wheel” cho mỗi NST, tương đương tỷ lệ giá trị fitness của mỗi NST trên tổng giá trị fitness.

4C. Cải thiện thế hệ bằng cách quay “roulette wheel” Nchrom lần. Chọn một tổ hợp NST mới.

Bước 5. Tiến trình crossover

5A. Chọn một số ngẫu nhiên (RND1) cho ghép đôi hai NST bố mẹ.

5B. Nếu RND1 giữa 0.6 và 1.0 thì khi đó kết hợp 2 NTS bố mẹ, tạo 2 NST con và đi đến bước 5D.

5C. Ngược lại, chuyển NST mà không có crossover.

5D. Lặp lại từ bước 5A đến 5C cho tất cả NST.

Bước 6. Tiến trình Mutation

6A. Chọn một số ngẫu nhiên RND2 cho đột biến một NST.

6B. Nếu RND2 giữa 0.01 và 0.1 khi đó áp dụng tiến trình đột biến tại một vị trí ngẫu nhiên và đi đến bước 6D.

6C. Ngược lại, chuyển NST mà không có đột biến.

6D. Lặp lại từ bước 6A đến 6C đối với tất cả NST.

Bước 7. Cập nhật quần thể: Thay thế quần thể cũ bằng quần thể mới đã cải tạo.

Kiểm tra tất cả NST, nếu có bất kỳ NST nào với FTHDv = 1, Fv = 1 và FF < FMIN, đặt FMIN = FF và lưu lại. Đặt Nit = Nit + 1.

Bước 8. (Kiểm tra điều kiện dừng) Nếu tất cả NST đều giống nhau hoặc số vòng lặp tối đa đạt được (Nit = Nmax), khi đó xuất kết quả và dừng, ngược lại quay trở lại bước 2.

3.3.5. Giải thuật tối ưu bầy đàn PSO (Particle Swarm Optimization)

Thuật toán PSO được Eberhat và Kennedy đề nghị lần đầu tiên vào năm 1995 [53]. Đây là thuật toán tiến hóa mới, có đặc đểm khác với các thuật toán trước đây là nó dựa trên việc mô phỏng cách cư xử xã hội. Trong PSO đã mô phỏng cách cư xử của một đàn chim với sự chia sẻ thông tin và chúng thu lợi từ kinh nghiệm cùng với sự khám phá trước đó của bạn bè chúng trong việc tìm kiếm thức ăn. Mỗi bạn bè được gọi là cá thể (particle) trong cư dân, bây giờ là quần thể (swarm), được giả sử đang “bay”

trong một vùng đất hứa hẹn. Trong trường hợp cực tiểu hóa, các vùng như vậy có giá trị hàm số thấp hơn các vùng đã thăm trước đó. Mỗi cá thể được xem như là một điểm trong không gian D chiều với sự điều chỉnh hướng bay theo kinh nghiệm bay trước đó.

Tại thời điểm bắt đầu tìm kiếm cả đàn bay theo một hướng nào đó, có thể là rất ngẫu nhiên. Tuy nhiên sau một thời gian tìm kiếm một số cá thể trong đàn bắt đầu tìm ra

được nơi có chứa thức ăn. Tùy theo số lượng thức ăn vừa tìm kiếm, mà cá thể gửi tín hiệu đến các cá thể đang tìm kiếm ở vùng lân cận, tín hiệu này nhanh chóng lan truyền trên toàn quần thể. Dựa vào thông tin nhận được mỗi cá thể sẽ điều chỉnh hướng bay và vận tốc theo hướng về nơi có nhiều thức ăn nhất. Cơ chế này giúp cả đàn chim tìm ra nơi có nhiều thức ăn nhất trên không gian tìm kiếm vô cùng rộng lớn. Như vậy đàn chim đã dùng trí tuệ, kiến thức và kinh nghiệm của cả đàn để nhanh chóng tìm ra nơi chứa thức ăn.

Bài toán đặt tụ bù tối ưu được giải quyết bởi hệ số tổn thất và phương pháp PSO.

Hệ số tổn thất cung cấp thông tin quan trọng về thứ tự của các nút tiềm năng để đặt tụ bù. Các hệ số này được xác định bằng cách chạy phân bố tải trường hợp cơ sở. PSO được sử dụng để ước lượng mức độ yêu cầu tụ bù shunt để cải thiện chỉ số điện áp của hệ thống.

Hệ số tổn thất được xác định như sau:

(3.44)

(3.45)

Trong đó:

Plossline: tổn thất CSTD trên đường dây thứ k Qlossline: tổn thất CSPK trên đường dây thứ k

Qeff[q]: tổng lượng CSPK cung cấp cho tải tại nút q R[k]: điện trở đường dây thứ k

X[k]: điện kháng đường dây thứ k Chọn nút ứng viên sử dụng hệ số tổn thất:

Hệ số tổn thất ( ) được tính toán bởi phân bố tải cho trường hợp cơ sở và giá trị này được sắp xếp theo thứ tự giảm dần cho tất cả các đường dây. Một vector vị trí nút (bpos[i]) được sử dụng để lưu lại các nút “end” tương ứng của đường dây đã sắp

xếp các giá trị ( ) theo thứ tự giảm dần. Các thành phần ( ) của vector (bpos[i]) sẽ quyết định thứ tự các nút được xem xét để bù. Trình tự này hoàn toàn bị chi phối bởi ( ) và do đó hệ số tổn thất đã đề nghị trở nên rất mạnh mẽ và hữu ích trong việc phân bổ tụ bù. Tại các nút của vector (bpos[i]), biên độ điện áp danh định được tính toán bằng cách xem xét biên độ điện áp trường hợp cơ sở (norm[i] = V[i]/0.95). Đối với các nút mà giá trị norm[i] của nó thấp hơn 1.01 thì được xem xét như nút ứng viên để đặt tụ bù. Các nút ứng viên này được lưu lại trong vector “rank bus”. Có thể thấy rằng hệ số tổn thất quyết định thứ tự nơi các nút được xem xét để đặt tụ bù và giá tri norm[i] quyết định có cần bù hay không. Vector “rank bus” cung cấp thông tin về các nút ứng viên để đặt tụ bù. Còn dung lượng của tụ bù tại các nút được liệt kê trong vector “rank bus” được xác định bằng cách sử dụng thuật toán dựa trên PSO.

Mô hình thuật toán PSO được trình bày như sau:

Bước 1. Chạy phân bố tải cho trường hợp cơ sở và xác định tổn thất CSTD.

Bước 2. Xác định nút ứng viên cho vị trí đặt tụ bù sử dụng các hệ số tổn thất.

Bước 3. Khởi tạo ngẫu nhiên số cá thể n, trong đó mỗi cá thể được đại diện bởi particle[i] = {Qc1,Qc2,…,Qci}.

Bước 4. Khởi tạo vận tốc cá thể v[i] giữa giá trị -vmaxvmax Trong đó:

vmax = (capmax – capmin)/N

capmax = dung lượng lớn nhất của tụ (kvar) capmin = dung lượng nhỏ nhất của tụ (kvar)

N = số bước để di chuyển cá thể từ vị trí này đến vị trí khác Bước 5. Đặt bộ đếm bước lặp, iter = 1.

Bước 6. Chạy phân bố tải cho trường hợp đặt cá thể i tại nút ứng viên để bù CSPK và lưu lại tổn thất CSTD (pl).

Bước 7. Đánh giá giá trị fitness (dựa trên pl) của cá thể thứ i và so sánh với giá trị của cá thể tốt nhất trước đó (pbest). Nếu giá trị fitness hiện tại lớn hơn giá trị pbest thì lấy giá trị pbest này là giá trị hiện tại.

Bước 8. Xác định giá trị tốt nhất toàn cục hiện tại gbest trong số các giá trị pbest. Bước 9. So sánh gbest với gbest trước đó. Nếu gbest hiện tại lớn hơn trước đó, thì đặt gbestgbest hiện tại.

Bước 10. Cập nhật vận tốc sử dụng công thức:

V[i][j] = K*(w*v[i][j] + c1*rand1*(pbestparticle[i][j] – particle[i][j]) + c2*rand2*(gbestparticle[i][j] – particle[i][j]) (3.46)

Trong đó:

K: hệ số phạt c1, c2: trọng số

w: tham số trọng số quán tính i: số cá thể

j: biến điều khiển

particle[i]: vị trí của cá thể i

Pbestparticle[i]: vị trí tốt nhất của cá thể i Gbestparticle: vị trí tốt nhất trong bầy đàn V[i]: vận tốc của cá thể i

Bước 11. Nếu vận tốc v[i][j] vi phạm giới hạn của nó (-vmax, vmax), đặt nó tại giới hạn thích hợp của nó.

Bước 12. Cập nhật vị trí của cá thể bằng cách thêm v[i][j] vào nó.

Bước 13. Chạy phân bố tải và xác định pl với cá thể đã cập nhật.

Bước 14. Lặp lại từ bước 7 đến bước 9.

Bước 15. Lặp lại tiến trình tương tự cho mỗi cá thể từ bước 6 đến bước 13.

Bước 16. Lặp lại từ bước 6 đến bước 13 đến khi thỏa điều kiện dừng.

3.3.6. Giải thuật tối ưu hóa vi khuẩn tìm kiếm thức ăn:

Giải thuật tối ưu hóa vi khuẩn tìm kiếm thức ăn (Bacterial foraging Optimization algorithm – BFOA) là một kỹ thuật tìm kiếm ngẫu nhiên dựa trên trí thông minh bầy đàn hiệu quả được phát triển bởi Passino [54]. Gần đây, BFOA đã được áp dụng để giải quyết nhiều vấn đề tối ưu hóa trong hệ thống điện. Bất kỳ quá trình tiến hóa tự nhiên của sinh vật đều dựa trên tiêu chí thể lực cụ thể là khả năng tìm kiếm thức ăn và thay đổi hành vi.

Quy luật tiến hóa sẽ hỗ trợ khả năng tìm kiếm thức ăn các loài tốt hơn. Những loài này có khả năng sản xuất các loài tốt hơn trong thế hệ tương lai và do đó sự nhân giống trong chuỗi tiến hóa được tạo điều kiện. Tính chất của sự tiến hóa này là tối ưu hóa tìm kiếm.

Tương tự như phương pháp PSO, BFOA cũng sử dụng hệ số tổn thất LSF (Loss Sensitivity Factor) để xác định vị trí tối ưu cho tụ điện. Nút có giá trị cao nhất của LSF có nhiều sự lựa chọn hơn để đặt tụ. Một lợi thế khác của việc sử dụng phương pháp này là làm giảm không gian tìm kiếm của quá trình tối ưu hóa. Các giá trị của LSF được xếp theo thứ tự giảm dần cho tất cả đường dây và các nút có giá trị LSF cao nhất sẽ có nhiều sự lựa chọn hơn để chọn các vị trí ứng viên cho việc lắp đặt tụ.

Chiến lược tìm kiếm thức ăn của Escherichia coli như sau:

1. Chemotaxis: Chemotaxis có nghĩa là sự di chuyển của vi khuẩn liên quan đến bơi lội và nhào lộn (tumble). Nếu hành động được xác định trước đó thì được gọi là bơi lội và nếu theo hướng ngẫu nhiên nó thì được gọi là nhào lộn.

Tumble = (Hợp nhất chiều dài của chiều hướng ngẫu nhiên * chiều dài bước đi của vi khuẩn đó).

Nếu bơi lội, nó đã được xác định trước đó.

2. Swarming (tập hợp thành đàn): Có nghĩa là khuôn lề của nhiều vi khuẩn hướng đến nguồn thức ăn dồi dào nhất trong một mô hình đồng tâm với tỷ trọng vi khuẩn cao.

Một phần của tài liệu Áp dụng giải thuật tìm kiếm sinh vật lai tối ưu vị trí đặt tụ bù trong lưới điện phân phối có xét đến nhiều mức phụ tải khác nhau (Trang 65 - 82)

Tải bản đầy đủ (PDF)

(131 trang)