Xây dựng chương tính toán bài toán tối ưu hàm đa mc tiêu

Một phần của tài liệu Giá điện tou và ảnh hưởng giá điện tiêu thụ điện (Trang 50)

3.3.1. Sơ đồ thuật toán:

Từ quá trình tìm hiểu lý thuyết và tính toán bài toán tối ưu hai mục (3.5) và (3.6) ta có thể tổng quát hóa bài toán bằng sơ đồ thuật toán sau:

Hình 3.3: Lưu đồbài toán đa mục tiêu hàm P, Q - Tính phụ tải tại từng thời điểm khi áp giá TOU. - Tìm phụ tải lớn nhất và nhỏ nhất trước và sau khi áp giá TOU.

- Tính các hàm thuộc. - Kiểm tra các ràng buộc. - Tính hàm thích nghi. Thỏa các điều kiện dừng. Dừng Mã hóa giá TOU

3.3.2. Các bư c thực hi n:

Bước 1: Mã hóa giá TOU- tức là đưa về dạng nhị phân (0 1).

Bước 2: Áp dụng công thức tính tải theo từng giá TOU, tìm phụ tải lớn nhất maxQ và nhỏ nhất minQ trước và sau khi áp dụng giá TOU.

Bước 3: Tính các hàm thuộc (hàm thành viên cho từng mục tiêu), kiểm tra các ràng buộc.

Bước 4: Tính hàm thích nghi(hàm 2 mục tiêu).

Bước 5: Giải mô hình này; kết quả tối ưu sẽ đạt, có điều kiện dừng chương trình.

Chương 4

THU T TOÁN GEN DI TRUY N (GA)

4.1. Gi i thi u về thuật toán gen di truyền:

Thuật toán gen di truyền là một thuật toán tối ưu ngẫu nhiên dựa trên cơ chế chọn lọc tự nhiên và tiến hóa di truyền. Thuật toán di truyền được phát triển từ những năm 60và được ứng dụng rộng rãi trong bài toán tối ưu hóa và học tập của máy. Cũng giống như các thuật toán tiến hóa khác, thuật toán di truyền hình thành dựa trên quan niệm cho rằng các quá trình tiến hóa trong tự nhiên là hoàn hảo nhất, hợp lý nhất cho nên bản chất của nó là đã mang tính tối ưu. Quá trình tiến hóa trong tự nhiên thể hiện tính tối ưu chổ là các thể hệ sau luôn tốt hơn thế hệ trước thông qua quá trình thích nghi và đấu tranh sinh tồn. Thuật toán gen di truyền được xây dựng dựa trên nền tảng này có thể được dùng để giải quyết các vấn đề tuyến tính hay phi tuyến bằng cách tiến hành thử nghiệm tất cả các vùng không gian trạng thái có sựđột biến, lai tạo và chọn lọc.

4.1.1. Tính chất đặc thù của thuật toán gen di truyền (GA):

GA lập luận mang tính chất ngẫu nhiên (stochastic) thay vì mang tính xác định như trong toán học giải tích.

GA tiến hành xét duyệt tất cả các giải pháp, sau đó lựa chọn các giải pháp tốt nhất dựa trên hệ số thích nghi.

GA chỉ tập trung vào giải pháp mà không quan tâm đến chi tiết vấn đề.

GA thích hợp cho việc tìm điều kiện tối ưu cho việc điều hành và phân nhóm những giải pháp có được.

4.1.2. Các phép toán của thuật toán gen di truyền: 4.1.2.1. Phép tái sinh (Reproduction): 4.1.2.1. Phép tái sinh (Reproduction):

Tái sinh là quá trình chọn lọc để hình thành nên quần thể mới dựa trên độ thích nghi của từng các cá thể, trong đó cá thểnào có độthích nghi cao hơn sẽ có nhiều bản sao hơn trong quần thể mới, còn các cá thể có độ thích nghi kém hơn thì dần dần bị chết đi.

4.1.2.2. Phép lai ghép (Crossover):

Phép lai ghép là quá trình hình thành các cá thể mới dựa trên cơ s của các cá thể bố-mẹ, bằng cách ghép một hay nhiều đoạn gen giữa hai hay nhiều các cá thể bố-mẹ với nhau.

Mặc dù phép lai là ngẫu nhiên nhưng nó có thể giúp tạo ra những cá thể tốt hơn do thừa hư ng những đặc tính tốt từ các bố mẹcó đặc tính tốt được lựa chọn trong quá trình tái sinh.

4.1.2.3. Phép đ t biến (Mutation):

Đột biến là hiện tượng cá thể con có những đặc tính mà bố-mẹ chúng không có, nghĩa là chúng có những gen mà bố-mẹ chúng không có. Tỷ lệ đột biến thường xảy ra rất thấp, khoảng 0.001.

Đột biến có thể làm tăng khả năng tìm được lời giải tối ưu cho bài toán. Tuy nhiên nếu tỷ lệ đột biến quá cao thì thuật toán di truyền đôi khi lại gây tác động xấu hơn so với giải thuật tìm kiếm ngẫu nhiên.

4.1.2.4. Hàm thích nghi (Fitness function):

Hàm thích nghi là một hàm toán học biểu diễn, đo lường giá trị đặc trưng độ thích nghi của các cá thể trong quần thể.

Hàm thích nghi f(x) cho bài toán tìm cực tiểu hàm g(x):

ax ax ax ( ) ( ) ( ) 0 ( ) m m m C g x khi g x C f x khi g x C        

Cmax có thể lấy giá trị lớn nhất trong quấn thể hiện tại Hàm thích nghi f(x) cho bài toán tìm cực đại hàm g(x):

min min min ( ) ( ) 0 ( ) 0 ( ) 0 u x C khi u x C f x khi u x C          

Cmin có thể lấy giá trị tuyệt đối của u bé nhất trong quấn thể hiện tại

4.1.3. Cấu trúc tổng quát của m t thuật toán gen di truyền có d ng:

Thuật toán di truyền tổng quát bao gồm các bước sau:

Bước 1: Phát sinh quần thể ban đầu với các nhiễm sắc thể. Chọn mô hình cho giải pháp các vấn đề. Chỉđịnh cho mỗi giải pháp một ký hiệu.

Bước 2: Tìm hàm thích nghi và xác định độ thích nghi của các cá thể trong quần thể.

Bước 3: Dựa vào độ thích nghi của các cá thể, tiến hành các quá trình di truyền như Chọn lọc (hay Tái sinh), Lai ghép (hay Lai tạo) và Đột biến để tạo ra các quần thể mới.

Bước 4: Xác định lại độ thích nghi của các cá thể trong quần thể mới. Loại bỏ một số cá thể không phù hợp.

Bước 5: Nếu vẫn chưa tìm được giải pháp tối ưu thì tiếp tục thực hiện lại Bước 3. Còn nếu đã tìm được giải pháp hay quá trình tìm kiếm đạt đến một giá trị biên qui định thì dừng lại. Sau đó, tiến hành báo cáo kết quả.

4.2. Tối ưu bằng thuật toán gen di truyền trong Matlab 7.0: 4.2.1. Dùng Hàm tối ưu GA:

Hàm tối ưu bằng giải thuật gen di truyền được cho b i Matlab 7.0 có dạng tổng quát như sau:

[X,FVAL,REASON,OUTPUT,POPULATION,SCORES] =GA(FITNESSFCN,NAVRS,OPTIONS)

4.2.2. Dùng H p công c toán học GAOT:

Thuật toán gen di truyền ngoài cách thực hiện được bằng lệnh GA như đã trình bày trên. Matlab v.7.0 còn cung cấp cho chúng ta một hộp công cụ toán học (Toolbox) để thực hiện giải bái toán tối ưu bằng thuật toán GA.

Cách truy cập vào GAOT bằng cách như sau: Start menu -->Toolboxes -- >Genetic Algorithm and Direct Search -->Genetic Algorithm Tool. Hay bằng cách truy nhập từ cửa sổ Matlab:

Trong đó:

Các thông sốđầu vào:

X la chuỗi (cá thể) tôt nhât, nghĩa là kết quả cuôi cung.

FVAL là giá trị cuối cùng của hàm thích nghi (Final VALue).

REASON là Lý do dừng quá trình tính toán tìm tối ưu, lý do có thể là do: qui định số lần lặp, thời gian lặp, giá trị của hàm thích nghi cực tiểu,...

OUTPUT cho ta các giá tri tổng quan chung của quá trình tính toán tối ưu như số lần lặp, lý do dừng lặp, số lượng hàm đã thực hiện,…

POPULATION là giá trị của quần thể cuối cùng.

Các thông sốđầu ra:

FINESSFCN là Hàm thích nghi được qui định trong quá trình tính toán mô phỏng, thông thường sẽ là một .m file. Khi đó hàm thích nghi sẽ được khai báo là @filename, trong đó filename là tên của hàm thích nghi được sử dụng.

NAVRS là số lượng các biến của hàm thích nghi.

OPTIONS là tham sốqui định cho các quá trình tính toán của thuật toán, chẳng hạn như Loại quần thể, kích thước quần thể, số lần lặp, hàm lai ghép, hàm thích nghi, đồ họa quá trình,…

4.3.1. Ví d cho mô hình đáp ứng khách hàng tối ưu giá TOU ở Trung Quốc:

Số liệu ban đầu:

Tải tiêu thụ trong 24 giờ:

Thời gian T(h) Tải (MW) Thời gian T (h) Tải(MW) 1 57.8 13 66.49 2 65.9 14 68.38 3 56.49 15 67.93 4 57.54 16 69.26 5 59.70 17 71.28 6 61.33 18 68.54 7 62.46 19 66.68 8 64.44 20 73.12 9 68.00 21 72.52 10 69.73 22 67.43 11 71.05 23 62.09 12 66.50 24 60.13 Bảng 4.1: Tải tiêu thụ trong 24 giờ: Khả năng phản ứng khách hàng:

Cao điểm Bình thường Thấp điểm

Cao điểm ε11 -0.43 ε21 0.08 ε31 0.06

Bình thường ε13 0.08 ε22 -0.2 ε32 0.1

Thấp điểm ε13 0.06 ε23 0.1 ε33 -0.2 Bảng 4.2: Khảnăng phản ứng khách hàng:

Khi tiến hành thực hiện giá TOU, ta cần xác định và phân vùng thời gian: T= 24 giờ; Ta chia thành 3 giai đoạn thời gian sử dụng điện :

T1=8(h) : Thời gian giờcao điểm. T2=8(h) : Thời gian giờ bình thường. T3=8(h) : Thời gian giờ thấp điểm.

Bảng phân chia vùng thời gian

Giờcao điểm (8h) Giờbình thường (8h) Giờ thấp điểm (8h) 8:00 - 11:00 (3h) 7:00 - 8:00 (1h) 24:00 - 7:00 (8h) 18:00 - 23:00 (5h) 11:00 - 18:00 (7h)

Bảng 4.3: Bảng phân chia vùng thời gian Bảng giá:

Po= ¥0.4/kWh : Gía gốc. Giá của từng thời điểm:

P1: giá tại thời điểm giờcao điểm. P2: giá tại thời điểm giờbình thường. P3: giá tại thời điểm giờ thấp điểm. Tính phụ tải khi áp dụng giá TOU:

Phương trình đáp ứng khách hàng: ' (1 d tb)( ' ) i i im i m m tb P Q Q P P        

Các điều kiện ràng buộc: Qtb1 > Qtb2 > Qtb3 và 1min 1 1max 2min 2 2max 3min 3 3max P P P P P P P P P      

Bài toán tối ưu giá TOU:

      )) min( ) min(max( min )) min(max( min 2 1 i i i Q Q f Q f

Phương pháp Gen di truyền được sử dụng để giải quyết bài toán tối ưu giá TOU

Mục đích của luận văn này là tìm ra giá TOU tối ưu để thỏa mãn hàm hai mục tiêu: giảm thiểu tối đa công suất tải tiêu thụ cực đại và giảm thiểu tối đa sự khác biệt công suất tải tiêu thụ giữa giờ cao điểm và giờ thấp điểm nhằm mục đích san phẳng đồ thị tải.

Để tìm giá TOU tối ưu tiến hành mô phỏng tính toán để Cực tiểu hàm:

1 2

_1. ( ( )) _ 2. ( ( ))

CWf xWf x

Trong đó:

W_1, W_2: là các trọng sốtương ứng với các hệ số tin cậy. Giá trị của các trọng sốnày được chọn lần lượt là: W_1, W_2=(0 1), W_1+W_2=1.

Việc thay đổi các trọng số W của từng hệ số sẽ quyết định đến việc các phương án tối ưu khi hội tụ sẽtheo xu hướng nào, nghĩa là nếu trọng số nào cao thì kết quả tối ưu tìm được sẽ có khuynh hướng đáp ứng tốt nhất đối với chỉ tiêu tin cậy đó.

Các giá trị mong muốn của các chỉ tiêu độ tin cậy có thể được chọn bằng giá trị nhỏ nhất của các độ tin cậy tìm được trong quá trình mô phỏng.

Lập trình Matlab của hàm thích nghi sử dụng cho việc mô phỏng tìm giá TOU tối ưu được cho trong Phụ lục.

4.3.3. Mã hóa biểu di n giá TOU:

Như đã nói trên, giải thuật di truyền là một tiến trình nghiên cứu đánh giá một quần thể với một tập lớn các cá thể(cũng chính là nghiệm của bài toán tối ưu đang khảo sát, tức là tập tất cả các giá TOU). Trong đó, mỗi cá thể tương ứng với một chuỗi các nhiễm sắc thể khác nhau và có thể được mã hóa thành nhiều dạng khác nhau. đây, chọn kiểu mã hóa các nhiễm sắc thể thành chuỗi các bit nhị phân (0 và 1).

Nhận thấy rằng, Giá điện tại các thời điểm tương ứng với kiểu mã hóa các nhiễm sắc thể của các cá thểnhư sau:

1, 0, 0, 0, 1, 0, 1, 1 , 0 ; 0, 0, 0, 1, 0, 1, ………, 0, 1, 0, 1

F(1) F(2) F(3)

Trong đó, F(i) là giá TOU tại từng thời điểm (cao điểm, bình thường, thấp điểm).

Hàm kh i tạo quần thể ban đầu để tính toán (dạng bit string) khi dùng giải thuật gen di truyền được cho b i hàm @gacreationuniform.m có sẵn và mặc định trong Matlab. Hàm này sẽ tạo ra một quần thể ban đầu ngẫu nhiên bất kỳ. Một quần thể gồm 20 cá thể, mỗi cá thể được đặc trưng bằng một nhiễm sắc thể được tạo b i đoạn chương trình trong Matlab sau:

options = gaoptimset('PopulationType','bitString'); NVARS = 15; FitnessFcn = @ackelyfcn;

pop = gacreationuniform(NVARS,FitnessFcn,options) Thu được kết quả sau:

pop = Columns 1 through 18 0 0 1 1 0 1 1 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 1 0 0 1 1 1 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 0 1 1 1 1 0 0 0 1 0 0 1 0 1 1 1 0 0 0 1 0 0 0 1 0

0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 1 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 0 0 1 1 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 1 1 1 1 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 1 0 0 0 0 0 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1

4.3.4. Lập trình tính toán cho bài toán tối ưu giá bằng gi i thuật gen di truyền truyền

Dựa theo nguyên lý hoạt động của việc giải bài toán tối ưu bằng giải thuật gen di truyền như đã trình bày trên. Tiến hành khai báo các tham sốnhư sau:

Hàm thích nghi (Fitness function): được lập trình thành một hàm trong Matlab dưới tên Fitness_func.m (Phụ lục).

Số lượng các biến của hàm thích nghi (Number of Variable): cho b i tham số k ( ví d thì k=15 ).

Kiểu quần thể (PopulationType): được khai báo định dạng ‘bit string’ do chọn kiểu mã hóa là kiểu chuỗi nhị phân.

Kích thước của quần thể (PopulationSize): chọn kích thước quần thể là ‘20’ cá thể. Hàm kh i tạo (Creation function): kiểu mặc định, tức Uniform (lấy từ hàm gacreationuniform.m viết sẵn b i Matlab).

Hàm sắp xếp lại quần thể (Fitness scaling function): kiểu mặc định, tức kiểu xếp hạng ‘Rank’ (lấy từ hàm fitscalingrank.m viết sẵn b i Matlab).

Hàm lựa chọn (Selection function): chọn ‘Roulette’ (cho b i hàm

selectionroulette.m viết sẵn b i Matlab).

Luật tái sinh (Reproduction): kiểu mặc định, nghĩa là số cá thể không thay đổi được giữ lại cho thế hệ sau là ‘2’.

Luật lai ghép (Crossover): theo mặc định kiểu ‘Scatted’ với tỷ lệ chọn là ‘0.8’. Luật đột biến (Mutation): theo mặc đinh kiểu ‘Gauss’ với Scale=1 và Shrink=1.

Luật di cư (Migration): theo mặc định, nghĩa là di cư về trước ‘forward’ với khoảng cách giữa các lần di cư là ‘20’ thế hệ với tỷ lệ là ‘0.2’.

Điều kiện dừng (Stopping Criteria): định số thế hệ khảo sát (Generations) là

‘2000’, Thời gian giới hạn (Time Limit) là dương vô cùng ‘Inf’, Giá trị thích nghi tới hạn (Fitness Limit) là âm vô cùng ‘-Inf’, Số lần lặp giới hạn tại vị trí tối ưu

(Stall Generations) là ‘1000’, Thời gian giới hạn tại vị trí tối ưu (Stall Time Limit) là ‘1800’ giây.

Chức năng hiển thị ra cửa sổ chính (Display to Command window): theo mặc định, tức ‘off’nghĩa là không hiển thị.

Hàm xuất giá trị đầu ra (Output function): chọn cho phép xuất theo từng mỗi thế hệ.

Ngõ ra dạng có hướng (Vectorize): mặc định, tức ‘off’nghĩa là giá trị đầu ra dạng vô hướng.

Các lệnh vẽ (Plot functions): chọn vẽ tất cả các thông số di truyền theo từng mỗi thế hệđể khảo sát và đánh giá.

Tất cả các thông số kể trên được khai báo và lập trình tính toán tối ưu trong function được cho Phụ lục.

Trường hợp dùng Hộp công cụ GAOT để khảo sát tối ưu thì tiến hành khai báo như sau:

Chương 5

K T QU MÔ PH NG VÀ NH N XÉT

5.1. Kết qu mô phỏng

Kết mô phỏng như sau dùng giải thuật GA theo cấu trúc hàm tối ưu (Phụ lục ) là: Q_max_moi = 70.5392 delta_max_moi = 11.6200 X = 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 FVAL = 0.5319 REASON = 1 OUTPUT = problemtype: 'unconstrained' rngstate: [1x1 struct] generations: 1001 funccount: 20040

message: 'Optimization terminated: average change in the fitness value less than options.TolFun.' SCORES = 0.5583 0.5583 0.5583 0.5590

0.5583 0.5583 0.5583 0.5583 0.5583 0.5583 0.5583 0.5583 0.5583 0.5583 0.5583 0.5610 POPULATION = 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1

Một phần của tài liệu Giá điện tou và ảnh hưởng giá điện tiêu thụ điện (Trang 50)

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

(77 trang)