CHƯƠNG 1: PHÂN TÍCH ẢNH HƯỞNG CỦA CÁC THÔNG SỐ TRONG THUẬT GIẢI DI TRUYỀN TỚI KẾT QUẢ
1.3 Phân tích ảnh hưởng của thông số trong hàm phạt tới nghiệm của bài toán
Như ta đã đề cập, thuật toán di truyền chỉ giải quyết bài toán tối ưu không có ràng buộc, để biến bài toán tối ưu có ràng buộc về bài toán tối ưu không ràng buộc thông thường ta sử dụng phương pháp hàm phạt.
Thực hiện phân tích với dạng hàm phạt được đưa ra như sau:
ncon 2
(ctr) (ctr) (i)
i=0
fval = fval + mu×∑cons với cons(i) >0
Trong đó:
mu: Thông số phạt, thay đổi trong quá trình tính toán
ncon : Số ràng buộc bị vi phạm cons(i) : Ràng buộc thứ i bị vi phạm fval(ctr): Giá trị hàm thích nghi ở lần lặp thứ ctr
Với phương pháp này, giá trị mu sẽ
Hình 4.1.2: Thuật toán hàm phạt Bắt đầu
Thiết lập các thoâng soá ban đầu, chọn mu, mumax, Pstep Khởi tạo quần thể
Ctr=0
Sử dụng thuật toán di truyền với quần thể khởi tạo
Giải tìm nghiệm x* và giá trò thích nghi fval
Với x*; xác định các ràng buộc bị vi phạm , neáu ∃ gi (x) >0
Aùp đặt hàm phạt
ncon
(ctr) (ctr) (i)
i=0
fval = fval + mu×∑cons fval=fval
Kiểm tra điều kiện hội tụ
fval(ctr) - fval(ctr-1) < pTol và ncon=0 (Với ncon là số ràng buộc bị vi phạm)
ctr=ctr+1 mu=min[mu×Pstep
; mumax]
Keát thuùc Đúng
Sai Đúng
Sai
Phần4: Nghiên cứu bằng số Chương 1: Ảnh hưởng của các thông số…
Trang 67
tăng sau mỗi quá trình lặp theo một hệ số nhân cụ thể là Pstep . Bên cạnh đó phải khống chế giá trị mu không cho vượt quá một giá trị mumax.
Tức là mu(ctr) = mu(ctr+1) × Pstep ; mu=min [mu(ctr) ;mumax]
Thuật toán áp đặt hàm phạt như hình 4.1.2 trang 66:
Với các thông số đã chọn trên và số cá thể tính toán trong quần thể là 30, ta sẽ khảo sát sự thay đổi của 2 giá trị Pstep và mumax với giá trị mu khởi đầu bằng 10.
Để đánh giá một cách tốt nhất về sự phạt, ta cho quần thể khởi đầu nằm ngoài miền khả thi, tức là ta cho một vài ràng buộc bi vi phạm ngay tại quần thể khởi tạo.
Ta lấy quần thể khởi tạo như sau:
x = [x1 , x2 , x3 , x4 , x5 , x6 ]= [ -1 100 30.658 43.5 36 160 ]
Như vậy với nghiệm khởi tạo này có 6 ràng buộc đã bị vi phạm, đó là các ràng buộc 2,5,8,15,17 và 19
Với mumax= 1019 và Pstep =100, khảo sát đối với sự thay đổi của mu(Giá trị ban đầu) tới kết quả:
Kết quả chạy được thể hiện trong bảng sau:
Số lần lặp x1 x2 x3 x4 x5 x6
mu (ctr)
Giá trị thích nghi
(USD/cm) (cm) (cm) (cm2) (cm) (cm) (cm) 5 8 0.63945 8.0057 8.0012 34.061 23.305 39.573 140.41 10 6 0.6486 8.0374 8.0066 34.956 27.456 31.315 151.1 20 7 0.64024 8.0003 8.0078 34.27 29.931 39.862 129.84 30 7 0.63962 8.0028 8.0031 34.219 26.815 37.953 137.53 100 7 0.63967 8.0083 8.0134 34.232 28.423 38.813 133.64 500 8 0.65532 8.004 8.0036 35.754 41.928 31.321 137 1000 9 0.64016 8.002 8.0007 33.34 14.638 53.301 140.75 2000 10 0.63664 8.003 8.0002 33.851 26.555 43.099 128.57 5000 11 0.64516 8.0002 8.0023 34.776 28.774 33.017 145.28 10000 13 0.63921 8.0046 8.0092 34.186 28.216 39.296 133 50000 9 0.63806 8.0041 8.0078 34.015 25.218 39.888 136.31 100000 8 0.64426 8.001 8.0236 34.742 30.524 34.134 140.56
Bảng 4.1.3
Phần4: Nghiên cứu bằng số Chương 1: Ảnh hưởng của các thông số…
Trang 68
Hình 4.1.3: Quan hệ giữa giá trị mu khởi đầu và giá trị của hàm mục tiêu
Hình 4.1.4: Quan hệ giữa giá trị mu khởi đầu và tốc độ hội tụ
Qua kết quả trên ta thấy, giá trị khởi đầu của mu không ảnh hưởng đến “ độ tốt” của giá trị hàm mục tiêu. Tuy nhiên, nhìn chung ta thấy đối với mu nhỏ thì số lần lặp sẽ ít hơn do đó thời gian giải bài toán sẽ ít hơn. Điều này có thể được giải thích như sau: Lúc ban đầu, sau khi quần thể được khởi tạo thì số ràng buộc bị vi phạm thường rất nhiều, lúc đó giá trị thích nghi của bài toán sẽ rất lớn do bị tác
Phần4: Nghiên cứu bằng số Chương 1: Ảnh hưởng của các thông số…
Trang 69
động bởi hàm phạt ( cộng thêm giá trị mu × ∑ cons(i)2). Qua thử nghiệm sau nhiều lần giải bài toán ta nhận thấy, các ràng buộc bị vi phạm hầu như được xử lý ngay trong lần lặp đầu tiên, chỉ còn lại một số ít ràng buộc bị vi phạm. Do đó với hệ số mu ban đầu vừa phải thì các ràng buộc không những được xử lý tốt má giá trị của hàm mục tiêu cũng dễ hội tụ hơn. Thử nghiệm cho thấy giá trị mu = 10 là hợp lý.
Ta tiếp tục khảo sát sự thay đổi giá trị mumax đối với Pstep = 100 và mu=10
mumax Số lần lặp x1 x2 x3 x4 x5 x6
(ctr) Giá trị thích nghi
(USD/cm) (cm) (cm) (cm2) (cm) (cm) (cm)
1.00E+00 Không hội tụ
2.00E+00 Không hội tụ
5.00E+00 Không hội tụ
5.00E+01 18 0.6384 8.0027 8.0034 34.062 25.669 39.418 136.46 7.50E+01 11 0.6373 8.0144 8.0137 33.875 24.024 41.287 135.77 1.00E+02 10 0.6452 8.0003 8.002 34.825 30.576 32.847 143.3 1.00E+03 7 0.6371 8.0031 8.002 33.921 26.012 41.47 132.2 1.00E+05 6 0.64675 8.028 8.0459 34.948 31.522 32.227 143.61 1.00E+09 9 0.63482 8.0019 8.0083 33.551 22.195 45.253 132.41 1.00E+12 9 0.6435 8.003 8.016 34.614 32.556 37.548 131.32 1.00E+15 11 0.6388 8.0006 8.0033 33.896 21.341 41.545 140.65 1.00E+17 8 0.6421 8.0009 8.0004 34.475 31.33 38.52 130.81 1.00E+19 8 0.6438 8.0084 8.0159 34.694 31.476 35.063 137.46 1.00E+23 7 0.6436 8.0061 8.0216 34.651 29.718 34.269 141.14
Bảng 4.1.4
Phần4: Nghiên cứu bằng số Chương 1: Ảnh hưởng của các thông số…
Trang 70
Hình 4.1.5: Quan hệ giữa giá trị mumax và giá trị của hàm mục tiêu
Hình 4.1.6: Quan hệ giữa giá trị mumax và tốc độ hội tụ
Khi cho giá trị mumax =1,2,5 ta nhận thấy, phép toán không thể hội tụ được ( quá trình lặp không thể chấm dứt) vì các ràng buộc bị vi phạm (ncon>0), do mức
Phần4: Nghiên cứu bằng số Chương 1: Ảnh hưởng của các thông số…
Trang 71
độ phạt không đủ để bài toán có thể thoát ra khỏi vùng không khả thi. Đến giá trị mumax = 75 thì bài toán mới bắt dầu cho kết quả hội tụ. Như vậy giá trị mumax phải lớn đến một giá trị nhất định thì các ràng buộc mới được xử lý tốt. Tuy nhiên khi mumax quá lớn thì giá trị của hàm mục tiêu ( nếu có ràng buộc bị vi phạm) sẽ lớn điều đó dẫn đến nghiệm hội tụ của bài toán không tốt. Qua trên, ta có thể lấy giá trị mumax = 109.
Như vậy ta sẽ lấy giá trị mu=10; Pstep=100 và mumax=109