Cơ chế thực hiện của thuật giải di truyền a Mã hóa cách biểu diễn Bước đầu tiên trong thuật giải di truyền là mã hóa, ánh xạ một xâu với chiều dài hữu hạn sang các tham biến của bài to
Trang 1THÀNH PHỐ HỒ CHÍ MINH
CÔNG TRÌNH NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG
ỨNG DỤNG GIẢI THUẬT GENE TRONG BÀI TOÁN TỐI ƯU HÓA
MÃ SỐ: T43-2003
Tp Hồ Chí Minh, 2005
S 0 9
S KC 0 0 1 5 3 8
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
ĐỀ TÀI NCKH CẤP TRƯỜNG
ỨNG DỤNG GIẢI THUẬT GENE TRONG
BÀI TOÁN TỐI ƯU HÓA
MS: T43-2003
THUỘC NHÓM NGÀNH : KHOA HỌC KỸ THUẬT
NGƯỜI CHỦ TRÌ : GVC ThS NGUYỄN ĐỨC TÔN NGƯỜI THAM GIA : GVC ThS ĐẶNG THANH TÂN
: Ths VÕ PHƯƠNG THỨC
ĐƠN VỊ : KHOA KỸ THUẬT CƠ SỞ
TPHCM 2/2005
Trang 3MỤC LỤC
2.2 Thuật giải di truyền trong tối ưu kết cấu 13
Trang 4ĐỀ TÀI:
ỨNG DỤNG GIẢI THUẬT GENE TRONG
BÀI TOÁN TỐI ƯU HÓA
1 ĐỐI TƯỢNG NGHIÊN CỨU
Khi sử dụng thiết kế truyền thống, người thiết kế kết cấu phải đương đầu với một số khó khăn:
Kỹ năng và kinh nghiệm của người thiết kế, điều này có thể dẫn đến các thiết kế hoàn toàn khác nhau
Sự phức tạp của kết cấu xem xét gây khó khăn phải phân tích lại và thiết kế lại liên tiếp
Khó khăn trong việc xử lý các trường hợp tải trọng có thể xảy ra
Công năng kết cấu khiến người thiết kế không đạt được thiết kế kinh tế
Có nhiều phương pháp thiết kế và phân tích cho người thiết kế lựa chọn, và điều này khiến họ bối rối trong việc chọn phương pháp thích hợp
Vì vậy, thiết kế tối ưu trở thành một đề tài nghiên cứu hấp dẫn và được các chuyên gia đề nghị sử dụng khi thiết kế Thiết kế tối ưu bao gồm các vấn đề chọn thông số hình học và đặc tính cường độ cơ học cho cấu kiện kết cấu Sự lựa chọn này bao gồm việc tìm kiếm lời giải cực trị thoả mãn các tiêu chuẩn cho trước, sự tìm kiếm được thực hiện bằng cách khách quan và hợp lý, điều này không thể dựa trên trực giác hay năng lực của người thiết kế Vì vậy thiết kế tối ưu là bài toán thiết kế tổng quát Nó bao gồm việc lựa chọn kích thước tiết diện và kiểm tra theo tiêu chuẩn yêu cầu Nhiệm vụ của thiết kế tối
ưu là bao quát tất cả các thông số kết cấu để lời giải của bài toán tối ưu phải là thiết kế kết cấu hoàn hảo
Thuật giải di truyền đáp ứng được tất cả những yêu cầu đó Thuật giải di truyền (GA) là thuật giải tìm kiếm trên cơ chế chọn lọc và di truyền tự nhiên Lý thuyết và thực tiễn đã chứng minh tính hiệu quả và độ tin cậy của GA đối với các không gian bài toán phức tạp
GA là kỹ thuật giúp giải quyết vấn đề bắt chước theo sự tiến hoá của sinh vật, trong điều kiện quy định sẵn của môi trường, GA không chú trọng đến giải pháp duy nhất và chính xác như các phương pháp tìm kiếm cổ điển, trái lại GA xét đến toàn bộ các giải pháp và lựa chọn lấy giải pháp tốt nhất nếu không nói là tối ưu
GA là một thuật giải tìm kiếm theo nhóm (còn gọi là quần thể) GA tuy dựa trên tính ngẫu nhiên nhưng có hướng dẫn bởi hàm thích nghi, GA không phải là thuật toán ngẫu
Trang 5nhiên đơn giản, GA khai thác hiệu quả thông tin tiền sử chứa trong các chuỗi mã hoá để khám phá những điểm tìm kiếm mới nhằm cải thiện cơ hội đạt tới một giải pháp tốt hơn
Ưu điểm của GA có thể tóm tắt như sau:
GA làm việc dưới dạng mã hoá các biến thiết kế, điều này cho phép áp dụng đối với các biến liên tục cũng như biến rời rạc
GA làm việc với các hàm, không cần các thông tin về đạo hàm
Khả năng áp dụng đối với nhiều dạng kết cấu phức tạp, dưới nhiều điều kiện và tải trọng
Khả năng cho nhiều lời giải, cho phép lựa chọn lời giải phù hợp nhất
2 CƠ SỞ LÝ THUYẾT [8]
2.1 Thuật giải di truyền đơn giản
2.1.1 Cơ chế thực hiện của thuật giải di truyền
a) Mã hóa cách biểu diễn
Bước đầu tiên trong thuật giải di truyền là mã hóa, ánh xạ một xâu với chiều dài hữu hạn sang các tham biến của bài toán tối ưu
Tham biến x thuộc [Umin; Umax] sẽ được biểu diễn bởi chuỗi nhị phân có chiều dài L L bit mã hóa x ứng với giá trị trong miền [0; 2L] sẽ được ánh xạ lên các giá trị thuộc miền xác định [Umin; Umax] Theo cách này chúng ta có thể kiểm soát miền giá trị của các biến và tính chính xác của chúng Tỷ lệ co dãn của ánh xạ này được cho bởi:
12
min max
Thí dụ: Mã hóa cho 10 biến được cho bởi:
Trang 6Chỉ đơn giản tạo pop_size (số cá thể trong quần thể) nhiễm sắc thể ngẫu nhiên theo từng bit Theo quan điểm của thuật giải tìm kiếm thì việc tạo pop_size cá thể cũng như việc tìm kiếm theo pop_size hướng trong không gian tìm kiếm
c) Tiến trình chọn lọc
Toán tử chọn lọc là thao tác xử lý trong đó mỗi cá thể được bảo lưu cho vòng tạo sinh tiếp sau tùy thuộc vào giá trị thích nghi của nó Toán tử này là một phiên bản mô phỏng của quá trình chọn lọc tự nhiên Giá trị thích nghi được xác định đối với mỗi cá thể trong quần thể Ta dùng bánh xe quay Ru lét với các rãnh được định kích thước theo độ thích nghi Ta xây dựng bánh xe Ru lét như sau (giả định rằng, các độ thích nghi đều dương, trong trường hợp ngược lại thì ta có thể dùng vài phép biến đổi tương ứng để định lại tỷ lệ sao cho các độ thích nghi đều dương):
Tiến trình chọn lọc được thực hiện bằng cách quay bánh xe Ru lét pop_size lần, mỗi lần chọn một nhiễm sắc thể từ quần thể hiện hành vào quần thể mới theo cách sau:
Phát sinh ngẫu nhiên một số r trong đoạn [0,1]
Nếu r < q1 thì chọn nhiễm sắc thể đầu tiên (v1), ngược lại thì chọn nhiễm sắc thể thứ i, vi (i=2…pop_size) sao cho q i1rq i
Hiển nhiên có thể sẽ có một số nhiễm sắc thể được chọn nhiều lần Điều này phù hợp với lý thuyết sơ đồ: các nhiễm sắc thể tốt nhất sẽ có nhiều bản sao hơn, các nhiễm sắc thể trung bình không thay đổi, các nhiễm sắc thể kém nhất sẽ chết đi
d) Toán tử lai tạo
Một trong những tham số của hệ di truyền là xác suất lai pc Xác suất này cho ta số nhiễm sắc thể pop_size xpc mong đợi, các nhiễm sắc thể này được dùng trong tiến trình lai tạo Ta tiến hành theo cách sau đây:
Phát sinh ngẫu nhiên một số r trong đoạn [0,1]
Nếu r < pc thì chọn nhiễm sắc thể đó để lai tạo
Bây giờ ta ghép đôi các nhiễm sắc thể đã chọn được một cách ngẫu nhiên: đối với
mỗi cặp nhiễm sắc thể được ghép đôi, ta phát sinh ngẫu nhiên một số nguyên pos trong đoạn [1, m-1] (m là tổng chiều dài – số bit – của một nhiễm sắc thể) Số pos cho biết vị
trí của điểm lai Đây được gọi là cách lai đơn điểm
Hai nhiễm sắc thể:
(b1b2… bposbpos+1…bm) và (c1c2… cposcpos+1…cm) được thay bằng cặp con của chúng:
(b1b2… bposcpos+1…cm) và
Trang 7(c1c2… cposbpos+1…bm)
e) Toán tử đột biến
Phép đột biến được thực hiện trên cơ sở từng bit Một tham số khác của hệ thống
di truyền pm, cho ta số bit đột biến pop_size xpm mong đợi Mỗi bit (trong tất cả các nhiễm sắc thể trong quần thể) có cơ hội đột biến như nhau, nghĩa là đổi từ 0 thành 1 hoặc ngược lại Đối với mỗi nhiễm sắc thể trong quần thể hiện hành (nghĩa là sau khi lai) và đối với mỗi bit trong nhiễm sắc thể ta tiến hành theo cách sau đây:
Phát sinh ngẫu nhiên một số r trong đoạn [0,1]
Nếu r < pm thì đột biến bit đó
Sau quá trình chọn lọc, lai và đột biến, quần thể mới đến lượt lượng giá kế tiếp của nó Lượng giá này được dùng để xây dựng phân bố xác suất (cho tiến trình chọn lựa kế tiếp), nghĩa là, để xây dựng lại bánh xe Ru lét với các rãnh được định kích thước theo các giá trị thích nghi hiện hành Phần còn lại của tiến hóa chỉ là lặp lại chu trình của những bước trên
2.1.2 Nguyên lý hoạt động của thuật giải di truyền
Nền tảng lý thuyết của thuật giải di truyền dựa trên biểu diễn chuỗi nhị phân và lý thuyết sơ đồ Một sơ đồ là một chuỗi, dài bằng chuỗi nhiễm sắc thể, các thành phần của nó có thể nhận một trong các giá trị trong tập ký tự biểu diễn gen hoặc một ký tự đại diện ‚*‛ Sơ đồ biểu diễn một không gian con của không gian tìm kiếm Không gian con này là tập tất cả các chuỗi trong không gian lời giải mà với mọi vị trí trong chuỗi, giá trị của gen trùng với giá trị của sơ đồ; ký tự đại diện ‚*‛ có thể trùng khớp với bất kỳ ký tự biểu diễn gen nào
Thí dụ, các chuỗi và sơ đồ có chiều dài 10 Sơ đồ (*111100100) sẽ khớp với hai chuỗi:
Trang 8S1 = (* * * 0 0 1 * 1 1 0)
S2 = (* * * * 0 0 * * 0 *)
S3 = (1 1 1 0 1 * * 0 0 1) Có bậc tương ứng là o(S1)=6; o(S2)=3; o(S3)=8
Khái niệm bậc của sơ đồ giúp cho việc tính xác suất sống còn của sơ đồ do ảnh hưởng của đột biến
Chiều dài xác định của sơ đồ S (ký hiệu là (S)) là khoảng cách giữa hai
vị trí cố định ở đầu và cuối Nó định nghĩa ‘độ nén’ của thông tin chứa trong một sơ đồ Thí dụ:
Trang 9Chọn lọc:
Giả sử quần thể có kích thước popsize=20, chiều dài của chuỗi (cũng là chiều dài của các sơ đồ) là m=33 Giả sử thêm rằng ở thế hệ thứ t quần thể gồm có các chuỗi sau đây:
Trang 10Đặt (S,t) là số chuỗi trong quần thể ở thế hệ t phù hợp với sơ đồ S Thí dụ đối với sơ đồ:
S0 = (****111**************************)
thì (S0,t) = 3 vì có 3 chuỗi v13, v15, v16 phù hợp với sơ đồ S0 Chú ý rằng bậc của
sơ đồ S0, o(S0) = 3 và chiều dài xác định của nó o(S0) = 7-5 = 2
Gọi eval(S,t) là độ thích nghi của sơ đồ S ở thế hệ t Giả sử có p chuỗi (vi1, …, vip) trong quần thể phù hợp với sơ đồ S vào thời điểm t thì:
eval(S,t)=
p
v eval
= eval(vi)/F(t), trong đó F(t) là tổng độ thích nghi của toàn quần thể vào thời điểm t, F(t)=
(S,t+1) = (S,t)*eval(S,t)/ F (t) (2.5) Nói cách khác, số chuỗi trong quần thể tăng bằng với tỷ lệ độ thích nghi của sơ đồ với độ thích nghi trung bình của quần thể Điều này có nghĩa là sơ đồ ‚trên trung bình‛ sẽ nhận được thêm số chuỗi trong quần thể kế tiếp, sơ đồ ‚dưới trung bình‛ nhận số chuỗi giảm đi, còn sơ đồ trung bình vẫn giữ nguyên mức
Nếu ta cho rằng sơ đồ S vẫn giữ trên trung bình % (nghĩa là eval(S,t)=F + (t) *F ) thì: (t)
(S,t) = (S,0)(1+)t (2.6)
trong đó: = (eval(S,t)-F )/ (t) F ) (t)
> 0 đối với sơ đồ trên trung bình
< 0 đối với sơ đồ dưới trung bình
Trang 11Như vậy, ta có thể nói rằng, chẳng những một sơ đồ ‚trên trung bình‛ nhận số chuỗi tăng lên trong thế hệ kế tiếp mà nó cũng tiếp tục nhận số chuỗi tăng theo lũy thừa trong các thế hệ kế tiếp
Ta gọi phương trình (2.5) là phương trình tăng trưởng sinh sản của sơ đồ
Trở về ví dụ trên Vì có 3 chuỗi v13, v15, v16 (vào thời điểm t) phù hợp với sơ đồ
S0, độ thích nghi eval(S0) của sơ đồ là:
eval(S0, t) = (27.316702+30.060205+23.867227)/3 = 27.081378 và độ thích nghi trung bình của toàn quần thể là:
388841
1920/776822
387_
/)()
sơ đồ S0 (nghĩa là 4 hoặc 5), vào thời điểm t+2: 3*1.3967512 = 5.85 chuỗi như vậy (nghĩa là gần 6 chuỗi), vv…
Dễ thấy rằng, sơ đồ S0 như vậy xác định một phần hứa hẹn của không gian tìm kiếm và số mẫu đại diện của nó trong quần thể sẽ tăng theo lũy thừa
Ta sẽ kiểm tra dự đoán này vào thí dụ của ta, với sơ đồ S0 Trong quần thể vào thời điểm t, sơ đồ S0 phù hợp với 3 chuỗi v13, v15, v16 Sau quá trình chọn lọc, quần thể mới gồm các nhiễm sắc thể sau:
Trang 12Sơ đồ S0 bây giờ phù hợp với 5 chuỗi 'v7, 'v11, 'v18, 'v19, 'v20
Tuy nhiên, chỉ riêng phép chọn lọc thì không giới thiệu một điểm mới nào đáng lưu tâm từ không gian tìm kiếm, chọn lọc chỉ sao chép một số chuỗi để hình thành quần thể trung gian Vì thế bước thứ hai của chu kỳ tiến hóa tái kết hợp, có nhiệm vụ giới thiệu những cá thể mới trong quần thể Điều này được thực hiện bởi các phép toán di truyền: lai và đột biến Ta lần lượt xem xét tác động của hai phép toán này trên một số
sơ đồ trong quần thể
Tuy nhiên sơ đồ S1 có thể bị phá vỡ không con nào phù hợp với nó Lý do là các
vị trí cố định ‘111’ ở đầu và và các vị trí cố định ‘10’ ở cuối được đặt vào con khác
Trang 13Rõ ràng là chiều dài xác định của sơ đồ đóng vai trò quan trọng trong xác suất bị loại bỏ hay tồn tại của sơ đồ Chú ý rằng chiều dài xác định của sơ đồ S0 là (S0) = 2, còn chiều dài xác định của sơ đồ S1 là (S1) = 32 Chiều dài xác định càng nhỏ thì sơ đồ đó càng dễ tồn tại
Các vị trí lai trong số m-1 vị trí có cơ hội được chọn ngang nhau Điều đó có nghĩa là xác suất bị loại của sơ đồ S là:
1
)()(
m
s S
Và xác suất tồn tại là:
1
)(1)(
)(
Thí dụ với pc = 0.25 thì xác suất tồn tại của sơ đồ S0 là:
ps(S0) = 1-0.25*2/32 = 63/64 = 0.984375
Cũng chú ý rằng ngay cả khi đã chọn một vị trí lai trong số các vị trí cố định trong
một sơ đồ, sơ đồ vẫn có cơ may tồn tại Thí dụ, nếu cả hai chuỗi 'v13 và 'v18 đều bắt đầu với ‘111’ và tận cùng bằng ‘10’, thì sơ đồ S1 vẫn tồn tại nhưng xác suất của hiện tượng này rất nhỏ Do đó ta nên hiệu chỉnh công thức xác suất tồn tại của sơ đồ:
1
)(1
)(
,()1,(
m
S p t
F t S eval t S t
Phương trình trên cho biết kỳ vọng số chuỗi phù hợp với sơ đồ S trong thế hệ kế tiếp là hàm của số chuỗi đúng của sơ đồ, về độ thích nghi tương đối củ sơ đồ và chiều dài xác định của nó Rõ ràng là chiều dàai trên trung bình có chiều dài xác định ngắn vẫn có thể có số chuỗi cá thể khớp với nó và tốc độ tăng theo luỹ thừa
Thí dụ đối với sơ đồ S0:
Trang 141984375
0
*396751
11
)(.1)(/),(
S p t
F t S
Điều này có nghĩa là sơ đồ ngắn, trên trung bình S0 vẫn nhận được số chuỗi tăng theo lũy thừa trong các thế hệ tiếp theo: vào lúc (t + 1) ta có 3*1.374927 = 4.12 chuỗi phù hợp với S0 Vào lúc (t + 2) ta có 3*1.3749272 = 5.67 chuỗi như vậy
Đột biến:
Phép toán kế tiếp được bàn đến là đột biến Phép đột biến thay đổi một vị trí trong nhiễm sắc thể một cách ngẫu nhiên với xác suất pm Thay đổi từ 0 thành 1 hay ngược lại Rõ ràng là tất cả các vị trí cố định của sơ đồ phải giữ không đổi nếu sơ đồ muốn tồn tại qua đột biến
Thí dụ, xét một chuỗi trong quần thể, chẳng hạn như chuỗi:
Vì xác suất thay đổi của một bit là pm nên xác suất tồn tại của một bit là 1-pm.Một lần đột biến độc lập với các đột biến khác, vì thế xác suất tồn tại của sơ đồ S qua đột biến là:
ps(S) = (1-pm)o(S) (2.12)
Do pm <<1, xác suất này có thể tính gần đúng là:
ps(S) 1- o(S)* pm (2.13) Thí dụ sơ đồ S0 với pm = 0.01 thì:
ps(S0) 1- 3* 0.01 = 0.97 Tác động kết hợp của chọn lọc, lai tạo và đột biến cho ta dạng mới của phương trình tăng trưởng sơ đồ sinh sản:
F t S eval t S t
1
)(.1)(/),()
,()1,
Trang 15Ta lại thấy rằng, các sơ đồ trên trung bình có chiều dài xác định ngắn và bậc thấp vẫn có số chuỗi phù hợp với tốc độ tăng theo lũy thừa
Thí dụ, đối với sơ đồ S0:
333024
1954375
0
*396751
1)
(1
)(.1)(/),( 0 c o S p m
m
S p t
F t S
Tóm lại, phương trình tăng trưởng (2.5) cho biết chọn lọc làm tăng tốc độ tạo mẫu của các sơ đồ trên trung bình và cho biết thay đổi này là theo lũy thừa Việc tăng trưởng tự nó không đưa ra một sơ đồ mới nào Điều này chính là lý do mà phép lai được đưa vào để giúp việc trao đổi thông tin cấu trúc nhưng ngẫu nhiên Ngoài ra phép lai đưa tính biến thiên cao hơn vào quần thể Tác động kết hợp của những phép này đối với một
sơ đồ không hề quan trọng nếu sơ đồ ngắn và có bậc thấp Kết quả cuối cùng của phương trình tăng trưởng (2.14) có thể phát biểu như sau:
“Các sơ đồ ngắn, bậc thấp, trên trung bình nhận số chuỗi tăng theo lũy thừa trong các thế hệ tiếp theo của thuật giải di truyền”
2.2 Thuật giải di truyền trong tối ưu kết cấu
Thuật giải di truyền trong tối ưu kết cấu có những điểm khác so với thuật giải di truyền đơn giản như sau:
2.2.1 Các dạng biểu diễn khác với biểu diễn nhị phân (non-binary representations)
Ngoài cách biểu diễn nhị phân như đã trình bày ở trên còn có các cách biểu diễn khác là biểu diễn bằng các hệ có thể lớn hơn số chữ cái (hệ 24) hoặc bằng số Cách biểu diễn bằng số sẽ có nhiều thuận lợi hơn do dễ hiển thị, dễ hiểu thực hiện các phép tính một cách dễ dàng
2.2.2 Chọn lọc cá thể
Trong tối ưu kết cấu, dùng chọn lọc cá thể theo bánh xe Ru-lét sẽ không hiệu quả bằng cách dùng ‚mô hình phân chia‛ (partitioning scheme), hay còn gọi là
‚Tournament‛ [5] [11] Theo như cách này thì ta chia quần thể hiện tại thành nhiều nhóm dựa vào độ thích nghi, thông thường ta chọn là hai nhóm Nhóm thứ nhất gồm những cá thể tốt, còn nhóm thứ hai gồm các cá thể còn lại Xác suất lựa chọn của hai nhóm tương ứng là ps% và 1-ps%
Ví dụ nhóm thứ nhất gồm 25% cá thể tốt nhất với xác suất lựa chọn là 50% Còn nhóm thứ hai gồm 75% các cá thể còn lại với xác suất lựa chọn là 50%
Sau đó ta phát sinh ngẫu nhiên một số thuộc đoạn [0,1], nếu số này nhỏ hơn hoặc bằng ps thì ta chọn ngẫu nhiên một cá thể trong nhóm thứ nhất, ngược lại ta chọn ngẫu nhiên một cá thể trong nhóm thứ hai
Trang 16Ta lặp lại quá trình trên popsize lần, mỗi lần chọn một cá thể, kết quả là ta được một quần thể trung gian được chọn từ quần thể ban đầu
2.2.3 Tái sinh quần thểâ
Hiện tượng này trải qua hai quá trình: lai tạo và đột biến
- Lai tạo: ngoài cách lai đơn điểm đã trình bày ở trên, trong tối ưu kết cấu còn có
một kiểu lai thông dụng khác là lai đều (uniform-crossover) [5] [11]
Trong phép lai này, mỗi gen của cá thể con được chọn một cách ngẫu nhiên gen tương ứng của cá thể bố hoặc mẹ Mỗi gen được thừa hưởng độc lập với các gen còn lại các đặc tính của cơ thể bố, mẹ
Ví dụ: Có hai cá thể bố và mẹ như sau:
P1 = 1 0 1 1 0 0 0 1 1 1
P2 = 0 0 0 1 1 1 1 0 0 0
Tạo một chuỗi lai giả (crossover mask), có chiều dài bằng chiều dài của chuỗi bố
mẹ, trong đó các bit được tạo ngẫu nhiên, chẳng hạn như:
Mask = 0 0 1 1 0 0 1 1 0 0
Khi đó chuỗi con O1, O2 được tạo bằng cách lấy từng gen từ cá thể cha mẹ Nếu giá trị của bit thứ i trong chuỗi mask là 0 thì O1 lấy gen tương ứng của cá thể P1, O2 lấy gen tương ứng của cá thể P2 Ngược lại O1 lấy gen tương ứng của cá thể P2, O2 lấy gen tương ứng của cá thể P1 Kết quả là ta được hai chuỗi con:
O1 = 0 0 1 1 1 1 0 1 0 0
O2 = 1 0 0 1 0 0 1 0 1 1
- Đột biến: Đột biến trong tối ưu kết cấu giống như trong thuật giải di truyền đơn
giản Ta nên chọn xác suất đột biến nhỏ để không làm xáo trộn quần thể hiện thời
2.2.4 Hàm phạt (Penalty function)
Thuật giải di truyền dùng để tối ưu các bài toán không có ràng buộc Tuy nhiên ta có thể dùng nó để giải bài toán tối ưu có ràng buộc bằng cách dùng hàm phạt Hàm phạt làm giảm độ thích nghi của các cá thể không thỏa các ràng buộc Sự giảm này tỷ lệ với sự mở rộng các ràng buộc bị vi phạm
Ứng với từng bài toán cụ thể các tác giả đã đưa ra nhiều hàm phạt khác nhau Trong tối ưu kết cấu ta thường dùng các hàm phạt sau [5]:
a) Hàm phạt hai đoạn tuyến tính (Linear Double Segment Penalty Function): Đây là một
trong những hàm phạt đơn giản nhất mà trong tối ưu hay dùng Vấn đề cần xem xét ở đây là các ràng buộc về ứng suất hay chuyển vị Mỗi thành phần kết cấu thì được kiểm tra về vi phạm ứng suất và mỗi nút thì được kiểm tra về vi phạm chuyển vị Nếu không
Trang 17có vi phạm nào thì hệ số phạt bằng 1, ngược lại hệ số phạt sẽ lớn hơn 1 và được nhân vào hàm mục tiêu Hàm phạt này được định nghĩa như sau:
pnếup
pk
1p
pnếu1
max
i max
i 1
max i
i
Trong đó:
i
là giá trị phạt
pi là tham số phản ứng của kết cấu (ứng suất, độ võng…)
pmax là giá trị cho phép lớn nhất của pi
k1 là hệ số tỷ lệ phạt (penalty rate) Hàm phạt này được minh họa như sau:
b) Hàm phạt nhiều đoạn tuyến tính (Linear Multiple Segment Penalty Function): Hàm
phạt này được định nghĩa như sau:
i 2
1 max
i max
i 1
max i
i
p
p c nếu p
p k
c p
p 1 nếu p
p k
1 p
p nếu 1